grad zip任务仅在配置阶段创建zip

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

[当我尝试在Zip类型的gradle任务的执行阶段创建zip文件时,未创建zip文件。如果我在配置阶段执行相同的操作(省略doLast语句),则创建zip文件不会出现问题。因为在输出日志中显示了println语句,所以调用了doLast块。

之所以需要在执行阶段生成zip,是因为需要压缩的文件是编译执行的结果。我也尝试通过jar任务解决此问题,但这给了我类似的问题。

这里是代码:

    task createClassPathJar(type: Zip) {
  dependsOn("createManifest")

    from("${projectRoot}") {
        include "MANIFEST.MF"
    }
    archiveName = "dummy.jar"

    doLast {

    destinationDir(file("${projectRoot}"))

    archiveName = "zipfile.jar"

    println "executing phase createClassPathJar. archiveName: " + archiveName
  }
}

有人可以在这里帮助我吗?我正在使用Gradle v6.4.1。

[当我尝试在Zip类型的gradle任务的执行阶段创建zip文件时,未创建zip文件。如果我在配置阶段执行相同的操作(省略了doLast语句),则zip ...

gradle zip lifecycle execution
2个回答
0
投票

您不能使用doLast来配置任务的动作,因为它将在之后


0
投票

尝试用doFirst代替doLast

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