Gradle-创建所有子项目的Tar

Gradle-创建所有子项目的Tar,gradle,Gradle,我有一个多项目的gradle构建,当我运行“gradle war”时,它在每个子项目中构建一个war文件 现在我想在根项目中创建一个dist或tar任务,将所有war文件添加到tar中 如何根据子项目的特定任务运行任务 我试过了,但战争任务无法执行 task explodedDist() { dependsOn tasks.withType(War) println "Finish" } 但是,如果这样做的话,我宁愿不必显式地列出根任务中所有子项目的名称 task explod

我有一个多项目的gradle构建,当我运行“gradle war”时,它在每个子项目中构建一个war文件

现在我想在根项目中创建一个dist或tar任务,将所有war文件添加到tar中

如何根据子项目的特定任务运行任务

我试过了,但战争任务无法执行

task explodedDist() {
    dependsOn tasks.withType(War)
    println "Finish"
}
但是,如果这样做的话,我宁愿不必显式地列出根任务中所有子项目的名称

task explodedDist()  {
    dependsOn ':first:war'
    dependsOn ':second:war'

    println "Finish"
}
有没有更好的方法来使用“子项目”之类的东西


我基本上是在构建所有的子项目,然后将它们作为一个区进行计分。这似乎应该是相当普遍的。执行此操作的正确方法是什么?

重要的是要了解这些
println
s发生在脚本评估时(配置阶段),而不是在任务运行时(执行阶段)。为了实现后者,必须用
doLast{…}
包装
println
s。
task dist(type: Tar) {
    from { subprojects.war }
}