gpt4 book ai didi

gradle任务独立压缩多个目录

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

我正在尝试创建一个任务,该任务查看文件夹内部并将该文件夹中的所有文件夹压缩到某个输出文件夹。

初始状态:

Folder1
-> project1
->code //some more files within project1
-> project2
->code

目标状态:

Destination
project1.zip
project2.zip

我尝试使用下面的代码,但它正在压缩文件夹1中的所有内容

task myZip(type: Zip) {
from 'Folder1'
archiveName 'Compress.zip'
destinationDir file('build')
}

我可能需要使用一些包含project1和project2信息的集合并迭代压缩到目标文件夹。这种方法有问题。

最佳答案

每个 Gradle Zip 任务只能创建一个 Zip 文件,您可以阅读 here .

因此,您需要创建多个任务。因此,您可以迭代子目录并为每个子目录创建一个新的 Zip 任务。生成的任务可以通过 dependsOn 捆绑在根任务中:

task myZip() {
file('Folder1').eachDir { sub ->
dependsOn tasks.create("${name}_${sub.name}", Zip) {
from sub
baseName sub.name
destinationDir file('Destination')
}
}
}

关于gradle任务独立压缩多个目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43551572/

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