【发布时间】:2014-11-17 04:22:36
【问题描述】:
我有一个多项目 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"
}
有没有更好的使用“子项目”之类的方法?
我基本上是在构建所有子项目,然后将它们作为一个 dist 去皮。这似乎应该是相当普遍的。这样做的正确方法是什么?
【问题讨论】:
-
重要的是要了解这些
printlns 发生在脚本被评估时(配置阶段),而不是任务运行时(执行阶段)。要实现后者,printlns 必须用doLast { ... }包装。
标签: gradle