21

我在 gradle 中设置了一个集成测试源,它取决于我正在编译的主要类。我通过这样做来设置它

integrationTestClasses.dependsOn 'classes'

这是这样做的方法,还是有办法设置对源集的依赖关系以便自动发生?在我的configurations街区里,我已经有了

integrationTestCompile { extendsFrom testCompile }
integrationTestRuntime { extendsFrom integrationTestCompile, testRuntime }
4

2 回答 2

29

缺少的是:

dependencies {
    integrationTestCompile sourceSets.main.output
}

有了这个,应该自动建立任务依赖关系。

于 2013-08-09T07:09:43.290 回答
2

也可以在定义sourceSets时建立依赖链。这有助于将“主”源集设置为依赖于“生成”源集:

// 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”。

于 2016-05-25T19:06:01.747 回答