rake 12.3.3

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