35

让某人同时使用 Buildr 和 Gradle,并可以比较此构建工具。乍一看,它们非常相似。但是选择什么。而且很高兴听到有关 Scala 支持和各种 IDE 集成(IDEA、NetBeans、Eclipse)的信息。

谢谢。

4

3 回答 3

19

我都尝试过使用,我肯定会推荐 Gradle。虽然它们都具有几乎相同的表现力,但我发现 Gradle 更加稳定(从 1.0 版开始)、安装工作量更少并且文档记录更好。尽管 Buildr 无疑是一项巨大的努力,但目前 Gradle 的制作更加专业。

Gradle 面临的唯一问题是缺乏对重用 ivy.xml(和 ivysettings.xml)的原生支持,尽管 Gradle 实际上使用 Ivy 作为其依赖引擎。此功能已承诺在不久的将来某个时间。另一方面,Buildr 有一个现成的插件(虽然它不是很可配置)。

如果您需要从 Maven 迁移,我将对这两种工具及其对您所需功能的支持进行一些调查。对于新项目,我推荐 Gradle。

两者都没有对 Eclipse 的良好支持,但 Gradle 有一个正在开发中的 Eclipse 插件,其工作方式与 Ant 插件非常相似。此外,Gradle 生成的 Eclipse 设置文件是高度可定制的,因此这是将其与 Eclipse 集成的另一种方式。

于 2011-08-15T00:15:27.140 回答
7

我查看了 gradle 和 buildr 并最终选择了 buildr,因为 gradle 的一个巨大缺点:构建系统的启动时间。buildr 要快得多,并且给了我更快的增量构建。性能是我发现 gradle 几乎无法忍受的东西。只需考虑构建系统启动了多少次,并将持续开销加起来。

顺便说一句,我发现具有两个构建系统(buildr 和 gradle)的构建服务器不是很有用并且容易出错(也就是说:我花更多的时间进行故障排除,而不是它实际上加快了速度)。

于 2011-08-18T10:19:19.360 回答
6

看看这是否有帮助(可能已经过时):http ://www.tikalk.com/alm/blog/buildr-vs-gradle

如果与 BuildR 相比,我会推荐 Gradle: 1. 对于 JVM 生态系统,Groovy 比 Ruby 更“原生”。即使你使用 JRuby,你仍然需要安装很多 gems 2. BuildR 的开发正在爬行。他们很久没有添加新功能了

话虽如此,我会质疑使用其中任何一种:使用脚本编写任何任务的能力都会带来风险,即构建将具有人们在能够维护它之前需要学习的大量逻辑。由于这不是产品的主要逻辑,因此您面临着人们不想维护构建或更糟的风险,以不正确的复制和粘贴方式进行(例如,性能方面)。使用 Maven,pom 中没有逻辑。此外,使用 Gradle/BuildR 意味着要构建产品,需要安装 Gradle/BuildR。Maven 在这里更加标准。

于 2011-08-14T11:25:33.760 回答