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 に答える