在Gradle中有一个复制任务,我可以指定from
,into
和duplicatesStrategy
。但是,duplicatesStrategy
只是一个包含override
,ignore
或fail
等有限选项的枚举。
而不是仅仅覆盖我希望能够调用“内容合并功能”,它将两个文件(现有的和新的文件)作为输入参数并输出结果文件。
from("fromdir") {
into 'targetdir'
duplicatesStrategy = { newFile,existingFile ->
return mergeFiles(newFile,existingFiles)
}
}
这有可能吗?
上下文:任务应该将多个项目中的doc book xml文件复制到一个中。一个项目可以覆盖另一个项目的部分文档,因此必须有一些“逻辑”来正确合并生成的文档。
答案 0 :(得分:0)
我会用
来解决它duplicatesStrategy 'exclude'
然后在一个单独的任务中迭代并检查差异并处理它们的合并。优选地,在使用第三方合并工具的自己的任务实现中。我的搜索发现没有现有的合并任务。