0
我不得不在這個項目中使用Gradle 2.3。手動刪除文件後,Gradle Copy Task是最新版本
我想從一個自定義配置複製一組依賴關係到一個特定的目錄。
如果我手動刪除其中一個文件,Gradle仍會將該任務標記爲「最新日期」,並最終得到一組不完整的文件。
task copyFiles(type: Copy) {
from configurations.zips
into 'zip-dir'
configurations.zips.allDependencies.each {
rename "-${it.version}", ''
}
}
雖然這在v4.0.2中按預期工作。
要解決它,我正在計算該目錄中的文件。
task copyFiles(type: Copy) {
outputs.upToDateWhen {
def count = new File('zip-dir').listFiles().count { it.name ==~ /.*zip/ }
count == configurations.zips.files.size()
}
from configurations.zips
into 'zip-dir'
configurations.zips.allDependencies.each {
rename "-${it.version}", ''
}
}
哪個問題和版本的gradle是固定的,是否有比迄今爲止更好的解決方法?
的確,您可以在'doLast'中使用'copy'命令而不是'Copy'任務,但這與禁用* UP-TO-DATE * - 檢查此任務的方式相同。無論如何,這隻會是解決方法,而不是一個真正的解決方案。 –
@ lu.koerfer他詢問了更好的解決方法,這是我過去這樣做的方式,你知道解決方案嗎?我在Gradle 2.3中遇到了這個問題 – LazerBanana
我沒有說它是一個糟糕的解決方法(但不一定比他的方法更好),這也是爲什麼我刪除了downvote。 –