【问题标题】:Gradle - Create A Tar Of All SubprojectsGradle - 创建所有子项目的 Tar
【发布时间】: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


【解决方案1】:
task dist(type: Tar) {
    from { subprojects.war }
}

【讨论】:

    猜你喜欢
    • 2021-06-07
    • 1970-01-01
    • 2013-06-03
    • 2019-05-12
    • 2017-03-23
    • 2014-05-09
    • 1970-01-01
    • 1970-01-01
    • 2017-03-25
    相关资源
    最近更新 更多