我们有一个基于 Ant 和 Ivy 的构建管理系统,它基本上由一个共享的 ant 文件和一组围绕目录结构的约定组成。
我试图克服的一个障碍是相当常见的“递归发布”情况。比如说,我们有 5 个内部代码模块,它们的依赖关系图如下:
假设开发人员已在本地 checkout 所有 5 个模块,并对它们进行了全部更改。现在他想将他所有的变化都提升到“里程碑”的地位。换句话说, Ivy repo 中应该发生的事情是:
我还没有找到使用 ivy + ant 的简单方法(Ivy promise 类似的东西称为递归交付,但我找不到任何可行的示例)。
Gradle 在这里听起来很有希望,因为它似乎对多项目构建有很好的支持。我确实浏览了文档,但没有立即找到这个案例作为示例。有没有
使用gradle实现这一目标的简单方法?
最佳答案
我能想到的唯一方法是使用主构建文件,该文件将版本号向下传播到每个模块的单独构建文件。这具有将您的五个模块绑定(bind)到一个需要作为单个实体进行管理的单元的不幸副作用,但这可能是实现您正在寻找的唯一方法。
关于build-automation - 在 Gradle 中递归发布是否可能/容易?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6544605/