0

我是 gradle/groovy 的新手。我想创建自定义任务来做一些事情。我的第一个问题是任务完成后如何做某事?我可以覆盖 doFirst/doLast 闭包吗?也许我可以覆盖一些在开始和结束时会做某事的方法?

这是我的“任务”

import java.nio.file.Files

class MyCustomTask extends DefaultTask {

    File buildDir
    File tempDir

    public MyCustomTask() {
        super()
        buildDir = project.getBuildFile().getParentFile()
        tempDir = Files.createTempDirectory(buildDir.toPath(), "MyCustomTask").toFile()
    }

    @TaskAction
    def build() {
        println("test");
    }

    // I want to delete tempDir ater task execution

}
4

1 回答 1

1

正如官方 Gradle 帮助论坛上所说(有人问过同样的问题),你应该要么

  • build()将您的代码包装在一个try...finally块中
  • 或将您的自定义任务文件夹写入build目录,以便在用户执行此操作时对其进行清理gradle clean
于 2013-05-14T07:49:19.117 回答