3

我们目前正在开发一个包含 actionscript 和 Java 的项目。到目前为止,我们一直使用 Ant 作为我们的主要构建工具,但是它意味着大量的重复和缺乏灵活性(我们正在构建大量的小型子项目,并且每次都复制所有构建文件是一种痛苦)正在推动我们改变工具。

EDIT3:我已经在 Gant 中重写了我们所有的构建,尽管它并不完美,但它大大缩小了我们的构建文件,并使添加新项目更加简单,所以我明确地向不想改变他们的人推荐 Gant构建理念和项目结构,但只是在寻找比ant更方便的工具。在那些日子里,我可能会看看 graddle 和/或 Ivy。

EDIT2:在试用了 Buildr 之后,我们排除了它,因为它做的事情比我们实际需要的要多。我现在正在尝试 Gant,它看起来正是我们需要的,但文档非常小。一直迁移到 Gradle 是否值得,还是项目还不够成熟?

编辑:我将尝试澄清我们与 Ant 的问题。我们有几个具有相似布局的子项目,我们必须为其编译和运行测试。一旦完成,其中一些需要打包在一起以生成可执行文件(即客户端、服务器和一些独立的演示)。在 ant 中描述我们的标准布局的工作相当长,如果不重写整个宏就很难引入小的变化。(比如说,其中一个项目需要从不同的存储库中获取其可视资产)。

  • Gant允许我们重用 Flash 和 Java 中已经存在的 ant 任务
  • Gradle出于同样的原因,尽管它看起来稍微复杂一些
  • 似乎强烈推荐的耙子。缺点是对动作脚本集成的实验性支持以及我们对 Ruby 的了解不足
  • 看起来很酷的构建器,但在这里,对红宝石一无所知
  • Scons的势头似乎不大,但 Python 是一种非常酷的脚本语言

曾考虑过 Maven,但由于其固有的复杂性和明显的易错性而被淘汰。我们目前倾向于 Gant。你们中有人有使用这些工具的经验吗?他们如何比较?

我们的需求非常基本:编译和打包项目,将它们部署到多个目标和一些脚本功能(例如运行特定于项目的性能测试)。值得注意的是,我们使用 Hudson 来处理持续集成。

4

2 回答 2

5

我不确定切换到 gant 会解决您的问题。Gant 只是用 groovy 而不是 xml 编写构建文件。我认为您的问题更多在于您使用蚂蚁的方式。没有更多细节很难说,但是像“愚蠢的重复数量”和“复制构建文件”这样的短语让我认为你可以更有效地使用 ant。

如果您还没有,请查看您的 ant 任务,看看是否可以重构它们以消除重复。此外,如果您还没有看到 -find 选项,请查看 ant 选项。您不需要复制构建文件。

顺便说一句,Ivy 用于依赖管理,而不是构建。

于 2010-01-27T14:22:26.187 回答
1

我知道我们公司以 Java 为生的人都对 Ivy 发誓,但没有任何经验,我没有足够的事实来支持这个建议与技术论据。尽管与他们之前使用的 Ant 相比,他们确实提到了没有重复的优点。买者自负。

于 2010-01-27T14:06:52.710 回答