gradle将参数传递给dependsOn任务
我有3个梯度任务:A、B、C。 B依赖于A。 C德彭森A 如果在A中有一个If检查,我希望在B运行时为true,在C运行时为false。 我该怎么做 为明确起见,真正的任务是:gradle将参数传递给dependsOn任务,gradle,Gradle,我有3个梯度任务:A、B、C。 B依赖于A。 C德彭森A 如果在A中有一个If检查,我希望在B运行时为true,在C运行时为false。 我该怎么做 为明确起见,真正的任务是: war { // task A webAppDirName = 'src/main/webapp' if (flag) { rootSpec.exclude("**/*.json") rootSpec.exclude("**/*.xml") } } ospack
war { // task A
webAppDirName = 'src/main/webapp'
if (flag) {
rootSpec.exclude("**/*.json")
rootSpec.exclude("**/*.xml")
}
}
ospackage { // task B
buildRpm {
dependsOn war
}
}
task localTomcat { // task C
dependsOn war
}
我试着在第一个动作中将war.flag、war.ext.flag设置在dependsOn之前,但什么都没有…我找到了一个使用dependsOn链和mustRunAfter的解决方案 代码:
task war4pkg {
doLast {
war.rootSpec.exclude("**/*.json")
war.rootSpec.exclude("**/*.xml")
}
}
war {
webAppDirName = 'src/main/webapp'
}
ospackage {
buildRpm {
dependsOn war4pkg, war # order doesn't matter
war.mustRunAfter war4pkg # order set here
}
}
task localTomcat {
dependsOn war # nothing here.
}