如何在任务图结束时执行任务。
任务
task lastTask{
//do something
}
应该在任务图的末尾执行。
完成以下操作是否足够?
project.taskgraph.whenReady{
lastTask
}
答案 0 :(得分:1)
任务图在Gradle的配置阶段得到解决。您无法在配置阶段执行任务,只能在执行阶段执行任务。
也许您希望您的任务始终在任何其他任务之前执行?在这种情况下你可以做
task myTask {
doLast { ... }
}
tasks.all { Task t ->
if (t != myTask) {
t.dependsOn myTask
}
}
答案 1 :(得分:0)
有两种方法可以实现这一目标。
dependsOn
和
finalizedBy
如果任务之间存在关系,并且第二个任务依赖于第一个任务,则将使用第一个任务。如果之前的任务有某种帮助,则可以使用后者。 here也对此进行了说明。
这两种方法都可以与任务图的前一个最后一个任务结合使用。