rake 0.4.11 → 0.8.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. data/CHANGES +288 -1
  2. data/README +101 -114
  3. data/Rakefile +269 -54
  4. data/TODO +1 -0
  5. data/bin/rake +26 -3
  6. data/doc/command_line_usage.rdoc +102 -0
  7. data/doc/jamis.rb +133 -106
  8. data/doc/rake.1.gz +0 -0
  9. data/doc/rakefile.rdoc +304 -4
  10. data/doc/release_notes/rake-0.4.14.rdoc +23 -0
  11. data/doc/release_notes/rake-0.4.15.rdoc +35 -0
  12. data/doc/release_notes/rake-0.5.0.rdoc +53 -0
  13. data/doc/release_notes/rake-0.5.3.rdoc +78 -0
  14. data/doc/release_notes/rake-0.5.4.rdoc +46 -0
  15. data/doc/release_notes/rake-0.6.0.rdoc +141 -0
  16. data/doc/release_notes/rake-0.7.0.rdoc +119 -0
  17. data/doc/release_notes/rake-0.7.1.rdoc +59 -0
  18. data/doc/release_notes/rake-0.7.2.rdoc +121 -0
  19. data/doc/release_notes/rake-0.7.3.rdoc +47 -0
  20. data/doc/release_notes/rake-0.8.0.rdoc +114 -0
  21. data/doc/release_notes/rake-0.8.2.rdoc +165 -0
  22. data/doc/release_notes/rake-0.8.3.rdoc +112 -0
  23. data/doc/release_notes/rake-0.8.4.rdoc +147 -0
  24. data/doc/release_notes/rake-0.8.5.rdoc +53 -0
  25. data/doc/release_notes/rake-0.8.6.rdoc +55 -0
  26. data/doc/release_notes/rake-0.8.7.rdoc +55 -0
  27. data/lib/rake/alt_system.rb +108 -0
  28. data/lib/rake/classic_namespace.rb +8 -0
  29. data/lib/rake/clean.rb +3 -1
  30. data/lib/rake/contrib/ftptools.rb +40 -26
  31. data/lib/rake/contrib/publisher.rb +1 -1
  32. data/lib/rake/contrib/rubyforgepublisher.rb +3 -3
  33. data/lib/rake/contrib/sshpublisher.rb +1 -1
  34. data/lib/rake/contrib/sys.rb +25 -23
  35. data/lib/rake/gempackagetask.rb +14 -15
  36. data/lib/rake/loaders/makefile.rb +42 -0
  37. data/lib/rake/packagetask.rb +65 -33
  38. data/lib/rake/rake_test_loader.rb +5 -0
  39. data/lib/rake/rdoctask.rb +112 -31
  40. data/lib/rake/ruby182_test_unit_fix.rb +23 -0
  41. data/lib/rake/runtest.rb +4 -4
  42. data/lib/rake/tasklib.rb +11 -12
  43. data/lib/rake/testtask.rb +67 -24
  44. data/lib/rake/win32.rb +55 -0
  45. data/lib/rake.rb +2087 -578
  46. data/test/capture_stdout.rb +26 -0
  47. data/test/check_expansion.rb +5 -0
  48. data/test/check_no_expansion.rb +5 -0
  49. data/test/data/chains/Rakefile +15 -0
  50. data/test/data/default/Rakefile +19 -0
  51. data/test/data/dryrun/Rakefile +22 -0
  52. data/test/data/file_creation_task/Rakefile +33 -0
  53. data/test/data/imports/Rakefile +19 -0
  54. data/test/data/imports/deps.mf +1 -0
  55. data/test/data/multidesc/Rakefile +17 -0
  56. data/test/data/namespace/Rakefile +57 -0
  57. data/test/data/rakelib/test1.rb +3 -0
  58. data/test/data/sample.mf +14 -0
  59. data/test/data/statusreturn/Rakefile +8 -0
  60. data/test/data/unittest/Rakefile +1 -0
  61. data/test/filecreation.rb +18 -12
  62. data/test/functional.rb +6 -73
  63. data/test/in_environment.rb +30 -0
  64. data/test/rake_test_setup.rb +24 -0
  65. data/test/reqfile.rb +3 -0
  66. data/test/reqfile2.rb +3 -0
  67. data/test/session_functional.rb +339 -0
  68. data/test/shellcommand.rb +0 -0
  69. data/test/test_application.rb +675 -0
  70. data/test/{testclean.rb → test_clean.rb} +1 -0
  71. data/test/test_definitions.rb +85 -0
  72. data/test/test_earlytime.rb +35 -0
  73. data/test/test_extension.rb +63 -0
  74. data/test/test_file_creation_task.rb +62 -0
  75. data/test/test_file_task.rb +143 -0
  76. data/test/test_filelist.rb +623 -0
  77. data/test/test_fileutils.rb +251 -0
  78. data/test/{testftp.rb → test_ftp.rb} +5 -1
  79. data/test/test_invocation_chain.rb +81 -0
  80. data/test/test_makefile_loader.rb +26 -0
  81. data/test/test_multitask.rb +45 -0
  82. data/test/test_namespace.rb +55 -0
  83. data/test/{testpackagetask.rb → test_package_task.rb} +49 -12
  84. data/test/test_pathmap.rb +210 -0
  85. data/test/test_pseudo_status.rb +26 -0
  86. data/test/test_rake.rb +41 -0
  87. data/test/test_rdoc_task.rb +88 -0
  88. data/test/test_require.rb +35 -0
  89. data/test/test_rules.rb +349 -0
  90. data/test/test_task_arguments.rb +89 -0
  91. data/test/test_task_manager.rb +173 -0
  92. data/test/test_tasklib.rb +12 -0
  93. data/test/test_tasks.rb +374 -0
  94. data/test/{testtesttask.rb → test_test_task.rb} +8 -2
  95. data/test/test_top_level_functions.rb +86 -0
  96. data/test/test_win32.rb +72 -0
  97. metadata +184 -84
  98. data/test/testfilelist.rb +0 -255
  99. data/test/testfileutils.rb +0 -83
  100. data/test/testtasks.rb +0 -371
  101. /data/test/contrib/{testsys.rb → test_sys.rb} +0 -0
data/CHANGES CHANGED
@@ -1,6 +1,293 @@
1
+
1
2
  = Rake Changelog
2
3
 
3
- == pre Version 0.4.11
4
+ == Version 0.8.7
5
+
6
+ * Fixed EXEEXT for JRuby on windows.
7
+
8
+ == Version 0.8.6
9
+
10
+ * Minor fixes to the RDoc generation (removed dependency on darkfish
11
+ and removed inline source option).
12
+
13
+ == Version 0.8.5
14
+
15
+ * Better support for the system command on Windows.
16
+
17
+ == Version 0.8.4
18
+
19
+ * Preserve case when locating rakefiles (patch from James
20
+ M. Lawrence/quix)
21
+
22
+ * Better support for windows paths in the test task (patch from Simon
23
+ Chiang/bahuvrihi)
24
+
25
+ * Windows system dir search order is now: HOME, HOMEDRIVE + HOMEPATH,
26
+ APPDATA, USERPROFILE (patch from Luis Lavena)
27
+
28
+ * MingGW is now recognized as a windows platform. (patch from Luis
29
+ Lavena)
30
+
31
+ * Numerous fixes to the windows test suite (patch from Luis Lavena).
32
+
33
+ * Improved Rakefile case insensitivity testing (patch from Luis
34
+ Lavena).
35
+
36
+ * Fixed stray ARGV option problem that was interfering with
37
+ Test::Unit::Runner.
38
+
39
+ * Fixed default verbose mode (was accidently changed to false).
40
+
41
+ * Removed reference to manage_gem to fix the warning produced by the
42
+ gem package task.
43
+
44
+ == Version 0.8.3
45
+
46
+ * Enhanced the system directory detection in windows. We now check
47
+ HOMEDRIVE/HOMEPATH and USERPROFILE if APPDATA isn't found. (Patch
48
+ supplied by James Tucker). Rake no long aborts if it can't find the
49
+ directory.
50
+
51
+ * Added fix to handle ruby installations in directories with spaces in
52
+ their name.
53
+
54
+ == Version 0.8.2
55
+
56
+ * Fixed bug in package task so that it will include the subdir
57
+ directory in the package for testing. (Bug found by Adam Majer)
58
+
59
+ * Added ENV var to rakefile to prevent OS X from including extended
60
+ attribute junk in a tar file. (Bug found by Adam Majer)
61
+
62
+ * Fixed filename dependency order bug in test_inspect_pending and
63
+ test_to_s_pending. (Bug found by Adam Majer)
64
+
65
+ * Fixed check for file utils options to make them immune to the
66
+ symbol/string differences. (Patch supplied by Edwin Pratomo)
67
+
68
+ * Fixed bug with rules involving multiple source (Patch supplied by
69
+ Emanuel Inderm�hle)
70
+
71
+ * Switched from getoptlong to optparse (patches supplied by Edwin
72
+ Pratomo)
73
+
74
+ * The -T option will now attempt to dynamically sense the size of the
75
+ terminal. RAKE_COLUMNS will override any dynamic sensing.
76
+
77
+ * FileList#clone and FileList#dup have better sematics w.r.t. taint
78
+ and freeze.
79
+
80
+ * Added ability clear prerequisites, and/or actions from an existing
81
+ task.
82
+
83
+ * Added the ability to reenable a task to be invoked a second time.
84
+
85
+ * Changed RDoc test task to have no default template. This makes it
86
+ easier for the tempate to pick up the template from the environment.
87
+
88
+ * Changed from using Mutex to Monitor. Evidently Mutex causes thread
89
+ join errors when Ruby is compiled with -disable-pthreads. (Patch
90
+ supplied by Ittay Dror)
91
+
92
+ * Fixed bug in makefile parser that had problems with extra spaces in
93
+ file task names. (Patch supplied by Ittay Dror)
94
+
95
+ * Added a performance patch for reading large makefile dependency
96
+ files. (Patch supplied by Ittay Dror)
97
+
98
+ * Default values for task arguments can easily be specified with the
99
+ :with_defaults method. (Idea for default argument merging supplied
100
+ by (Adam Q. Salter)
101
+
102
+ * The -T output will only self-truncate if the output is a tty.
103
+ However, if RAKE_COLUMNS is explicitly set, it will be honored in
104
+ any case. (Patch provided by Gavin Stark).
105
+
106
+ * Numerous fixes for running under windows. A big thanks to Bheeshmar
107
+ Redheendran for spending a good part of the afternoon at the
108
+ Lonestar Ruby Conference to help me work out these issues.
109
+
110
+ == Version 0.8.1
111
+
112
+ * Removed requires on parsedate.rb (in Ftptools)
113
+ * Removed ftools from rake.rb. Made it options in sys.rb
114
+
115
+ == Version 0.8.0
116
+
117
+ * Added task parameters (e.g. "rake build[version7]")
118
+ * Made task parameters passable to prerequisites.
119
+ * Comments are limited to 80 columns or so (suggested by Jamis Buck).
120
+ * Added -D to display full comments (suggested by Jamis Buck).
121
+ * The rake program will set the status value used in any explicit
122
+ exit(n) calls. (patch provided by Stephen Touset)
123
+ * Fixed error in functional tests that were not including session (and
124
+ silently skipping the functionl tests.
125
+ * Removed --usage and make -h the same as -H.
126
+ * Make a prettier inspect for tasks.
127
+
128
+ == Version 0.7.3
129
+
130
+ * Added existing and existing! methods to FileList
131
+ * FileLists now claim to be Arrays (via is_a?) to get better support
132
+ from the FileUtil module.
133
+ * Added init and top_level for custom rake applications.
134
+
135
+ == Version 0.7.2
136
+
137
+ * Error messages are now send to stderr rather than stdout (from
138
+ Payton Quackenbush).
139
+ * Better error handling on invalid command line arguments (from Payton
140
+ Quackenbush).
141
+ * Added rcov task and updated unit testing for better code coverage.
142
+ * Fixed some bugs where the application object was going to the global
143
+ appliation instead of using its own data.
144
+ * Added square and curly bracket patterns to FileList#include (Tilman
145
+ Sauerbeck).
146
+ * Added plain filename support to rule dependents (suggested by Nobu
147
+ Nakada).
148
+ * Added pathmap support to rule dependents.
149
+ * Added a 'tasks' method to a namespace to get a list of tasks
150
+ associated with the namespace.
151
+ * Fixed the method name leak from FileUtils (bug found by Glenn
152
+ Vanderburg).
153
+ * Added rake_extension to handle detection of extension collisions.
154
+ * Added test for noop, bad_option and verbose flags to sh command.
155
+ * Removed dependency on internal fu_xxx functions from FileUtils.
156
+ * Added a 'shame' task to the Rakefile.
157
+ * Added tar_command and zip_command options to the Package task.
158
+ * Added a description to the gem task in GemPackageTask.
159
+ * Fixed a bug when rules have multiple prerequisites (patch by Joel
160
+ VanderWerf)
161
+ * Added a protected 'require "rubygems"' to test/test_application to
162
+ unbreak cruisecontrol.rb.
163
+ * Added the handful of RakeFileUtils to the private method as well.
164
+ * Added block based exclusion.
165
+ * The clean task will no longer delete 'core' if it is a directory.
166
+ * Removed rake_dup. Now we just simply rescue a bad dup.
167
+ * Refactored the FileList reject logic to remove duplication.
168
+ * Removed if __FILE__ at the end of the rake.rb file.
169
+
170
+ == Version 0.7.1
171
+
172
+ * Added optional filter parameter to the --tasks command line option.
173
+ * Added flatten to allow rule transform procs to return lists of
174
+ prereqs (Joel VanderWerf provided patch).
175
+ * Added pathmap to String and FileList.
176
+ * The -r option will now load .rake files (but a straight require
177
+ doesn't yet). NOTE: This is experimental ... it may be
178
+ discontinued.
179
+ * The -f option without a value will disable the search for a
180
+ Rakefile. The assumption is that the -r files are adequate.
181
+ * Fixed the safe_ln function to fall back to cp in more error
182
+ scenarios.
183
+
184
+ == Version 0.7.0
185
+
186
+ * Added Rake.original_dir to return the original starting directory of
187
+ the rake application.
188
+ * Added safe_ln support for openAFS (from Ludvig Omholt).
189
+ * Added --trace reminder on short exception messages (David Heinemeier
190
+ Hansson suggestion).
191
+ * Added multitask declaration that executes prerequisites in
192
+ parallel. (Doug Young providied an initial implementation).
193
+ * Fixed missing_const hack to be compatible with Rails. (Jamis Buck
194
+ supplied test case).
195
+ * Made the RDoc task default to internal (in-process) RDoc formatting.
196
+ The old behavior is still available by setting the +external+ flag
197
+ to true.
198
+ * Rakefiles are now loaded with the expanded path to prevent
199
+ accidental polution from the Ruby load path.
200
+ * The +namespace+ command now returns a NameSpace object that can be
201
+ used to lookup tasks defined in that namespace. This allows for
202
+ better anonymous namespace behavior.
203
+ * Task objects my now be used in prerequisite lists directly.
204
+
205
+ == Version 0.6.1
206
+
207
+ * Rebuilt 0.6.0 gem without signing.
208
+
209
+ == Version 0.6.0
210
+
211
+ * Fixed file creation bug in the unit tests (caused infinite loop on
212
+ windows).
213
+ * Fixed bug where session based functional tests were run under
214
+ windows.
215
+ * Fixed bug in directory tasks so that updating a directory will not
216
+ retrigger file tasks depending on the directory (see
217
+ FileCreationTask and EarlyTime).
218
+ * Added egrep to FileList
219
+ * ruby command now runs same ruby version as rake.
220
+ * Added investigation to task object. (suggested by Martin Fowler)
221
+ * Added ruby_opts to the test task to allow arbitrary ruby options to
222
+ be passed to the test script. (Greg Fast)
223
+ * Fixed the test loader to ignore options. (Greg Fast)
224
+ * Moved Task, FileTask, FileCreationTask and RakeApp into the Rake
225
+ module namespace. Old style namespace behavior can be invoked via
226
+ the --classic-namespace option. (requested by Kelly Felkins).
227
+ * GemTask is now sensitive to the gem platform (Masao Mutoh).
228
+ * A non-existing file prerequisite will no longer cause an exception
229
+ (Philipp Neubeck).
230
+ * Multiple prerequisites on Rake rules now allowed (initial patch
231
+ supplied by Stuart Jansen).
232
+
233
+ == Version 0.5.4
234
+
235
+ * Added double quotes to the test runner.
236
+ * Added .svn to default ignore list.
237
+ * Updated FileList#include to support nested arrays and filelists.
238
+
239
+ == Version 0.5.3
240
+
241
+ * Added support for importing Rakefile and other dependencies.
242
+ * Fixed bug so that now rules can chain off of existing tasks as well
243
+ as existing files.
244
+ * Fixed verbose flag bug in the testing task. Shortened some failure
245
+ messages.
246
+ * Make FileUtils methods private at the top level module to avoid
247
+ accidental method leaking into other objects.
248
+ * Added test loader option to test task. "testrb" is no longer the
249
+ default test loader. It is now eating syntax errors that should
250
+ halt the unit tests.
251
+ * Revamped FileList so that it works more like and array (addressed
252
+ flatten bug). Added many tests around file list.
253
+ * Added +ext+ method to both String and FileList.
254
+
255
+ == Version 0.5.0
256
+
257
+ * Fixed documentation that was lacking the Rake module name (Tilman
258
+ Sauerbeck).
259
+ * Added tar.gz and tar.bz2 support to package task (Tilman Sauerbeck).
260
+ * Recursive rules are now supported (Tilman Sauerbeck).
261
+ * Added warning option for the Test Task (requested by Eric Hodel).
262
+ * The jamis rdoc template is only used if it exists.
263
+ * Added fix for Ruby 1.8.2 test/unit and rails problem.
264
+ * Added contributed rake man file (Jani Monoses).
265
+ * Added Brian Candler's fix for problems in --trace and --dry-run
266
+ mode.
267
+
268
+ == Version 0.4.15
269
+
270
+ * Fixed a bug that prevented the TESTOPTS flag from working with the
271
+ revised for 1.8.2 test task.
272
+ * Updated the docs on --trace to indicate that it also enables a full
273
+ backtrace on errors.
274
+
275
+ == Version 0.4.14
276
+
277
+ * Modified the TestTask to workaround the Ruby 1.8.2 change in
278
+ autoexecuting unit tests.
279
+
280
+ == Version 0.4.13
281
+
282
+ * Fixed the dry-run flag so it is operating again.
283
+ * Multiple arguments to sh and ruby commands will not be interpreted
284
+ by the shell (patch provided by Jonathan Paisley).
285
+
286
+ == Version 0.4.12
287
+
288
+ * Added --silent (-s) to suppress the (in directory) rake message.
289
+
290
+ == Version 0.4.11
4
291
 
5
292
  * Changed the "don't know how to rake" message (finally)
6
293
  * Changes references to a literal "Rakefile" to reference the global
data/README CHANGED
@@ -1,5 +1,7 @@
1
1
  = RAKE -- Ruby Make
2
2
 
3
+ Supporting Rake version: 0.8.6
4
+
3
5
  This package contains Rake, a simple ruby build program with
4
6
  capabilities similar to make.
5
7
 
@@ -11,88 +13,143 @@ Rake has the following features:
11
13
 
12
14
  * Users can specify tasks with prerequisites.
13
15
 
14
- * Rake supports rule patterns to sythesize implicit tasks.
16
+ * Rake supports rule patterns to synthesize implicit tasks.
15
17
 
16
- * Rake is lightweight. It can be distributed with other projects as a
17
- single file. Projects that depend upon rake do not require that
18
- rake be installed on target systems.
18
+ * Flexible FileLists that act like arrays but know about manipulating
19
+ file names and paths.
19
20
 
20
- == Download
21
+ * A library of prepackaged tasks to make building rakefiles easier. For example,
22
+ tasks for building tarballs, gems and RDoc output are provided.
21
23
 
22
- The latest version of rake can be found at
24
+ * Supports parallel execution of tasks.
23
25
 
24
- * http://rubyforge.org/project/showfiles.php?group_id=50
25
26
 
26
- Online Resources can be found at ...
27
+ == Installation
27
28
 
28
- * Online Rake Documentation: http://rake.rubyforge.org
29
- * Rake Project Page: http://rubyforge.org/projects/rake
30
- * Rake Project Wiki: http://rake.rubyforge.org/wiki/wiki.pl
29
+ === Gem Installation
31
30
 
32
- == Installation
31
+ Download and install rake with the following.
32
+
33
+ gem install rake
33
34
 
34
35
  === Normal Installation
35
36
 
36
- You can install rake with the following command.
37
+ You can download the source tarball of the latest version of Rake from
38
+
39
+ * http://rubyforge.org/project/showfiles.php?group_id=50
40
+
41
+ Extract the tarball and run
37
42
 
38
43
  % ruby install.rb
39
44
 
40
45
  from its distribution directory.
41
46
 
42
- === GEM Installation
47
+ == Usage
43
48
 
44
- Download and install rake with the following.
49
+ === Simple Example
50
+
51
+ First, you must write a "Rakefile" file which contains the build rules. Here's
52
+ a simple example:
53
+
54
+ task :default => [:test]
55
+
56
+ task :test do
57
+ ruby "test/unittest.rb"
58
+ end
59
+
60
+ This 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.
45
67
 
46
- gem install --remote rake
68
+ Running the "rake" command without any options will cause it to run the
69
+ "default" task in the Rakefile:
47
70
 
48
- == Roadmap
71
+ % ls
72
+ Rakefile test/
73
+ % rake
74
+ (in /home/some_user/Projects/rake)
75
+ ruby test/unittest.rb
76
+ ....unit test output here...
49
77
 
50
- * If you want to see how to invoke rake to build your projects, read on.
51
- * If you want to see the format of a Rakefile, see
78
+ Type "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
52
86
  doc/rakefile.rdoc[http://rake.rubyforge.org/files/doc/rakefile_rdoc.html].
53
- * If you want to see the original announcement of rake, see
87
+ * For the original announcement of Rake, see
54
88
  doc/rational.rdoc[http://rake.rubyforge.org/files/doc/rational_rdoc.html].
55
- * If you want to see a glossary of terms, see
89
+ * For a glossary of terms, see
56
90
  doc/glossary.rdoc[http://rake.rubyforge.org/files/doc/glossary_rdoc.html].
57
91
 
58
92
 
59
- == Simple Example
93
+ == Development
60
94
 
61
- Once installed, you can run rake as follows ...
95
+ === Source Repository
62
96
 
63
- % rake [options ...] [VAR=VALUE ...] [tasks...]
97
+ Rake is currently hosted at github. The github web page is
98
+ http://github.com/jimweirich/rake. The public git clone URL is
64
99
 
65
- Type "rake --help" for an up-to-date option summary.
100
+ * git://github.com/jimweirich/rake.git
66
101
 
67
- Invoking <tt>rake</tt> without any options or targets causes rake to
68
- look for a rakefile and invoke the default task in that rakefile.
102
+ === Running the Rake Test Suite
69
103
 
70
- For example, given a simple rakefile like this ...
104
+ If you wish to run the unit and functional tests that come with Rake:
71
105
 
72
- task :default => [:test]
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:
73
109
 
74
- task :test do
75
- ruby "test/unittest.rb"
76
- end
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
+
115
+ Bugs, features requests and other issues can be logged at
116
+
117
+ * http://onestepback.org/redmine/projects/show/rake
118
+
119
+ You will need an account to before you can post issues. Register at
120
+ http://onestepback.org/redmine/account/register. Or you can send me
121
+ an email (at jim dot weirich at gmail dot com)
77
122
 
78
- The command
79
123
 
80
- $ rake
124
+ == Online Resources
81
125
 
82
- will invoke the +default+ task. As +default+ satisfies its
83
- prerequisites, the +test+ task will run the unit tests for the
84
- package.
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
85
138
 
86
139
  == Other Make Reinvisionings ...
87
140
 
88
141
  Rake is a late entry in the make replacement field. Here are links to
89
142
  other projects with similar (and not so similar) goals.
90
143
 
144
+ * http://directory.fsf.org/bras.html -- Bras, one of earliest
145
+ implementations of "make in a scripting language".
91
146
  * http://www.a-a-p.org -- Make in Python
92
147
  * http://www.aromatic.com/tools/jam.txt -- JAM, Java Automated Make
93
148
  * http://ant.apache.org -- The Ant project
94
- * http://www.perl.com/language/ppt/src/make/index.html -- Make from
95
- the Perl Power Tools implementation.
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.
96
153
 
97
154
  == Credits
98
155
 
@@ -100,6 +157,8 @@ other projects with similar (and not so similar) goals.
100
157
 
101
158
  [<b>nobu.nokada@softhome.net</b>] For the initial patch for rule support.
102
159
 
160
+ [<b>Tilman Sauerbeck <tilman@code-monkey.de></b>] For the recursive rule patch.
161
+
103
162
  == License
104
163
 
105
164
  Rake is available under an MIT-style license.
@@ -117,87 +176,15 @@ new feature to be submitted in the form of new unit tests.
117
176
 
118
177
  For other information, feel free to ask on the ruby-talk mailing list
119
178
  (which is mirrored to comp.lang.ruby) or contact
120
- mailto:jim@weirichhouse.org.
121
-
122
- ----
123
-
124
- = Usage
125
-
126
- Rake is invoked from the command line using:
127
-
128
- % rake [<em>options</em> ...] [<em>VAR</em>=<em>VALUE</em>] [<em>targets</em> ...]
129
-
130
- Options are:
131
-
132
- [<tt><em>name</em>=<em>value</em></tt>]
133
- Set the environment variable <em>name</em> to <em>value</em>
134
- during the execution of the <b>rake</b> command. You can access
135
- the value by using ENV['<em>name</em>'].
136
-
137
- [<tt>--dry-run</tt> (-n)]
138
- Do a dry run. Print the tasks invoked and executed, but do not
139
- actually execute any of the actions.
140
-
141
- [<tt>--help</tt> (-H)]
142
- Display some help text and exit.
143
-
144
- [<tt>--libdir</tt> _directory_ (-I)]
145
- Add _directory_ to the list of directories searched for require.
146
-
147
- [<tt>--nosearch</tt> (-N)]
148
- Do not search for a Rakefile in parent directories.
149
-
150
- [<tt>--prereqs</tt> (-P)]
151
- Display a list of all tasks and their immediate prerequisites.
152
-
153
- [<tt>--quiet</tt> (-q)]
154
- Do not echo commands from FileUtils.
155
-
156
- [<tt>--rakefile</tt> _filename_ (-f)]
157
- Use _filename_ as the name of the rakefile. The default rakefile
158
- names are +rakefile+ and +Rakefile+ (with +rakefile+ taking
159
- precedence). If the rakefile is not found in the current
160
- directory, +rake+ will search parent directories for a match. The
161
- directory where the Rakefile is found will become the current
162
- directory for the actions executed in the Rakefile.
163
-
164
- [<tt>--require</tt> _name_ (-r)]
165
- Require _name_ before executing the Rakefile.
166
-
167
- [<tt>--tasks</tt> (-T)]
168
- Display a list of the major tasks and their comments. Comments
169
- are defined using the "desc" command.
170
-
171
- [<tt>--trace</tt> (-t)]
172
- Turn on invoke/execute tracing.
173
-
174
- [<tt>--usage</tt> (-h)]
175
- Display a usage message and exit.
176
-
177
- [<tt>--verbose</tt> (-v)]
178
- Echo the Sys commands to standard output.
179
-
180
- [<tt>--version</tt> (-V)]
181
- Display the program version and exit.
182
-
183
- In addition, any command line option of the form
184
- <em>VAR</em>=<em>VALUE</em> will be added to the environment hash
185
- <tt>ENV</tt> and may be tested in the Rakefile.
186
-
187
- ---
188
-
189
- = Rakefile Format
190
-
191
- See doc/rakefile.rdoc[http://rake.rubyforge.org/files/doc/rakefile_rdoc.html]
192
- for details on the Rakefile format.
179
+ jim dot weirich at gmail.com.
193
180
 
194
181
  ---
195
182
 
196
183
  = Other stuff
197
184
 
198
- Author:: Jim Weirich <jim@weirichhouse.org>
185
+ Author:: Jim Weirich <jim.weirich@gmail.com>
199
186
  Requires:: Ruby 1.8.0 or later
200
- License:: Copyright 2003, 2004 by Jim Weirich.
187
+ License:: Copyright 2003-2008 by Jim Weirich.
201
188
  Released under an MIT-style license. See the LICENSE file
202
189
  included in the distribution.
203
190