rake 13.0.0

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