如果不满足条件,我将尝试使用onlyIf()停止执行任务。有没有办法我也可以阻止任务依赖项的执行?仅似乎如果不停止依赖关系的执行。
在下面的示例中,我希望在我将executeMe参数传递为false时不执行taskA。
build.gradle
task taskA() {
doFirst {
println 'executing taskA'
}
}
task taskB(dependsOn: 'taskA') {
onlyIf {
executeMe.toBoolean()
}
doFirst {
println 'executing taskB'
}
}
运行输出:
>gradle taskB -PexecuteMe=false
10:39:36 AM: Executing external task 'taskB -PexecuteMe=false'...
:taskA
executing taskA
:taskB SKIPPED
最佳答案
实现此目的的一种方法是使用以下命令同时向两个任务添加“onlyIf”:
task taskA() {
doFirst {
println 'executing taskA'
}
}
task taskB(dependsOn: 'taskA') {
doFirst {
println 'executing taskB'
}
}
[taskA, taskB].each { task ->
task.onlyIf {
executeMe.toBoolean()
}
}
输出:
$ gradle taskB -PexecuteMe=false
:taskA SKIPPED
:taskB SKIPPED
BUILD SUCCESSFUL
Total time: 2.122 secs
关于gradle - gradle-忽略dependsOn任务执行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32275884/