gpt4 book ai didi

gradle - 将单个文件中的多个文件解压缩到不同目录

转载 作者:行者123 更新时间:2023-12-03 03:15:07 27 4
gpt4 key购买 nike

我正在编写一个gradle脚本,可以从我们的仓库管理器中下载一系列tarball。假设我有一个临时目录,如下所示:

temp / lib_x86.tar.gz

temp / lib_armv7.tar.gz

temp / lib_armv7s.tar.gz

temp / lib_arm64.tar.gz

我想要做的是用一个复制任务将所有文件解压缩到不同的目录中,因为所有的tarball都包含相同的静态库,但针对不同的体系结构进行了编译。我的最终目标是在这些基础上创建一个胖库,但无法找到一种配置复制任务的巧妙方法。
到目前为止,我有:

copy {
fileTree(dir: 'temp').include('*.tar.gz').each {File simLib ->
println "Untar ${simLib.name}"
from tarTree(resources.gzip(simLib.name))
into "temp/${simLib.name}"
include '*.a'
}
}

问题是,即使print语句显示它处理了所有4个文件,它似乎仅对其中一个文件有效。
有任何想法吗?

最佳答案

好的,已经解决了。在示例中,您提供的copy块将被配置一次-最后获胜-更具体地说,列表上的最后一个设置将覆盖所有以前的设置。需要逆转。可以通过以下方式完成:

fileTree(dir: 'tmp').include('*.tar.gz').each { simLib ->
copy {
println "Untar $simLib.name"
def name = simLib.name - '.tar.gz'
from tarTree("tmp/${simLib.name}")
into "tmp/$name"
}
}

演示是 here

关于gradle - 将单个文件中的多个文件解压缩到不同目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28891097/

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