我在gradle中设置了集成测试源,它依赖于我编译的主要类。我这样设置了
integrationTestClasses.dependsOn 'classes'
这是这样做的方法,还是有办法设置源集的依赖关系,这会自动发生?在我的configurations
区块中,我已经有了
integrationTestCompile { extendsFrom testCompile }
integrationTestRuntime { extendsFrom integrationTestCompile, testRuntime }
答案 0 :(得分:25)
缺少的是:
dependencies {
integrationTestCompile sourceSets.main.output
}
有了这个,就应该自动建立任务依赖。
答案 1 :(得分:2)
在定义sourceSets时也可以建立依赖关系链。这有助于设置" main" sourceSet依赖于"生成" sourceSet:
// Default sourceSets already created by the java plugin: src/main and src/test
// Default content for each sourceSet: /java and /resources
sourceSets {
// Adding src/generated
generated
// Setting src/main to depend on the dependencies and output of src/generated
main {
compileClasspath += generated.compileClasspath + generated.output
}
}
同样的原则应该用于设置" integrationTest"依赖" main"。