帮助评估构建工具

发布于 2024-11-07 18:05:08 字数 383 浏览 7 评论 0原文

我已经熟悉并使用 Ant & 了。 Maven,此时我想扩展到另一个工具,我正在“Buildr”和“Gradle”之间做出选择。我很感激那些使用过其中一种或两种工具的人的见解/反馈,因为坦率地说,在这一点上,对我来说唯一真正的区别似乎是 ruby​​ 与 groovy(我对这两种工具都很满意并喜欢)。我也很感谢以下问题的答案:

  1. 我了解 Buildr 允许下载和提取不在 Maven 类型存储库中的依赖项,Gradle 是否提供相同的功能?
  2. Buildr/Gradle 可以用来构建其他语言源代码——即 groovy、ruby、actionscript/flex、c 系列等吗?
  3. Buildr/Gradle 与 Hudson 或 Jenkins 的集成程度如何?

I'm already familiar with and use Ant & Maven, at this point I'd like to branch out to another tool and I'm deciding between 'Buildr' and 'Gradle'. I'd appreciate insight/feedback from those that have either used one or both of these tools, because quite frankly at this point the only real difference to me seems to be ruby vs groovy (and I am comfortable with and enjoy both). I'd also appreciate answers to the following:

  1. I understand that Buildr allows for downloading and extracting dependencies that are NOT in a maven type repo, does Gradle offer the same feature?
  2. Can Buildr/Gradle be used to build other language source code -- i.e. groovy, ruby, actionscript/flex, c family, etc.?
  3. How well integrated are Buildr/Gradle with Hudson or Jenkins?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

望喜 2024-11-14 18:05:08

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

  1. Gradle 是构建在 Ant+Ivy 之上的。它可以处理 Maven 和 ivy 类型的存储库。关于 gradle 如何处理依赖项的精彩读物可以在此处找到。
  2. Gradle 处理 java、groovy、scala 等...您可以在 此处找到标准插件列表。由于 Gradle 是构建在 ANT 之上的,因此您可以使用 ant 任务来实现构建 Flex。基本上,您可以使用 Gradle 完成可以使用 ANT 完成的所有操作。您可以将旧的 ANT XML 转换为 Gradle,或者您可以直接导入 ANT 脚本并将目标用作 Gradle 中的任务。就 C 而言,有更好的构建工具来处理这个问题。我发现这个线程< /a> 您可能感兴趣。Gradle
  3. 有一个 Jenkins 插件。然而,Gradle 有一个很好的功能,称为 gradle 包装器,大多数成熟的构建都使用它。如果您使用此功能,则无需担心是否有此插件。有关包装器的更多信息此处

我对 Buildr 不太了解,所以我无法比较,我只能说我们是快乐的 gradle 用户。

I come from the gradle side, so here are some points to consider...

  1. Gradle is build on top of Ant+Ivy. It can handle both maven and ivy type repos. Excellent read about how gradle handles dependencies can be found here.
  2. Gradle handles java, groovy, scala, etc... You can find a list of standard plugins here. Since Gradle is built on top of ANT, you can use ant tasks to achieve building flex. You can basically do everything with Gradle that you could do with ANT. You may convert your old ANT XML to Gradle OR you can import an ANT script directly and use the targets as tasks in Gradle. As far as C is concerned, there are better build tools to handle that. I found this thread that you might be interested in.
  3. Gradle has a Jenkins plugin. However, Gradle has a nice feature called the gradle wrapper that most mature builds use. If you use this feature you do not need to worry about having this plugin. More on the wrapper here.

I do not know much about Buildr, so I cannot compare, all I can say is that we are happy gradle users.

葬花如无物 2024-11-14 18:05:08

我们最近评估了 Gradle、Buildr 和 Maven 2 作为我们当前的 Ant 和本土 Ant 包装器组合的替代品,并最终选择了 Gradle。从技术上讲,我们发现它们(Buildr 和 Gradle)非常相似,我们做出决定的原因最终是非技术性的:

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

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

    提供

  3. 用户采用/流行度(主流)提供商业支持 - 对于对于我们遇到的问题,Gradle 比 Builder 更容易找到问题的答案。

也就是说......我仍然非常有信心其中任何一个都会支持我们的多项目构建。如果我们从头开始,Maven 2 是可以接受的,但我们有很多怪癖和奇怪的项目结构需要管理,这使得从第一天开始就很难保持高效……过渡要求使得 Maven 2 的成本过高。

希望有帮助,祝你好运!

We recently evaluated Gradle, Buildr and Maven 2 as alternatives to our current mix of Ant and homegrown Ant-wrappers and ended up settling on Gradle. Technically speaking we found them (Buildr and Gradle) to be very similar and the reasons for our decision ended up being non-technical:

  1. Gradle = Groovy = Java! If you have a team of java developers the argument for being able to express build logic in a language anyone can contribute to is hard to beat... which is not a judgement on Ruby - just a consideration of what development resources are available. Groovy Closures require some getting used to but I have found it pretty fun to learn.

  2. Commercial support - this may or may not be important to your case, but in ours it was a defining factor. Gradle is commercially supported by Gradleware

  3. User adoption / popularity (mainstreamness) - for the issues that we ran into, it was easier to find answers to questions about Gradle than Buildr.

That said... I am still pretty confident either one would have supported our multi-project builds. Maven 2 would have been acceptable if we were starting from scratch, but we have a lot of quirks and odd project structures to manage which make it hard to be productive from day 1... the transition requirements made Maven 2 prohibitively expensive.

Hope that helps and good luck!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文