xref: /aosp_15_r20/external/leakcanary2/shark-cli/build.gradle (revision d9e8da70d8c9df9a41d7848ae506fb3115cae6e6)
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