Gradle-为自定义Javaexec任务添加增量行为



我在build.gradle文件中有一个javaexec任务,而处理100多个文件。我想在此任务中添加增量构建行为。请让我知道如何为自定义JavaExec任务实现此增量功能。

我尝试了以下内容:

class IncrementalReverseTask extends DefaultTask {
    @InputDirectory
    def File inputDir
    @OutputDirectory
    def File outputDir
    @Input
    def inputProperty
    @TaskAction
    void execute(IncrementalTaskInputs inputs) {
        println inputs.incremental ? "CHANGED inputs considered out of date"
                                   : "ALL inputs considered out of date"
        if (!inputs.incremental)
            project.delete(outputDir.listFiles())
        inputs.outOfDate { change ->
            println "Modified: ${change.file.name}"
            def targetFile = new File(outputDir, change.file.name)
            targetFile.text = change.file.text.reverse()
        }
        inputs.removed { change ->
            println "removed: ${change.file.name}"
            def targetFile = new File(outputDir, change.file.name)
            targetFile.delete()
        }
    }
}

然后创建这样的任务

task incrementalReverse(type: IncrementalReverseTask) {
    inputDir = file('resource/inputs')
    outputDir = file('resource/outputs')
    inputProperty = project.properties['taskInputProperty'] ?: "original"
}

上述增量任务检查输入文件夹中文件的更改。

最新更新