gpt4 book ai didi

gradle - 为所有java子项目定义一个sourceset

转载 作者:行者123 更新时间:2023-12-04 20:09:26 26 4
gpt4 key购买 nike

我想知道是否可以在 gradle 中定义一个可应用于所有使用“java”插件的子项目的源集(例如integrationTests)?

就像是

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
}
}

如前所述 here适用于所有java子项目?

感谢有用的提示!

最佳答案

您可以通过应用的插件过滤构建的子项目。在您的示例中,这将如下所示:

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
}
}
}

关于gradle - 为所有java子项目定义一个sourceset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20524320/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com