Ответ 1
Как говорится в тексте проблемы, задача Copy
перезаписывает файлы, а другие стратегии в настоящее время не поддерживаются. Если это не подходит в вашем случае, вы всегда можете вернуться к задаче Ant.
Copy api не упоминает флаг/свойство, которое можно установить. Итак, какое действие по умолчанию и как его можно изменить?
Согласно this,
Как и в случае с 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" s.
У меня такая же проблема, когда я использую Task Copy, gradle всегда выполняет последнюю проверку, которая вызывает пропущение копирования.
После ознакомления с руководством по gradle, я узнаю, что мы можем использовать метод project.copy() вместо задачи Копировать. Этот метод пропускает последнюю проверку, поэтому файлы всегда будут скопированы в пункт назначения.
task myCopy << {
copy {
from (yourSourceDir)
into (yourDestDir)
}
}