Gradle:在复制时为重复文件指定合并策略

时间:2016-09-16 09:00:17

标签: gradle

在Gradle中有一个复制任务,我可以指定fromintoduplicatesStrategy。但是,duplicatesStrategy只是一个包含overrideignorefail等有限选项的枚举。

而不是仅仅覆盖我希望能够调用“内容合并功能”,它将两个文件(现有的和新的文件)作为输入参数并输出结果文件。

from("fromdir") {
    into 'targetdir'
    duplicatesStrategy = { newFile,existingFile -> 
             return mergeFiles(newFile,existingFiles)
        }
}

这有可能吗?

上下文:任务应该将多个项目中的doc book xml文件复制到一个中。一个项目可以覆盖另一个项目的部分文档,因此必须有一些“逻辑”来正确合并生成的文档。

1 个答案:

答案 0 :(得分:0)

我会用

来解决它
duplicatesStrategy 'exclude'

然后在一个单独的任务中迭代并检查差异并处理它们的合并。优选地,在使用第三方合并工具的自己的任务实现中。我的搜索发现没有现有的合并任务。