gpt4 book ai didi

java - 将多个gradle zip任务合并为一个

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

我有一个gradle任务,可以将.yaml文件压缩到一个zip文件夹中,如下所示:

task gradleTask1(type: Zip) {
from 'src/test/resources/source_one/'
include '**/*'
archiveName 'file-collect.zip'
destinationDir(file("${buildDir}/resources/test/staging/target_one"))
}
同样,我还有其他看起来相同的任务,但是源目录和目标目录不同。
task gradleTask2(type: Zip) {
from 'src/test/resources/source_two/'
include '**/*'
archiveName 'file-collect.zip'
destinationDir(file("${buildDir}/resources/test/staging/target_two"))
}

task gradleTask3(type: Zip) {
from 'src/test/resources/source_three/'
include '**/*'
archiveName 'file-collect.zip'
destinationDir(file("${buildDir}/resources/test/staging/target_three"))
}
主要问题是,每次添加新的zip任务时,我都必须添加依赖项,如下所示:
compileJava.finalizedBy gradleTask1

compileJava.finalizedBy gradleTask2

compileJava.finalizedBy gradleTask3
有什么办法可以动态实现这些步骤?我可以单独执行一个zip任务(例如 zipAll),最后可以将任务依赖项设置为
compileJava.finalizedBy zipAll

最佳答案

考虑以下内容(here示例):

tasks.withType(Zip).all { task ->
def taskName = task.name

if (taskName ==~ /gradleTask.*/) {
println "TRACER adding dependency on ${taskName}"
compileJava.finalizedBy taskName
}
}
这将动态查找名称匹配 ZipgradleTask*类型的任务,并将其添加到 compileJava.finalizedBy的任务列表中。
没有 zipAll任务,但是 gradle compileJava将根据需要工作。

关于java - 将多个gradle zip任务合并为一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64377316/

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