20

Copy api 没有提到可以设置的标志/属性。那么默认操作是什么,如何修改呢?


据此,_

从 Gradle 0.9.1 开始,复制任务总是覆盖文件。尚不支持其他策略。

4

3 回答 3

14

正如问题文本所说,该Copy任务会覆盖文件,并且当前不支持其他策略。如果这不适合您的情况,您可以随时退回到 Ant 任务。

于 2012-09-07T17:32:18.680 回答
4

查看 DuplicatesStrategy http://www.gradle.org/docs/1.7-rc-1/release-notes#duplicate-file-handling-for-copy-and-archive-operationshttp://www.gradle.org /docs/current/javadoc/org/gradle/api/file/DuplicatesStrategy.html。两者都应该适用于非覆盖复制(而覆盖复制是默认设置)。

duplicatesStrategy 'exclude'

另请查看Gradle Zip DuplicatesStrategy 无法正常工作,以了解嵌套“from”可能存在的错误。

于 2014-09-25T11:40:37.693 回答
2

当我使用任务复制时,我遇到了同样的问题,gradle 总是执行最新的检查,这会导致复制被跳过。

在阅读了 gradle 用户手册的更多内容后,我发现我们可以使用 project.copy() 方法而不是任务Copy。此方法跳过最新检查,因此文件将始终被复制到目标。

task myCopy << {
    copy {
        from (yourSourceDir)
        into (yourDestDir)
    }
}
于 2014-04-03T07:32:08.213 回答