如何在任务图结束时执行gradle任务?

问题描述 投票:0回答:2

如何在任务图结束时执行任务。

任务

task lastTask{
        //do something
}

应该在任务图的末尾执行。

是否足以做到以下几点?

project.taskgraph.whenReady{
    lastTask
}
android-studio gradle android-gradle build.gradle
2个回答
1
投票

任务图在Gradle的配置阶段得到解决。您无法在配置阶段执行任务,只能在执行阶段执行任务。

build lifecycle phases

也许你希望你的任务总是在任何其他任务之前执行?在这种情况下你可以做到

task myTask {
    doLast { ... }
}
tasks.all { Task t ->
    if (t != myTask) {
        t.dependsOn myTask       
    }
}

0
投票

有两种方法可以实现这一目标。

dependsOn

finalizedBy

如果第二个任务依赖于第一个任务的任务之间存在关系,则将使用第一个。如果之前的任务是某种帮助,则可以使用后者。它也解释了here

两种方式都可以与任务图的前一个任务结合使用。

© www.soinside.com 2019 - 2024. All rights reserved.