gpt4 book ai didi

gradle - gradle避免依赖任务在异常发生时不运行

转载 作者:行者123 更新时间:2023-12-03 04:01:10 24 4
gpt4 key购买 nike

我有两个任务..任务A和任务B。我希望每次执行任务A时都运行任务B。为此,我使用finalizedBy,但是如果任务A抛出异常,任务B仍然可以执行以避免这种情况的方法。

任务A {
...
}

任务B {
...
}

A.最终

输出:

通常,将执行任务A和B。

如果A中有异常,B也将被执行。我不希望任务A抛出异常时执行任务B。

最佳答案

根据official documentation:

Finalizer tasks will be executed even if the finalized task fails.



但是,如果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

这是在B任务执行之前(在 doFirst内)检查的A任务状态,如果A任务失败,则抛出StopExecutionExceptionm,用于跳过任务执行。

关于gradle - gradle避免依赖任务在异常发生时不运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41055390/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com