RAKE – Ruby Make¶ ↑
描述¶ ↑
Rake 是一个用 Ruby 实现的类似 Make 的程序。任务和依赖项在标准的 Ruby 语法中指定。
Rake 具有以下特点
-
Rakefiles (Rake 的 Makefile 版本) 完全使用标准的 Ruby 语法定义。无需编辑 XML 文件。无需担心奇怪的 Makefile 语法 (是制表符还是空格?)
-
用户可以指定具有先决条件的任务。
-
Rake 支持规则模式来合成隐式任务。
-
灵活的 FileLists,其行为类似于数组,但了解如何操作文件名和路径。
-
一个预先打包的任务库,使构建 rakefiles 更容易。例如,用于构建 tar 包的任务。(以前用于构建
RDoc
、Gems 和发布到 FTP 的任务包含在 rake 中,但现在它们分别在RDoc
、RubyGems 和 rake-contrib 中可用。) -
支持任务的并行执行。
安装¶ ↑
Gem 安装¶ ↑
使用以下命令下载并安装 rake。
gem install rake
使用¶ ↑
简单示例¶ ↑
首先,您必须编写一个包含构建规则的 “Rakefile” 文件。这是一个简单的示例
task default: %w[test] task :test do ruby "test/unittest.rb" end
此 Rakefile 有两个任务
-
一个名为 “test” 的任务,它在调用时将运行 Ruby 中的单元测试文件。
-
一个名为 “default” 的任务。此任务本身不执行任何操作,但它只有一个依赖项,即 “test” 任务。调用 “default” 任务将导致 Rake 也调用 “test” 任务。
在没有任何选项的情况下运行 “rake” 命令将导致它在 Rakefile 中运行 “default” 任务
% ls Rakefile test/ % rake (in /home/some_user/Projects/rake) ruby test/unittest.rb ....unit test output here...
键入 “rake –help” 获取所有可用选项。
资源¶ ↑
Rake 信息¶ ↑
关于 Rake 的演示和文章¶ ↑
-
Avdi Grimm 的 Rake 系列
-
Martin Fowler 关于 Rake 的文章:martinfowler.com/articles/rake.html
其他 Make 重构版本…¶ ↑
Rake 是 make 替换领域的后来者。以下是其他具有类似(和不太类似)目标的项目的链接。
-
directory.fsf.org/wiki/Bras – Bras,最早的“脚本语言中的 make” 实现之一。
-
www.a-a-p.org – Python 中的 Make
-
ant.apache.org – Ant 项目
-
search.cpan.org/search?query=PerlBuildSystem – Perl 构建系统
-
www.rubydoc.info/gems/rant/0.5.7/frames – Rant,另一个 Ruby make 工具。
鸣谢¶ ↑
- Jim Weirich
-
Rake 的最初创建者。
- Ryan Dlugosz
-
为激发 Rake 的最初对话。
- Nobuyoshi Nakada <[email protected]>
-
为规则支持的初始补丁。
- Tilman Sauerbeck <[email protected]>
-
为递归规则补丁。
- Eric Hodel
-
为维护 rake 提供的帮助。
- Hiroshi SHIBATA
-
Rake 10 及更高版本的维护者
许可证¶ ↑
Rake 在 MIT 风格的许可证下可用。
版权所有 © Jim Weirich
特此授予任何获得本软件和相关文档文件(“软件”)副本的人免费许可,以不受限制地处理本软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售本软件副本的权利,并允许向获得本软件的人提供本软件,但须符合以下条件:
上述版权声明和本许可声明应包含在本软件的所有副本或主要部分中。
本软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于对适销性、特定用途的适用性和不侵权的保证。在任何情况下,作者或版权持有人均不对任何索赔、损害或其他责任承担责任,无论是在合同、侵权或其他诉讼中,因本软件或使用或以其他方式处理本软件而产生或与之相关的任何责任。
其他内容¶ ↑
- 作者
-
Jim Weirich <[email protected]>
- 要求
-
Ruby 2.0.0 或更高版本
- 许可证
-
版权所有 Jim Weirich。在 MIT 风格的许可证下发布。请参阅发行版中包含的 MIT-LICENSE 文件。
保证¶ ↑
本软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于对适销性和特定用途适用性的暗示保证。
历史¶ ↑
Rake 最初由 Jim Weirich 创建,不幸的是,他于 2014 年 2 月去世。此存储库最初托管在 github.com/jimweirich/rake,但是随着他的去世,已移至 ruby/rake。
您可以在此处查看 Jim 的最后一次提交:github.com/jimweirich/rake/tree/336559f28f55bce418e2ebcc0a57548dcbac4025
您可以在维基百科上阅读更多关于 Jim 的信息。
感谢您提供的这个伟大的工具,Jim。我们会记住您的。