构造/破坏自定义gradle任务

时间:2013-05-14 07:02:50

标签: groovy gradle

我是全新的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

}

1 个答案:

答案 0 :(得分:1)

正如它所说on the official Gradle help forums(有人问过同样的问题),你应该

  • build()代码封装在try...finally
  • 或将您的自定义任务文件夹写入build目录,以便在用户gradle clean
  • 时清除它