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'
また、ネストされた「from」に存在する可能性のあるバグについては、 Gradle Zip DuplicatesStrategyが正しく機能しない を確認してください。
タスクコピーを使用するときに同じ問題が発生します。gradleは常に最新のチェックを実行するため、コピーがスキップされます。
Gradleのユーザーマニュアルで詳細を読んだ後、タスクの代わりにproject.copy()メソッドを使用できることがわかりましたCopy。この方法では、最新のチェックがスキップされるため、ファイルは常に宛先にコピーされます。
task myCopy << {
copy {
from (yourSourceDir)
into (yourDestDir)
}
}