1import org.jetbrains.kotlin.gradle.dsl.KotlinCompile 2 3plugins { 4 id("org.jetbrains.kotlin.jvm") 5 id("application") 6 id("com.vanniktech.maven.publish") 7} 8 9sourceCompatibility = JavaVersion.VERSION_1_8 10targetCompatibility = JavaVersion.VERSION_1_8 11 12// Workaround for https://stackoverflow.com/questions/48988778 13// /cannot-inline-bytecode-built-with-jvm-target-1-8-into-bytecode-that-is-being-bui 14tasks.withType(KotlinCompile).configureEach { 15 kotlinOptions.jvmTarget = JavaVersion.VERSION_1_8.toString() 16} 17 18dependencies { 19 api projects.sharkAndroid 20 21 implementation libs.clikt 22 implementation libs.neo4j 23 implementation libs.jline 24 implementation libs.kotlin.stdlib 25} 26 27application { 28 mainClassName = 'shark.MainKt' 29} 30 31def generatedVersionDir = "${buildDir}/generated-version" 32 33sourceSets { 34 main { 35 output.dir(generatedVersionDir, builtBy: 'generateVersionProperties') 36 } 37} 38 39tasks.register("generateVersionProperties") { 40 doLast { 41 def propertiesFile = file "$generatedVersionDir/version.properties" 42 propertiesFile.parentFile.mkdirs() 43 def properties = new Properties() 44 properties.setProperty("version_name", rootProject.VERSION_NAME.toString()) 45 propertiesFile.withWriter { properties.store(it, null) } 46 } 47} 48tasks.named("processResources") { 49 dependsOn("generateVersionProperties") 50} 51 52