當使用任務type:Copy
時,有沒有辦法避免覆蓋文件?沒有覆蓋的Gradle副本
這是我的任務:
task unpack1(type:Copy)
{
duplicatesStrategy= DuplicatesStrategy.EXCLUDE
delete(rootDir.getPath()+"/tmp")
from zipTree(rootDir.getPath()+"/app-war/app.war")
into rootDir.getPath()+"/tmp"
duplicatesStrategy= DuplicatesStrategy.EXCLUDE
from rootDir.getPath()+"/tmp"
into "WebContent"
}
我想避免指定使用排除「文件/文件*」的所有文件。
看起來像duplicatesStrategy= DuplicatesStrategy.EXCLUDE
不起作用。我讀了關於gradle 0.9的一個問題,但我使用了Gradle 2.1。
這個問題還在嗎?
或者我誤解了這個任務應該如何正確使用?
感謝
究竟你是「有沒有一種方法,以避免覆蓋文件」是什麼意思?在上面的代碼中,第二個'into'將會贏得第一個(可能只有一個頂級'into')。另外,對於同一個Copy任務,「into」和「from」永遠不會相同。 – 2014-12-04 14:59:53
即使我運行該任務搖籃覆蓋該文件到的WebContent '任務解包(類型:複製) { \t duplicatesStrategy = DuplicatesStrategy.EXCLUDE \t從rootDir.getPath()+ 「/ TMP」 \t入「的WebContent 「 }' – carlitos081 2014-12-04 15:53:10
我明白你的意思了。 'DuplicatesStrategy'是關於複製源('from')中的重複項。沒有配置選項來告訴'Copy'任務不要覆蓋目標目錄中已存在的文件,但可以使用'eachFile'來實現。有關詳細信息,請參閱[Gradle Build Language Reference](http://gradle.org/docs/current/dsl/index.html)中的'Copy'。您也可以在'gradle-all'下載的'samples'目錄中找到相關示例。 – 2014-12-04 16:44:49