Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What exactly is Rake?

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.

like image 863
Skip Avatar asked Apr 07 '09 08:04

Skip


People also ask

What is the story behind the rake?

The most famous story of the Rake involves a woman waking to find the monster sitting at the edge of her bed. The character is often said to creep into bedrooms, induce nightmares, and observe the dreamers for a time before killing them.

What does being a rake mean?

noun. a dissolute or immoral person, especially a man who indulges in vices or lacks sexual restraint.

Is the rake blind?

Being described to be a naked man or a large hairless dog. Its claws also seems to be sharp. It is often seen to have white eyes which glow bright at night or in the darkness. In some footages, Rake is shown to be doesn't have pupils and has a sharp jaw.

What does the rake command do?

Rake is a software task management and build automation tool created by Jim Weirich. It allows the user to specify tasks and describe dependencies as well as to group tasks in a namespace. It is similar in to SCons and Make.


2 Answers

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/

like image 35
David M Avatar answered Oct 02 '22 04:10

David M


These answers assume you know what a DSL is, or are familiar with Make or Ant. If that's not the case, here's a (perhaps grossly oversimplified answer):

Rake is a tool you can use with Ruby projects. It allows you to use ruby code to define "tasks" that can be run in the command line.

Rake can be downloaded and included in ruby projects as a ruby gem.

Once installed, you define tasks in a file named "Rakefile" that you add to your project.

We call it a "build tool" because Rake comes with some libraries that make it easy to do tasks that are common during the build/deploy process, like file operations (creating, deleting, renaming, & moving files), publishing sites via FTP/SSH, and running tests.

For more information, here's the project documentation: http://rake.rubyforge.org/

like image 137
bryanbraun Avatar answered Oct 02 '22 03:10

bryanbraun