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