rake 0.9.2.2 → 13.0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (138) hide show
  1. checksums.yaml +7 -0
  2. data/History.rdoc +2403 -0
  3. data/MIT-LICENSE +1 -1
  4. data/README.rdoc +64 -106
  5. data/doc/command_line_usage.rdoc +65 -21
  6. data/doc/glossary.rdoc +40 -49
  7. data/doc/jamis.rb +1 -0
  8. data/doc/rake.1 +156 -0
  9. data/doc/rakefile.rdoc +127 -62
  10. data/{bin → exe}/rake +1 -7
  11. data/lib/rake/application.rb +507 -271
  12. data/lib/rake/backtrace.rb +24 -0
  13. data/lib/rake/clean.rb +54 -8
  14. data/lib/rake/cloneable.rb +11 -19
  15. data/lib/rake/cpu_counter.rb +107 -0
  16. data/lib/rake/default_loader.rb +5 -0
  17. data/lib/rake/dsl_definition.rb +67 -48
  18. data/lib/rake/early_time.rb +5 -1
  19. data/lib/rake/ext/core.rb +5 -6
  20. data/lib/rake/ext/string.rb +61 -52
  21. data/lib/rake/file_creation_task.rb +4 -3
  22. data/lib/rake/file_list.rb +81 -49
  23. data/lib/rake/file_task.rb +15 -8
  24. data/lib/rake/file_utils.rb +63 -43
  25. data/lib/rake/file_utils_ext.rb +14 -25
  26. data/lib/rake/invocation_chain.rb +25 -19
  27. data/lib/rake/invocation_exception_mixin.rb +1 -0
  28. data/lib/rake/late_time.rb +18 -0
  29. data/lib/rake/linked_list.rb +112 -0
  30. data/lib/rake/loaders/makefile.rb +23 -9
  31. data/lib/rake/multi_task.rb +4 -6
  32. data/lib/rake/name_space.rb +36 -23
  33. data/lib/rake/packagetask.rb +71 -34
  34. data/lib/rake/phony.rb +16 -0
  35. data/lib/rake/private_reader.rb +21 -0
  36. data/lib/rake/promise.rb +100 -0
  37. data/lib/rake/pseudo_status.rb +8 -2
  38. data/lib/rake/rake_module.rb +41 -3
  39. data/lib/rake/rake_test_loader.rb +9 -4
  40. data/lib/rake/rule_recursion_overflow_error.rb +2 -2
  41. data/lib/rake/scope.rb +43 -0
  42. data/lib/rake/task.rb +186 -79
  43. data/lib/rake/task_argument_error.rb +1 -0
  44. data/lib/rake/task_arguments.rb +46 -15
  45. data/lib/rake/task_manager.rb +91 -67
  46. data/lib/rake/tasklib.rb +2 -12
  47. data/lib/rake/testtask.rb +61 -63
  48. data/lib/rake/thread_history_display.rb +49 -0
  49. data/lib/rake/thread_pool.rb +163 -0
  50. data/lib/rake/trace_output.rb +23 -0
  51. data/lib/rake/version.rb +5 -3
  52. data/lib/rake/win32.rb +14 -18
  53. data/lib/rake.rb +35 -33
  54. data/rake.gemspec +100 -0
  55. metadata +74 -176
  56. data/.gemtest +0 -0
  57. data/CHANGES +0 -522
  58. data/Rakefile +0 -369
  59. data/TODO +0 -20
  60. data/doc/rake.1.gz +0 -0
  61. data/doc/release_notes/rake-0.4.14.rdoc +0 -23
  62. data/doc/release_notes/rake-0.4.15.rdoc +0 -35
  63. data/doc/release_notes/rake-0.5.0.rdoc +0 -53
  64. data/doc/release_notes/rake-0.5.3.rdoc +0 -78
  65. data/doc/release_notes/rake-0.5.4.rdoc +0 -46
  66. data/doc/release_notes/rake-0.6.0.rdoc +0 -141
  67. data/doc/release_notes/rake-0.7.0.rdoc +0 -119
  68. data/doc/release_notes/rake-0.7.1.rdoc +0 -59
  69. data/doc/release_notes/rake-0.7.2.rdoc +0 -121
  70. data/doc/release_notes/rake-0.7.3.rdoc +0 -47
  71. data/doc/release_notes/rake-0.8.0.rdoc +0 -114
  72. data/doc/release_notes/rake-0.8.2.rdoc +0 -165
  73. data/doc/release_notes/rake-0.8.3.rdoc +0 -112
  74. data/doc/release_notes/rake-0.8.4.rdoc +0 -147
  75. data/doc/release_notes/rake-0.8.5.rdoc +0 -53
  76. data/doc/release_notes/rake-0.8.6.rdoc +0 -55
  77. data/doc/release_notes/rake-0.8.7.rdoc +0 -55
  78. data/doc/release_notes/rake-0.9.0.rdoc +0 -112
  79. data/doc/release_notes/rake-0.9.1.rdoc +0 -52
  80. data/doc/release_notes/rake-0.9.2.rdoc +0 -49
  81. data/install.rb +0 -90
  82. data/lib/rake/alt_system.rb +0 -109
  83. data/lib/rake/classic_namespace.rb +0 -11
  84. data/lib/rake/contrib/compositepublisher.rb +0 -21
  85. data/lib/rake/contrib/ftptools.rb +0 -150
  86. data/lib/rake/contrib/publisher.rb +0 -73
  87. data/lib/rake/contrib/rubyforgepublisher.rb +0 -16
  88. data/lib/rake/contrib/sshpublisher.rb +0 -50
  89. data/lib/rake/contrib/sys.rb +0 -191
  90. data/lib/rake/ext/module.rb +0 -39
  91. data/lib/rake/ext/time.rb +0 -14
  92. data/lib/rake/gempackagetask.rb +0 -15
  93. data/lib/rake/pathmap.rb +0 -1
  94. data/lib/rake/rdoctask.rb +0 -234
  95. data/lib/rake/ruby182_test_unit_fix.rb +0 -25
  96. data/lib/rake/runtest.rb +0 -21
  97. data/test/file_creation.rb +0 -34
  98. data/test/helper.rb +0 -492
  99. data/test/test_rake.rb +0 -40
  100. data/test/test_rake_application.rb +0 -489
  101. data/test/test_rake_application_options.rb +0 -335
  102. data/test/test_rake_clean.rb +0 -14
  103. data/test/test_rake_definitions.rb +0 -80
  104. data/test/test_rake_directory_task.rb +0 -46
  105. data/test/test_rake_dsl.rb +0 -77
  106. data/test/test_rake_early_time.rb +0 -31
  107. data/test/test_rake_extension.rb +0 -59
  108. data/test/test_rake_file_creation_task.rb +0 -56
  109. data/test/test_rake_file_list.rb +0 -628
  110. data/test/test_rake_file_list_path_map.rb +0 -8
  111. data/test/test_rake_file_task.rb +0 -102
  112. data/test/test_rake_file_utils.rb +0 -305
  113. data/test/test_rake_ftp_file.rb +0 -59
  114. data/test/test_rake_functional.rb +0 -450
  115. data/test/test_rake_invocation_chain.rb +0 -52
  116. data/test/test_rake_makefile_loader.rb +0 -44
  117. data/test/test_rake_multi_task.rb +0 -51
  118. data/test/test_rake_name_space.rb +0 -43
  119. data/test/test_rake_package_task.rb +0 -79
  120. data/test/test_rake_path_map.rb +0 -157
  121. data/test/test_rake_path_map_explode.rb +0 -34
  122. data/test/test_rake_path_map_partial.rb +0 -18
  123. data/test/test_rake_pseudo_status.rb +0 -21
  124. data/test/test_rake_rake_test_loader.rb +0 -21
  125. data/test/test_rake_rdoc_task.rb +0 -83
  126. data/test/test_rake_require.rb +0 -40
  127. data/test/test_rake_rules.rb +0 -327
  128. data/test/test_rake_task.rb +0 -267
  129. data/test/test_rake_task_argument_parsing.rb +0 -103
  130. data/test/test_rake_task_arguments.rb +0 -88
  131. data/test/test_rake_task_lib.rb +0 -9
  132. data/test/test_rake_task_manager.rb +0 -157
  133. data/test/test_rake_task_manager_argument_resolution.rb +0 -36
  134. data/test/test_rake_task_with_arguments.rb +0 -173
  135. data/test/test_rake_test_task.rb +0 -120
  136. data/test/test_rake_top_level_functions.rb +0 -111
  137. data/test/test_rake_win32.rb +0 -72
  138. data/test/test_sys.rb +0 -20
data/History.rdoc ADDED
@@ -0,0 +1,2403 @@
1
+ === 13.0.6
2
+
3
+ * Additional fix for #389
4
+ Pull request #390 by hsbt
5
+
6
+ === 13.0.5
7
+
8
+ * Fixed the regression of #388
9
+ Pull request #389 by hsbt
10
+
11
+ === 13.0.4
12
+
13
+ * Fix rake test loader swallowing useful error information.
14
+ Pull request #367 by deivid-rodriguez
15
+ * Add -C/--directory option the same as GNU make.
16
+ Pull request #376 by nobu
17
+
18
+ === 13.0.3
19
+
20
+ * Fix breaking change of execution order on TestTask.
21
+ Pull request #368 by ysakasin
22
+
23
+ === 13.0.2
24
+
25
+ ==== Enhancements
26
+
27
+ * Fix tests to work with current FileUtils
28
+ Pull Request #358 by jeremyevans
29
+ * Simplify default rake test loader
30
+ Pull Request #357 by deivid-rodriguez
31
+ * Update rdoc
32
+ Pull Request #366 by bahasalien
33
+ * Update broken links to rake articles from Avdi in README
34
+ Pull Request #360 by svl7
35
+
36
+ === 13.0.1
37
+
38
+ ==== Bug fixes
39
+
40
+ * Fixed bug: Reenabled task raises previous exception on second invokation
41
+ Pull Request #271 by thorsteneckel
42
+ * Fix an incorrectly resolved arg pattern
43
+ Pull Request #327 by mjbellantoni
44
+
45
+ === 13.0.0
46
+
47
+ ==== Enhancements
48
+
49
+ * Follows recent changes on keyword arguments in ruby 2.7.
50
+ Pull Request #326 by nobu
51
+ * Make `PackageTask` be able to omit parent directory while packing files
52
+ Pull Request #310 by tonytonyjan
53
+ * Add order only dependency
54
+ Pull Request #269 by take-cheeze
55
+
56
+ ==== Compatibility changes
57
+
58
+ * Drop old ruby versions(< 2.2)
59
+
60
+ === 12.3.3
61
+
62
+ ==== Bug fixes
63
+
64
+ * Use the application's name in error message if a task is not found.
65
+ Pull Request #303 by tmatilai
66
+
67
+ ==== Enhancements:
68
+
69
+ * Use File.open explicitly.
70
+
71
+ === 12.3.2
72
+
73
+ ==== Bug fixes
74
+
75
+ * Fixed test fails caused by 2.6 warnings.
76
+ Pull Request #297 by hsbt
77
+
78
+ ==== Enhancements:
79
+
80
+ * Rdoc improvements.
81
+ Pull Request #293 by colby-swandale
82
+ * Improve multitask performance.
83
+ Pull Request #273 by jsm
84
+ * Add alias `prereqs`.
85
+ Pull Request #268 by take-cheeze
86
+
87
+ === 12.3.1
88
+
89
+ ==== Bug fixes
90
+
91
+ * Support did_you_mean >= v1.2.0 which has a breaking change on formatters.
92
+ Pull request #262 by FUJI Goro.
93
+
94
+ ==== Enhancements:
95
+
96
+ * Don't run task if it depends on already invoked but failed task.
97
+ Pull request #252 by Gonzalo Rodriguez.
98
+ * Make space trimming consistent for all task arguments.
99
+ Pull request #259 by Gonzalo Rodriguez.
100
+ * Removes duplicated inclusion of Rake::DSL in tests.
101
+ Pull request #254 by Gonzalo Rodriguez.
102
+ * Re-raise a LoadError that didn't come from require in the test loader.
103
+ Pull request #250 by Dylan Thacker-Smith.
104
+
105
+ === 12.3.0
106
+
107
+ ==== Compatibility Changes
108
+
109
+ * Bump `required_ruby_version` to Ruby 2.0.0. Rake has already
110
+ removed support for Ruby 1.9.x.
111
+
112
+ ==== Enhancements:
113
+
114
+ * Support `test-bundled-gems` task on ruby core.
115
+
116
+ === 12.2.1
117
+
118
+ ==== Bug fixes
119
+
120
+ * Fixed to break Capistrano::Application on capistrano3.
121
+
122
+ === 12.2.0
123
+
124
+ ==== Enhancements:
125
+
126
+ * Make rake easier to use as a library
127
+ Pull request #211 by @drbrain
128
+ * Fix quadratic performance in FileTask#out_of_date?
129
+ Pull request #224 by @doudou
130
+ * Clarify output when printing nested exception traces
131
+ Pull request #232 by @urbanautomaton
132
+
133
+ ==== Bug fixes
134
+
135
+ * Account for a file that match 2 or more patterns.
136
+ Pull request #231 by @styd
137
+
138
+ === 12.1.0
139
+
140
+ ==== Enhancements:
141
+
142
+ * Added did_you_mean feature for invalid rake task.
143
+ Pull request #221 by @xtina-starr
144
+ * Enabled to dependency chained by extensions. Pull request #39 by Petr Skocik.
145
+ * Make all of string literals to frozen objects on Ruby 2.4 or later.
146
+
147
+ ==== Bug fixes
148
+
149
+ * Typo fixes in rakefile.rdoc. Pull request #180 by Yuta Kurotaki.
150
+ * Fix unexpected behavior of file task with dryrun option.
151
+ Pull request #183 by @aycabta.
152
+ * Make LoadError from running tests more obvious. Pull request #195
153
+ by Eric Hodel.
154
+ * Fix unexpected TypeError with hash style option. Pull request #202
155
+ by Kuniaki IGARASHI.
156
+
157
+ === 12.0.0
158
+
159
+ ==== Compatibility Changes
160
+
161
+ * Removed arguments on clear #157 by Jesse Bowes
162
+ * Removed `rake/contrib` packages. These are extracted to `rake-contrib` gem.
163
+ * Removed deprecated method named `last\_comment`.
164
+
165
+ ==== Enhancements:
166
+
167
+ * Re-use trace option on `cleanup` task. #164 by Brian Henderson
168
+ * Actions adore keyword arguments #174 by Josh Cheek
169
+ * Rake::TaskArguments#key? alias of #has_key? #175 by Paul Annesley
170
+
171
+ === 11.3.0 / 2016-09-20
172
+
173
+ ==== Enhancements:
174
+
175
+ * Remove to reference `Fixnum` constant. Pull request #160 by nobu
176
+
177
+ === 11.2.2 / 2016-06-12
178
+
179
+ ==== Bug fixes
180
+
181
+ * Fix unexpected behavior with multiple dependencies on Rake::TestTask
182
+
183
+ === 11.2.1 / 2016-06-12
184
+
185
+ ==== Bug fixes
186
+
187
+ * Fix regression of dependencies handling on Rake::TestTask. Report #139
188
+
189
+ === 11.2.0 / 2016-06-11
190
+
191
+ ==== Bug fixes
192
+
193
+ * Fix unexpected cut-out behavior on task description using triple dots
194
+ and exclamation. Report #106 from Stephan Kämper and Pull request #134 by Lee
195
+ * Fix empty argument assignment with `with_defaults` option. Pull request #135
196
+ by bakunyo
197
+ * Ignore to use `hwprefs` on Darwin platform. Use sysctl now. Report #128
198
+
199
+ ==== Enhancements
200
+
201
+ * Spawn options for sh Pull equest #138 by Eric Hodel.
202
+ * Allow to specify dependencies(prerequisites) for Rake::TestTask
203
+ Pull request #117 by Tim Maslyuchenko
204
+ * Use Bundler task instead of hoe for gem release.
205
+ * Remove explicitly load to rubygems for Ruby 1.8.
206
+ * Unify to declare `Rake::VERSION`.
207
+ * Support xz format for PackageTask.
208
+
209
+ === 11.1.2 / 2016-03-28
210
+
211
+ ==== Bug fixes
212
+
213
+ * Remove `-W` option when Rake::TestTask#verbose enabled. It's misunderstanding
214
+ specification change with Rake 11. Partly revert #67
215
+
216
+ === 11.1.1 / 2016-03-14
217
+
218
+ ==== Bug fixes
219
+
220
+ * Use `-W` instead of `--verbose` when Rake::TestTask#verbose enabled.
221
+ JRuby doesn't have `--verbose` option.
222
+
223
+ === 11.1.0 / 2016-03-11
224
+
225
+ ==== Compatibility Changes
226
+
227
+ * Revert to remove `last\_comment`. It will remove Rake 12.
228
+
229
+ === 11.0.1 / 2016-03-09
230
+
231
+ ==== Bug fixes
232
+
233
+ * Fixed packaging manifest.
234
+
235
+ === 11.0.0 / 2016-03-09
236
+
237
+ ==== Bug fixes
238
+
239
+ * Correctly handle bad encoding in exception messages. Pull request #113
240
+ by Tomer Brisker
241
+ * Fix verbose option at TestTask. Pull request #67 by Mike Blumtritt
242
+
243
+ ==== Enhancements
244
+
245
+ * Make FileList#exclude more analogous to FileList#include.
246
+ * Use IO.open instead of Open3.popen3 for CPU counter.
247
+ * Make Rake::Task#already_invoked publicly accessible.
248
+ Pull request #93 by Joe Rafaniello
249
+ * Lookup prerequisites with same name outside of scope instead of
250
+ matching self. Pull request #96 by Sandy Vanderbleek
251
+ * Make FileList#pathmap behave like String#pathmap.
252
+ Pull request #61 by Daniel Tamai
253
+ * Add fetch method to task arguments.
254
+ Pull request #12 by Chris Keathley
255
+ * Use ruby warnings by default. Pull request #97 by Harold Giménez
256
+
257
+ ==== Compatibility Changes
258
+
259
+ * Removed to support Ruby 1.8.x
260
+ * Removed constant named `RAKEVERSION`
261
+ * Removed Rake::AltSystem
262
+ * Removed Rake::RubyForgePublisher
263
+ * Removed Rake::TaskManager#last\_comment. Use last\_description.
264
+ * Removed Rake::TaskLib#paste
265
+ * Removed Top-level SshDirPublisher, SshFreshDirPublisher, SshFilePublisher
266
+ and CompositePublisher from lib/rake/contrib/publisher.rb
267
+ * Removed "rake/runtest.rb"
268
+
269
+ === 10.5.0 / 2016-01-13
270
+
271
+ ==== Enhancements
272
+
273
+ * Removed monkey patching for Ruby 1.8. Pull request #46 by Pablo Herrero.
274
+ * Inheritance class of Rake::FileList returns always self class.
275
+ Pull request #74 by Thomas Scholz
276
+
277
+ === 10.4.2 / 2014-12-02
278
+
279
+ ==== Bug fixes
280
+
281
+ * Rake no longer edits ARGV. This allows you to re-exec rake from a rake
282
+ task. Pull requset #9 by Matt Palmer.
283
+ * Documented how Rake::DSL#desc handles sentences in task descriptions.
284
+ Issue #7 by Raza Sayed.
285
+ * Fixed test error on 1.9.3 with legacy RubyGems. Issue #8 by Matt Palmer.
286
+ * Deleted duplicated History entry. Pull request #10 by Yuji Yamamoto.
287
+
288
+ === 10.4.1 / 2014-12-01
289
+
290
+ ==== Bug fixes
291
+
292
+ * Reverted fix for #277 as it caused numerous issues for rake users.
293
+ rails/spring issue #366 by Gustavo Dutra.
294
+
295
+ === 10.4.0 / 2014-11-22
296
+
297
+ ==== Enhancements
298
+
299
+ * Upgraded to minitest 5. Pull request #292 by Teo Ljungberg.
300
+ * Added support for Pathname in rake tasks. Pull request #271 by Randy
301
+ Coulman.
302
+ * Rake now ignores falsy dependencies which allows for easier programmatic
303
+ creation of tasks. Pull request #273 by Manav.
304
+ * Rake no longer edits ARGV. This allows you to re-exec rake from a rake
305
+ task. Issue #277 by Matt Palmer.
306
+ * Etc.nprocessors is used for counting the number of CPUs.
307
+
308
+ ==== Bug fixes
309
+
310
+ * Updated rake manpage. Issue #283 by Nathan Long, pull request #291 by
311
+ skittleys.
312
+ * Add Rake::LATE to allow rebuilding of files that depend on deleted files.
313
+ Bug #286, pull request #287 by David Grayson.
314
+ * Fix relinking of files when repackaging. Bug #276 by Muenze.
315
+ * Fixed some typos. Pull request #280 by Jed Northridge.
316
+ * Try counting CPUs via cpuinfo if host_os was not matched. Pull request
317
+ #282 by Edouard B.
318
+
319
+ === 10.3.2 / 2014-05-15
320
+
321
+ ==== Bug fixes
322
+
323
+ * Rake no longer infinitely loops when showing exception causes that refer to
324
+ each other. Bug #272 by Chris Bandy.
325
+ * Fixed documentation typos. Bug #275 by Jake Worth.
326
+
327
+ === 10.3.1 / 2014-04-17
328
+
329
+ ==== Bug fixes
330
+
331
+ * Really stop reporting an error when cleaning already-deleted files. Pull
332
+ request #269 by Randy Coulman
333
+ * Fixed infinite loop when cleaning already-deleted files on windows.
334
+
335
+ === 10.3 / 2014-04-15
336
+
337
+ ==== Enhancements
338
+
339
+ * Added --build-all option to rake which treats all file prerequisites as
340
+ out-of-date. Pull request #254 by Andrew Gilbert.
341
+ * Added Rake::NameSpace#scope. Issue #263 by Jon San Miguel.
342
+
343
+ ==== Bug fixes
344
+
345
+ * Suppress org.jruby package files in rake error messages for JRuby users.
346
+ Issue #213 by Charles Nutter.
347
+ * Fixed typo, removed extra "h". Pull request #267 by Hsing-Hui Hsu.
348
+ * Rake no longer reports an error when cleaning already-deleted files. Pull
349
+ request #266 by Randy Coulman.
350
+ * Consume stderr while determining CPU count to avoid hang. Issue #268 by
351
+ Albert Sun.
352
+
353
+ === 10.2.2 / 2014-03-27
354
+
355
+ ==== Bug fixes
356
+
357
+ * Restored Ruby 1.8.7 compatibility
358
+
359
+ === 10.2.1 / 2014-03-25
360
+
361
+ ==== Bug fixes
362
+
363
+ * File tasks including a ':' are now top-level tasks again. Issue #262 by
364
+ Josh Holtrop.
365
+ * Use sysctl for CPU count for all BSDs. Pull request #261 by Joshua Stein.
366
+ * Fixed CPU detection for unknown platforms.
367
+
368
+ === 10.2.0 / 2014-03-24
369
+
370
+ ==== Enhancements
371
+
372
+ * Rake now requires Ruby 1.9 or newer. For me, this is a breaking change, but
373
+ it seems that Jim planned to release it with Rake 10.2. See also pull
374
+ request #247 by Philip Arndt.
375
+ * Rake now allows you to declare tasks under a namespace like:
376
+
377
+ task 'a:b' do ... end
378
+
379
+ Pull request #232 by Judson Lester.
380
+ * Task#source defaults to the first prerequisite in non-rule tasks. Pull
381
+ request #215 by Avdi Grimm.
382
+ * Rake now automatically rebuilds and reloads imported files. Pull request
383
+ #209 by Randy Coulman.
384
+ * The rake task arguments can contain escaped commas. Pull request #214 by
385
+ Filip Hrbek.
386
+ * Rake now prints the exception class on errors. Patch #251 by David Cornu.
387
+
388
+ ==== Bug fixes
389
+
390
+ * Fixed typos. Pull request #256 by Valera Rozuvan, #250 via Jake Worth, #260
391
+ by Zachary Scott.
392
+ * Fixed documentation for calling tasks with arguments. Pull request #235 by
393
+ John Varghese.
394
+ * Clarified `rake -f` usage message. Pull request #252 by Marco Pfatschbacher.
395
+ * Fixed a test failure on windows. Pull request #231 by Hiroshi Shirosaki.
396
+ * Fixed corrupted rake.1.gz. Pull request #225 by Michel Boaventura.
397
+ * Fixed bug in can\_detect\_signals? in test. Patch from #243 by Alexey
398
+ Borzenkov.
399
+
400
+ === 10.1.1
401
+
402
+ * Use http://github.com/jimweirich/rake instead of http://rake.rubyforge.org for
403
+ canonical project url.
404
+
405
+ === 10.1.0
406
+
407
+ ==== Changes
408
+
409
+ ===== New Features
410
+
411
+ * Add support for variable length task argument lists. If more actual
412
+ arguments are supplied than named arguments, then the extra
413
+ arguments values will be in args.extras.
414
+
415
+ * Application name is not displayed in the help banner. (Previously
416
+ "rake" was hardcoded, now rake-based applications can display their
417
+ own names).
418
+
419
+ ===== Bug Fixes
420
+
421
+ Bug fixes include:
422
+
423
+ * Fix backtrace suppression issues.
424
+
425
+ * Rules now explicit get task arguments passed to them.
426
+
427
+ * Rename FileList#exclude? to FileList#exclude\_from\_list? to avoid
428
+ conflict with new Rails method.
429
+
430
+ * Clean / Clobber tasks now report failure to remove files.
431
+
432
+ * Plus heaps of internal code cleanup.
433
+
434
+ ==== Thanks
435
+
436
+ As usual, it was input from users that drove a lot of these changes.
437
+ The following people contributed patches, made suggestions or made
438
+ otherwise helpful comments. Thanks to ...
439
+
440
+ * Michael Nikitochkin (general code cleanup)
441
+ * Vipul A M (general code cleanup)
442
+ * Dennis Bell (variable length task argument lists)
443
+ * Jacob Swanner (rules arguments)
444
+ * Rafael Rosa Fu (documentation typo)
445
+ * Stuart Nelson (install.rb fixes)
446
+ * Lee Hambley (application name in help banner)
447
+
448
+ -- Jim Weirich
449
+
450
+ === 10.0.3
451
+
452
+ "Jim, when will Rake reach version 1.0?"
453
+
454
+ Over the past several years I've been asked that question at
455
+ conferences, panels and over twitter. Due to historical reasons (or
456
+ maybe just plain laziness) Rake has (incorrectly) been treating the
457
+ second digit of the version as the major release number. So in my head
458
+ Rake was already at version 9.
459
+
460
+ Well, it's time to fix things. This next version of Rake drops old,
461
+ crufty, backwards compatibility hacks such as top level constants, DSL
462
+ methods defined in Object and numerous other features that are just no
463
+ longer desired. It's also time to drop the leading zero from the
464
+ version number as well and call this new version of rake what it
465
+ really is: Version 10.
466
+
467
+ So, welcome to Rake 10.0!
468
+
469
+ Rake 10 is actually feature identical to the latest version of Rake 9
470
+ (that would be the version spelled 0.9.3), *except* that Rake 10 drops
471
+ all the sundry deprecated features that have accumulated over the years.
472
+
473
+ If your Rakefile is up to date and current with all the new features
474
+ of Rake 10, you are ready to go. If your Rakefile still uses a few
475
+ deprecated feeatures, feel free to use Rake 9 (0.9.3) with the same
476
+ feature set. Just be aware that future features will be in Rake 10
477
+ family line.
478
+
479
+ ==== Changes
480
+
481
+ As mentioned above, there are no new features in Rake 10. However,
482
+ there are a number of features missing:
483
+
484
+ * Classic namespaces are now gone. Rake is no longer able to reflect
485
+ the options settings in the global variables ($rakefile, $show\_tasks,
486
+ $show\_prereqs, $trace, $dryrun and $silent). The
487
+ <tt>--classic-namespace</tt> option is no longer supported.
488
+
489
+ * Global constants are no longer supported. This includes
490
+ <tt>Task</tt>, <tt>FileTask</tt>, <tt>FileCreationTask</tt> and
491
+ <tt>RakeApp</tt>). The constant missing hook to warn about using
492
+ global rake constants has been removed.
493
+
494
+ * The Rake DSL methods (task, file, directory, etc) are in their own
495
+ module (Rake::DSL). The stub versions of these methods (that printed
496
+ warnings) in Object have been removed. However, the DSL methods are
497
+ added to the top-level <tt>main</tt> object. Since <tt>main</tt> is
498
+ not in the inheritance tree, the presence of the DSL methods in main
499
+ should be low impact on other libraries.
500
+
501
+ If you want to use the Rake DSL commands from your own code, just
502
+ include <tt>Rake::DSL</tt> into your own classes and modules.
503
+
504
+ * The deprecated syntax for task arguments (the one using
505
+ <tt>:needs</tt>) has been removed.
506
+
507
+ * The <tt>--reduce-compat</tt> flag has been removed (it's not needed
508
+ anymore).
509
+
510
+ * The deprecated <tt>rake/sys.rb</tt> library has been removed.
511
+
512
+ * The deprecated <tt>rake/rdoctask.rb</tt> library has been removed.
513
+ RDoc supplies its own rake task now.
514
+
515
+ * The deprecated <tt>rake/gempackagetask.rb</tt> library has been
516
+ removed. Gem supplies its own package task now.
517
+
518
+ There is one small behavioral change:
519
+
520
+ * Non-file tasks now always report the current time as their time
521
+ stamp. This is different from the previous behavior where non-file
522
+ tasks reported current time only if there were no prerequisites, and
523
+ the max prerequisite timestamp otherwise. This lead to inconsistent
524
+ and surprising behavior when adding prerequisites to tasks that in
525
+ turn were prequisites to file tasks. The new behavior is more
526
+ consistent and predictable.
527
+
528
+ ==== Changes (from 0.9.3, 0.9.4, 0.9.5)
529
+
530
+ Since Rake 10 includes the changes from the last version of Rake 9,
531
+ we'll repeat the changes for versions 0.9.3 through 0.9.5 here.
532
+
533
+ ===== New Features (in 0.9.3)
534
+
535
+ * Multitask tasks now use a thread pool. Use -j to limit the number of
536
+ available threads.
537
+
538
+ * Use -m to turn regular tasks into multitasks (use at your own risk).
539
+
540
+ * You can now do "Rake.add_rakelib 'dir'" in your Rakefile to
541
+ programatically add rake task libraries.
542
+
543
+ * You can specific backtrace suppression patterns (see
544
+ --suppress-backtrace)
545
+
546
+ * Directory tasks can now take prerequisites and actions
547
+
548
+ * Use --backtrace to request a full backtrace without the task trace.
549
+
550
+ * You can say "--backtrace=stdout" and "--trace=stdout" to route trace
551
+ output to standard output rather than standard error.
552
+
553
+ * Optional 'phony' target (enable with 'require 'rake/phony'") for
554
+ special purpose builds.
555
+
556
+ * Task#clear now clears task comments as well as actions and
557
+ prerequisites. Task#clear_comment will specifically target comments.
558
+
559
+ * The --all option will force -T and -D to consider all the tasks,
560
+ with and without descriptions.
561
+
562
+ ===== Bug Fixes (in 0.9.3)
563
+
564
+ * Semi-colons in windows rakefile paths now work.
565
+
566
+ * Improved Control-C support when invoking multiple test suites.
567
+
568
+ * egrep method now reads files in text mode (better support for
569
+ Windows)
570
+
571
+ * Better deprecation line number reporting.
572
+
573
+ * The -W option now works with all tasks, whether they have a
574
+ description or not.
575
+
576
+ * File globs in rake should not be sorted alphabetically, independent
577
+ of file system and platform.
578
+
579
+ * Numerous internal improvements.
580
+
581
+ * Documentation typos and fixes.
582
+
583
+ ===== Bug Fixes (in 0.9.4)
584
+
585
+ * Exit status with failing tests is not correctly set to non-zero.
586
+
587
+ * Simplified syntax for phony task (for older versions of RDoc).
588
+
589
+ * Stand alone FileList usage gets glob function (without loading in
590
+ extra dependencies)
591
+
592
+ ===== Bug Fixes (in 0.9.5)
593
+
594
+ * --trace and --backtrace no longer swallow following task names.
595
+
596
+ ==== Thanks
597
+
598
+ As usual, it was input from users that drove a lot of these changes. The
599
+ following people contributed patches, made suggestions or made
600
+ otherwise helpful comments. Thanks to ...
601
+
602
+ * Aaron Patterson
603
+ * Dylan Smith
604
+ * Jo Liss
605
+ * Jonas Pfenniger
606
+ * Kazuki Tsujimoto
607
+ * Michael Bishop
608
+ * Michael Elufimov
609
+ * NAKAMURA Usaku
610
+ * Ryan Davis
611
+ * Sam Grönblom
612
+ * Sam Phippen
613
+ * Sergio Wong
614
+ * Tay Ray Chuan
615
+ * grosser
616
+ * quix
617
+
618
+ Also, many thanks to Eric Hodel for assisting with getting this release
619
+ out the door.
620
+
621
+ -- Jim Weirich
622
+
623
+ === 10.0.2
624
+
625
+ ==== Changes
626
+
627
+ ===== Bug Fixes
628
+
629
+ * --trace and --backtrace no longer swallow following task names.
630
+
631
+ ==== Thanks
632
+
633
+ As usual, it was input from users that drove a lot of these changes. The
634
+ following people contributed patches, made suggestions or made
635
+ otherwise helpful comments. Thanks to ...
636
+
637
+ * Aaron Patterson
638
+ * Dylan Smith
639
+ * Jo Liss
640
+ * Jonas Pfenniger
641
+ * Kazuki Tsujimoto
642
+ * Michael Bishop
643
+ * Michael Elufimov
644
+ * NAKAMURA Usaku
645
+ * Ryan Davis
646
+ * Sam Grönblom
647
+ * Sam Phippen
648
+ * Sergio Wong
649
+ * Tay Ray Chuan
650
+ * grosser
651
+ * quix
652
+
653
+ Also, many thanks to Eric Hodel for assisting with getting this release
654
+ out the door.
655
+
656
+ -- Jim Weirich
657
+
658
+ === 10.0.1
659
+
660
+ ==== Changes
661
+
662
+ ===== Bug Fixes
663
+
664
+ * Exit status with failing tests is not correctly set to non-zero.
665
+
666
+ * Simplified syntax for phony task (for older versions of RDoc).
667
+
668
+ * Stand alone FileList usage gets glob function (without loading in
669
+ extra dependencies)
670
+
671
+ ==== Thanks
672
+
673
+ As usual, it was input from users that drove a lot of these changes. The
674
+ following people contributed patches, made suggestions or made
675
+ otherwise helpful comments. Thanks to ...
676
+
677
+ * Aaron Patterson
678
+ * Dylan Smith
679
+ * Jo Liss
680
+ * Jonas Pfenniger
681
+ * Kazuki Tsujimoto
682
+ * Michael Bishop
683
+ * Michael Elufimov
684
+ * NAKAMURA Usaku
685
+ * Ryan Davis
686
+ * Sam Grönblom
687
+ * Sam Phippen
688
+ * Sergio Wong
689
+ * Tay Ray Chuan
690
+ * grosser
691
+ * quix
692
+
693
+ Also, many thanks to Eric Hodel for assisting with getting this release
694
+ out the door.
695
+
696
+ -- Jim Weirich
697
+
698
+ === 10.0.0
699
+
700
+ "Jim, when will Rake reach version 1.0?"
701
+
702
+ Over the past several years I've been asked that question at
703
+ conferences, panels and over twitter. Due to historical reasons (or
704
+ maybe just plain laziness) Rake has (incorrectly) been treating the
705
+ second digit of the version as the major release number. So in my head
706
+ Rake was already at version 9.
707
+
708
+ Well, it's time to fix things. This next version of Rake drops old,
709
+ crufty, backwards compatibility hacks such as top level constants, DSL
710
+ methods defined in Object and numerous other features that are just no
711
+ longer desired. It's also time to drop the leading zero from the
712
+ version number as well and call this new version of rake what it
713
+ really is: Version 10.
714
+
715
+ So, welcome to Rake 10.0!
716
+
717
+ Rake 10 is actually feature identical to the latest version of Rake 9
718
+ (that would be the version spelled 0.9.3), *except* that Rake 10 drops
719
+ all the sundry deprecated features that have accumulated over the years.
720
+
721
+ If your Rakefile is up to date and current with all the new features
722
+ of Rake 10, you are ready to go. If your Rakefile still uses a few
723
+ deprecated feeatures, feel free to use Rake 9 (0.9.3) with the same
724
+ feature set. Just be aware that future features will be in Rake 10
725
+ family line.
726
+
727
+ ==== Changes in 10.0
728
+
729
+ As mentioned above, there are no new features in Rake 10. However,
730
+ there are a number of features missing:
731
+
732
+ * Classic namespaces are now gone. Rake is no longer able to reflect
733
+ the options settings in the global variables ($rakefile, $show\_tasks,
734
+ $show\_prereqs, $trace, $dryrun and $silent). The
735
+ <tt>--classic-namespace</tt> option is no longer supported.
736
+
737
+ * Global constants are no longer supported. This includes
738
+ <tt>Task</tt>, <tt>FileTask</tt>, <tt>FileCreationTask</tt> and
739
+ <tt>RakeApp</tt>). The constant missing hook to warn about using
740
+ global rake constants has been removed.
741
+
742
+ * The Rake DSL methods (task, file, directory, etc) are in their own
743
+ module (Rake::DSL). The stub versions of these methods (that printed
744
+ warnings) in Object have been removed. However, the DSL methods are
745
+ added to the top-level <tt>main</tt> object. Since <tt>main</tt> is
746
+ not in the inheritance tree, the presence of the DSL methods in main
747
+ should be low impact on other libraries.
748
+
749
+ If you want to use the Rake DSL commands from your own code, just
750
+ include <tt>Rake::DSL</tt> into your own classes and modules.
751
+
752
+ * The deprecated syntax for task arguments (the one using
753
+ <tt>:needs</tt>) has been removed.
754
+
755
+ * The <tt>--reduce-compat</tt> flag has been removed (it's not needed
756
+ anymore).
757
+
758
+ * The deprecated <tt>rake/sys.rb</tt> library has been removed.
759
+
760
+ * The deprecated <tt>rake/rdoctask.rb</tt> library has been removed.
761
+ RDoc supplies its own rake task now.
762
+
763
+ * The deprecated <tt>rake/gempackagetask.rb</tt> library has been
764
+ removed. Gem supplies its own package task now.
765
+
766
+ There is one small behavioral change:
767
+
768
+ * Non-file tasks now always report the current time as their time
769
+ stamp. This is different from the previous behavior where non-file
770
+ tasks reported current time only if there were no prerequisites, and
771
+ the max prerequisite timestamp otherwise. This lead to inconsistent
772
+ and surprising behavior when adding prerequisites to tasks that in
773
+ turn were prequisites to file tasks. The new behavior is more
774
+ consistent and predictable.
775
+
776
+ ==== Changes (from 0.9.3)
777
+
778
+ Since Rake 10 includes the changes from the last version of Rake 9,
779
+ we'll repeat the changes for version 0.9.3 here.
780
+
781
+ ===== New Features
782
+
783
+ * Multitask tasks now use a thread pool. Use -j to limit the number of
784
+ available threads.
785
+
786
+ * Use -m to turn regular tasks into multitasks (use at your own risk).
787
+
788
+ * You can now do "Rake.add_rakelib 'dir'" in your Rakefile to
789
+ programatically add rake task libraries.
790
+
791
+ * You can specific backtrace suppression patterns (see
792
+ --suppress-backtrace)
793
+
794
+ * Directory tasks can now take prerequisites and actions
795
+
796
+ * Use --backtrace to request a full backtrace without the task trace.
797
+
798
+ * You can say "--backtrace=stdout" and "--trace=stdout" to route trace
799
+ output to standard output rather than standard error.
800
+
801
+ * Optional 'phony' target (enable with 'require 'rake/phony'") for
802
+ special purpose builds.
803
+
804
+ * Task#clear now clears task comments as well as actions and
805
+ prerequisites. Task#clear_comment will specifically target comments.
806
+
807
+ * The --all option will force -T and -D to consider all the tasks,
808
+ with and without descriptions.
809
+
810
+ ===== Bug Fixes
811
+
812
+ * Semi-colons in windows rakefile paths now work.
813
+
814
+ * Improved Control-C support when invoking multiple test suites.
815
+
816
+ * egrep method now reads files in text mode (better support for
817
+ Windows)
818
+
819
+ * Better deprecation line number reporting.
820
+
821
+ * The -W option now works with all tasks, whether they have a
822
+ description or not.
823
+
824
+ * File globs in rake should not be sorted alphabetically, independent
825
+ of file system and platform.
826
+
827
+ * Numerous internal improvements.
828
+
829
+ * Documentation typos and fixes.
830
+
831
+
832
+ ==== Thanks
833
+
834
+ As usual, it was input from users that drove a lot of these changes. The
835
+ following people contributed patches, made suggestions or made
836
+ otherwise helpful comments. Thanks to ...
837
+
838
+ * Aaron Patterson
839
+ * Dylan Smith
840
+ * Jo Liss
841
+ * Jonas Pfenniger
842
+ * Kazuki Tsujimoto
843
+ * Michael Bishop
844
+ * Michael Elufimov
845
+ * NAKAMURA Usaku
846
+ * Ryan Davis
847
+ * Sam Grönblom
848
+ * Sam Phippen
849
+ * Sergio Wong
850
+ * Tay Ray Chuan
851
+ * grosser
852
+ * quix
853
+
854
+ Also, many thanks to Eric Hodel for assisting with getting this release
855
+ out the door.
856
+
857
+ -- Jim Weirich
858
+
859
+ === 0.9.6
860
+
861
+ Rake version 0.9.6 contains a number of fixes mainly for merging
862
+ Rake into the Ruby source tree and fixing tests.
863
+
864
+ ==== Changes
865
+
866
+ ===== Bug Fixes (0.9.6)
867
+
868
+ * Better trace output when using a multi-threaded Rakefile.
869
+ * Arg parsing is now consistent for tasks and multitasks.
870
+ * Skip exit code test in versions of Ruby that don't support it well.
871
+
872
+ Changes for better integration with the Ruby source tree:
873
+
874
+ * Fix version literal for Ruby source tree build.
875
+ * Better loading of libraries for testing in Ruby build.
876
+ * Use the ruby version provided by Ruby's tests.
877
+
878
+ ==== Thanks
879
+
880
+ As usual, it was input from users that drove a alot of these changes. The
881
+ following people either contributed patches, made suggestions or made
882
+ otherwise helpful comments. Thanks to ...
883
+
884
+ * Aaron Patterson
885
+ * Dylan Smith
886
+ * Jo Liss
887
+ * Jonas Pfenniger
888
+ * Kazuki Tsujimoto
889
+ * Michael Bishop
890
+ * Michael Elufimov
891
+ * NAKAMURA Usaku
892
+ * Ryan Davis
893
+ * Sam Grönblom
894
+ * Sam Phippen
895
+ * Sergio Wong
896
+ * Tay Ray Chuan
897
+ * grosser
898
+ * quix
899
+
900
+ Also, many thanks to Eric Hodel for assisting with getting this release
901
+ out the door.
902
+
903
+ -- Jim Weirich
904
+
905
+ === 0.9.5
906
+
907
+ Rake version 0.9.5 contains a number of bug fixes.
908
+
909
+ ==== Changes
910
+
911
+ ===== Bug Fixes (0.9.5)
912
+
913
+ * --trace and --backtrace no longer swallow following task names.
914
+
915
+ ==== Thanks
916
+
917
+ As usual, it was input from users that drove a alot of these changes. The
918
+ following people either contributed patches, made suggestions or made
919
+ otherwise helpful comments. Thanks to ...
920
+
921
+ * Aaron Patterson
922
+ * Dylan Smith
923
+ * Jo Liss
924
+ * Jonas Pfenniger
925
+ * Kazuki Tsujimoto
926
+ * Michael Bishop
927
+ * Michael Elufimov
928
+ * NAKAMURA Usaku
929
+ * Ryan Davis
930
+ * Sam Grönblom
931
+ * Sam Phippen
932
+ * Sergio Wong
933
+ * Tay Ray Chuan
934
+ * grosser
935
+ * quix
936
+
937
+ Also, many thanks to Eric Hodel for assisting with getting this release
938
+ out the door.
939
+
940
+ -- Jim Weirich
941
+
942
+ === 0.9.4
943
+
944
+ Rake version 0.9.4 contains a number of bug fixes.
945
+
946
+ ==== Changes
947
+
948
+ ===== Bug Fixes (0.9.4)
949
+
950
+ * Exit status with failing tests is not correctly set to non-zero.
951
+
952
+ * Simplified syntax for phony task (for older versions of RDoc).
953
+
954
+ * Stand alone FileList usage gets glob function (without loading in
955
+ extra dependencies)
956
+
957
+ ==== Thanks
958
+
959
+ As usual, it was input from users that drove a alot of these changes. The
960
+ following people either contributed patches, made suggestions or made
961
+ otherwise helpful comments. Thanks to ...
962
+
963
+ * Aaron Patterson
964
+ * Dylan Smith
965
+ * Jo Liss
966
+ * Jonas Pfenniger
967
+ * Kazuki Tsujimoto
968
+ * Michael Bishop
969
+ * Michael Elufimov
970
+ * NAKAMURA Usaku
971
+ * Ryan Davis
972
+ * Sam Grönblom
973
+ * Sam Phippen
974
+ * Sergio Wong
975
+ * Tay Ray Chuan
976
+ * grosser
977
+ * quix
978
+
979
+ Also, many thanks to Eric Hodel for assisting with getting this release
980
+ out the door.
981
+
982
+ -- Jim Weirich
983
+
984
+ === 0.9.3
985
+
986
+ Rake version 0.9.3 contains some new, backwards compatible features and
987
+ a number of bug fixes.
988
+
989
+ ==== Changes
990
+
991
+ ===== New Features
992
+
993
+ * Multitask tasks now use a thread pool. Use -j to limit the number of
994
+ available threads.
995
+
996
+ * Use -m to turn regular tasks into multitasks (use at your own risk).
997
+
998
+ * You can now do "Rake.add_rakelib 'dir'" in your Rakefile to
999
+ programatically add rake task libraries.
1000
+
1001
+ * You can specific backtrace suppression patterns (see
1002
+ --suppress-backtrace)
1003
+
1004
+ * Directory tasks can now take prerequisites and actions
1005
+
1006
+ * Use --backtrace to request a full backtrace without the task trace.
1007
+
1008
+ * You can say "--backtrace=stdout" and "--trace=stdout" to route trace
1009
+ output to standard output rather than standard error.
1010
+
1011
+ * Optional 'phony' target (enable with 'require 'rake/phony'") for
1012
+ special purpose builds.
1013
+
1014
+ * Task#clear now clears task comments as well as actions and
1015
+ prerequisites. Task#clear_comment will specifically target comments.
1016
+
1017
+ * The --all option will force -T and -D to consider all the tasks,
1018
+ with and without descriptions.
1019
+
1020
+ ===== Bug Fixes
1021
+
1022
+ * Semi-colons in windows rakefile paths now work.
1023
+
1024
+ * Improved Control-C support when invoking multiple test suites.
1025
+
1026
+ * egrep method now reads files in text mode (better support for
1027
+ Windows)
1028
+
1029
+ * Better deprecation line number reporting.
1030
+
1031
+ * The -W option now works with all tasks, whether they have a
1032
+ description or not.
1033
+
1034
+ * File globs in rake should not be sorted alphabetically, independent
1035
+ of file system and platform.
1036
+
1037
+ * Numerous internal improvements.
1038
+
1039
+ * Documentation typos and fixes.
1040
+
1041
+ ==== Thanks
1042
+
1043
+ As usual, it was input from users that drove a alot of these changes. The
1044
+ following people either contributed patches, made suggestions or made
1045
+ otherwise helpful comments. Thanks to ...
1046
+
1047
+ * Aaron Patterson
1048
+ * Dylan Smith
1049
+ * Jo Liss
1050
+ * Jonas Pfenniger
1051
+ * Kazuki Tsujimoto
1052
+ * Michael Bishop
1053
+ * Michael Elufimov
1054
+ * NAKAMURA Usaku
1055
+ * Ryan Davis
1056
+ * Sam Grönblom
1057
+ * Sam Phippen
1058
+ * Sergio Wong
1059
+ * Tay Ray Chuan
1060
+ * grosser
1061
+ * quix
1062
+
1063
+ Also, many thanks to Eric Hodel for assisting with getting this release
1064
+ out the door.
1065
+
1066
+ -- Jim Weirich
1067
+
1068
+ === Rake 0.9.2.2
1069
+
1070
+ Rake version 0.9.2.2 is mainly bug fixes.
1071
+
1072
+ ==== Changes
1073
+
1074
+ * The rake test loader now removes arguments it has processed. Issue #51
1075
+ * Rake::TaskArguments now responds to #values\_at
1076
+ * RakeFileUtils.verbose_flag = nil silences output the same as 0.8.7
1077
+ * Rake tests are now directory-independent
1078
+ * Rake tests are no longer require flexmock
1079
+ * Commands constant is no longer polluting top level namespace.
1080
+ * Show only the interesting portion of the backtrace by default (James M. Lawrence).
1081
+ * Added --reduce-compat option to remove backward compatible DSL hacks (James M. Lawrence).
1082
+
1083
+ ==== Thanks
1084
+
1085
+ As usual, it was input from users that drove a alot of these changes. The
1086
+ following people either contributed patches, made suggestions or made
1087
+ otherwise helpful comments. Thanks to ...
1088
+
1089
+ * James M. Lawrence (quix)
1090
+ * Roger Pack
1091
+ * Cezary Baginski
1092
+ * Sean Scot August Moon
1093
+ * R.T. Lechow
1094
+ * Alex Chaffee
1095
+ * James Tucker
1096
+ * Matthias Lüdtke
1097
+ * Santiago Pastorino
1098
+
1099
+ Also, bit thanks to Eric Hodel for assisting with getting this release
1100
+ out the door (where "assisting" includes, but is not by any means
1101
+ limited to, "pushing" me to get it done).
1102
+
1103
+ -- Jim Weirich
1104
+
1105
+ === 0.9.2
1106
+
1107
+ Rake version 0.9.2 has a few small fixes. See below for details.
1108
+
1109
+ ==== Changes
1110
+
1111
+ * Support for Ruby 1.8.6 was fixed.
1112
+ * Global DSL warnings now honor --no-deprecate
1113
+
1114
+ ==== Thanks
1115
+
1116
+ As usual, it was input from users that drove a alot of these changes. The
1117
+ following people either contributed patches, made suggestions or made
1118
+ otherwise helpful comments. Thanks to ...
1119
+
1120
+ * James M. Lawrence (quix)
1121
+ * Roger Pack
1122
+ * Cezary Baginski
1123
+ * Sean Scot August Moon
1124
+ * R.T. Lechow
1125
+ * Alex Chaffee
1126
+ * James Tucker
1127
+ * Matthias Lüdtke
1128
+ * Santiago Pastorino
1129
+
1130
+ Also, bit thanks to Eric Hodel for assisting with getting this release
1131
+ out the door (where "assisting" includes, but is not by any means
1132
+ limited to, "pushing" me to get it done).
1133
+
1134
+ -- Jim Weirich
1135
+
1136
+ === 0.9.1
1137
+
1138
+ Rake version 0.9.1 has a number of bug fixes and enhancments (see
1139
+ below for more details). Additionally, the internals have be slightly
1140
+ restructured and improved.
1141
+
1142
+ ==== Changes
1143
+
1144
+ Rake 0.9.1 adds back the global DSL methods, but with deprecation
1145
+ messages. This allows Rake 0.9.1 to be used with older rakefiles with
1146
+ warning messages.
1147
+
1148
+ ==== Thanks
1149
+
1150
+ As usual, it was input from users that drove a alot of these changes. The
1151
+ following people either contributed patches, made suggestions or made
1152
+ otherwise helpful comments. Thanks to ...
1153
+
1154
+ * James M. Lawrence (quix)
1155
+ * Roger Pack
1156
+ * Cezary Baginski
1157
+ * Sean Scot August Moon
1158
+ * R.T. Lechow
1159
+ * Alex Chaffee
1160
+ * James Tucker
1161
+ * Matthias Lüdtke
1162
+ * Santiago Pastorino
1163
+
1164
+ Also, bit thanks to Eric Hodel for assisting with getting this release
1165
+ out the door (where "assisting" includes, but is not by any means
1166
+ limited to, "pushing" me to get it done).
1167
+
1168
+ -- Jim Weirich
1169
+
1170
+ === 0.9.0
1171
+
1172
+ Rake version 0.9.0 has a number of bug fixes and enhancments (see
1173
+ below for more details). Additionally, the internals have be slightly
1174
+ restructured and improved.
1175
+
1176
+ ==== Changes
1177
+
1178
+ ===== New Features / Enhancements / Bug Fixes in Version 0.9.0
1179
+
1180
+ * Rake now warns when the deprecated :needs syntax used (and suggests
1181
+ the proper syntax in the warning).
1182
+
1183
+ * Moved Rake DSL commands to top level ruby object 'main'. Rake DSL
1184
+ commands are no longer private methods in Object. (Suggested by
1185
+ James M. Lawrence/quix)
1186
+
1187
+ * Rake now uses case-insensitive comparisons to find the Rakefile on Windows.
1188
+ Based on patch by Roger Pack.
1189
+
1190
+ * Rake now requires (instead of loads) files in the test task. Patch by Cezary
1191
+ Baginski.
1192
+
1193
+ * Fixed typos. Patches by Sean Scot August Moon and R.T. Lechow.
1194
+
1195
+ * Rake now prints the Rakefile directory only when it's different from the
1196
+ current directory. Patch by Alex Chaffee.
1197
+
1198
+ * Improved rakefile_location discovery on Windows. Patch by James Tucker.
1199
+
1200
+ * Rake now recognizes "Windows Server" as a windows system. Patch by Matthias
1201
+ Lüdtke
1202
+
1203
+ * Rake::RDocTask is deprecated. Use RDoc::Task from RDoc 2.4.2+ (require
1204
+ 'rdoc/task')
1205
+
1206
+ * Rake::GemPackageTask is deprecated. Use Gem::PackageTask (require
1207
+ 'rubygems/package\_task')
1208
+
1209
+ * Rake now outputs various messages to $stderr instead of $stdout.
1210
+
1211
+ * Rake no longer emits warnings for Config. Patch by Santiago Pastorino.
1212
+
1213
+ * Removed Rake's DSL methods from the top level scope. If you need to
1214
+ call 'task :xzy' in your code, include Rake::DSL into your class, or
1215
+ put the code in a Rake::DSL.environment do ... end block.
1216
+
1217
+ * Split rake.rb into individual files.
1218
+
1219
+ * Support for the --where (-W) flag for showing where a task is defined.
1220
+
1221
+ * Fixed quoting in test task.
1222
+ (http://onestepback.org/redmine/issues/show/44,
1223
+ http://www.pivotaltracker.com/story/show/1223138)
1224
+
1225
+ * Fixed the silent option parsing problem.
1226
+ (http://onestepback.org/redmine/issues/show/47)
1227
+
1228
+ * Fixed :verbose=>false flag on sh and ruby commands.
1229
+
1230
+ * Rake command line options may be given by default in a RAKEOPT
1231
+ environment variable.
1232
+
1233
+ * Errors in Rake will now display the task invocation chain in effect
1234
+ at the time of the error.
1235
+
1236
+ * Accepted change by warnickr to not expand test patterns in shell
1237
+ (allowing more files in the test suite).
1238
+
1239
+ * Fixed that file tasks did not perform prereq lookups in scope
1240
+ (Redmine #57).
1241
+
1242
+ ==== Thanks
1243
+
1244
+ As usual, it was input from users that drove a alot of these changes. The
1245
+ following people either contributed patches, made suggestions or made
1246
+ otherwise helpful comments. Thanks to ...
1247
+
1248
+ * James M. Lawrence (quix)
1249
+ * Roger Pack
1250
+ * Cezary Baginski
1251
+ * Sean Scot August Moon
1252
+ * R.T. Lechow
1253
+ * Alex Chaffee
1254
+ * James Tucker
1255
+ * Matthias Lüdtke
1256
+ * Santiago Pastorino
1257
+
1258
+ Also, bit thanks to Eric Hodel for assisting with getting this release
1259
+ out the door (where "assisting" includes, but is not by any means
1260
+ limited to, "pushing" me to get it done).
1261
+
1262
+ -- Jim Weirich
1263
+
1264
+
1265
+ === 0.8.7
1266
+
1267
+ Rake version 0.8.5 introduced greatly improved support for executing
1268
+ commands on Windows. The "sh" command now has the same semantics on
1269
+ Windows that it has on Unix based platforms.
1270
+
1271
+ Rake version 0.8.6 includes minor fixes the the RDoc generation.
1272
+ Rake version 0.8.7 includes a minor fix for JRuby running on windows.
1273
+
1274
+ ==== Changes
1275
+
1276
+ ===== New Features / Enhancements in Version 0.8.5
1277
+
1278
+ * Improved implementation of the Rake system command for Windows.
1279
+ (patch from James M. Lawrence/quix)
1280
+
1281
+ * Support for Ruby 1.9's improved system command. (patch from James
1282
+ M. Lawrence/quix)
1283
+
1284
+ * Rake now includes the configured extension when invoking an
1285
+ executable (Config::CONFIG['EXEEXT])
1286
+
1287
+ ===== Bug Fixes in Version 0.8.5
1288
+
1289
+ * Environment variable keys are now correctly cased (it matters in
1290
+ some implementations).
1291
+
1292
+ ==== Thanks
1293
+
1294
+ As usual, it was input from users that drove a alot of these changes. The
1295
+ following people either contributed patches, made suggestions or made
1296
+ otherwise helpful comments. Thanks to ...
1297
+
1298
+ * Charles Nutter
1299
+
1300
+ -- Jim Weirich
1301
+
1302
+ === 0.8.6
1303
+
1304
+ Rake version 0.8.5 introduced greatly improved support for executing
1305
+ commands on Windows. The "sh" command now has the same semantics on
1306
+ Windows that it has on Unix based platforms.
1307
+
1308
+ Rake version 0.8.5 includes minor fixes the the RDoc generation.
1309
+
1310
+ ==== Thanks
1311
+
1312
+ As usual, it was input from users that drove a alot of these changes. The
1313
+ following people either contributed patches, made suggestions or made
1314
+ otherwise helpful comments. Thanks to ...
1315
+
1316
+ * James M. Lawrence/quix
1317
+ * Luis Lavena
1318
+
1319
+ -- Jim Weirich
1320
+
1321
+ === 0.8.5
1322
+
1323
+ Rake version 0.8.5 is a new release of Rake with greatly improved
1324
+ support for executing commands on Windows. The "sh" command now has
1325
+ the same semantics on Windows that it has on Unix based platforms.
1326
+
1327
+ ==== Changes
1328
+
1329
+ ===== New Features / Enhancements in Version 0.8.5
1330
+
1331
+ * Improved implementation of the Rake system command for Windows.
1332
+ (patch from James M. Lawrence/quix)
1333
+
1334
+ * Support for Ruby 1.9's improved system command. (patch from James
1335
+ M. Lawrence/quix)
1336
+
1337
+ * Rake now includes the configured extension when invoking an
1338
+ executable (Config::CONFIG['EXEEXT])
1339
+
1340
+ ===== Bug Fixes in Version 0.8.5
1341
+
1342
+ * Environment variable keys are now correctly cased (it matters in
1343
+ some implementations).
1344
+
1345
+ ==== Thanks
1346
+
1347
+ As usual, it was input from users that drove a alot of these changes. The
1348
+ following people either contributed patches, made suggestions or made
1349
+ otherwise helpful comments. Thanks to ...
1350
+
1351
+ * James M. Lawrence/quix
1352
+ * Luis Lavena
1353
+
1354
+ -- Jim Weirich
1355
+
1356
+ === 0.8.4
1357
+
1358
+ Rake version 0.8.4 is a bug-fix release of rake.
1359
+
1360
+ NOTE: The version of Rake that comes with Ruby 1.9 has diverged
1361
+ slightly from the core Rake code base. Rake 0.8.4 will work
1362
+ with Ruby 1.9, but is not a strict upgrade for the Rake that
1363
+ comes with Ruby 1.9. A (near) future release of Rake will unify
1364
+ those two codebases.
1365
+
1366
+ ==== Letter Writing Campaign
1367
+
1368
+ Thanks to Aaron Patterson (@tenderlove) and Eric Hodel (@drbrain) for
1369
+ their encouraging support in organizing a letter writing campaign to
1370
+ lobby for the "Warning Free" release of rake 0.8.4. A special callout
1371
+ goes to Jonathan D. Lord, Sr (Dr. Wingnut) whose postcard was the
1372
+ first to actually reach me. (see
1373
+ http://tenderlovemaking.com/2009/02/26/we-need-a-new-version-of-rake/
1374
+ for details)
1375
+
1376
+ ==== Changes
1377
+
1378
+ ===== New Features / Enhancements in Version 0.8.4
1379
+
1380
+ * Case is preserved on rakefile names. (patch from James
1381
+ M. Lawrence/quix)
1382
+
1383
+ * Improved Rakefile case insensitivity testing (patch from Luis
1384
+ Lavena).
1385
+
1386
+ * Windows system dir search order is now: HOME, HOMEDRIVE + HOMEPATH,
1387
+ APPDATA, USERPROFILE (patch from Luis Lavena)
1388
+
1389
+ * MingGW is now recognized as a windows platform. (patch from Luis
1390
+ Lavena)
1391
+
1392
+ ===== Bug Fixes in Version 0.8.4
1393
+
1394
+ * Removed reference to manage_gem to fix the warning produced by the
1395
+ gem package task.
1396
+
1397
+ * Fixed stray ARGV option problem that was interfering with
1398
+ Test::Unit::Runner. (patch from Pivotal Labs)
1399
+
1400
+ ===== Infrastructure Improvements in Version 0.8.4
1401
+
1402
+ * Numerous fixes to the windows test suite (patch from Luis Lavena).
1403
+
1404
+ * Improved Rakefile case insensitivity testing (patch from Luis
1405
+ Lavena).
1406
+
1407
+ * Better support for windows paths in the test task (patch from Simon
1408
+ Chiang/bahuvrihi)
1409
+
1410
+ ==== Thanks
1411
+
1412
+ As usual, it was input from users that drove a alot of these changes. The
1413
+ following people either contributed patches, made suggestions or made
1414
+ otherwise helpful comments. Thanks to ...
1415
+
1416
+ * James M. Lawrence/quix
1417
+ * Luis Lavena
1418
+ * Pivotal Labs
1419
+ * Simon Chiang/bahuvrihi
1420
+
1421
+ -- Jim Weirich
1422
+
1423
+ === 0.8.3
1424
+
1425
+ Rake version 0.8.3 is a bug-fix release of rake.
1426
+
1427
+ ==== Changes
1428
+
1429
+ ===== Bug Fixes in Version 0.8.3
1430
+
1431
+ * Enhanced the system directory detection in windows. We now check
1432
+ HOMEDRIVE/HOMEPATH and USERPROFILE if APPDATA isn't found. (Patch
1433
+ supplied by James Tucker). Rake no long aborts if it can't find the
1434
+ directory.
1435
+
1436
+ * Added fix to handle ruby installations in directories with spaces in
1437
+ their name.
1438
+
1439
+ ==== Thanks
1440
+
1441
+ As usual, it was input from users that drove a alot of these changes. The
1442
+ following people either contributed patches, made suggestions or made
1443
+ otherwise helpful comments. Thanks to ...
1444
+
1445
+ * Edwin Pratomo
1446
+ * Gavin Stark
1447
+ * Adam Q. Salter
1448
+ * Adam Majer
1449
+ * Emanuel Indermühle
1450
+ * Ittay Dror
1451
+ * Bheeshmar Redheendran (for spending an afternoon with me debugging
1452
+ windows issues)
1453
+
1454
+ -- Jim Weirich
1455
+
1456
+
1457
+ === 0.8.2
1458
+
1459
+ Rake version 0.8.2 is a new release of rake that includes a number of
1460
+ new features and numerous bug fixes.
1461
+
1462
+ ==== Changes
1463
+
1464
+ ===== New Features in Version 0.8.2
1465
+
1466
+ * Switched from getoptlong to optparse (patches supplied by Edwin
1467
+ Pratomo).
1468
+
1469
+ * The -T option will now attempt to dynamically sense the size of the
1470
+ terminal. The -T output will only self-truncate if the output is a
1471
+ tty. However, if RAKE_COLUMNS is explicitly set, it will be honored
1472
+ in any case. (Patch provided by Gavin Stark).
1473
+
1474
+ * The following public methods have been added to rake task objects:
1475
+
1476
+ * task.clear -- Clear both the prerequisites and actions of the
1477
+ target rake task.
1478
+ * task.clear_prerequisites -- Clear all the existing prerequisites
1479
+ from the target rake task.
1480
+ * task.clear_actions -- Clear all the existing actions from the
1481
+ target rake task.
1482
+ * task.reenable -- Re-enable a task, allowing its actions to be
1483
+ executed again if the task is invoked.
1484
+
1485
+ * Changed RDoc test task to have no default template. This makes it
1486
+ easier for the tempate to pick up the template from the environment.
1487
+
1488
+ * Default values for task arguments can easily be specified with the
1489
+ :with_defaults method. (Idea for default argument merging supplied
1490
+ by (Adam Q. Salter)
1491
+
1492
+ ===== Bug Fixes in Version 0.8.2
1493
+
1494
+ * Fixed bug in package task so that it will include the subdir
1495
+ directory in the package for testing. (Bug found by Adam Majer)
1496
+
1497
+ * Fixed filename dependency order bug in test\_inspect\_pending and
1498
+ test\_to\_s\_pending. (Bug found by Adam Majer)
1499
+
1500
+ * Fixed check for file utils options to make them immune to the
1501
+ symbol/string differences. (Patch supplied by Edwin Pratomo)
1502
+
1503
+ * Fixed bug with rules involving multiple source, where only the first
1504
+ dependency of a rule has any effect (Patch supplied by Emanuel
1505
+ Indermühle)
1506
+
1507
+ * FileList#clone and FileList#dup have better sematics w.r.t. taint
1508
+ and freeze.
1509
+
1510
+ * Changed from using Mutex to Monitor. Evidently Mutex causes thread
1511
+ join errors when Ruby is compiled with -disable-pthreads. (Patch
1512
+ supplied by Ittay Dror)
1513
+
1514
+ * Fixed bug in makefile parser that had problems with extra spaces in
1515
+ file task names. (Patch supplied by Ittay Dror)
1516
+
1517
+ ==== Other changes in Version 0.8.2
1518
+
1519
+ * Added ENV var to rake's own Rakefile to prevent OS X from including
1520
+ extended attribute junk in the rake package tar file. (Bug found by
1521
+ Adam Majer)
1522
+
1523
+ * Added a performance patch for reading large makefile dependency
1524
+ files. (Patch supplied by Ittay Dror)
1525
+
1526
+ ==== Task Argument Examples
1527
+
1528
+ Prior to version 0.8.0, rake was only able to handle command line
1529
+ arguments of the form NAME=VALUE that were passed into Rake via the
1530
+ ENV hash. Many folks had asked for some kind of simple command line
1531
+ arguments, perhaps using "--" to separate regular task names from
1532
+ argument values on the command line. The problem is that there was no
1533
+ easy way to associate positional arguments on the command line with
1534
+ different tasks. Suppose both tasks :a and :b expect a command line
1535
+ argument: does the first value go with :a? What if :b is run first?
1536
+ Should it then get the first command line argument.
1537
+
1538
+ Rake 0.8.0 solves this problem by explicitly passing values directly
1539
+ to the tasks that need them. For example, if I had a release task
1540
+ that required a version number, I could say:
1541
+
1542
+ rake release[0.8.2]
1543
+
1544
+ And the string "0.8.2" will be passed to the :release task. Multiple
1545
+ arguments can be passed by separating them with a comma, for example:
1546
+
1547
+ rake name[john,doe]
1548
+
1549
+ Just a few words of caution. The rake task name and its arguments
1550
+ need to be a single command line argument to rake. This generally
1551
+ means no spaces. If spaces are needed, then the entire rake +
1552
+ argument string should be quoted. Something like this:
1553
+
1554
+ rake "name[billy bob, smith]"
1555
+
1556
+ (Quoting rules vary between operating systems and shells, so make sure
1557
+ you consult the proper docs for your OS/shell).
1558
+
1559
+ ===== Tasks that Expect Parameters
1560
+
1561
+ Parameters are only given to tasks that are setup to expect them. In
1562
+ order to handle named parameters, the task declaration syntax for
1563
+ tasks has been extended slightly.
1564
+
1565
+ For example, a task that needs a first name and last name might be
1566
+ declared as:
1567
+
1568
+ task :name, :first_name, :last_name
1569
+
1570
+ The first argument is still the name of the task (:name in this case).
1571
+ The next to argumements are the names of the parameters expected by
1572
+ :name (:first_name and :last_name in the example).
1573
+
1574
+ To access the values of the parameters, the block defining the task
1575
+ behaviour can now accept a second parameter:
1576
+
1577
+ task :name, :first_name, :last_name do |t, args|
1578
+ puts "First name is #{args.first_name}"
1579
+ puts "Last name is #{args.last_name}"
1580
+ end
1581
+
1582
+ The first argument of the block "t" is always bound to the current
1583
+ task object. The second argument "args" is an open-struct like object
1584
+ that allows access to the task arguments. Extra command line
1585
+ arguments to a task are ignored. Missing command line arguments are
1586
+ given the nil value.
1587
+
1588
+ ==== Thanks
1589
+
1590
+ As usual, it was input from users that drove a alot of these changes. The
1591
+ following people either contributed patches, made suggestions or made
1592
+ otherwise helpful comments. Thanks to ...
1593
+
1594
+ * Edwin Pratomo
1595
+ * Gavin Stark
1596
+ * Adam Q. Salter
1597
+ * Adam Majer
1598
+ * Emanuel Indermühle
1599
+ * Ittay Dror
1600
+ * Bheeshmar Redheendran (for spending an afternoon with me debugging
1601
+ windows issues)
1602
+
1603
+ -- Jim Weirich
1604
+
1605
+ === 0.8.0/0.8.1
1606
+
1607
+ Rake version 0.8.0 is a new release of rake that includes serveral new
1608
+ features.
1609
+
1610
+ ==== Changes
1611
+
1612
+ ===== New Features in Version 0.8.0
1613
+
1614
+ * Tasks can now receive command line parameters. See the examples
1615
+ below for more details.
1616
+
1617
+ * Comments are limited to 80 columns on output, but full comments can
1618
+ be seen by using the -D parameter. (feature suggested by Jamis
1619
+ Buck).
1620
+
1621
+ * Explicit exit(n) calls will now set the exit status to n. (patch
1622
+ provided by Stephen Touset).
1623
+
1624
+ * Rake is now compatible with Ruby 1.9.
1625
+
1626
+ Version 0.8.1 is a minor update that includes additional Ruby 1.9
1627
+ compatibility fixes.
1628
+
1629
+ ==== Task Argument Examples
1630
+
1631
+ Prior to version 0.8.0, rake was only able to handle command line
1632
+ arguments of the form NAME=VALUE that were passed into Rake via the
1633
+ ENV hash. Many folks had asked for some kind of simple command line
1634
+ arguments, perhaps using "--" to separate regular task names from
1635
+ argument values on the command line. The problem is that there was no
1636
+ easy way to associate positional arguments on the command line with
1637
+ different tasks. Suppose both tasks :a and :b expect a command line
1638
+ argument: does the first value go with :a? What if :b is run first?
1639
+ Should it then get the first command line argument.
1640
+
1641
+ Rake 0.8.0 solves this problem by explicitly passing values directly
1642
+ to the tasks that need them. For example, if I had a release task
1643
+ that required a version number, I could say:
1644
+
1645
+ rake release[0.8.0]
1646
+
1647
+ And the string "0.8.0" will be passed to the :release task. Multiple
1648
+ arguments can be passed by separating them with a comma, for example:
1649
+
1650
+ rake name[john,doe]
1651
+
1652
+ Just a few words of caution. The rake task name and its arguments
1653
+ need to be a single command line argument to rake. This generally
1654
+ means no spaces. If spaces are needed, then the entire rake +
1655
+ argument string should be quoted. Something like this:
1656
+
1657
+ rake "name[billy bob, smith]"
1658
+
1659
+ (Quoting rules vary between operating systems and shells, so make sure
1660
+ you consult the proper docs for your OS/shell).
1661
+
1662
+ ===== Tasks that Expect Parameters
1663
+
1664
+ Parameters are only given to tasks that are setup to expect them. In
1665
+ order to handle named parameters, the task declaration syntax for
1666
+ tasks has been extended slightly.
1667
+
1668
+ For example, a task that needs a first name and last name might be
1669
+ declared as:
1670
+
1671
+ task :name, :first_name, :last_name
1672
+
1673
+ The first argument is still the name of the task (:name in this case).
1674
+ The next to argumements are the names of the parameters expected by
1675
+ :name (:first_name and :last_name in the example).
1676
+
1677
+ To access the values of the parameters, the block defining the task
1678
+ behaviour can now accept a second parameter:
1679
+
1680
+ task :name, :first_name, :last_name do |t, args|
1681
+ puts "First name is #{args.first_name}"
1682
+ puts "Last name is #{args.last_name}"
1683
+ end
1684
+
1685
+ The first argument of the block "t" is always bound to the current
1686
+ task object. The second argument "args" is an open-struct like object
1687
+ that allows access to the task arguments. Extra command line
1688
+ arguments to a task are ignored. Missing command line arguments are
1689
+ given the nil value.
1690
+
1691
+ ==== Thanks
1692
+
1693
+ As usual, it was input from users that drove a alot of these changes. The
1694
+ following people either contributed patches, made suggestions or made
1695
+ otherwise helpful comments. Thanks to ...
1696
+
1697
+ * Jamis Buck (for comment formatting suggestions)
1698
+ * Stephen Touset (for exit status patch).
1699
+
1700
+ -- Jim Weirich
1701
+
1702
+
1703
+ === 0.7.3
1704
+
1705
+ Rake version 0.7.3 is a minor release that includes some refactoring to better
1706
+ support custom Rake applications.
1707
+
1708
+ ==== Changes
1709
+
1710
+ ===== New Features in Version 0.7.3
1711
+
1712
+ * Added the +init+ and +top_level+ methods to make the creation of custom Rake applications a bit easier. E.g.
1713
+
1714
+ gem 'rake', ">= 0.7.3"
1715
+ require 'rake'
1716
+
1717
+ Rake.application.init('myrake')
1718
+
1719
+ task :default do
1720
+ something_interesting
1721
+ end
1722
+
1723
+ Rake.application.top_level
1724
+
1725
+ ==== Thanks
1726
+
1727
+ As usual, it was input from users that drove a alot of these changes. The
1728
+ following people either contributed patches, made suggestions or made
1729
+ otherwise helpful comments. Thanks to ...
1730
+
1731
+ -- Jim Weirich
1732
+
1733
+
1734
+ === 0.7.2
1735
+
1736
+
1737
+ Version 0.7.2 supplies a bug fix and a few minor enhancements. In
1738
+ particular, the new version fixes an incompatibility with the soon to
1739
+ be released Ruby 1.8.6. We strongly recommend upgrading to Rake 0.7.2
1740
+ in order to be compatible with the new version of Ruby.
1741
+
1742
+ ==== Changes
1743
+
1744
+ ===== Bug Fixes in 0.7.2
1745
+
1746
+ There are quite a number of bug fixes in the new 0.7.2 version of
1747
+ Rake:
1748
+
1749
+ * Removed dependency on internal fu_xxx functions from FileUtils.
1750
+
1751
+ * Error messages are now send to stderr rather than stdout (from
1752
+ Payton Quackenbush).
1753
+
1754
+ * Better error handling on invalid command line arguments (from Payton
1755
+ Quackenbush).
1756
+
1757
+ * Fixed some bugs where the application object was going to the global
1758
+ appliation instead of using its own data.
1759
+
1760
+ * Fixed the method name leak from FileUtils (bug found by Glenn
1761
+ Vanderburg).
1762
+
1763
+ * Added test for noop, bad_option and verbose flags to sh command.
1764
+
1765
+ * Added a description to the gem task in GemPackageTask.
1766
+
1767
+ * Fixed a bug when rules have multiple prerequisites (patch by Joel
1768
+ VanderWerf)
1769
+
1770
+ * Added the handful of RakeFileUtils to the private method as well.
1771
+
1772
+ ===== New Features in 0.7.2
1773
+
1774
+ The following new features are available in Rake version 0.7.2:
1775
+
1776
+ * Added square and curly bracket patterns to FileList#include (Tilman
1777
+ Sauerbeck).
1778
+
1779
+ * FileLists can now pass a block to FileList#exclude to exclude files
1780
+ based on calculated values.
1781
+
1782
+ * Added plain filename support to rule dependents (suggested by Nobu
1783
+ Nakada).
1784
+
1785
+ * Added pathmap support to rule dependents. In other words, if a
1786
+ pathmap format (beginning with a '%') is given as a Rake rule
1787
+ dependent, then the name of the depend will be the name of the
1788
+ target with the pathmap format applied.
1789
+
1790
+ * Added a 'tasks' method to a namespace to get a list of tasks
1791
+ associated with the namespace.
1792
+
1793
+ * Added tar_command and zip_command options to the Package task.
1794
+
1795
+ * The clean task will no longer delete 'core' if it is a directory.
1796
+
1797
+ ===== Internal Rake Improvements
1798
+
1799
+ The following changes will are mainly internal improvements and
1800
+ refactorings and have little effect on the end user. But they may be
1801
+ of interest to the general public.
1802
+
1803
+ * Added rcov task and updated unit testing for better code coverage.
1804
+
1805
+ * Added a 'shame' task to the Rakefile.
1806
+
1807
+ * Added rake_extension to handle detection of extension collisions.
1808
+
1809
+ * Added a protected 'require "rubygems"' to test/test_application to
1810
+ unbreak cruisecontrol.rb.
1811
+
1812
+ * Removed rake\_dup. Now we just simply rescue a bad dup.
1813
+
1814
+ * Refactored the FileList reject logic to remove duplication.
1815
+
1816
+ * Removed if \_\_FILE\_\_ at the end of the rake.rb file.
1817
+
1818
+ ==== Thanks
1819
+
1820
+ As usual, it was input from users that drove a alot of these changes.
1821
+ The following people either contributed patches, made suggestions or
1822
+ made otherwise helpful comments. Thanks to ...
1823
+
1824
+ * Payton Quackenbush -- For several error handling improvements.
1825
+
1826
+ * Glenn Vanderburg -- For finding and fixing the method name leak from
1827
+ FileUtils.
1828
+
1829
+ * Joel VanderWerf -- for finding and fixing a bug in the handling of
1830
+ multiple prerequisites.
1831
+
1832
+ * Tilman Sauerbeck -- For some enhancing FileList to support more
1833
+ advanced file globbing.
1834
+
1835
+ * Nobu Nakada -- For suggesting plain file name support to rule dependents.
1836
+
1837
+ -- Jim Weirich
1838
+
1839
+ === 0.7.1
1840
+
1841
+ Version 0.7.1 supplies a bug fix and a few minor enhancements.
1842
+
1843
+ ==== Changes
1844
+
1845
+ ===== Bug Fixes in 0.7.1
1846
+
1847
+ * Changes in the exception reported for the FileUtils.ln caused
1848
+ safe_ln to fail with a NotImplementedError. Rake 0.7.1 will now
1849
+ catch that error or any StandardError and properly fall back to
1850
+ using +cp+.
1851
+
1852
+ ===== New Features in 0.7.1
1853
+
1854
+ * You can filter the results of the --task option by supplying an
1855
+ optional regular expression. This allows the user to easily find a
1856
+ particular task name in a long list of possible names.
1857
+
1858
+ * Transforming procs in a rule may now return a list of prerequisites.
1859
+ This allows more flexible rule formation.
1860
+
1861
+ * FileList and String now support a +pathmap+ melthod that makes the
1862
+ transforming paths a bit easier. See the API docs for +pathmap+ for
1863
+ details.
1864
+
1865
+ * The -f option without a value will disable the search for a
1866
+ Rakefile. This allows the Rakefile to be defined entirely in a
1867
+ library (and loaded with the -r option). The current working
1868
+ directory is not changed when this is done.
1869
+
1870
+ ==== Thanks
1871
+
1872
+ As usual, it was input from users that drove a alot of these changes.
1873
+ The following people either contributed patches, made suggestions or
1874
+ made otherwise helpful comments. Thanks to ...
1875
+
1876
+ * James Britt and Assaph Mehr for reporting and helping to debug the
1877
+ safe_ln issue.
1878
+
1879
+ -- Jim Weirich
1880
+
1881
+
1882
+ === 0.7.0
1883
+
1884
+ These changes for Rake have been brewing for a long time. Here they
1885
+ are, I hope you enjoy them.
1886
+
1887
+ ==== Changes
1888
+
1889
+ ===== New Features
1890
+
1891
+ * Name space support for task names (see below).
1892
+ * Prerequisites can be executed in parallel (see below).
1893
+ * Added safe_ln support for openAFS (via Ludvig Omholt).
1894
+ * RDoc defaults to internal (in-process) invocation. The old behavior
1895
+ is still available by setting the +external+ flag to true.
1896
+ * Rakefiles are now loaded with the expanded path to prevent
1897
+ accidental pollution from the Ruby load path.
1898
+ * Task objects my now be used in prerequisite lists directly.
1899
+ * Task objects (in addition to task names) may now be included in the
1900
+ prerequisite list of a task.
1901
+ * Internals cleanup and refactoring.
1902
+
1903
+ ===== Bug Fixes
1904
+
1905
+ * Compatibility fixes for Ruby 1.8.4 FileUtils changes.
1906
+
1907
+ ===== Namespaces
1908
+
1909
+ Tasks can now be nested inside their own namespaces. Tasks within one
1910
+ namespace will not accidentally interfer with tasks named in a different
1911
+ namespace.
1912
+
1913
+ For example:
1914
+
1915
+ namespace "main" do
1916
+ task :build do
1917
+ # Build the main program
1918
+ end
1919
+ end
1920
+
1921
+ namespace "samples" do
1922
+ task :build do
1923
+ # Build the sample programs
1924
+ end
1925
+ end
1926
+
1927
+ task :build_all => ["main:build", "samples:build"]
1928
+
1929
+ Even though both tasks are named :build, they are separate tasks in
1930
+ their own namespaces. The :build_all task (defined in the toplevel
1931
+ namespace) references both build tasks in its prerequisites.
1932
+
1933
+ You may invoke each of the individual build tasks with the following
1934
+ commands:
1935
+
1936
+ rake main:build
1937
+ rake samples:build
1938
+
1939
+ Or invoke both via the :build_all command:
1940
+
1941
+ rake build_all
1942
+
1943
+ Namespaces may be nested arbitrarily. Since the name of file tasks
1944
+ correspond to the name of a file in the external file system,
1945
+ FileTasks are not affected by the namespaces.
1946
+
1947
+ See the Rakefile format documentation (in the Rake API documents) for
1948
+ more information.
1949
+
1950
+ ===== Parallel Tasks
1951
+
1952
+ Sometimes you have several tasks that can be executed in parallel. By
1953
+ specifying these tasks as prerequisites to a +multitask+ task.
1954
+
1955
+ In the following example the tasks copy\_src, copy\_doc and copy\_bin
1956
+ will all execute in parallel in their own thread.
1957
+
1958
+ multitask :copy_files => [:copy_src, :copy_doc, :copy_bin] do
1959
+ puts "All Copies Complete"
1960
+ end
1961
+
1962
+ ==== Thanks
1963
+
1964
+ As usual, it was input from users that drove a alot of these changes.
1965
+ The following people either contributed patches, made suggestions or
1966
+ made otherwise helpful comments. Thanks to ...
1967
+
1968
+ * Doug Young (inspiration for the parallel task)
1969
+ * David Heinemeier Hansson (for --trace message enhancement and for
1970
+ pushing for namespace support).
1971
+ * Ludvig Omholt (for the openAFS fix)
1972
+
1973
+ -- Jim Weirich
1974
+
1975
+ === 0.6.1
1976
+
1977
+ * Rebuilt 0.6.0 gem without signing.
1978
+
1979
+ === 0.6.0
1980
+
1981
+ Its time for some long requested enhancements and lots of bug fixes
1982
+ ... And a whole new web page.
1983
+
1984
+ ==== New Web Page
1985
+
1986
+ The primary documentation for rake has moved from the RubyForge based
1987
+ wiki to its own Hieraki based web site. Constant spam on the wiki
1988
+ made it a difficult to keep clean. The new site will be easier to
1989
+ update and organize.
1990
+
1991
+ Check out the new documentation at: http://docs.rubyrake.org
1992
+
1993
+ We will be adding new documentation to the site as time goes on.
1994
+
1995
+ In addition to the new docs page, make sure you check out Martin
1996
+ Fowlers article on rake at http://martinfowler.com/articles/rake.html
1997
+
1998
+ ==== Changes
1999
+
2000
+ ===== New Features
2001
+
2002
+ * Multiple prerequisites on Rake rules now allowed. However, keep the
2003
+ following in mind:
2004
+
2005
+ 1. All the prerequisites of a rule must be available before a rule
2006
+ is triggered, where "enabled" means (a) an existing file, (b) a
2007
+ defined rule, or (c) another rule which also must be
2008
+ trigger-able.
2009
+ 2. Rules are checked in order of definition, so it is important to
2010
+ order your rules properly. If a file can be created by two
2011
+ different rules, put the more specific rule first (otherwise the
2012
+ more general rule will trigger first and the specific one will
2013
+ never be triggered).
2014
+ 3. The <tt>source</tt> method now returns the name of the first
2015
+ prerequisite listed in the rule. <tt>sources</tt> returns the
2016
+ names of all the rule prerequisites, ordered as they are defined
2017
+ in the rule. If the task has other prerequisites not defined in
2018
+ the rule (but defined in an explicit task definition), then they
2019
+ will _not_ be included in the sources list.
2020
+
2021
+ * FileLists may now use the egrep command. This popular enhancement
2022
+ is now a core part of the FileList object. If you want to get a
2023
+ list of all your to-dos, fixmes and TBD comments, add the following
2024
+ to your Rakefile.
2025
+
2026
+ desc "Look for TODO and FIXME tags in the code"
2027
+ task :todo do
2028
+ FileList['**/*.rb'].egrep /#.*(FIXME|TODO|TBD)/
2029
+ end
2030
+
2031
+ * The <tt>investigation</tt> method was added to task object to dump
2032
+ out some important values. This makes it a bit easier to debug Rake
2033
+ tasks.
2034
+
2035
+ For example, if you are having problems with a particular task, just
2036
+ print it out:
2037
+
2038
+ task :huh do
2039
+ puts Rake::Task['huh'].investigation
2040
+ end
2041
+
2042
+ * The Rake::TestTask class now supports a "ruby\_opts" option to pass
2043
+ arbitrary ruby options to a test subprocess.
2044
+
2045
+ ===== Some Incompatibilities
2046
+
2047
+ * When using the <tt>ruby</tt> command to start a Ruby subprocess, the
2048
+ Ruby interpreter that is currently running rake is used by default.
2049
+ This makes it easier to use rake in an environment with multiple
2050
+ ruby installation. (Previously, the first ruby command found in the
2051
+ PATH was used).
2052
+
2053
+ If you wish to chose a different Ruby interpreter, you can
2054
+ explicitly choose the interpreter via the <tt>sh</tt> command.
2055
+
2056
+ * The major rake classes (Task, FileTask, FileCreationTask, RakeApp)
2057
+ have been moved out of the toplevel scope and are now accessible as
2058
+ Rake::Task, Rake::FileTask, Rake::FileCreationTask and
2059
+ Rake::Application. If your Rakefile
2060
+ directly references any one of these tasks, you may:
2061
+
2062
+ 1. Update your Rakefile to use the new classnames
2063
+ 2. Use the --classic-namespace option on the rake command to get the
2064
+ old behavior,
2065
+ 3. Add <code>require 'rake/classic_namespace'</code> to the
2066
+ Rakefile to get the old behavior.
2067
+
2068
+ <tt>rake</tt> will print a rather annoying warning whenever a
2069
+ deprecated class name is referenced without enabling classic
2070
+ namespace.
2071
+
2072
+ ===== Bug Fixes
2073
+
2074
+ * Several unit tests and functional tests were fixed to run better
2075
+ under windows.
2076
+
2077
+ * Directory tasks are now a specialized version of a File task. A
2078
+ directory task will only be triggered if it doesn't exist. It will
2079
+ not be triggered if it is out of date w.r.t. any of its
2080
+ prerequisites.
2081
+
2082
+ * Fixed a bug in the Rake::GemPackageTask class so that the gem now
2083
+ properly contains the platform name.
2084
+
2085
+ * Fixed a bug where a prerequisite on a <tt>file</tt> task would cause
2086
+ an exception if the prerequisite did not exist.
2087
+
2088
+ ==== Thanks
2089
+
2090
+ As usual, it was input from users that drove a alot of these changes.
2091
+ The following people either contributed patches, made suggestions or
2092
+ made otherwise helpful comments. Thanks to ...
2093
+
2094
+ * Greg Fast (better ruby_opt test options)
2095
+ * Kelly Felkins (requested by better namespace support)
2096
+ * Martin Fowler (suggested Task.investigation)
2097
+ * Stuart Jansen (send initial patch for multiple prerequisites).
2098
+ * Masao Mutch (better support for non-ruby Gem platforms)
2099
+ * Philipp Neubeck (patch for file task exception fix)
2100
+
2101
+ -- Jim Weirich
2102
+
2103
+ === 0.5.4
2104
+
2105
+ Time for some minor bug fixes and small enhancements
2106
+
2107
+ ==== Changes
2108
+
2109
+ Here are the changes for version 0.5.4 ...
2110
+
2111
+ * Added double quotes to the test runner. This allows the location of
2112
+ the tests (and runner) to be in a directory path that contains
2113
+ spaces (e.g. "C:/Program Files/ruby/bin").
2114
+ * Added .svn to default ignore list. Now subversion project metadata
2115
+ is automatically ignored by Rake's FileList.
2116
+ * Updated FileList#include to support nested arrays and filelists.
2117
+ FileLists are flat lists of file names. Using a FileList in an
2118
+ include will flatten out the nested file names.
2119
+
2120
+ == Thanks
2121
+
2122
+ As usual, it was input from users that drove a alot of these changes.
2123
+ Thanks to ...
2124
+
2125
+ * Tilman Sauerbeck for the nested FileList suggestion.
2126
+ * Josh Knowles for pointing out the spaces in directory name problem.
2127
+
2128
+ -- Jim Weirich
2129
+
2130
+ === 0.5.3
2131
+
2132
+ Although it has only been two weeks since the last release, we have
2133
+ enough updates to the Rake program to make it time for another
2134
+ release.
2135
+
2136
+ ==== Changes
2137
+
2138
+ Here are the changes for version 0.5.3 ...
2139
+
2140
+ * FileLists have been extensively changed so that they mimic the
2141
+ behavior of real arrays even more closely. In particular,
2142
+ operations on FileLists that return a new collection (e.g. collect,
2143
+ reject) will now return a FileList rather than an array. In
2144
+ addition, several places where FileLists were not properly expanded
2145
+ before use have been fixed.
2146
+ * A method (+ext+) to simplify the handling of file extensions was
2147
+ added to String and to Array.
2148
+ * The 'testrb' script in test/unit tends to silently swallow syntax
2149
+ errors in test suites. Because of that, the default test loader is
2150
+ now a rake-provided script. You can still use 'testrb' by setting
2151
+ the loader flag in the test task to :testrb. (See the API documents
2152
+ for TestTask for all the loader flag values).
2153
+ * FileUtil methods (e.g. cp, mv, install) are now declared to be
2154
+ private. This will cut down on the interference with user defined
2155
+ methods of the same name.
2156
+ * Fixed the verbose flag in the TestTask so that the test code is
2157
+ controlled by the flag. Also shortened up some failure messages.
2158
+ (Thanks to Tobias Luetke for the suggestion).
2159
+ * Rules will now properly detect a task that can generate a source
2160
+ file. Previously rules would only consider source files that were
2161
+ already present.
2162
+ * Added an +import+ command that allows Rake to dynamically import
2163
+ dependendencies into a running Rake session. The +import+ command
2164
+ can run tasks to update the dependency file before loading them.
2165
+ Dependency files can be in rake or make format, allowing rake to
2166
+ work with tools designed to generate dependencies for make.
2167
+
2168
+ ==== Thanks
2169
+
2170
+ As usual, it was input from users that drove a alot of these changes.
2171
+ Thanks to ...
2172
+
2173
+ * Brian Gernhardt for the rules fix (especially for the patience to
2174
+ explain the problem to me until I got what he was talking about).
2175
+ * Stefan Lang for pointing out problems in the dark corners of the
2176
+ FileList implementation.
2177
+ * Alexey Verkhovsky pointing out the silently swallows syntax errors
2178
+ in tests.
2179
+ * Tobias Luetke for beautifying the test task output.
2180
+ * Sam Roberts for some of the ideas behind dependency loading.
2181
+
2182
+ -- Jim Weirich
2183
+
2184
+
2185
+ === 0.5.0
2186
+
2187
+ It has been a long time in coming, but we finally have a new version
2188
+ of Rake available.
2189
+
2190
+ ==== Changes
2191
+
2192
+ * Fixed documentation that was lacking the Rake module name (Tilman
2193
+ Sauerbeck).
2194
+ * Added tar.gz and tar.bz2 support to package task (Tilman Sauerbeck).
2195
+ * Recursive rules are now supported (Tilman Sauerbeck).
2196
+ * Added warning option for the Test Task (requested by Eric Hodel).
2197
+ * The jamis rdoc template is only used if it exists.
2198
+ * Added fix for Ruby 1.8.2 test/unit and rails problem.
2199
+ * Added contributed rake man file (Jani Monoses).
2200
+ * Added Brian Candler's fix for problems in --trace and --dry-run
2201
+ mode.
2202
+
2203
+ ==== Thanks
2204
+
2205
+ Lots of people provided input to this release. Thanks to Tilman
2206
+ Sauerbeck for numerous patches, documentation fixes and suggestions.
2207
+ And for also pushing me to get this release out. Also, thanks to
2208
+ Brian Candler for the finding and fixing --trace/dry-run fix. That
2209
+ was an obscure bug. Also to Eric Hodel for some good suggestions.
2210
+
2211
+ -- Jim Weirich
2212
+
2213
+ === 0.4.15
2214
+
2215
+ ==== Changes
2216
+
2217
+ Version 0.4.15 is a bug fix update for the Ruby 1.8.2 compatibility
2218
+ changes. This release includes:
2219
+
2220
+ * Fixed a bug that prevented the TESTOPTS flag from working with the
2221
+ revised for 1.8.2 test task.
2222
+ * Updated the docs on --trace to indicate that it also enables a full
2223
+ backtrace on errors.
2224
+ * Several fixes for new warnings generated.
2225
+
2226
+ ==== Mini-Roadmap
2227
+
2228
+ I will continue to issue Rake updates in the 0.4.xx series as new
2229
+ Ruby-1.8.2 issues become manifest. Once the codebase stabilizes, I
2230
+ will release a 0.5.0 version incorporating all the changes. If you
2231
+ are not using Ruby-1.8.2 and wish to avoid version churn, I recommend
2232
+ staying with a release prior to Rake-0.4.14.
2233
+
2234
+ === 0.4.14
2235
+
2236
+ Version 0.4.14 is a compatibility fix to allow Rake's test task to
2237
+ work under Ruby 1.8.2. A change in the Test::Unit autorun feature
2238
+ prevented Rake from running any tests. This release fixes the
2239
+ problem.
2240
+
2241
+ Rake 0.4.14 is the recommended release for anyone using Ruby 1.8.2.
2242
+
2243
+ === 0.4.13
2244
+
2245
+ * Fixed the dry-run flag so it is operating again.
2246
+ * Multiple arguments to sh and ruby commands will not be interpreted
2247
+ by the shell (patch provided by Jonathan Paisley).
2248
+
2249
+ === 0.4.12
2250
+
2251
+ * Added --silent (-s) to suppress the (in directory) rake message.
2252
+
2253
+ === 0.4.11
2254
+
2255
+ * Changed the "don't know how to rake" message (finally)
2256
+ * Changes references to a literal "Rakefile" to reference the global
2257
+ variable $rakefile (which contains the actual name of the rakefile).
2258
+
2259
+ === 0.4.10
2260
+
2261
+ * Added block support to the "sh" command, allowing users to take
2262
+ special actions on the result of the system call. E.g.
2263
+
2264
+ sh "shell_command" do |ok, res|
2265
+ puts "Program returned #{res.exitstatus}" if ! ok
2266
+ end
2267
+
2268
+ === 0.4.9
2269
+
2270
+ * Switched to Jamis Buck's RDoc template.
2271
+ * Removed autorequire from Rake's gem spec. This prevents the Rake
2272
+ libraries from loading while using rails.
2273
+
2274
+ === 0.4.8
2275
+
2276
+ * Added support for .rb versions of Rakefile.
2277
+ * Removed \\\n's from test task.
2278
+ * Fixed Ruby 1.9 compatibility issue with FileList.
2279
+
2280
+ === 0.4.7
2281
+
2282
+ * Fixed problem in FileList that caused Ruby 1.9 to go into infinite
2283
+ recursion. Since to_a was removed from Object, it does not need to
2284
+ added back into the list of methods to rewrite in FileList. (Thanks
2285
+ to Kent Sibilev for pointing this out).
2286
+
2287
+ === 0.4.6
2288
+ * Removed test version of ln in FileUtils that prevented safe_ln from
2289
+ using ln.
2290
+
2291
+ === 0.4.5
2292
+ * Upgraded comments in TestTask.
2293
+ * FileList to_s and inspect now automatically resolve pending changes.
2294
+ * FileList#exclude properly returns the FileList.
2295
+
2296
+ === 0.4.4
2297
+ * Fixed initialization problem with @comment.
2298
+ * Now using multi -r technique in TestTask. Switch Rakefile back to
2299
+ using the built-in test task macros because the rake runtime is no
2300
+ longer needed.
2301
+ * Added 'TEST=filename' and 'TESTOPTS=options' to the Test Task
2302
+ macros.
2303
+ * Allow a +test_files+ attribute in test tasks. This allows more
2304
+ flexibility in specifying test files.
2305
+
2306
+ === 0.4.3
2307
+ * Fixed Comment leakage.
2308
+
2309
+ === 0.4.2
2310
+ * Added safe_ln that falls back to a copy if a file link is not supported.
2311
+ * Package builder now uses safe\_ln.
2312
+
2313
+ === 0.4.1
2314
+ * Task comments are now additive, combined with "/".
2315
+ * Works with (soon to be released) rubygems 0.6.2 (or 0.7.0)
2316
+
2317
+ === 0.4.0
2318
+ * FileList now uses deferred loading. The file system is not searched
2319
+ until the first call that needs the file names.
2320
+ * VAR=VALUE options are now accepted on the command line and are
2321
+ treated like environment variables. The values may be tested in a
2322
+ Rakefile by referencing ENV['VAR'].
2323
+ * File.mtime is now used (instead of File.new().mtime).
2324
+
2325
+ === 0.3.2.x
2326
+
2327
+ * Removed some hidden dependencies on rubygems. Tests now will test
2328
+ gems only if they are installed.
2329
+ * Removed Sys from some example files. I believe that is that last
2330
+ reference to Sys outside of the contrib area.
2331
+ * Updated all copyright notices to include 2004.
2332
+
2333
+ === 0.3.2
2334
+
2335
+ * GEM Installation now works with the application stub.
2336
+
2337
+ === 0.3.1
2338
+
2339
+ * FileLists now automatically ignore CVS, .bak, !
2340
+ * GEM Installation now works.
2341
+
2342
+ === 0.3.0
2343
+
2344
+ Promoted 0.2.10.
2345
+
2346
+ === 0.2.10
2347
+ General
2348
+
2349
+ * Added title to Rake's rdocs
2350
+ * Contrib packages are no longer included in the documentation.
2351
+
2352
+ RDoc Issues
2353
+
2354
+ * Removed default for the '--main' option
2355
+ * Fixed rendering of the rdoc options
2356
+ * Fixed clean/clobber confusion with rerdoc
2357
+ * 'title' attribute added
2358
+
2359
+ Package Task Library Issues
2360
+
2361
+ * Version (or explicit :noversion) is required.
2362
+ * +package_file+ attribute is now writable
2363
+
2364
+ FileList Issues
2365
+
2366
+ * Dropped bang version of exclude. Now using ant-like include/exclude semantics.
2367
+ * Enabled the "yield self" idiom in FileList#initialize.
2368
+
2369
+ === 0.2.9
2370
+
2371
+ This version contains numerous changes as the RubyConf.new(2003)
2372
+ presentation was being prepared. The changes include:
2373
+
2374
+ * The monolithic rubyapp task library is in the process of being
2375
+ dropped in favor of lighter weight task libraries.
2376
+
2377
+ === 0.2.7
2378
+
2379
+ * Added "desc" for task descriptions.
2380
+ * -T will now display tasks with descriptions.
2381
+ * -P will display tasks and prerequisites.
2382
+ * Dropped the Sys module in favor of the 1.8.x FileUtils module. Sys
2383
+ is still supported in the contrib area.
2384
+
2385
+ === 0.2.6
2386
+
2387
+ * Moved to RubyForge
2388
+
2389
+ === 0.2.5
2390
+
2391
+ * Switched to standard ruby app builder.
2392
+ * Added no_match option to file matcher.
2393
+
2394
+ === 0.2.4
2395
+
2396
+ * Fixed indir, which neglected to actually change directories.
2397
+
2398
+ === 0.2.3
2399
+
2400
+ * Added rake module for a help target
2401
+ * Added 'for\_files' to Sys
2402
+ * Added a $rakefile constant
2403
+ * Added test for selecting proper rule with multiple targets.