我们目前正在开发一个包含 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 来处理持续集成。