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