值得迁移到Rake?

时间:2008-09-16 11:28:47

标签: ant build-automation rake

从蚂蚁转到Rake真的有利吗?

任何从蚂蚁迁移过来并找到具有纪念意义的东西?

仅供参考:当前环境是J2ME版本的Ant

4 个答案:

答案 0 :(得分:9)

我会说是的,但我有一个不同于Java环境的人,因为我是一个.NET环境的人。我在msbuild中编写并维护了一个非平凡的构建脚本(清理,生成汇编信息,构建,测试,覆盖,分析,包)(MS'XML驱动的NAnt工作),这非常痛苦:

  • XML不友好;这是非常嘈杂的
  • 团队中没有其他人有兴趣学习它以达到更多,更有用的自动化;如此高的公交系数(即,如果我被公共汽车击中,他们就会被它困住)
  • 它不适用于重构或改进 - 这是“触碰你自己”的事情之一,你知道吗?
  • 它需要编写自定义C#任务来运行构建所需的各种工具(尽管公平,通常这些是由供应商编写的)

在大约一个工作周的时间里(在圣诞节时我喜欢空荡荡的办公室!),我已经学会了足够的红宝石+耙子用更短的(在LOC方面)脚本替换整个东西更多的功能和更多的可理解性(我希望,无论如何;还没有审查过)。

它受益于:    - 这是一种新语言,但却是一种真正的语言。我的队友喜欢学习新语言,这虽然是一个薄薄的借口,仍然是一个借口;-)如果我是对的,这可能会减轻公交因素。    - 这是一个短距离(我收集)从这里到capistrano,来自RoR世界的自动/远程/分布式部署工具。尽管是一个MS-stack商店,我们将最终使用它与IIS7结合使用CLI配置工具。

所以,是的。你的里程可能会有所不同,但这对我来说是值得的。

答案 1 :(得分:6)

如果你愿意,耙子很棒:

  • 访问真正的编程语言;与Ant(它们几乎不可能)相比,条件和循环都非常简单。
  • 易于阅读且可以进行语法检查的文件格式
  • 更直观/可预测的值到变量的分配

耙子对你不好,因为:

  • 您需要自己提供很多基本的任务(比如运行javac,创建jar文件等)。像Raven这样的项目可能会有所帮助,但它似乎适用于自动下载依赖项,而不是自动化构建/部署过程。另外,文档有点缺乏。
  • 大多数可以自动化的java工具都是作为Ant任务完成的,这些任务不容易从Rake运行;在构建时启动JVM可能很烦人

答案 2 :(得分:1)

您可能还想查看buildr。它是基于rake构建的更高级别的构建工具。恕我直言,它需要maven的许多好功能,并抛弃坏人。我自己并没有把它用在任何大的东西上,但我知道那些拥有并且非常满意的人。

答案 3 :(得分:0)

如果ant无法满足您的需求,您可能想要查看的另一个工具是Gant。它为ant添加了完整的脚本支持,但允许您根据需要重新使用您的ant任务。这真的取决于你对蚂蚁不喜欢的东西。