使用Gradle的Android Jacoco Test依赖于使用compileDebugSources和compileDebugTestSources的顺序

时间:2015-01-07 23:43:24

标签: android gradle jacoco

This Other Question等其他地方将有一个依赖于testDebug的jacocoTestReport任务。哪个有效。

task jacocoTestReport(type: JacocoReport, dependsOn: "testDebug") {
    ...
}

但是,在我的情况下,除了testDebug之外,我还需要依赖于android任务compileDebugSources和compileDebugTestSources。所以我希望以下内容能够起作用

task jacocoTestReport(type: JacocoReport, dependsOn: ["compileDebugSources", "compileDebugTestSources", "testDebug"]) {
    ...
}

但是,当我使用dependsOn属性或方法时,Gradle所述的这些依赖关系的顺序是不保证的。所以我想在任务之外做以下的事情

 testDebug.mustRunAfter compileDebugSources
 testDebug.mustRunAfter compileDebugTestSources

但是我得到一个编译问题,上面是testDebug或compileDebugSources或compileDebugTestSources被标记为"找不到属性' testDebug / compileDebugSources / compileDebugTestSources'"在项目:app

我想知道我需要做什么才能在gradle中为现有的jacocoTestReport任务添加这些任务的顺序。

1 个答案:

答案 0 :(得分:0)

试试这个:

task jacocoTestReport(type: JacocoReport, dependsOn: ["compileDebugSources", "compileDebugTestSources", "testDebug"]) { ... }
tasks.testDebug.dependsOn(compileDebugTestSources)
tasks.compileDebugTestSources.dependsOn(compileDebugSources)