1
我有两个任务:任务A和任务B.我希望任务B在每次执行任务A时都运行。为了做到这一点,我使用finalizedBy,但是如果任务A抛出异常仍然是任务B执行是否有办法避免这种情况。gradle避免依赖项任务发生异常时不运行
任务A { ... }
任务B { ... }
A.finalizedBy乙
输出:
通常任务A和B被执行。
如果在A中有异常,B也会被执行。如果任务A抛出异常,我不希望任务B被执行。
我有两个任务:任务A和任务B.我希望任务B在每次执行任务A时都运行。为了做到这一点,我使用finalizedBy,但是如果任务A抛出异常仍然是任务B执行是否有办法避免这种情况。gradle避免依赖项任务发生异常时不运行
任务A { ... }
任务B { ... }
A.finalizedBy乙
输出:
通常任务A和B被执行。
如果在A中有异常,B也会被执行。如果任务A抛出异常,我不希望任务B被执行。
终结任务将就算完成任务失败被执行。
但是,如果A任务失败,则可以使用doFirst
闭包来停止B任务的执行。下面是一个例子:
task A {
doLast{
println 'A'
throw new IllegalStateException()
}
}
task B {
doFirst {
if (A.state.failure != null) {
throw new StopExecutionException()
}
}
doLast{
println 'B'
}
}
A.finalizedBy B
这里是A-任务状态只是B-任务执行前检查(内doFirst
),并且如果A-任务失败了,那么它抛出StopExecutionExceptionm其被用于跳过任务执行。
我不明白。如果A失败,你想让任务B运行?另外请提供一个演示说明问题的示例演示:) – Opal
如果任务A失败,我不希望任务B执行 – Shiva