2012-09-07 116 views
16

Copy apiには、設定可能なフラグ/プロパティは記載されていません。では、デフォルトのアクションは何ですか?また、どのように変更できますか?Gradle Copy Task:既存のファイルを上書きする方法は?


のGradle 0.9.1のようthis

によると、コピータスクは、常にファイルを上書きします。他の の戦略はまだサポートされていません。

答えて

5

問題のテキストにあるように、Copyタスクはファイルを上書きし、他の戦略は現在サポートされていません。あなたの場合にそれが適切でない場合は、いつでもAntタスクにフォールバックすることができます。

+0

ありがとう、私はちょうど馬の口からそれを聞きたかった! :Dこれらの新しい戦略がいつ実行されるのか(もしあれば)? – user1329572

1

私はタスクコピーを使用するときに同じ問題を抱えていますが、gradleは常に最新のチェックを実行してコピーをスキップします。

私は、gradicleのユーザマニュアルをもう読んだ後で、コピーの代わりにproject.copy()メソッドを使用できることが分かりました。このメソッドは、最新のチェックをスキップするので、ファイルは常にコピー先にコピーされます。

task myCopy << { 
    copy { 
     from (yourSourceDir) 
     into (yourDestDir) 
    } 
} 
+0

これは自分で作成した問題を修正しようとしているようです( '<<"のため)。この質問の受け入れられた答えを見てください:http://stackoverflow.com/questions/16358194/force-task-execution-in-gradle – cornuz

3

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' 

ネストされた「from」に存在する可能性のあるバグについては、Gradle Zip DuplicatesStrategy not working correctlyも参照してください。

関連する問題