我在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"
}
上述增量任务检查输入文件夹中文件的更改。