views:

272

answers:

3

Dear all

In simple terms, what does Rake do? What purposes does it have? I understand it's a build tool but I'm looking a bit more detail. (For a simpleton.)

Many thanks

Skipz

+7  A: 

Try Martin Fowler's article on Rake for more information:

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

His pre-amble is:

Rake is a build language, similar in purpose to make and ant. Like make and ant it's a Domain Specific Language, unlike those two it's an internal DSL programmed in the Ruby language. In this article I introduce rake and describe some interesting things that came out of my use of rake to build this web site: dependency models, synthesized tasks, custom build routines and debugging the build script.

There is more information available on or linked from the project's home page as well:

http://rake.rubyforge.org/

David M
Martin Fowler for the win!
Brian T Hannan
+3  A: 

Rake is an implementation of dependency-based declarative programming in the Ruby Programming Language. Basically, Rake is to Ruby what Make is to C, with the notable difference, that Make is an external DSL, while Rake is an internal DSL.

Jörg W Mittag
+2  A: 

Rake lets you execute Ruby code through a nice namespace api. An example is rake db:migrate. You can run tasks automatically before and after other tasks. That is all.

August Lilleaas