使用“正常”的JavaExec
gradle任务,例如,
task('integrationTest',
type: JavaExec,
moreConf...) {
// Stuff
}
您可以像这样扩展继承编译和运行时配置,
configurations {
integrationTestCompile.extendsFrom testCompile
integrationTestRuntime.extendsFrom testRuntime
}
但是,如何处理通过Groovy定义的任务呢?即
def integrationTestTask = project.task(['type': JavaExec], 'integrationTest') {
stuff
}
我正在写一个插件来减少重复的代码。
最佳答案
通过添加先决条件sourceSets integrationTestCompile
和ìntegrationTestRuntime`,它们可以进行设置,
project.task(['type': JavaExec], 'integrationTest') {
project.sourceSets {
integrationTest {
java {
// set stuff....
}
}
}
project.configurations {
// These two (integrationTestCompile/integrationTestRuntime) get created by the sourceSets block
integrationTestCompile.extendsFrom testCompile
integrationTestRuntime.extendsFrom testRuntime
}
// stuff
}