Gradle Roboletric适用于不同的构建类型

时间:2014-07-01 00:37:43

标签: android build gradle android-gradle robolectric

我正在努力让Roboletric为我的Android项目工作。我现在拥有的是

task roboletricTest(type: Test, dependsOn: "assemble") {
testClassesDir = sourceSets.robolectricTest.output.classesDir

android.sourceSets.main.java.srcDirs.each { dir ->
    def buildDir = dir.getAbsolutePath().split('/')
    buildDir =  (buildDir[0..(buildDir.length - 4)] + ['build', 'intermediates', 'classes', 'debug']).join('/')
    sourceSets.robolectricTest.compileClasspath += files(buildDir)
    sourceSets.robolectricTest.runtimeClasspath += files(buildDir)
}

classpath = sourceSets.robolectricTest.runtimeClasspath
}

问题是这个任务依赖于:“汇编”,所以每当我想运行测试时,它就会构建所有不同的构建类型(即调试和发布)。我想要的是能够动态设置dependsOn变量,具体取决于程序员是否需要assembleDebug或assembleRelease。我知道我可以创建两个不同的任务来解决这个问题,但我希望有一个更优雅的方法,让一个任务可以动态工作(因为我有很多构建类型)。 有没有办法动态检查任务是否会被执行?

0 个答案:

没有答案