• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1import org.gradle.internal.jvm.Jvm
2import org.robolectric.gradle.DeployedRoboJavaModulePlugin
3import org.robolectric.gradle.RoboJavaModulePlugin
4
5apply plugin: RoboJavaModulePlugin
6apply plugin: DeployedRoboJavaModulePlugin
7
8class GenerateSdksFileTask extends DefaultTask {
9    @OutputFile File outFile
10
11    @TaskAction
12    public void writeProperties() throws Exception {
13        File outDir = outFile.parentFile
14        if (!outDir.directory) outDir.mkdirs()
15        outFile.withPrintWriter { out ->
16            out << "# GENERATED by ${this} -- do not edit\n"
17
18            AndroidSdk.ALL_SDKS.each { androidSdk ->
19                def config = project.configurations.create("processor_sdk${androidSdk.apiLevel}")
20                project.dependencies.add("processor_sdk${androidSdk.apiLevel}", androidSdk.coordinates)
21                def sdkPath = config.files.first().getAbsolutePath()
22                out << "${sdkPath}\n"
23            }
24        }
25    }
26}
27
28task('generateSdksFile', type: GenerateSdksFileTask) {
29    outFile = new File(project.rootProject.buildDir, 'sdks.txt')
30}
31
32tasks['classes'].dependsOn(generateSdksFile)
33
34dependencies {
35    api project(":annotations")
36    api project(":shadowapi")
37
38    compileOnly "com.google.code.findbugs:jsr305:3.0.2"
39    api "org.ow2.asm:asm:${asmVersion}"
40    api "org.ow2.asm:asm-commons:${asmVersion}"
41    api "com.google.guava:guava:$guavaJREVersion"
42    api "com.google.code.gson:gson:2.10.1"
43    implementation 'com.google.auto:auto-common:1.1.2'
44
45    def toolsJar = Jvm.current().getToolsJar()
46    if (toolsJar != null) {
47        implementation files(toolsJar)
48    }
49
50    testImplementation "javax.annotation:jsr250-api:1.0"
51    testImplementation "junit:junit:${junitVersion}"
52    testImplementation "org.mockito:mockito-core:${mockitoVersion}"
53    testImplementation "com.google.testing.compile:compile-testing:0.21.0"
54    testImplementation "com.google.truth:truth:${truthVersion}"
55}
56