Buildr 与 Gradle,优缺点?
让某人同时使用 Buildr 和 Gradle,并可以对这些构建工具进行比较。乍一看它们非常相似。但该选择什么。而且很高兴听到 Scala 支持和各种 IDE 集成(IDEA、NetBeans、Eclipse)。
谢谢。
Have somebody use both Buildr and Gradle and can make comparison of this build tools. From first look they are very similar. But what to choose. And also it is good to hear about Scala support and various IDE integration(IDEA, NetBeans, Eclipse).
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我都尝试过使用,而且我肯定会推荐 Gradle。虽然它们都具有几乎相同的表达能力,但我发现 Gradle 更加稳定(自版本 1.0 以来),安装工作量更少,并且文档记录得更好。尽管Buildr无疑是一个巨大的努力,但目前Gradle的制作更加专业。
我在使用 Gradle 时面临的唯一问题是缺乏对重用 ivy.xml(和 ivysettings.xml)的本机支持,尽管 Gradle 实际上使用 Ivy 作为其依赖引擎。该功能已承诺在不久的将来推出。另一方面,Buildr 有一个现成的插件(尽管它不是很可配置)。
如果您需要从 Maven 迁移,我会对这两个工具及其对您所需功能的支持进行一些调查。对于新项目,我推荐 Gradle。
两者都没有对 Eclipse 的良好支持,但 Gradle 有一个正在开发的 Eclipse 插件,其工作方式与 Ant 插件非常相似。此外,Gradle 生成的 Eclipse 设置文件是高度可定制的,因此这是将其与 Eclipse 集成的另一种方式。
I have tried using, both and I'd definitely recommend Gradle. While both of them have pretty much the same expressiveness, I found Gradle to be much more stable (since version 1.0), less effort to install, and better documented. Although Buildr is undoubtedly a great effort, at the moment Gradle is much more professionally made.
The only problem I faced with Gradle is lack of native support for reusing ivy.xml (and ivysettings.xml), despite the fact that Gradle actually uses Ivy as its dependency engine. This feature has been promised for sometime in the future soon. Buildr, on the other hand has a ready-to-use plugin for that (it's not very configurable though).
If you need to migrate from Maven, I'd do some investigation on both tools and their support for the features you need. For new projects I'd recommend Gradle.
Neither have good support for Eclipse, but Gradle have a work-in-progress Eclipse plugin that works very much like the Ant plugin. Also, Gradle's generation of Eclipse settings files is highly customizable, so that's another way to integrate it with Eclipse.
我同时考虑了 gradle 和 buildr,最终选择了 buildr,因为 gradle 的一个巨大缺点:构建系统的启动时间。 buildr 更加敏捷,并为我提供了更快的增量构建。我发现 gradle 的性能几乎无法忍受。只需考虑构建系统启动了多少次并将持续的开销加起来即可。
顺便说一句,我发现带有两个构建系统(buildr 和 gradle)的构建服务器不是很有用并且容易出错(也就是说:我花在故障排除上的时间比它实际上加快速度的时间要多)。
I looked at both gradle and buildr and went for buildr in the end because of one huge disadvantage with gradle: start-up time of the build system. buildr is much snappier and gave me much faster incremental builds. Performance is something I found almost unbearable with gradle. Just consider how many times a build system is kicked off and add up the constant overhead.
BTW I found the build server with both build systems (buildr and gradle) to be not very useful and error prone (that is: I spent more time with troubleshooting than it actually sped up things).
看看这是否有帮助(可能已经过时): http://www.tikalk.com/ alm/blog/buildr-vs-gradle
如果与 BuildR 相比,我推荐 Gradle:
1. Groovy 比 Ruby 更加“原生”于 JVM 生态系统。即使你使用JRuby,你仍然需要安装很多gems
2. BuildR的发展是爬行的。他们已经很长一段时间没有添加新功能了
,话虽如此,我对使用其中任何一个都持怀疑态度:有了编写任何任务脚本的能力,就会带来这样的风险:构建将具有人们在使用之前需要学习的大量逻辑。能够维持它。由于这不是产品的主要逻辑,因此您面临着人们不想维护构建的风险,或者更糟的是,他们以不正确的复制和粘贴方式(例如,性能方面)进行维护。对于 Maven,pom 中没有逻辑。此外,使用 Gradle/BuildR 意味着要构建产品,需要安装 Gradle/BuildR。 Maven 在这里更加标准。
See if this helps (probably outdated): http://www.tikalk.com/alm/blog/buildr-vs-gradle
If compared to BuildR, I'd recommend Gradle:
1. Groovy is much more "native" to the JVM ecosystem than Ruby. Even if you use JRuby, you'd still need to install a lot of gems
2. BuildR's development is crawling. They have not added new features in a long time
Having said that, I'd question using either one of these: With the power to script any task comes the risk that the build will have a lot of logic that people need to learn before being able to maintain it. Since this is not the main logic of the product, you have the risk of people that do not want to maintain the build or worse, doing it in copy&paste way that is not right (e.g., performance wise). With Maven, there's no logic in the pom. Also, using Gradle/BuildR means that to build the product, one needs to install Gradle/BuildR. Maven is much more standard here.