5

「java」プラグインを使用するすべてのサブプロジェクトに適用できるソース セット (例: integrationTests) を gradle で定義することは可能でしょうか?

何かのようなもの

sourceSets {
    integTest {
        java.srcDir file('src/integration-test/java')
        resources.srcDir file('src/integration-test/resources')
        compileClasspath = sourceSets.main.output + configurations.integTest
        runtimeClasspath = output + compileClasspath
    }
}

ここで述べたように、すべてのJavaサブプロジェクトに適用されますか?

有益なヒントをありがとう!

4

2 に答える 2

4

適用されたプラグインによって、ビルドのサブプロジェクトをフィルタリングできます。あなたの例では、これは次のようになります。

def javaProjects() {
    subprojects.findAll { project -> 
        project.plugins.hasPlugin('java') 
    }
}

configure(javaProjects()) {
    sourceSets {
        integTest {
            java.srcDir file('src/integration-test/java')
            resources.srcDir file('src/integration-test/resources')
            compileClasspath = sourceSets.main.output + configurations.integTest
            runtimeClasspath = output + compileClasspath
        }
    }
}
于 2013-12-11T20:34:38.407 に答える