什么是Rake?

简而言之,Rake做了什么? 它有什么目的? 我知道这是一个构build工具,但我正在寻找更多的细节。 (对于一个傻瓜)

尝试Martin Fowler关于Rake的文章以获取更多信息:

http://martinfowler.com/articles/rake.html

他的前导是:

Rake是一种构build语言,与make和ant相似。 就像make和ant一样,它是一个特定于域的语言,不同于那两个,它是用Ruby语言编程的内部DSL。 在本文中,我将介绍rake并描述一些有趣的事情,这些事情是我使用rake来构build这个网站的:依赖模型,合成任务,自定义构build例程和debugging构build脚本。

这个项目的主页还提供了更多的信息或链接:

http://rake.rubyforge.org/

这些答案假设你知道DSL是什么,或者熟悉Make或Ant。 如果情况并非如此,那么下面是一个(也许过于简单的答案):

Rake是一个可以用于Ruby项目的工具。 它允许你使用ruby代码来定义可以在命令行中运行的“任务”。

Rake可以下载并作为ruby包含在ruby项目中。

安装完成后,您可以在添加到项目中的名为“ Rakefile ”的文件中定义任务。

我们把它称为“构build工具”,因为Rake附带了一些库,这些库使得在构build/部署过程中很容易完成任务,比如文件操作 (创build,删除,重命名和移动文件),通过FTP发布网站/ SSH ,并运行testing 。

有关更多信息,请参阅项目文档: http : //rake.rubyforge.org/

Rake是Ruby编程语言中 基于依赖关系的声明式编程的一个实现。 基本上,Rake是Ruby对Make C是什么,有明显的区别,Make是一个外部的DSL ,而Rake是一个内部的DSL。

Rake可以让你通过一个漂亮的命名空间API执行Ruby代码。 一个例子是rake db:migrate。 您可以在其他任务之前和之后自动运行任务。 就这些。