blob: d0e5dc46d3356b343a576f6c6bb8a2d1f8aabd42 [file] [log] [blame]
apply plugin: org.robolectric.gradle.RoboJavaModulePlugin
apply plugin: org.robolectric.gradle.DeployedRoboJavaModulePlugin
class GenerateSdksFileTask extends DefaultTask {
@OutputFile File outFile
@TaskAction
public void writeProperties() throws Exception {
File outDir = outFile.parentFile
if (!outDir.directory) outDir.mkdirs()
outFile.withPrintWriter { out ->
out << "# GENERATED by ${this} -- do not edit\n"
AndroidSdk.ALL_SDKS.each { androidSdk ->
def config = project.configurations.create("processor_sdk${androidSdk.apiLevel}")
project.dependencies.add("processor_sdk${androidSdk.apiLevel}", androidSdk.coordinates)
def sdkPath = config.files.first().getAbsolutePath()
out << "${sdkPath}\n"
}
}
}
}
task('generateSdksFile', type: GenerateSdksFileTask) {
dependsOn(tasks['processResources'])
File outDir = project.sourceSets['main'].output.resourcesDir
outFile = new File(outDir, 'sdks.txt')
}
tasks['classes'].dependsOn(generateSdksFile)
dependencies {
api project(":annotations")
api project(":shadowapi")
compileOnly "com.google.code.findbugs:jsr305:3.0.2"
api "org.ow2.asm:asm:7.3.1"
api "org.ow2.asm:asm-commons:7.3.1"
api "com.google.guava:guava:27.0.1-jre"
api "com.google.code.gson:gson:2.8.2"
def toolsJar = org.gradle.internal.jvm.Jvm.current().getToolsJar()
if (toolsJar != null) {
implementation files(toolsJar)
}
testImplementation "javax.annotation:jsr250-api:1.0"
testImplementation "junit:junit:4.12"
testImplementation "org.mockito:mockito-core:2.5.4"
testImplementation "com.google.testing.compile:compile-testing:0.18"
testImplementation "com.google.truth:truth:0.45"
}