rake 0.9.2 → 13.0.3

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