Gradle tasks.build.doLast() 未被调用

Gru*_*kes 2 gradle android-gradle-plugin

我想在执行构建后执行一些文件复制,并发现一些答案说可以使用 tasks.build.doLast()。但是,如果我将此添加到我的(或任何 gradle)脚本中,则不会调用它。

是否必须显式调用它,如果是,如何调用?

tasks.build.doLast(){
    println '********************* LAST ******************'
}
Run Code Online (Sandbox Code Playgroud)

Nat*_*han 5

在没有 Gradle 版本信息的情况下,我将假设您使用的是最新版本并从当前文档中提取。您当前的代码看起来有点偏离doLast()点符号。

如果你正在编写一个打印一行的任务,下面的代码将起作用:

task1 {

    //Task configuration goes here.

    doLast {
        println "********************* LAST ******************"
    }
}
Run Code Online (Sandbox Code Playgroud)

如果您doLast要完成另一个任务,Gradle 有一种方法可以做到这一点。您可以使用finalizedBy. 下面是一个例子:

task1 {
        println "Task 1 successful"
}

task2 {

        println "********************* LAST ******************"
}    

task1.finalizedBy task2
Run Code Online (Sandbox Code Playgroud)

有关摇篮任务的详细信息,你应该看看第14第17章的摇篮文档。这些简短的章节中包含了定义类的不同方法的示例。