如何使用 ant 构建多个具有依赖关系的项目

Posted

技术标签:

【中文标题】如何使用 ant 构建多个具有依赖关系的项目【英文标题】:How to build several projects with dependencies 【发布时间】:2016-08-11 15:04:20 【问题描述】:

我有 n 个项目的工作区。我想使用ant 用一个命令构建所有项目。这些项目相互依赖

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

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

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

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

【问题讨论】:

【参考方案1】:

您可以将 ivy buildlist 任务与 subant 结合起来,根据依赖关系以正确的顺序构建子项目。

请参阅以下答案以获取示例:

ivy simple shared repository

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

【讨论】:

【参考方案2】:

您可以花费大量时间与 ant 和 ivy 战斗以实现您想要的,或者您可以使用 Maven 或 Gradle,它们会自动为您处理所有这些。

【讨论】:

你说的很对,但是现在我不能使用 Gradle。

以上是关于如何使用 ant 构建多个具有依赖关系的项目的主要内容,如果未能解决你的问题,请参考以下文章

如何在ANT构建中的多个目标“依赖”属性中使用一个目标?

markdown 如何配置ssh配置以使多个私有github依赖关系具有多个部署密钥和自动部署。

如何使用具有依赖关系的gradle构建jar文件

如何以增量方式构建非二叉树(具有依赖关系)

使用Ant构建当前构建目标的依赖关系

如何组装一个多项目的蚂蚁构建系统