elliottcable-echoe 3.1.1

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 (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.