【发布时间】:2015-08-04 18:08:51
【问题描述】:
我需要在 Gradle 中编写一个脚本,将 2 个文件夹作为输入。 这两个文件夹都包含
编辑:这是一个示例脚本 https://gist.github.com/igormukhin/71d780c4274336eeb297 。唯一的问题是它按时间戳进行比较。
【问题讨论】:
标签: groovy gradle diff build-process
我需要在 Gradle 中编写一个脚本,将 2 个文件夹作为输入。 这两个文件夹都包含
编辑:这是一个示例脚本 https://gist.github.com/igormukhin/71d780c4274336eeb297 。唯一的问题是它按时间戳进行比较。
【问题讨论】:
标签: groovy gradle diff build-process
我最近编写了类似于您要求的内容:DirectoryDifferenceCollector;但是,它实际上是比较文件的内容(作为哈希)而不是时间戳。如果适合您的需要,我愿意对其进行更新以接受可配置的策略,或者您可以使用所涉及的概念。
基本上它会扫描两个目录并确定 A 和 B 中丢失的文件,然后它还会确定两个目录共有的文件,但内容不同。
结果收集在 DirectoryDifference 对象中,每个类别都有各自的文件路径。
【讨论】:
我很想使用diff:
def process = 'diff x y'.execute()
然后您可以以文本形式访问命令的输出:
println process.err.text
println process.in.text
并通过以下方式获取退出状态:
int status = process.waitFor()
许多常见的操作系统都会安装diff,但Windows 可能没有。
【讨论】: