【问题标题】:Gradle multi-project configurationGradle 多项目配置
【发布时间】:2013-04-24 07:35:00
【问题描述】:

我正在考虑从 ant 迁移到 Gradle,因为我们希望通过并行运行项目来加速构建并简化配置,但是在我看来,这些目标对于 Gradle 构建来说是相互排斥的。希望我错过了什么。 所以我想要一个编译 3 个 java 项目的多项目 Gradle 设置的好例子,这样 A 和 B 可以并行编译,C 依赖于两者。此外,一些属性可以(动态地)配置并在所有三个项目中使用,可能在额外的根项目中配置。

【问题讨论】:

  • 动态,我的意思是这种事情。一个属性定义为BuildArea并包含一个路径,然后另一个属性定义为BuiltZips=${BuildArea}/zips,等等

标签: java gradle


【解决方案1】:

“动态”配置属性是什么意思?通常,您应该能够为具有三个子项目的项目获得并行执行的构建,如您所描述的。我在https://github.com/breskeby/gradle-snippets/tree/master/multiparallel推送了一个示例骨架项目设置@

希望有帮助,

干杯, 勒内

【讨论】:

  • 但在 Gradle 手册中:gradle.org/docs/current/userguide/multi_project_builds.html“项目耦合有效地阻止了 Gradle 并行构建多个项目”和“项目耦合的一种非常常见的方式是使用配置注入。它可能不会立即显现出来,但使用诸如 allprojects 和 subprojects 关键字等关键 Gradle 功能会自动导致您的项目耦合。”
  • 我必须仔细检查 gradle 用户指南中的措辞及其详细含义。但是在运行我上面链接的示例项目时,您可以看到 sub1:classes 和 sub2:classes 是并行执行的。
  • 太好了,谢谢。你知道我可以在哪里提交文档错误吗?
  • 提出这些问题的最佳地点是 gradle 论坛 (forums.gradle.org)
【解决方案2】:

这是我在一两周前构建的一个示例应用程序,涵盖了这个用例:https://github.com/jadekler/git-java-websiteskeleton。尤其要查看 settings.gradle,以及将所有其他组件(每个单独的 java 应用程序)捆绑在一起的应用程序包。

【讨论】:

    猜你喜欢
    • 2022-10-05
    • 2011-10-23
    • 2015-10-14
    • 1970-01-01
    • 1970-01-01
    • 2021-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多