2016-09-16 151 views
0

在Gradle中,我可以指定fromintoduplicatesStrategy。但是,duplicatesStrategy只是一个有限选项的枚举,如override,ignorefailGradle:在复制时指定重复文件的合并策略

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

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

这有可能以任何方式吗?

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

回答

0

我会用

duplicatesStrategy 'exclude' 

然后在一个单独的任务迭代解决这个问题,检查差异和处理它们的合并存在。最好在使用第三方合并工具的自己的任务实现中。我的搜索没有发现现有的合并任务。