Skip to content

MehdiGol/rake

 
 

Repository files navigation

= RAKE -- Ruby Make

home :: https://github.com/ruby/rake bugs :: https://github.com/ruby/rake/issues docs :: https://ruby.github.io/rake

== Description

Rake is a Make-like program implemented in Ruby. Tasks and dependencies are specified in standard Ruby syntax.

Rake has the following features:

  • Rakefiles (rake's version of Makefiles) are completely defined in standard Ruby syntax. No XML files to edit. No quirky Makefile syntax to worry about (is that a tab or a space?)

  • Users can specify tasks with prerequisites.

  • Rake supports rule patterns to synthesize implicit tasks.

  • Flexible FileLists that act like arrays but know about manipulating file names and paths.

  • A library of prepackaged tasks to make building rakefiles easier. For example, tasks for building tarballs. (Formerly tasks for building RDoc, Gems, and publishing to FTP were included in rake but they're now available in RDoc, RubyGems, and rake-contrib respectively.)

  • Supports parallel execution of tasks.

== Installation

=== Gem Installation

Download and install rake with the following.

gem install rake

== Usage

=== Simple Example

First, you must write a "Rakefile" file which contains the build rules. Here's a simple example:

task default: %w[test]

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

This Rakefile has two tasks:

  • A task named "test", which -- upon invocation -- will run a unit test file in Ruby.
  • A task named "default". This task does nothing by itself, but it has exactly one dependency, namely the "test" task. Invoking the "default" task will cause Rake to invoke the "test" task as well.

Running the "rake" command without any options will cause it to run the "default" task in the Rakefile:

% ls Rakefile test/ % rake (in /home/some_user/Projects/rake) ruby test/unittest.rb ....unit test output here...

Type "rake --help" for all available options.

== Resources

=== Rake Information

  • {Rake command-line}[link:doc/command_line_usage.rdoc]
  • {Writing Rakefiles}[link:doc/rakefile.rdoc]
  • The original {Rake announcement}[link:doc/rational.rdoc]
  • Rake {glossary}[link:doc/glossary.rdoc]

=== Presentations and Articles about Rake

== Other Make Re-envisionings ...

Rake is a late entry in the make replacement field. Here are links to other projects with similar (and not so similar) goals.

== Credits

[Jim Weirich] Who originally created Rake.

[Ryan Dlugosz] For the initial conversation that sparked Rake.

[Nobuyoshi Nakada nobu@ruby-lang.org] For the initial patch for rule support.

[Tilman Sauerbeck tilman@code-monkey.de] For the recursive rule patch.

[Eric Hodel] For aid in maintaining rake.

[Hiroshi SHIBATA] Maintainer of Rake 10.X and Rake 11.X

== License

Rake is available under an MIT-style license.

:include: MIT-LICENSE


= Other stuff

Author:: Jim Weirich jim.weirich@gmail.com Requires:: Ruby 2.0.0 or later License:: Copyright Jim Weirich. Released under an MIT-style license. See the MIT-LICENSE file included in the distribution.

== Warranty

This software is provided "as is" and without any express or implied warranties, including, without limitation, the implied warranties of merchantability and fitness for a particular purpose.

== Historical

Rake was originally created by Jim Weirich, who unfortunately passed away in February 2014. This repository was originally hosted at {github.com/jimweirich/rake}[https://github.com/jimweirich/rake/], however with his passing, has been moved to {ruby/rake}[https://github.com/ruby/rake].

You can view Jim's last commit here: https://github.com/jimweirich/rake/tree/336559f28f55bce418e2ebcc0a57548dcbac4025

You can {read more about Jim}[https://en.wikipedia.org/wiki/Jim_Weirich] at Wikipedia.

Thank you for this great tool, Jim. We'll remember you.

Contributors

Jim
Jim Weirich
Hiroshi
Hiroshi SHIBATA
Eric
Eric Hodel
James
James M. Lawrence
Michael
Michael Bishop
Colby
Colby Swandale
aycabta/
aycabta
Nobuyoshi
Nobuyoshi Nakada
Randy
Randy Coulman
Mehdi
Mehdi Golzadeh
Luis
Luis Lavena
Benoit
Benoit Daloze
Gonzalo/
Gonzalo
Hongli
Hongli Lai
Peter
Peter Vandenberk
Olle
Olle Jonsson
Yuki
Yuki Nishijima
David
David Rodríguez
Jeremy
Jeremy Evans
pskocik/
pskocik
Tatsuya
Tatsuya Sato
Thomas
Thomas Scholz
James
James Tucker
Chris
Chris Keathley
Demian
Demian Ferreiro
Jo
Jo Liss
Josh
Josh Cheek
João
João Soares
Kent
Kent Wang
Vipul
Vipul A M
ogawatti/
ogawatti
Akira
Akira Matsuda
Alexey
Alexey Borzenkov
Brett
Brett Sykes
Brian
Brian Henderson
David
David Grayson
Mark
Mark D. Blackwell
Matthew
Matthew Bellantoni
R.T.
R.T. Lechow
Ryan
Ryan Davis
Santiago
Santiago Pastorino
S.
S. S. A. Moon
stuart
stuart nelson
Teo
Teo Ljungberg
Thorsten/
Thorsten
Tom
Tom Mornini
Zachary
Zachary Scott
Filip
Filip Hrbek
Lee/
Lee
skittleys/
skittleys
Takeshi
Takeshi Watanabe
Zhustec/
Zhustec
Anthony
Anthony J. Bentley
Dylan
Dylan Thacker-Smith
Jon
Jon San Miguel
Aaron
Aaron Lee
Aaron
Aaron Patterson
Adam
Adam Salter
Adrian
Adrian Setyadi
Alex
Alex Chaffee
Andrew
Andrew Cantino
Andrew
Andrew Gilbert
Andrei
Andrei Kaleshka
Andy
Andy Lindeman
Brandon
Brandon Fish
Cezary
Cezary Baginski
Chris
Chris Johnson
Daniel
Daniel Berger
daniel
daniel corson
Daniel
Daniel Holmes
Dan
Dan Lucraft
Daniel
Daniel Tamai
Dave
Dave Thomas
Dennis
Dennis J. Bell
Designing
Designing Patterns
Domizio
Domizio Demichelis
Doug
Doug Hammond
Espartaco
Espartaco Palma
FUJI
FUJI Goro
Felix
Felix Yan
Hendy
Hendy Tanata
Hiroshi
Hiroshi Shirosaki
HHH/
HHH
bakunyo/
bakunyo
JIANG
JIANG Di
Jacob
Jacob Swanner
Jason
Jason Karns
Jed
Jed Northridge
Jesse
Jesse Bowes
簡煒航
簡煒航 (Weihang Jian)
Joe
Joe Rafaniello
John
John Varghese
Jordi
Jordi Massaguer Pla
Judson
Judson Lester
Jérémie
Jérémie Astori
Kazuhiro
Kazuhiro NISHIYAMA
Kazuki
Kazuki Tsujimoto
Keiji,
Keiji, Yoshimi
Kuniaki
Kuniaki Igarashi
Lee
Lee Hambley
Leo
Leo Gallucci
Loren
Loren ☺️
Lukáš
Lukáš Zapletal
Manav/
Manav
Marco
Marco Pfatschbacher
Marcus
Marcus Stollsteimer
Matt
Matt Palmer
Matte
Matte Noble
Matthew
Matthew Bradley
Michael
Michael Elufimov
Michael
Michael Nikitochkin
Mike
Mike Morearty
usa/
usa
Noam
Noam Gagliardi Rabinovich
Ofer
Ofer Nave
Oliver
Oliver Klee
Orien
Orien Madgwick
Pablo
Pablo Herrero
Paul
Paul Annesley
Pavel
Pavel Galeta
Pedro
Pedro Chambino
Philip
Philip Arndt
Rafael
Rafael Rosa Fu
Reece
Reece Dunham
Rick
Rick Hull
Robbie
Robbie Gill
Ryan
Ryan Bigg
SAKATA
SAKATA Sinji
Salimane
Salimane Adjao Moustapha
Sam
Sam Grönblom
Sam/
Sam
Sandy
Sandy Vanderbleek
Simon
Simon Chiang
Simon
Simon Coffey
sch0rsch/
sch0rsch
Sylvain
Sylvain Joyeux
Ray/
Ray
Teemu
Teemu Matilainen
Tim
Tim Masliuchenko
Tim
Tim Pease
Tomer
Tomer Brisker
Uwe
Uwe Kubosch
Valera
Valera Rozuvan
Vít
Vít Ondruch
Weiming
Weiming Chen
YAMAMOTO
YAMAMOTO Yuji
Yuta
Yuta Kurotaki
Jake
Jake Benilov
chocolateboy/
chocolateboy
Chris
Chris Kampmeier
Evgeny
Evgeny Vereshchagin
ReadmeCritic/
ReadmeCritic
Michael
Michael Grosser
hakeda/
hakeda
Jean
Jean Lange
joshua
joshua stein
Paul
Paul Tarjan
Rudy/
Rudy
大野峻典/
大野峻典
windwiny/
windwiny

About

A make-like build utility for Ruby.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Ruby 100.0%