【发布时间】:2013-05-14 07:02:49
【问题描述】:
我是 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
}
【问题讨论】:
-
也许您可以使用temporaryDir 位置并让Gradle 为您清理?
-
临时目录需要在任务动作中创建(和删除);否则,它将为 Gradle 的 每次调用 创建,即使手头的任务没有运行。与其删除它,不如将目录放在
build下(正如蒂姆所说)。