• Home
  • History
  • Annotate
  • only in this directory
NameDateSize

..29-Aug-201423

CHANGESH A D05-Sep-201114.8 KiB

command_line_usage.rdocH A D20-Dec-20126.3 KiB

example/H29-Aug-20147

glossary.rdocH A D20-Dec-20121.8 KiB

jamis.rbH A D15-May-201111.1 KiB

proto_rake.rdocH A D20-Dec-20122.4 KiB

rakefile.rdocH A D20-Dec-201218.3 KiB

rational.rdocH A D20-Dec-20126.1 KiB

READMEH A D02-Oct-20095.7 KiB

release_notes/H29-Aug-201411

README

1= RAKE -- Ruby Make 
2
3Supporting Rake version: 0.8.6
4
5This package contains Rake, a simple ruby build program with
6capabilities similar to make.
7
8Rake has the following features:
9
10* Rakefiles (rake's version of Makefiles) are completely defined in
11  standard Ruby syntax.  No XML files to edit.  No quirky Makefile
12  syntax to worry about (is that a tab or a space?)
13
14* Users can specify tasks with prerequisites.
15
16* Rake supports rule patterns to synthesize implicit tasks.
17
18* Flexible FileLists that act like arrays but know about manipulating
19  file names and paths.
20
21* A library of prepackaged tasks to make building rakefiles easier. For example,
22  tasks for building tarballs, gems and RDoc output are provided.
23
24* Supports parallel execution of tasks.
25
26
27== Installation
28
29=== Gem Installation
30
31Download and install  rake with the following.
32
33   gem install rake
34
35=== Normal Installation
36
37You can download the source tarball of the latest version of Rake from
38
39* http://rubyforge.org/project/showfiles.php?group_id=50
40
41Extract the tarball and run
42
43  % ruby install.rb
44
45from its distribution directory.
46
47== Usage
48
49=== Simple Example
50
51First, you must write a "Rakefile" file which contains the build rules. Here's
52a simple example:
53
54  task :default => [:test]
55  
56  task :test do
57    ruby "test/unittest.rb"
58  end
59
60This Rakefile has two tasks:
61
62* A task named "test", which - upon invocation - will run a unit test file in
63  Ruby.
64* A task named "default". This task does nothing by itself, but it has exactly
65  one dependency, namely the "test" task. Invoking the "default" task will
66  cause Rake to invoke the "test" task as well.
67
68Running the "rake" command without any options will cause it to run the
69"default" task in the Rakefile:
70
71  % ls
72  Rakefile     test/
73  % rake
74  (in /home/some_user/Projects/rake)
75  ruby test/unittest.rb
76  ....unit test output here...
77
78Type "rake --help" for all available options.
79
80
81=== More Information
82
83* For details on Rake's command-line invocation, read
84  doc/command_line_usage.rdoc[http://rake.rubyforge.org/files/doc/command_line_usage_rdoc.html]
85* For details on writing Rakefiles, see
86  doc/rakefile.rdoc[http://rake.rubyforge.org/files/doc/rakefile_rdoc.html].
87* For the original announcement of Rake, see
88  doc/rational.rdoc[http://rake.rubyforge.org/files/doc/rational_rdoc.html].
89* For a glossary of terms, see
90  doc/glossary.rdoc[http://rake.rubyforge.org/files/doc/glossary_rdoc.html].
91
92
93== Development
94
95=== Source Repository
96
97Rake is currently hosted at github. The github web page is
98http://github.com/jimweirich/rake. The public git clone URL is
99
100* git://github.com/jimweirich/rake.git
101
102=== Running the Rake Test Suite
103
104If you wish to run the unit and functional tests that come with Rake:
105
106* Install the 'session' gem in order to run the functional tests.
107* CD into the top project directory of rake.
108* Type one of the following:
109
110     rake                  # If you have a version of rake installed
111     ruby -Ilib bin/rake   # If you do not have a version of rake installed.
112
113=== Issues and Bug Reports
114
115Bugs, features requests and other issues can be logged at
116
117* http://onestepback.org/redmine/projects/show/rake
118
119You will need an account to before you can post issues.  Register at
120http://onestepback.org/redmine/account/register.  Or you can send me
121an email (at jim dot weirich at gmail dot com)
122
123
124== Online Resources
125
126=== Rake References
127
128* Rake Documentation Home: http://docs.rubyrake.org
129* Rake Project Page: http://rubyforge.org/projects/rake
130* Rake API Documents: http://rake.rubyforge.org
131* Rake Source Code Repo:  http://github.com/jimweirich/rake
132* Rake Git Repo Clone URL: git://github.com/jimweirich/rake.git
133
134=== Presentations and Articles about Rake
135
136* Jim Weirich's 2003 RubyConf presentation: http://onestepback.org/articles/buildingwithrake/
137* Martin Fowler's article on Rake: http://martinfowler.com/articles/rake.html
138
139== Other Make Reinvisionings ...
140
141Rake is a late entry in the make replacement field.  Here are links to
142other projects with similar (and not so similar) goals.
143
144* http://directory.fsf.org/bras.html -- Bras, one of earliest
145  implementations of "make in a scripting language".
146* http://www.a-a-p.org -- Make in Python
147* http://www.aromatic.com/tools/jam.txt -- JAM, Java Automated Make
148* http://ant.apache.org -- The Ant project
149* http://ppt.perl.org/commands/make/index.html -- Make from the Perl
150  Power Tools implementation.
151* http://search.cpan.org/search?query=PerlBuildSystem -- The Perl Build System
152* http://make.rubyforge.org -- Rant, another Ruby make tool.
153
154== Credits
155
156[<b>Ryan Dlugosz</b>] For the initial conversation that sparked Rake.
157
158[<b>nobu.nokada@softhome.net</b>] For the initial patch for rule support.
159
160[<b>Tilman Sauerbeck <tilman@code-monkey.de></b>] For the recursive rule patch.
161
162== License
163
164Rake is available under an MIT-style license.
165
166:include: MIT-LICENSE
167
168== Support
169
170The Rake homepage is http://rake.rubyforge.org.  You can find the Rake
171RubyForge page at http://rubyforge.org/projects/rake.
172
173Feel free to submit commits or feature requests.  If you send a patch,
174remember to update the corresponding unit tests.  If fact, I prefer
175new feature to be submitted in the form of new unit tests.
176
177For other information, feel free to ask on the ruby-talk mailing list
178(which is mirrored to comp.lang.ruby) or contact
179jim dot weirich at gmail.com.
180
181---
182
183= Other stuff
184
185Author::   Jim Weirich <jim.weirich@gmail.com>
186Requires:: Ruby 1.8.0 or later
187License::  Copyright 2003-2008 by Jim Weirich.
188           Released under an MIT-style license.  See the LICENSE file
189           included in the distribution.
190
191== Warranty
192
193This software is provided "as is" and without any express or
194implied warranties, including, without limitation, the implied
195warranties of merchantibility and fitness for a particular
196purpose.
197