使一个源集依赖于另一个源集

时间:2013-08-09 05:22:27

标签: gradle dependencies

我在gradle中设置了集成测试源,它依赖于我编译的主要类。我这样设置了

integrationTestClasses.dependsOn 'classes'

这是这样做的方法,还是有办法设置源集的依赖关系,这会自动发生?在我的configurations区块中,我已经有了

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

2 个答案:

答案 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"。