Gradle 压缩文件夹的内容
我想压缩包文件夹的内容。 如何在Gradle 压缩文件夹的内容,gradle,Gradle,我想压缩包文件夹的内容。 如何在gradle任务中执行此操作 我正试着这样做 task publishAll << { new File('src/main/resources/com/domain/application/').eachDir() { dir -> processFolder(dir) } } def processFolder(dir) { println "prepare folder: " + dir 任务发布
gradle
任务中执行此操作
我正试着这样做
task publishAll << {
new File('src/main/resources/com/domain/application/').eachDir() {
dir -> processFolder(dir)
}
}
def processFolder(dir) {
println "prepare folder: " + dir
任务发布所有进程文件夹(dir)
}
}
def processFolder(目录){
println“准备文件夹:”+dir
它似乎可以返回第一级子文件夹。
但是如何压缩该
dir
文件夹?您可以使用zip
类型创建自定义任务,并使用FileTree
将包含其内容的所有子文件夹包含到压缩存档中,如:
task publishAll(type: Zip){
from fileTree(dir: 'src/main/resources/com/domain/application/')
}
如果要另外打印文件名,可以将其修改为:
from fileTree(dir: 'src/main/resources/com/domain/application/').each {println it.name}
更新:要将每个文件夹归档到单独的zip文件中,您可以使用解决方案遍历目录并添加ant.zip
任务来打包它们,如:
task publishAll << {
new File('src/main/resources/com/domain/application/').eachDir {
ant.zip(destfile: it.name+'.zip', basedir: it.path){
}
}
}
task publish我想zip
将每个文件夹压缩到单独的文件中。压缩只是其中的一个子过程task@user1432980更新了答案。现在它为目标目录中的每个一级文件夹创建一个存档