gradle-忽略dependsOn任务执行

gradle-忽略dependsOn任务执行,gradle,build.gradle,Gradle,Build.gradle,如果不满足条件,我将尝试使用onlyIf()停止任务的执行。是否有一种方法可以阻止任务依赖项也执行?似乎只有在不停止依赖项执行的情况下 在下面的示例中,当我将executeMe参数传递为false时,我希望taskA不执行 格雷德尔先生 task taskA() { doFirst { println 'executing taskA' } } task taskB(dependsOn: 'taskA') { onlyIf { execu

如果不满足条件,我将尝试使用onlyIf()停止任务的执行。是否有一种方法可以阻止任务依赖项也执行?似乎只有在不停止依赖项执行的情况下

在下面的示例中,当我将executeMe参数传递为false时,我希望taskA不执行

格雷德尔先生

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