RakeJim Weirich最知名的项目,是现代版的Make.

rake

特性

  • Rakefile使用标准的Ruby语法,不用编辑XML,也不用担心Makefile语法的各种坑。
  • 任务可以设定依赖。
  • 支持规则模式,合并执行隐式任务。
  • 灵活的FileLists,很像数组,但是知道如何处理文件名和路径。
  • 预先打包好的任务,使得撰写rakefiles更容易。例如,tar打包和通过FTP或SSH发布站的任务。
  • 支持并行执行任务。

安装

gem install rake

用法

简单的例子:

task :default => [:test]

task :test do
  ruby "test/unittest.rb"
end

这里定义了两个任务:

  • test,会运行单元测试
  • default,指定默认的任务。

直接运行rake,不加任何参数会运行默认任务:

% ls
Rakefile     test/
% rake
(in /home/some_user/Projects/rake)
ruby test/unittest.rb
....单元测试输出...

网上资源

Rake的Github页面

Jim Weirich

编译 SegmentFault


weakish
24.6k 声望844 粉丝

a vigorously lazy deadbeat with matured immaturity