apply plugin: 'java' apply plugin: 'application' mainClassName= 'de.fabianonline.telegram_backup.CommandLineRunnerKt' repositories { mavenCentral() maven { url "https://jitpack.io" } jcenter() } buildscript { ext.kotlin_version = '1.2.0' repositories { mavenCentral() } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } apply plugin: 'kotlin' compileKotlin { kotlinOptions.apiVersion = "1.0" } dependencies { compile('com.github.badoualy:kotlogram:666a81ef9d6707f117a3fecc2d21c91d51c7d075') { exclude module: 'slf4j-simple' } compile 'org.xerial:sqlite-jdbc:3.16.1' compile 'com.github.spullara.mustache.java:compiler:0.9.5' compile 'org.slf4j:slf4j-api:1.7.21' compile 'ch.qos.logback:logback-classic:1.1.7' compile 'com.google.code.gson:gson:2.8.0' compile 'com.github.salomonbrys.kotson:kotson:2.5.0' compile 'com.github.kittinunf.fuel:fuel:1.12.0' testCompile 'junit:junit:4.12' } run { standardInput = System.in } def getVersionName= { -> def stdout = new ByteArrayOutputStream() exec { commandLine 'git', 'describe', '--tags', '--dirty' standardOutput = stdout } def version = stdout.toString().trim() logger.lifecycle("Version $version") return version } ant.propertyfile(file: "$project.rootDir/build/resources/main/build.properties") { entry(key: "version", value: getVersionName()) } jar { manifest { attributes "Main-Class": "$mainClassName" } from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } } includes [ "*.mustache" ] }