帮助评估构建工具

时间:2011-05-13 16:16:48

标签: ruby groovy build-process gradle buildr

我已经熟悉并使用Ant& Maven,此时我想分支到另一个工具,我在'Buildr'和'Gradle'之间做出决定。我很欣赏那些使用过这些工具中的一个或两个的人的见解/反馈,因为坦率地说,对我来说唯一真正的区别似乎是ruby vs groovy(我很舒服并且很享受)。我也很感谢以下答案:

  1. 我知道Buildr允许下载和提取不在maven类型repo中的依赖项,Gradle是否提供相同的功能?
  2. 可以使用Buildr / Gradle构建其他语言源代码 - 例如groovy,ruby,actionscript / flex,c family等吗?
  3. Buildr / Gradle与Hudson或Jenkins的集成程度如何?

2 个答案:

答案 0 :(得分:6)

我来自gradle方面,所以这里有一些要考虑的要点......

  1. Gradle建立在Ant + Ivy之上。它可以处理maven和ivy类型的回购。可以找到关于gradle如何处理依赖关系的优秀读物here
  2. Gradle处理java,groovy,scala等...您可以找到标准插件列表here。由于Gradle构建在ANT之上,因此您可以使用ant任务来实现构建flex。你基本上可以用Gradle完成所有你可以用ANT做的事情。您可以将旧的ANT XML转换为Gradle,也可以直接导入ANT脚本并将目标用作Gradle中的任务。就C而言,有更好的构建工具来处理它。我找到了您可能感兴趣的this thread
  3. Gradle有一个Jenkins插件。但是,Gradle有一个很好的功能,称为gradle包装器,大多数成熟版本都使用它。如果您使用此功能,则无需担心使用此插件。有关包装器here的更多信息。
  4. 我对Buildr了解不多,所以我无法比较,我只能说我们是快乐的gradle用户。

答案 1 :(得分:4)

我们最近评估了Gradle,Buildr和Maven 2作为我们当前Ant和本土Ant-wrappers混合的替代方案,并最终解决了Gradle问题。从技术上讲,我们发现它们(Buildr和Gradle)非常相似,我们决定的原因最终是非技术性的:

  1. Gradle = Groovy = Java!如果你有一个java开发团队,那么能够用任何人都可以贡献的语言来表达构建逻辑的论点很难被击败......这不是对Ruby的判断 - 只考虑可用的开发资源。 Groovy Closures需要一些人习惯,但我发现学习起来很有趣。

  2. 商业支持 - 这可能对您的案件很重要,也可能不重要,但在我们的情况下,这是一个决定性因素。 Gradle由Gradleware

  3. 提供商业支持
  4. 用户采用/受欢迎程度(主流) - 对于我们遇到的问题,更容易找到有关Gradle而不是Buildr的问题的答案。

  5. 那说......我仍然非常有信心要么支持我们的多项目构建。如果我们从头开始,Maven 2是可以接受的,但是我们有很多怪癖和奇怪的项目结构需要管理,这使得从第1天起很难提高效率......过渡要求使Maven 2变得非常昂贵。

    希望有所帮助,祝你好运!