如果不满足条件,我试图仅使用if()停止执行任务。有没有办法可以阻止任务依赖从执行?似乎只是不会停止执行的依赖。
在下面的示例中,我希望在将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
答案 0 :(得分:3)
您可以通过添加" 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