在 15.9.2部分的http://www.gradle.org/docs/current/userguide/more_about_tasks.html中。它是如何工作的?'gradle docs说:
“在第一次执行任务之前,Gradle会获取输入的快照。此快照包含输入文件集和每个文件内容的哈希值。然后Gradle执行任务。任务成功完成,Gradle获取输出的快照。这个快照包含输出文件集和每个文件内容的散列.Gradle将下一次执行任务时保留两个快照。“
如何告诉gradle将目录的内容(递归!)视为输出? 如果我指定为输出的目录中的任何内容发生更改,我希望该任务再次运行。
文件丢失---->过时了!
目录缺失---->过时了!
新文件位于之前不存在的目录中---->过时了!
等
与早期状态的任何差异都会导致任务不能处于最新状态。
如何让gradle表现得像这样?
答案 0 :(得分:0)
如果任务是作为类(首选)实现并且您控制实现,请使用File
注释表示目录路径的@OutputDirectory
属性。否则,使用outputs.dir("path/to/dir")
配置任务。
请注意,Gradle的内置任务类已经带有相应的注释。