gpt4 book ai didi

android - Gradle脚本-在file.delete()之前完成等待操作

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

有了gradle,我正在下载带有API的zip文件。之后,我要解压缩该文件,然后我要删除它。

我为此尝试了很多事情,但是找不到正确的解决方案。

我非常喜欢Gradle语法(doLast,doFirst)。

task downloadAndDelete(type: Copy) {
doLast {
blablabla
def zipFile = file(pathFile + fileName)
println '-------- Download zipfile --------'
blablabla
from zipTree(zipFile)
into pathFile
println '-------- Deleting zipfile --------'
zipFile.delete()
}
}

有时我有一个错误 Cannot convert path to File. path='property (@OutputDirectory destinationDir) for task 'downloadUpdatedStrings''有时我在完成解压缩之前删除了我的zipFile。

确定完成解压缩后,如何删除我的zipFile。
我也尝试了[ 'unzip', '-o', zipFile, '-d', pathFile].execute(),但结果相同。

最佳答案

您应该对三个步骤(downloadunzipdelete)中的每个步骤使用一个任务:

task downloadMyFile {
doLast {
// somehow download your file, e.g.
file('myFile.zip') << new URL("http://some.url/some/path/file.zip").getText()
}
}

task unzipMyFile(type: Copy) {
dependsOn downloadMyFile
from zipTree('myfile.zip')
into 'target/path'
finalizedBy deleteMyFile
}

task deleteMyFile(type: Delete) {
mustRunAfter unzipMyFile
delete downloadMyFile
}

现在,只需调用 unzipMyFile(或将其用作其他任务的输入)来执行所有任务即可。

请注意,使用文件后,通常不需要删除它们。只要将它们放在 build目录中的任何位置,下一个 clean操作就会将其删除。

关于android - Gradle脚本-在file.delete()之前完成等待操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49791616/

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