Ruby的头号Gem:Rake

Rake是一个基于Ruby的构建工具,类似Make和Ant,用于管理和执行任务。它不仅适用于代码构建,更是一个强大的任务管理工具,帮助追踪任务依赖。Rake的任务可以通过简单脚本创建,例如定义买菜、做饭和洗衣服的任务,并可以通过命名空间管理多个任务。此外,Rake支持任务之间的依赖关系,如做饭依赖于买菜。在Rails中,Rake广泛用于数据库迁移和其他自动化任务。
摘要由CSDN通过智能技术生成

Rake

Rake简介

RakeMakeAnt

Rake的意思是Ruby Make,一个用ruby开发的代码构建工具。Rake的英文意思是耙子,一种很朴实的劳动工具。真的是很贴切,Rake正是一个功能强大、勤勤恳恳的劳动工具。

Rake会经常跟C/C++领域的makeJava世界的Ant进行对照,事实上,它们有很多相似的地方。我们先来看一下makeant的历史。

make的出现是为了解决批量编译的问题。对于一个小型的项目来说,用一个脚本文件或者批处理命令来进行批量编译就已经足够好。但是对于大型的项目来说,仅仅为了少数几个文件的改变就全部重新进行一次编译无疑是耗时且不必要的。而且,在大型的项目中,往往会有很复杂的依赖关系。

Make的出现就是为了解决这两个问题,make有两个优点:

  1. Make了解自上次Make运行以来哪些文件发生了变化,它会仅仅编译那些发生变化的文件。

  2. Make会跟踪文件之间的依赖性,如果文件A依赖于文件B,那么如果两者都没有编译时,Make会首先编译文件B

Ant算是一个Java世界的make,它要比make年轻许多(想想make是出现在1972年吧),它除了支持批量编译之外,还支持单元测试、JavaDoc等任务。因此,AntJava世界中比Make更加流行。

但是,为什么Ruby需要Rake

Ruby代码不需要编译,为什么需要Rake?其实,与其说Rake是一个代码构建工具,不如说Rake是一个任务管理工具,通过Rake我们可以得到两个好处:

  1. 以任务的方式创建和运行脚本

当然,你可以用脚本来创建每一个你希望自动运行的任务。但是,对于大型的应用来说,你几乎总是需要为数据库迁移(比如Railsdb:migrate任务)、清空缓存、或者代码维护等等编写脚本。对于每一项任务,你可能都需要写若干脚本,这会让你的管理变得复杂。那么,把它们用任务的方式整理到一起,会让管理变得轻松很多。

  1. 追踪和管理任务之间的依赖

Rake还提供了轻松管理任务之间依赖的方式。比如,“migrate”任务和“schemadump”任务都依赖于 “connect_to_database”任务,那么在“migrate”任务调用之前,“connect_to_database”任务都会被执行。

在哪里可以获得Rake

Rake的主页是在http://rake.rubyforge.org/,在这里你可以获得Rake的简单介绍,API以及一些有用文档的链接。可以在http://rubyforge.org/frs/?group_id=50获得最新版的Rake,在作者写作时,最新版本是0.7.3

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值