blob: 9185d088af2db472296502af2b27520d1109ca2a [file] [log] [blame]
import org.gradle.internal.jvm.Jvm
import org.robolectric.gradle.DeployedRoboJavaModulePlugin
import org.robolectric.gradle.RoboJavaModulePlugin
apply plugin: RoboJavaModulePlugin
apply plugin: 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) {
outFile = new File(project.rootProject.buildDir, 'sdks.txt')
}
tasks['classes'].dependsOn(generateSdksFile)
dependencies {
api project(":annotations")
api project(":shadowapi")
compileOnly libs.findbugs.jsr305
api libs.asm
api libs.asm.commons
api libs.guava
api libs.gson
implementation libs.auto.common
def toolsJar = Jvm.current().getToolsJar()
if (toolsJar != null) {
implementation files(toolsJar)
}
testImplementation libs.javax.annotation.jsr250.api
testImplementation libs.junit4
testImplementation libs.mockito
testImplementation libs.compile.testing
testImplementation libs.truth
}