Copy api 没有提到可以设置的标志/属性。那么默认操作是什么,如何修改呢?
据此,_
从 Gradle 0.9.1 开始,复制任务总是覆盖文件。尚不支持其他策略。
正如问题文本所说,该Copy
任务会覆盖文件,并且当前不支持其他策略。如果这不适合您的情况,您可以随时退回到 Ant 任务。
查看 DuplicatesStrategy http://www.gradle.org/docs/1.7-rc-1/release-notes#duplicate-file-handling-for-copy-and-archive-operations和http://www.gradle.org /docs/current/javadoc/org/gradle/api/file/DuplicatesStrategy.html。两者都应该适用于非覆盖复制(而覆盖复制是默认设置)。
duplicatesStrategy 'exclude'
另请查看Gradle Zip DuplicatesStrategy 无法正常工作,以了解嵌套“from”可能存在的错误。
当我使用任务复制时,我遇到了同样的问题,gradle 总是执行最新的检查,这会导致复制被跳过。
在阅读了 gradle 用户手册的更多内容后,我发现我们可以使用 project.copy() 方法而不是任务Copy。此方法跳过最新检查,因此文件将始终被复制到目标。
task myCopy << {
copy {
from (yourSourceDir)
into (yourDestDir)
}
}