使用任务type:Copy
时,有没有一种避免覆盖文件的方法?
这是我的任务:
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"
}
我想避免使用排除'file/file *'指定所有文件。
看来
duplicatesStrategy= DuplicatesStrategy.EXCLUDE
不起作用。我读到了有关gradle 0.9的问题,但我使用的是Gradle 2.1。这个问题还存在吗?
还是我误解了如何正确使用此任务?
谢谢
最佳答案
您始终可以首先检查文件是否存在于目标目录中:
task copyFileIfNotExists << {
if (!file('destination/directory/myFile').exists())
copy {
from("source/directory")
into("destination/directory")
include("myFile")
}
}