import org.jetbrains.kotlin.gradle.dsl.KotlinCompile plugins { id("org.jetbrains.kotlin.jvm") id("application") id("com.vanniktech.maven.publish") } sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 // Workaround for https://stackoverflow.com/questions/48988778 // /cannot-inline-bytecode-built-with-jvm-target-1-8-into-bytecode-that-is-being-bui tasks.withType(KotlinCompile).configureEach { kotlinOptions.jvmTarget = JavaVersion.VERSION_1_8.toString() } dependencies { api projects.sharkAndroid implementation libs.clikt implementation libs.neo4j implementation libs.jline implementation libs.kotlin.stdlib } application { mainClassName = 'shark.MainKt' } def generatedVersionDir = "${buildDir}/generated-version" sourceSets { main { output.dir(generatedVersionDir, builtBy: 'generateVersionProperties') } } tasks.register("generateVersionProperties") { doLast { def propertiesFile = file "$generatedVersionDir/version.properties" propertiesFile.parentFile.mkdirs() def properties = new Properties() properties.setProperty("version_name", rootProject.VERSION_NAME.toString()) propertiesFile.withWriter { properties.store(it, null) } } } tasks.named("processResources") { dependsOn("generateVersionProperties") }