gpt4 book ai didi

java - 如何获取自上次运行 Gradle 任务以来更改的文件?

转载 作者:行者123 更新时间:2023-11-30 08:53:21 24 4
gpt4 key购买 nike

我有以下 gradle 任务:

class MyTranslateTask extends DefaultTask {

@InputFiles FileCollection srcFiles
@OutputDirectory File destDir

@TaskAction
def run() {
...
}
}

如何从我的 srcFiles 中获取自上次运行此任务以来已更改的所有文件?

最佳答案

Gradle 1.6 引入了一个名为 IncrementalTask​​sInputs 的孵化功能,允许您访问自上次任务运行后更改或删除的文件。

引用:https://gradle.org/docs/current/dsl/org.gradle.api.tasks.incremental.IncrementalTaskInputs.html

class IncrementalReverseTask extends DefaultTask {
@InputDirectory
def File inputDir

@OutputDirectory
def File outputDir

@TaskAction
void execute(IncrementalTaskInputs inputs) {
inputs.outOfDate { change ->
def targetFile = project.file("$outputDir/${change.file.name}")
targetFile.text = change.file.text.reverse()
}

inputs.removed { change ->
def targetFile = project.file("$outputDir/${change.file.name}")
if (targetFile.exists()) {
targetFile.delete()
}
}
}
}

关于java - 如何获取自上次运行 Gradle 任务以来更改的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29805346/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com