elliottcable-echoe 3.1.1

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