craigmarksmith-rake 0.8.3.100

Sign up to get free protection for your applications and to get access to all the features.
Files changed (104) hide show
  1. data/CHANGES +427 -0
  2. data/MIT-LICENSE +21 -0
  3. data/README +196 -0
  4. data/Rakefile +416 -0
  5. data/TODO +20 -0
  6. data/bin/rake +31 -0
  7. data/doc/command_line_usage.rdoc +102 -0
  8. data/doc/example/Rakefile1 +38 -0
  9. data/doc/example/Rakefile2 +35 -0
  10. data/doc/example/a.c +6 -0
  11. data/doc/example/b.c +6 -0
  12. data/doc/example/main.c +11 -0
  13. data/doc/glossary.rdoc +51 -0
  14. data/doc/jamis.rb +591 -0
  15. data/doc/proto_rake.rdoc +127 -0
  16. data/doc/rake.1.gz +0 -0
  17. data/doc/rakefile.rdoc +534 -0
  18. data/doc/rational.rdoc +151 -0
  19. data/doc/release_notes/rake-0.4.14.rdoc +23 -0
  20. data/doc/release_notes/rake-0.4.15.rdoc +35 -0
  21. data/doc/release_notes/rake-0.5.0.rdoc +53 -0
  22. data/doc/release_notes/rake-0.5.3.rdoc +78 -0
  23. data/doc/release_notes/rake-0.5.4.rdoc +46 -0
  24. data/doc/release_notes/rake-0.6.0.rdoc +141 -0
  25. data/doc/release_notes/rake-0.7.0.rdoc +119 -0
  26. data/doc/release_notes/rake-0.7.1.rdoc +59 -0
  27. data/doc/release_notes/rake-0.7.2.rdoc +121 -0
  28. data/doc/release_notes/rake-0.7.3.rdoc +47 -0
  29. data/doc/release_notes/rake-0.8.0.rdoc +114 -0
  30. data/doc/release_notes/rake-0.8.2.rdoc +165 -0
  31. data/doc/release_notes/rake-0.8.3.rdoc +112 -0
  32. data/doc/release_notes/rake-0.8.4.rdoc +147 -0
  33. data/install.rb +88 -0
  34. data/lib/rake/classic_namespace.rb +8 -0
  35. data/lib/rake/clean.rb +33 -0
  36. data/lib/rake/contrib/compositepublisher.rb +24 -0
  37. data/lib/rake/contrib/ftptools.rb +153 -0
  38. data/lib/rake/contrib/publisher.rb +75 -0
  39. data/lib/rake/contrib/rubyforgepublisher.rb +18 -0
  40. data/lib/rake/contrib/sshpublisher.rb +47 -0
  41. data/lib/rake/contrib/sys.rb +209 -0
  42. data/lib/rake/gempackagetask.rb +97 -0
  43. data/lib/rake/loaders/makefile.rb +42 -0
  44. data/lib/rake/packagetask.rb +184 -0
  45. data/lib/rake/rake_test_loader.rb +5 -0
  46. data/lib/rake/rdoctask.rb +209 -0
  47. data/lib/rake/ruby182_test_unit_fix.rb +23 -0
  48. data/lib/rake/runtest.rb +23 -0
  49. data/lib/rake/tasklib.rb +23 -0
  50. data/lib/rake/testtask.rb +161 -0
  51. data/lib/rake/win32.rb +55 -0
  52. data/lib/rake.rb +2519 -0
  53. data/test/capture_stdout.rb +26 -0
  54. data/test/check_expansion.rb +5 -0
  55. data/test/contrib/test_sys.rb +47 -0
  56. data/test/data/chains/Rakefile +15 -0
  57. data/test/data/default/Rakefile +19 -0
  58. data/test/data/dryrun/Rakefile +22 -0
  59. data/test/data/file_creation_task/Rakefile +33 -0
  60. data/test/data/imports/Rakefile +19 -0
  61. data/test/data/imports/deps.mf +1 -0
  62. data/test/data/multidesc/Rakefile +17 -0
  63. data/test/data/namespace/Rakefile +57 -0
  64. data/test/data/rakelib/test1.rb +3 -0
  65. data/test/data/rbext/rakefile.rb +3 -0
  66. data/test/data/sample.mf +14 -0
  67. data/test/data/statusreturn/Rakefile +8 -0
  68. data/test/data/unittest/Rakefile +1 -0
  69. data/test/filecreation.rb +32 -0
  70. data/test/functional.rb +15 -0
  71. data/test/in_environment.rb +30 -0
  72. data/test/rake_test_setup.rb +24 -0
  73. data/test/reqfile.rb +3 -0
  74. data/test/reqfile2.rb +3 -0
  75. data/test/session_functional.rb +339 -0
  76. data/test/shellcommand.rb +3 -0
  77. data/test/test_application.rb +690 -0
  78. data/test/test_clean.rb +14 -0
  79. data/test/test_definitions.rb +85 -0
  80. data/test/test_earlytime.rb +35 -0
  81. data/test/test_extension.rb +63 -0
  82. data/test/test_file_creation_task.rb +62 -0
  83. data/test/test_file_task.rb +143 -0
  84. data/test/test_filelist.rb +623 -0
  85. data/test/test_fileutils.rb +251 -0
  86. data/test/test_ftp.rb +59 -0
  87. data/test/test_invocation_chain.rb +81 -0
  88. data/test/test_makefile_loader.rb +26 -0
  89. data/test/test_multitask.rb +45 -0
  90. data/test/test_namespace.rb +55 -0
  91. data/test/test_package_task.rb +118 -0
  92. data/test/test_pathmap.rb +210 -0
  93. data/test/test_rake.rb +41 -0
  94. data/test/test_rdoc_task.rb +88 -0
  95. data/test/test_require.rb +35 -0
  96. data/test/test_rules.rb +349 -0
  97. data/test/test_task_arguments.rb +89 -0
  98. data/test/test_task_manager.rb +173 -0
  99. data/test/test_tasklib.rb +12 -0
  100. data/test/test_tasks.rb +374 -0
  101. data/test/test_test_task.rb +77 -0
  102. data/test/test_top_level_functions.rb +86 -0
  103. data/test/test_win32.rb +72 -0
  104. metadata +186 -0
data/CHANGES ADDED
@@ -0,0 +1,427 @@
1
+
2
+ = Rake Changelog
3
+
4
+ == Version 0.8.4
5
+
6
+ * Preserve case when locating rakefiles (patch from James
7
+ M. Lawrence/quix)
8
+
9
+ * Better support for windows paths in the test task (patch from Simon
10
+ Chiang/bahuvrihi)
11
+
12
+ * Windows system dir search order is now: HOME, HOMEDRIVE + HOMEPATH,
13
+ APPDATA, USERPROFILE (patch from Luis Lavena)
14
+
15
+ * MingGW is now recognized as a windows platform. (patch from Luis
16
+ Lavena)
17
+
18
+ * Numerous fixes to the windows test suite (patch from Luis Lavena).
19
+
20
+ * Improved Rakefile case insensitivity testing (patch from Luis
21
+ Lavena).
22
+
23
+ * Fixed stray ARGV option problem that was interfering with
24
+ Test::Unit::Runner.
25
+
26
+ * Fixed default verbose mode (was accidently changed to false).
27
+
28
+ * Removed reference to manage_gem to fix the warning produced by the
29
+ gem package task.
30
+
31
+ == Version 0.8.3
32
+
33
+ * Enhanced the system directory detection in windows. We now check
34
+ HOMEDRIVE/HOMEPATH and USERPROFILE if APPDATA isn't found. (Patch
35
+ supplied by James Tucker). Rake no long aborts if it can't find the
36
+ directory.
37
+
38
+ * Added fix to handle ruby installations in directories with spaces in
39
+ their name.
40
+
41
+ == Version 0.8.2
42
+
43
+ * Fixed bug in package task so that it will include the subdir
44
+ directory in the package for testing. (Bug found by Adam Majer)
45
+
46
+ * Added ENV var to rakefile to prevent OS X from including extended
47
+ attribute junk in a tar file. (Bug found by Adam Majer)
48
+
49
+ * Fixed filename dependency order bug in test_inspect_pending and
50
+ test_to_s_pending. (Bug found by Adam Majer)
51
+
52
+ * Fixed check for file utils options to make them immune to the
53
+ symbol/string differences. (Patch supplied by Edwin Pratomo)
54
+
55
+ * Fixed bug with rules involving multiple source (Patch supplied by
56
+ Emanuel Inderm�hle)
57
+
58
+ * Switched from getoptlong to optparse (patches supplied by Edwin
59
+ Pratomo)
60
+
61
+ * The -T option will now attempt to dynamically sense the size of the
62
+ terminal. RAKE_COLUMNS will override any dynamic sensing.
63
+
64
+ * FileList#clone and FileList#dup have better sematics w.r.t. taint
65
+ and freeze.
66
+
67
+ * Added ability clear prerequisites, and/or actions from an existing
68
+ task.
69
+
70
+ * Added the ability to reenable a task to be invoked a second time.
71
+
72
+ * Changed RDoc test task to have no default template. This makes it
73
+ easier for the tempate to pick up the template from the environment.
74
+
75
+ * Changed from using Mutex to Monitor. Evidently Mutex causes thread
76
+ join errors when Ruby is compiled with -disable-pthreads. (Patch
77
+ supplied by Ittay Dror)
78
+
79
+ * Fixed bug in makefile parser that had problems with extra spaces in
80
+ file task names. (Patch supplied by Ittay Dror)
81
+
82
+ * Added a performance patch for reading large makefile dependency
83
+ files. (Patch supplied by Ittay Dror)
84
+
85
+ * Default values for task arguments can easily be specified with the
86
+ :with_defaults method. (Idea for default argument merging supplied
87
+ by (Adam Q. Salter)
88
+
89
+ * The -T output will only self-truncate if the output is a tty.
90
+ However, if RAKE_COLUMNS is explicitly set, it will be honored in
91
+ any case. (Patch provided by Gavin Stark).
92
+
93
+ * Numerous fixes for running under windows. A big thanks to Bheeshmar
94
+ Redheendran for spending a good part of the afternoon at the
95
+ Lonestar Ruby Conference to help me work out these issues.
96
+
97
+ == Version 0.8.1
98
+
99
+ * Removed requires on parsedate.rb (in Ftptools)
100
+ * Removed ftools from rake.rb. Made it options in sys.rb
101
+
102
+ == Version 0.8.0
103
+
104
+ * Added task parameters (e.g. "rake build[version7]")
105
+ * Made task parameters passable to prerequisites.
106
+ * Comments are limited to 80 columns or so (suggested by Jamis Buck).
107
+ * Added -D to display full comments (suggested by Jamis Buck).
108
+ * The rake program will set the status value used in any explicit
109
+ exit(n) calls. (patch provided by Stephen Touset)
110
+ * Fixed error in functional tests that were not including session (and
111
+ silently skipping the functionl tests.
112
+ * Removed --usage and make -h the same as -H.
113
+ * Make a prettier inspect for tasks.
114
+
115
+ == Version 0.7.3
116
+
117
+ * Added existing and existing! methods to FileList
118
+ * FileLists now claim to be Arrays (via is_a?) to get better support
119
+ from the FileUtil module.
120
+ * Added init and top_level for custom rake applications.
121
+
122
+ == Version 0.7.2
123
+
124
+ * Error messages are now send to stderr rather than stdout (from
125
+ Payton Quackenbush).
126
+ * Better error handling on invalid command line arguments (from Payton
127
+ Quackenbush).
128
+ * Added rcov task and updated unit testing for better code coverage.
129
+ * Fixed some bugs where the application object was going to the global
130
+ appliation instead of using its own data.
131
+ * Added square and curly bracket patterns to FileList#include (Tilman
132
+ Sauerbeck).
133
+ * Added plain filename support to rule dependents (suggested by Nobu
134
+ Nakada).
135
+ * Added pathmap support to rule dependents.
136
+ * Added a 'tasks' method to a namespace to get a list of tasks
137
+ associated with the namespace.
138
+ * Fixed the method name leak from FileUtils (bug found by Glenn
139
+ Vanderburg).
140
+ * Added rake_extension to handle detection of extension collisions.
141
+ * Added test for noop, bad_option and verbose flags to sh command.
142
+ * Removed dependency on internal fu_xxx functions from FileUtils.
143
+ * Added a 'shame' task to the Rakefile.
144
+ * Added tar_command and zip_command options to the Package task.
145
+ * Added a description to the gem task in GemPackageTask.
146
+ * Fixed a bug when rules have multiple prerequisites (patch by Joel
147
+ VanderWerf)
148
+ * Added a protected 'require "rubygems"' to test/test_application to
149
+ unbreak cruisecontrol.rb.
150
+ * Added the handful of RakeFileUtils to the private method as well.
151
+ * Added block based exclusion.
152
+ * The clean task will no longer delete 'core' if it is a directory.
153
+ * Removed rake_dup. Now we just simply rescue a bad dup.
154
+ * Refactored the FileList reject logic to remove duplication.
155
+ * Removed if __FILE__ at the end of the rake.rb file.
156
+
157
+ == Version 0.7.1
158
+
159
+ * Added optional filter parameter to the --tasks command line option.
160
+ * Added flatten to allow rule transform procs to return lists of
161
+ prereqs (Joel VanderWerf provided patch).
162
+ * Added pathmap to String and FileList.
163
+ * The -r option will now load .rake files (but a straight require
164
+ doesn't yet). NOTE: This is experimental ... it may be
165
+ discontinued.
166
+ * The -f option without a value will disable the search for a
167
+ Rakefile. The assumption is that the -r files are adequate.
168
+ * Fixed the safe_ln function to fall back to cp in more error
169
+ scenarios.
170
+
171
+ == Version 0.7.0
172
+
173
+ * Added Rake.original_dir to return the original starting directory of
174
+ the rake application.
175
+ * Added safe_ln support for openAFS (from Ludvig Omholt).
176
+ * Added --trace reminder on short exception messages (David Heinemeier
177
+ Hansson suggestion).
178
+ * Added multitask declaration that executes prerequisites in
179
+ parallel. (Doug Young providied an initial implementation).
180
+ * Fixed missing_const hack to be compatible with Rails. (Jamis Buck
181
+ supplied test case).
182
+ * Made the RDoc task default to internal (in-process) RDoc formatting.
183
+ The old behavior is still available by setting the +external+ flag
184
+ to true.
185
+ * Rakefiles are now loaded with the expanded path to prevent
186
+ accidental polution from the Ruby load path.
187
+ * The +namespace+ command now returns a NameSpace object that can be
188
+ used to lookup tasks defined in that namespace. This allows for
189
+ better anonymous namespace behavior.
190
+ * Task objects my now be used in prerequisite lists directly.
191
+
192
+ == Version 0.6.1
193
+
194
+ * Rebuilt 0.6.0 gem without signing.
195
+
196
+ == Version 0.6.0
197
+
198
+ * Fixed file creation bug in the unit tests (caused infinite loop on
199
+ windows).
200
+ * Fixed bug where session based functional tests were run under
201
+ windows.
202
+ * Fixed bug in directory tasks so that updating a directory will not
203
+ retrigger file tasks depending on the directory (see
204
+ FileCreationTask and EarlyTime).
205
+ * Added egrep to FileList
206
+ * ruby command now runs same ruby version as rake.
207
+ * Added investigation to task object. (suggested by Martin Fowler)
208
+ * Added ruby_opts to the test task to allow arbitrary ruby options to
209
+ be passed to the test script. (Greg Fast)
210
+ * Fixed the test loader to ignore options. (Greg Fast)
211
+ * Moved Task, FileTask, FileCreationTask and RakeApp into the Rake
212
+ module namespace. Old style namespace behavior can be invoked via
213
+ the --classic-namespace option. (requested by Kelly Felkins).
214
+ * GemTask is now sensitive to the gem platform (Masao Mutoh).
215
+ * A non-existing file prerequisite will no longer cause an exception
216
+ (Philipp Neubeck).
217
+ * Multiple prerequisites on Rake rules now allowed (initial patch
218
+ supplied by Stuart Jansen).
219
+
220
+ == Version 0.5.4
221
+
222
+ * Added double quotes to the test runner.
223
+ * Added .svn to default ignore list.
224
+ * Updated FileList#include to support nested arrays and filelists.
225
+
226
+ == Version 0.5.3
227
+
228
+ * Added support for importing Rakefile and other dependencies.
229
+ * Fixed bug so that now rules can chain off of existing tasks as well
230
+ as existing files.
231
+ * Fixed verbose flag bug in the testing task. Shortened some failure
232
+ messages.
233
+ * Make FileUtils methods private at the top level module to avoid
234
+ accidental method leaking into other objects.
235
+ * Added test loader option to test task. "testrb" is no longer the
236
+ default test loader. It is now eating syntax errors that should
237
+ halt the unit tests.
238
+ * Revamped FileList so that it works more like and array (addressed
239
+ flatten bug). Added many tests around file list.
240
+ * Added +ext+ method to both String and FileList.
241
+
242
+ == Version 0.5.0
243
+
244
+ * Fixed documentation that was lacking the Rake module name (Tilman
245
+ Sauerbeck).
246
+ * Added tar.gz and tar.bz2 support to package task (Tilman Sauerbeck).
247
+ * Recursive rules are now supported (Tilman Sauerbeck).
248
+ * Added warning option for the Test Task (requested by Eric Hodel).
249
+ * The jamis rdoc template is only used if it exists.
250
+ * Added fix for Ruby 1.8.2 test/unit and rails problem.
251
+ * Added contributed rake man file (Jani Monoses).
252
+ * Added Brian Candler's fix for problems in --trace and --dry-run
253
+ mode.
254
+
255
+ == Version 0.4.15
256
+
257
+ * Fixed a bug that prevented the TESTOPTS flag from working with the
258
+ revised for 1.8.2 test task.
259
+ * Updated the docs on --trace to indicate that it also enables a full
260
+ backtrace on errors.
261
+
262
+ == Version 0.4.14
263
+
264
+ * Modified the TestTask to workaround the Ruby 1.8.2 change in
265
+ autoexecuting unit tests.
266
+
267
+ == Version 0.4.13
268
+
269
+ * Fixed the dry-run flag so it is operating again.
270
+ * Multiple arguments to sh and ruby commands will not be interpreted
271
+ by the shell (patch provided by Jonathan Paisley).
272
+
273
+ == Version 0.4.12
274
+
275
+ * Added --silent (-s) to suppress the (in directory) rake message.
276
+
277
+ == Version 0.4.11
278
+
279
+ * Changed the "don't know how to rake" message (finally)
280
+ * Changes references to a literal "Rakefile" to reference the global
281
+ variable $rakefile (which contains the actual name of the rakefile).
282
+
283
+ == Version 0.4.10
284
+
285
+ * Added block support to the "sh" command, allowing users to take
286
+ special actions on the result of the system call. E.g.
287
+
288
+ sh "shell_command" do |ok, res|
289
+ puts "Program returned #{res.exitstatus}" if ! ok
290
+ end
291
+
292
+ == Version 0.4.9
293
+
294
+ * Switched to Jamis Buck's RDoc template.
295
+ * Removed autorequire from Rake's gem spec. This prevents the Rake
296
+ libraries from loading while using rails.
297
+
298
+ == Version 0.4.8
299
+
300
+ * Added support for .rb versions of Rakefile.
301
+ * Removed \\\n's from test task.
302
+ * Fixed Ruby 1.9 compatibility issue with FileList.
303
+
304
+ == Version 0.4.7
305
+
306
+ * Fixed problem in FileList that caused Ruby 1.9 to go into infinite
307
+ recursion. Since to_a was removed from Object, it does not need to
308
+ added back into the list of methods to rewrite in FileList. (Thanks
309
+ to Kent Sibilev for pointing this out).
310
+
311
+ == Version 0.4.6
312
+ * Removed test version of ln in FileUtils that prevented safe_ln from
313
+ using ln.
314
+
315
+ == Version 0.4.5
316
+ * Upgraded comments in TestTask.
317
+ * FileList to_s and inspect now automatically resolve pending changes.
318
+ * FileList#exclude properly returns the FileList.
319
+
320
+ == Version 0.4.4
321
+ * Fixed initialization problem with @comment.
322
+ * Now using multi -r technique in TestTask. Switch Rakefile back to
323
+ using the built-in test task macros because the rake runtime is no
324
+ longer needed.
325
+ * Added 'TEST=filename' and 'TESTOPTS=options' to the Test Task
326
+ macros.
327
+ * Allow a +test_files+ attribute in test tasks. This allows more
328
+ flexibility in specifying test files.
329
+
330
+ == Version 0.4.3
331
+ * Fixed Comment leakage.
332
+
333
+ == Version 0.4.2
334
+ * Added safe_ln that falls back to a copy if a file link is not supported.
335
+ * Package builder now uses safe_ln.
336
+
337
+ == Version 0.4.1
338
+ * Task comments are now additive, combined with "/".
339
+ * Works with (soon to be released) rubygems 0.6.2 (or 0.7.0)
340
+
341
+ == Version 0.4.0
342
+ * FileList now uses deferred loading. The file system is not searched
343
+ until the first call that needs the file names.
344
+ * VAR=VALUE options are now accepted on the command line and are
345
+ treated like environment variables. The values may be tested in a
346
+ Rakefile by referencing ENV['VAR'].
347
+ * File.mtime is now used (instead of File.new().mtime).
348
+
349
+ == Version 0.3.2.x
350
+
351
+ * Removed some hidden dependencies on rubygems. Tests now will test
352
+ gems only if they are installed.
353
+ * Removed Sys from some example files. I believe that is that last
354
+ reference to Sys outside of the contrib area.
355
+ * Updated all copyright notices to include 2004.
356
+
357
+ == Version 0.3.2
358
+
359
+ * GEM Installation now works with the application stub.
360
+
361
+ == Version 0.3.1
362
+
363
+ * FileLists now automatically ignore CVS, .bak, !
364
+ * GEM Installation now works.
365
+
366
+ == Version 0.3.0
367
+
368
+ Promoted 0.2.10.
369
+
370
+ == Version 0.2.10
371
+ General
372
+
373
+ * Added title to Rake's rdocs
374
+ * Contrib packages are no longer included in the documentation.
375
+
376
+ RDoc Issues
377
+
378
+ * Removed default for the '--main' option
379
+ * Fixed rendering of the rdoc options
380
+ * Fixed clean/clobber confusion with rerdoc
381
+ * 'title' attribute added
382
+
383
+ Package Task Library Issues
384
+
385
+ * Version (or explicit :noversion) is required.
386
+ * +package_file+ attribute is now writable
387
+
388
+ FileList Issues
389
+
390
+ * Dropped bang version of exclude. Now using ant-like include/exclude semantics.
391
+ * Enabled the "yield self" idiom in FileList#initialize.
392
+
393
+ == Version 0.2.9
394
+
395
+ This version contains numerous changes as the RubyConf.new(2003)
396
+ presentation was being prepared. The changes include:
397
+
398
+ * The monolithic rubyapp task library is in the process of being
399
+ dropped in favor of lighter weight task libraries.
400
+
401
+ == Version 0.2.7
402
+
403
+ * Added "desc" for task descriptions.
404
+ * -T will now display tasks with descriptions.
405
+ * -P will display tasks and prerequisites.
406
+ * Dropped the Sys module in favor of the 1.8.x FileUtils module. Sys
407
+ is still supported in the contrib area.
408
+
409
+ == Version 0.2.6
410
+
411
+ * Moved to RubyForge
412
+
413
+ == Version 0.2.5
414
+
415
+ * Switched to standard ruby app builder.
416
+ * Added no_match option to file matcher.
417
+
418
+ == Version 0.2.4
419
+
420
+ * Fixed indir, which neglected to actually change directories.
421
+
422
+ == Version 0.2.3
423
+
424
+ * Added rake module for a help target
425
+ * Added 'for_files' to Sys
426
+ * Added a $rakefile constant
427
+ * Added test for selecting proper rule with multiple targets.
data/MIT-LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ Copyright (c) 2003, 2004 Jim Weirich
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
+
data/README ADDED
@@ -0,0 +1,196 @@
1
+ = RAKE -- Ruby Make
2
+
3
+ Supporting Rake version: 0.8.4
4
+
5
+ This package contains Rake, a simple ruby build program with
6
+ capabilities similar to make.
7
+
8
+ Rake 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
+
31
+ Download and install rake with the following.
32
+
33
+ gem install rake
34
+
35
+ === Normal Installation
36
+
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
42
+
43
+ % ruby install.rb
44
+
45
+ from its distribution directory.
46
+
47
+ == Usage
48
+
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.
67
+
68
+ Running 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
+
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
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
+
97
+ Rake is currently hosted at github. The github web page is
98
+ http://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
+
104
+ If 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
+
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)
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
+
141
+ Rake is a late entry in the make replacement field. Here are links to
142
+ other 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
+
164
+ Rake is available under an MIT-style license.
165
+
166
+ :include: MIT-LICENSE
167
+
168
+ == Support
169
+
170
+ The Rake homepage is http://rake.rubyforge.org. You can find the Rake
171
+ RubyForge page at http://rubyforge.org/projects/rake.
172
+
173
+ Feel free to submit commits or feature requests. If you send a patch,
174
+ remember to update the corresponding unit tests. If fact, I prefer
175
+ new feature to be submitted in the form of new unit tests.
176
+
177
+ For other information, feel free to ask on the ruby-talk mailing list
178
+ (which is mirrored to comp.lang.ruby) or contact
179
+ jim dot weirich at gmail.com.
180
+
181
+ ---
182
+
183
+ = Other stuff
184
+
185
+ Author:: Jim Weirich <jim.weirich@gmail.com>
186
+ Requires:: Ruby 1.8.0 or later
187
+ License:: 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
+
193
+ This software is provided "as is" and without any express or
194
+ implied warranties, including, without limitation, the implied
195
+ warranties of merchantibility and fitness for a particular
196
+ purpose.