gpt4 book ai didi

gradle - 手动删除文件后,Gradle Copy任务是最新的

转载 作者:行者123 更新时间:2023-12-03 05:55:01 25 4
gpt4 key购买 nike

我被迫在该项目中使用Gradle 2.3。

我正在尝试将一组依赖项从自定义配置复制到特定目录。

如果我手动删除其中一个文件,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修复了哪个问题和版本,并且有比我到目前为止更好的解决方法吗?

最佳答案

您可以始终使用

outputs.upToDateWhen { false }

或不为您的任务使用复制类型
task copyFiles {
doLast {
copy {
from configurations.zips
into 'zip-dir'
configurations.zips.allDependencies.each {
rename "-${it.version}", ''
}
}
}
}

请注意,这是解决方法,而不是解决方案

关于gradle - 手动删除文件后,Gradle Copy任务是最新的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45406680/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com