如何构建多个具有依赖项的项目

How to build several projects with dependencies

我有一个包含 n 个项目的工作区。我想使用 ant 通过一个命令构建所有项目。项目相互依存

例如项目A依赖于项目B,所以我希望B先编译当我编译项目An时我需要使用B的项目类路径。 项目之间的依赖关系在 ivy.xml 文件

中表示

主要的挑战是我有自己的存储库,其中所有这些项目都有工件,并且使用我刚刚给出的项目 A 编译针对来自我的存储库的 B 项目而不是针对刚刚的 B 项目已编译。

我使用 CI 流程,我不想在所有项目都编译并通过 QA 测试之前将任何项目发布到我的存储库

使用 ant 构建多个具有依赖项的项目的最佳做法是什么?

您可以花大量时间与 ant 和 ivy 作斗争以达到您想要的效果,或者您可以只使用 Maven 或 Gradle 它会自动为您处理所有这些。

您可以结合 ivy buildlist task with subant 根据依赖关系以正确的顺序构建子项目。

示例见以下答案:

  • ivy simple shared repository

使用这种方法可以在不切换构建工具的情况下重新创建 Maven 的工作方式。