gpt4 book ai didi

gradle - gradle-任务完成后使用dependsOn进行清理

转载 作者:行者123 更新时间:2023-12-03 03:46:57 29 4
gpt4 key购买 nike

我有两个自定义任务,例如-

task taskA(type: SomeTaskA) {
....
}
task taskB(type: SomeTaskB, dependsOn: 'taskA') {
....
}

taskA生成文件并对其执行一些操作。
taskB还对taskA生成的文件执行一些操作。
我可以分别运行两个任务。

我需要在gradle命令完成时删除该文件,即,如果我运行gradle taskA,则该文件将在taskA完成时删除,如果我运行gradle taskB,则该文件将在taskB完成时删除。

我可以通过添加doLast块并在其中添加删除逻辑来实现第一部分,但是当我运行taskB时,我没有文件可以执行操作(因为taskA doLast已经删除了该文件)。

那么在运行taskB时是否仍要停止taskA doLast或其他任何方式来实现此目的?

最佳答案

您可以创建一个专用的“清理”任务来处理文件删除,并通过将该任务taskA最终确定为taskBcleanup这两个任务:

task cleanup{
doLast{
// DELETE the file
}
}

taskA.finalizedBy cleanup
taskB.finalizedBy cleanup

这样,运行taks A或B总是会删除文件。这将确保在任务 taskB删除文件之前也执行 cleanup

关于gradle - gradle-任务完成后使用dependsOn进行清理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53813629/

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