xref: /aosp_15_r20/external/robolectric/processor/build.gradle.kts (revision e6ba16074e6af37d123cb567d575f496bf0a58ee)

<lambda>null1*e6ba1607SAndroid Build Coastguard Worker import org.gradle.internal.jvm.Jvm
2*e6ba1607SAndroid Build Coastguard Worker 
3*e6ba1607SAndroid Build Coastguard Worker plugins {
4*e6ba1607SAndroid Build Coastguard Worker   alias(libs.plugins.robolectric.deployed.java.module)
5*e6ba1607SAndroid Build Coastguard Worker   alias(libs.plugins.robolectric.java.module)
6*e6ba1607SAndroid Build Coastguard Worker }
7*e6ba1607SAndroid Build Coastguard Worker 
8*e6ba1607SAndroid Build Coastguard Worker abstract class GenerateSdksFileTask : DefaultTask() {
9*e6ba1607SAndroid Build Coastguard Worker   @get:OutputFile abstract var outFile: File
10*e6ba1607SAndroid Build Coastguard Worker 
11*e6ba1607SAndroid Build Coastguard Worker   @TaskAction
12*e6ba1607SAndroid Build Coastguard Worker   @Throws(Exception::class)
writePropertiesnull13*e6ba1607SAndroid Build Coastguard Worker   fun writeProperties() {
14*e6ba1607SAndroid Build Coastguard Worker     val outDir = outFile.parentFile
15*e6ba1607SAndroid Build Coastguard Worker     if (!outDir.isDirectory) {
16*e6ba1607SAndroid Build Coastguard Worker       outDir.mkdirs()
17*e6ba1607SAndroid Build Coastguard Worker     }
18*e6ba1607SAndroid Build Coastguard Worker 
19*e6ba1607SAndroid Build Coastguard Worker     outFile.printWriter().use { out ->
20*e6ba1607SAndroid Build Coastguard Worker       out.write("# GENERATED by $this -- do not edit\n")
21*e6ba1607SAndroid Build Coastguard Worker 
22*e6ba1607SAndroid Build Coastguard Worker       AndroidSdk.ALL_SDKS.forEach { androidSdk ->
23*e6ba1607SAndroid Build Coastguard Worker         val config = project.configurations.create("processor_sdk${androidSdk.apiLevel}")
24*e6ba1607SAndroid Build Coastguard Worker         project.dependencies.add("processor_sdk${androidSdk.apiLevel}", androidSdk.coordinates)
25*e6ba1607SAndroid Build Coastguard Worker 
26*e6ba1607SAndroid Build Coastguard Worker         val sdkPath = config.files.first().absolutePath
27*e6ba1607SAndroid Build Coastguard Worker         out.write("$sdkPath\n")
28*e6ba1607SAndroid Build Coastguard Worker       }
29*e6ba1607SAndroid Build Coastguard Worker     }
30*e6ba1607SAndroid Build Coastguard Worker   }
31*e6ba1607SAndroid Build Coastguard Worker }
32*e6ba1607SAndroid Build Coastguard Worker 
33*e6ba1607SAndroid Build Coastguard Worker val generateSdksFile by
<lambda>null34*e6ba1607SAndroid Build Coastguard Worker   tasks.registering(GenerateSdksFileTask::class) {
35*e6ba1607SAndroid Build Coastguard Worker     outFile = project.rootProject.layout.buildDirectory.file("sdks.txt").get().asFile
36*e6ba1607SAndroid Build Coastguard Worker   }
37*e6ba1607SAndroid Build Coastguard Worker 
<lambda>null38*e6ba1607SAndroid Build Coastguard Worker tasks.classes.configure { dependsOn(generateSdksFile) }
39*e6ba1607SAndroid Build Coastguard Worker 
<lambda>null40*e6ba1607SAndroid Build Coastguard Worker dependencies {
41*e6ba1607SAndroid Build Coastguard Worker   api(project(":annotations"))
42*e6ba1607SAndroid Build Coastguard Worker   api(project(":shadowapi"))
43*e6ba1607SAndroid Build Coastguard Worker 
44*e6ba1607SAndroid Build Coastguard Worker   compileOnly(libs.findbugs.jsr305)
45*e6ba1607SAndroid Build Coastguard Worker   api(libs.asm)
46*e6ba1607SAndroid Build Coastguard Worker   api(libs.asm.commons)
47*e6ba1607SAndroid Build Coastguard Worker   api(libs.asm.util)
48*e6ba1607SAndroid Build Coastguard Worker   api(libs.guava)
49*e6ba1607SAndroid Build Coastguard Worker   api(libs.gson)
50*e6ba1607SAndroid Build Coastguard Worker   implementation(libs.auto.common)
51*e6ba1607SAndroid Build Coastguard Worker 
52*e6ba1607SAndroid Build Coastguard Worker   val toolsJar = Jvm.current().getToolsJar()
53*e6ba1607SAndroid Build Coastguard Worker   if (toolsJar != null) {
54*e6ba1607SAndroid Build Coastguard Worker     implementation(files(toolsJar))
55*e6ba1607SAndroid Build Coastguard Worker   }
56*e6ba1607SAndroid Build Coastguard Worker 
57*e6ba1607SAndroid Build Coastguard Worker   testImplementation(libs.javax.annotation.jsr250.api)
58*e6ba1607SAndroid Build Coastguard Worker   testImplementation(libs.junit4)
59*e6ba1607SAndroid Build Coastguard Worker   testImplementation(libs.mockito)
60*e6ba1607SAndroid Build Coastguard Worker   testImplementation(libs.compile.testing)
61*e6ba1607SAndroid Build Coastguard Worker   testImplementation(libs.truth)
62*e6ba1607SAndroid Build Coastguard Worker }
63