rake 11.1.2 → 11.2.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of rake might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/.gitignore +14 -0
- data/.rubocop.yml +0 -9
- data/.travis.yml +28 -0
- data/CONTRIBUTING.rdoc +3 -5
- data/Gemfile +3 -0
- data/History.rdoc +1770 -273
- data/Rakefile +15 -68
- data/appveyor.yml +24 -0
- data/bin/console +7 -0
- data/bin/setup +6 -0
- data/doc/release_notes/README.md +4 -0
- data/doc/release_notes/rake-0.7.3.rdoc +0 -0
- data/{bin → exe}/rake +0 -6
- data/lib/rake.rb +1 -3
- data/lib/rake/application.rb +3 -6
- data/lib/rake/cpu_counter.rb +3 -17
- data/lib/rake/file_utils.rb +22 -6
- data/lib/rake/packagetask.rb +12 -1
- data/lib/rake/rake_test_loader.rb +0 -1
- data/lib/rake/rule_recursion_overflow_error.rb +0 -1
- data/lib/rake/task.rb +3 -3
- data/lib/rake/task_arguments.rb +2 -1
- data/lib/rake/testtask.rb +5 -1
- data/lib/rake/thread_pool.rb +0 -1
- data/lib/rake/version.rb +2 -0
- data/rake.gemspec +30 -0
- metadata +21 -110
- data/.autotest +0 -7
- data/.togglerc +0 -7
- data/Manifest.txt +0 -154
- data/lib/rake/contrib/.document +0 -1
- data/rakelib/test_times.rake +0 -25
- data/test/file_creation.rb +0 -34
- data/test/helper.rb +0 -134
- data/test/support/rakefile_definitions.rb +0 -476
- data/test/support/ruby_runner.rb +0 -34
- data/test/test_private_reader.rb +0 -42
- data/test/test_rake.rb +0 -40
- data/test/test_rake_application.rb +0 -659
- data/test/test_rake_application_options.rb +0 -468
- data/test/test_rake_backtrace.rb +0 -119
- data/test/test_rake_clean.rb +0 -61
- data/test/test_rake_cpu_counter.rb +0 -68
- data/test/test_rake_definitions.rb +0 -84
- data/test/test_rake_directory_task.rb +0 -76
- data/test/test_rake_dsl.rb +0 -40
- data/test/test_rake_early_time.rb +0 -31
- data/test/test_rake_extension.rb +0 -59
- data/test/test_rake_file_creation_task.rb +0 -56
- data/test/test_rake_file_list.rb +0 -687
- data/test/test_rake_file_list_path_map.rb +0 -15
- data/test/test_rake_file_task.rb +0 -197
- data/test/test_rake_file_utils.rb +0 -318
- data/test/test_rake_ftp_file.rb +0 -74
- data/test/test_rake_functional.rb +0 -484
- data/test/test_rake_invocation_chain.rb +0 -64
- data/test/test_rake_late_time.rb +0 -18
- data/test/test_rake_linked_list.rb +0 -84
- data/test/test_rake_makefile_loader.rb +0 -46
- data/test/test_rake_multi_task.rb +0 -64
- data/test/test_rake_name_space.rb +0 -57
- data/test/test_rake_package_task.rb +0 -79
- data/test/test_rake_path_map.rb +0 -168
- data/test/test_rake_path_map_explode.rb +0 -34
- data/test/test_rake_path_map_partial.rb +0 -18
- data/test/test_rake_pathname_extensions.rb +0 -15
- data/test/test_rake_pseudo_status.rb +0 -21
- data/test/test_rake_rake_test_loader.rb +0 -20
- data/test/test_rake_reduce_compat.rb +0 -26
- data/test/test_rake_require.rb +0 -40
- data/test/test_rake_rules.rb +0 -388
- data/test/test_rake_scope.rb +0 -44
- data/test/test_rake_task.rb +0 -430
- data/test/test_rake_task_argument_parsing.rb +0 -119
- data/test/test_rake_task_arguments.rb +0 -134
- data/test/test_rake_task_manager.rb +0 -178
- data/test/test_rake_task_manager_argument_resolution.rb +0 -19
- data/test/test_rake_task_with_arguments.rb +0 -172
- data/test/test_rake_test_task.rb +0 -130
- data/test/test_rake_thread_pool.rb +0 -145
- data/test/test_rake_top_level_functions.rb +0 -71
- data/test/test_rake_win32.rb +0 -72
- data/test/test_thread_history_display.rb +0 -101
- data/test/test_trace_output.rb +0 -52
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: aeac69e843631df369749a2287d047c0b75a4607
|
4
|
+
data.tar.gz: b491ee28574dea7bbcfa86947c88c8b218601ab4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a80b69f72e72433fe60f3b787b1101e87f1e8e54e2c8284cb7d6938c20b772f8fa6a0a3b623e473264eba8aef484bc5a84c02d09fd9fe03e56f3999c683b999e
|
7
|
+
data.tar.gz: 462829ce7500375695ec2a6b554aa32ed7c1cc9d61c3a2d81912ec72e4c520cfe1aad6d3b45c1fb868c55c2bfa9aca387aa9df10dc7028e6e4719611dd600fec
|
data/.gitignore
ADDED
data/.rubocop.yml
CHANGED
data/.travis.yml
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
language: ruby
|
2
|
+
sudo: false
|
3
|
+
rvm:
|
4
|
+
- 1.9.3
|
5
|
+
- 2.0.0
|
6
|
+
- 2.1.10
|
7
|
+
- 2.2.5
|
8
|
+
- 2.3.1
|
9
|
+
- ruby-head
|
10
|
+
- jruby-1.7.20
|
11
|
+
- jruby-9.0.5.0
|
12
|
+
- jruby-9.1.0.0
|
13
|
+
- jruby-head
|
14
|
+
- rbx-2
|
15
|
+
- rbx
|
16
|
+
before_install:
|
17
|
+
- gem update bundler --no-document
|
18
|
+
before_script:
|
19
|
+
- unset JRUBY_OPTS
|
20
|
+
script: ruby -Ilib exe/rake
|
21
|
+
matrix:
|
22
|
+
allow_failures:
|
23
|
+
- rvm: jruby-head
|
24
|
+
- rvm: rbx
|
25
|
+
notifications:
|
26
|
+
email:
|
27
|
+
- hsbt@ruby-lang.org
|
28
|
+
- drbrain@segment7.net
|
data/CONTRIBUTING.rdoc
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
= Source Repository
|
2
2
|
|
3
3
|
Rake is currently hosted at github. The github web page is
|
4
|
-
|
4
|
+
https://github.com/ruby/rake . The public git clone URL is
|
5
5
|
|
6
6
|
git://github.com/ruby/rake.git
|
7
7
|
|
@@ -10,13 +10,12 @@ http://github.com/ruby/rake . The public git clone URL is
|
|
10
10
|
If you wish to run the unit and functional tests that come with Rake:
|
11
11
|
|
12
12
|
* +cd+ into the top project directory of rake.
|
13
|
-
* Install
|
13
|
+
* Install gem dependency using bundler:
|
14
14
|
|
15
|
-
|
15
|
+
bundle install # Install bundler, minitest and rdoc
|
16
16
|
|
17
17
|
* Type one of the following:
|
18
18
|
|
19
|
-
rake newb # If you have never run rake's tests
|
20
19
|
rake # If you have run rake's tests
|
21
20
|
|
22
21
|
= Issues and Bug Reports
|
@@ -35,4 +34,3 @@ When submitting pull requests please check the rake Travis-CI page for test
|
|
35
34
|
failures:
|
36
35
|
|
37
36
|
https://travis-ci.org/ruby/rake
|
38
|
-
|
data/Gemfile
ADDED
data/History.rdoc
CHANGED
@@ -1,3 +1,23 @@
|
|
1
|
+
=== 11.2.0 / 2016-06-11
|
2
|
+
|
3
|
+
Bug fixes:
|
4
|
+
|
5
|
+
* Fix unexpected cut-out behavior on task description using triple dots
|
6
|
+
and exclamation. Report #106 from Stephan Kämper and Pull request #134 by Lee
|
7
|
+
* Fix empty argument assignment with `with_defaults` option. Pull request #135
|
8
|
+
by bakunyo
|
9
|
+
* Ignore to use `hwprefs` on Darwin platform. Use sysctl now. Report #128
|
10
|
+
|
11
|
+
Enhancements:
|
12
|
+
|
13
|
+
* Spawn options for sh Pull equest #138 by Eric Hodel.
|
14
|
+
* Allow to specify dependencies(prerequisites) for Rake::TestTask
|
15
|
+
Pull request #117 by Tim Maslyuchenko
|
16
|
+
* Use Bundler task instead of hoe for gem release.
|
17
|
+
* Remove explicitly load to rubygems for Ruby 1.8.
|
18
|
+
* Unify to declare `Rake::VERSION`.
|
19
|
+
* Support xz format for PackageTask.
|
20
|
+
|
1
21
|
=== 11.1.2 / 2016-03-28
|
2
22
|
|
3
23
|
Bug fixes:
|
@@ -16,7 +36,7 @@ Bug fixes:
|
|
16
36
|
|
17
37
|
Compatibility Changes:
|
18
38
|
|
19
|
-
* Revert to remove `
|
39
|
+
* Revert to remove `last\_comment`. It will remove Rake 12.
|
20
40
|
|
21
41
|
=== 11.0.1 / 2016-03-09
|
22
42
|
|
@@ -52,7 +72,7 @@ Compatibility Changes:
|
|
52
72
|
* Removed constant named `RAKEVERSION`
|
53
73
|
* Removed Rake::AltSystem
|
54
74
|
* Removed Rake::RubyForgePublisher
|
55
|
-
* Removed Rake::TaskManager#
|
75
|
+
* Removed Rake::TaskManager#last\_comment. Use last\_description.
|
56
76
|
* Removed Rake::TaskLib#paste
|
57
77
|
* Removed Top-level SshDirPublisher, SshFreshDirPublisher, SshFilePublisher
|
58
78
|
and CompositePublisher from lib/rake/contrib/publisher.rb
|
@@ -186,7 +206,7 @@ Bug fixes:
|
|
186
206
|
* Clarified `rake -f` usage message. Pull request #252 by Marco Pfatschbacher.
|
187
207
|
* Fixed a test failure on windows. Pull request #231 by Hiroshi Shirosaki.
|
188
208
|
* Fixed corrupted rake.1.gz. Pull request #225 by Michel Boaventura.
|
189
|
-
* Fixed bug in
|
209
|
+
* Fixed bug in can\_detect\_signals? in test. Patch from #243 by Alexey
|
190
210
|
Borzenkov.
|
191
211
|
|
192
212
|
=== 10.1.1 and earlier
|
@@ -195,366 +215,1843 @@ Additions to the old CHANGES file were not made consistently so some
|
|
195
215
|
versions are missing from this file. These changes are usually described in
|
196
216
|
the individual release notes files.
|
197
217
|
|
198
|
-
===
|
218
|
+
=== 10.1.0
|
199
219
|
|
200
|
-
|
201
|
-
* Rake::TaskArguments now responds to #values_at
|
202
|
-
* RakeFileUtils.verbose_flag = nil silences output the same as 0.8.7
|
203
|
-
* Rake tests are now directory-independent
|
204
|
-
* Rake tests are no longer require flexmock
|
205
|
-
* Commands constant is no longer polluting top level namespace.
|
206
|
-
* Show only the interesting portion of the backtrace by default (James M. Lawrence).
|
207
|
-
* Added --reduce-compat optiont to remove backward compatible DSL hacks (James M. Lawrence).
|
208
|
-
* lib/rake/file_list.rb (Rake::FileList#egrep): there is no need to
|
209
|
-
open files in binary mode. (NAKAMURA Usaku)
|
220
|
+
==== Changes
|
210
221
|
|
211
|
-
|
222
|
+
===== New Features
|
212
223
|
|
213
|
-
*
|
224
|
+
* Add support for variable length task argument lists. If more actual
|
225
|
+
arguments are supplied than named arguments, then the extra
|
226
|
+
arguments values will be in args.extras.
|
214
227
|
|
215
|
-
|
228
|
+
* Application name is not displayed in the help banner. (Previously
|
229
|
+
"rake" was hardcoded, now rake-based applications can display their
|
230
|
+
own names).
|
216
231
|
|
217
|
-
|
232
|
+
===== Bug Fixes
|
218
233
|
|
219
|
-
|
234
|
+
Bug fixes include:
|
220
235
|
|
221
|
-
*
|
222
|
-
no longer private methods in Object. If you need to call 'task :xzy' inside
|
223
|
-
your class, include Rake::DSL into the class. The DSL is still available at
|
224
|
-
the top level scope (via the top level object which extends Rake::DSL).
|
236
|
+
* Fix backtrace suppression issues.
|
225
237
|
|
226
|
-
*
|
238
|
+
* Rules now explicit get task arguments passed to them.
|
227
239
|
|
228
|
-
*
|
240
|
+
* Rename FileList#exclude? to FileList#exclude\_from\_list? to avoid
|
241
|
+
conflict with new Rails method.
|
229
242
|
|
230
|
-
*
|
231
|
-
Based on patch by Roger Pack.
|
243
|
+
* Clean / Clobber tasks now report failure to remove files.
|
232
244
|
|
233
|
-
*
|
234
|
-
Baginski.
|
245
|
+
* Plus heaps of internal code cleanup.
|
235
246
|
|
236
|
-
|
247
|
+
==== Thanks
|
237
248
|
|
238
|
-
|
239
|
-
|
249
|
+
As usual, it was input from users that drove a lot of these changes.
|
250
|
+
The following people contributed patches, made suggestions or made
|
251
|
+
otherwise helpful comments. Thanks to ...
|
240
252
|
|
241
|
-
*
|
253
|
+
* Michael Nikitochkin (general code cleanup)
|
254
|
+
* Vipul A M (general code cleanup)
|
255
|
+
* Dennis Bell (variable length task argument lists)
|
256
|
+
* Jacob Swanner (rules arguments)
|
257
|
+
* Rafael Rosa Fu (documentation typo)
|
258
|
+
* Stuart Nelson (install.rb fixes)
|
259
|
+
* Lee Hambley (application name in help banner)
|
242
260
|
|
243
|
-
|
244
|
-
Lüdtke
|
261
|
+
-- Jim Weirich
|
245
262
|
|
246
|
-
|
247
|
-
'rdoc/task')
|
263
|
+
=== 10.0.3
|
248
264
|
|
249
|
-
|
250
|
-
'rubygems/package_task')
|
265
|
+
"Jim, when will Rake reach version 1.0?"
|
251
266
|
|
252
|
-
|
267
|
+
Over the past several years I've been asked that question at
|
268
|
+
conferences, panels and over twitter. Due to historical reasons (or
|
269
|
+
maybe just plain laziness) Rake has (incorrectly) been treating the
|
270
|
+
second digit of the version as the major release number. So in my head
|
271
|
+
Rake was already at version 9.
|
253
272
|
|
254
|
-
|
273
|
+
Well, it's time to fix things. This next version of Rake drops old,
|
274
|
+
crufty, backwards compatibility hacks such as top level constants, DSL
|
275
|
+
methods defined in Object and numerous other features that are just no
|
276
|
+
longer desired. It's also time to drop the leading zero from the
|
277
|
+
version number as well and call this new version of rake what it
|
278
|
+
really is: Version 10.
|
255
279
|
|
256
|
-
|
280
|
+
So, welcome to Rake 10.0!
|
257
281
|
|
258
|
-
|
282
|
+
Rake 10 is actually feature identical to the latest version of Rake 9
|
283
|
+
(that would be the version spelled 0.9.3), *except* that Rake 10 drops
|
284
|
+
all the sundry deprecated features that have accumulated over the years.
|
259
285
|
|
260
|
-
|
261
|
-
|
262
|
-
|
286
|
+
If your Rakefile is up to date and current with all the new features
|
287
|
+
of Rake 10, you are ready to go. If your Rakefile still uses a few
|
288
|
+
deprecated feeatures, feel free to use Rake 9 (0.9.3) with the same
|
289
|
+
feature set. Just be aware that future features will be in Rake 10
|
290
|
+
family line.
|
263
291
|
|
264
|
-
|
265
|
-
(http://onestepback.org/redmine/issues/show/47)
|
292
|
+
==== Changes
|
266
293
|
|
267
|
-
|
294
|
+
As mentioned above, there are no new features in Rake 10. However,
|
295
|
+
there are a number of features missing:
|
268
296
|
|
269
|
-
*
|
270
|
-
|
297
|
+
* Classic namespaces are now gone. Rake is no longer able to reflect
|
298
|
+
the options settings in the global variables ($rakefile, $show\_tasks,
|
299
|
+
$show\_prereqs, $trace, $dryrun and $silent). The
|
300
|
+
<tt>--classic-namespace</tt> option is no longer supported.
|
271
301
|
|
272
|
-
*
|
273
|
-
|
302
|
+
* Global constants are no longer supported. This includes
|
303
|
+
<tt>Task</tt>, <tt>FileTask</tt>, <tt>FileCreationTask</tt> and
|
304
|
+
<tt>RakeApp</tt>). The constant missing hook to warn about using
|
305
|
+
global rake constants has been removed.
|
274
306
|
|
275
|
-
*
|
276
|
-
(
|
307
|
+
* The Rake DSL methods (task, file, directory, etc) are in their own
|
308
|
+
module (Rake::DSL). The stub versions of these methods (that printed
|
309
|
+
warnings) in Object have been removed. However, the DSL methods are
|
310
|
+
added to the top-level <tt>main</tt> object. Since <tt>main</tt> is
|
311
|
+
not in the inheritance tree, the presence of the DSL methods in main
|
312
|
+
should be low impact on other libraries.
|
277
313
|
|
278
|
-
|
279
|
-
|
314
|
+
If you want to use the Rake DSL commands from your own code, just
|
315
|
+
include <tt>Rake::DSL</tt> into your own classes and modules.
|
280
316
|
|
281
|
-
|
317
|
+
* The deprecated syntax for task arguments (the one using
|
318
|
+
<tt>:needs</tt>) has been removed.
|
282
319
|
|
283
|
-
*
|
320
|
+
* The <tt>--reduce-compat</tt> flag has been removed (it's not needed
|
321
|
+
anymore).
|
284
322
|
|
285
|
-
|
323
|
+
* The deprecated <tt>rake/sys.rb</tt> library has been removed.
|
286
324
|
|
287
|
-
*
|
288
|
-
|
325
|
+
* The deprecated <tt>rake/rdoctask.rb</tt> library has been removed.
|
326
|
+
RDoc supplies its own rake task now.
|
289
327
|
|
290
|
-
*
|
328
|
+
* The deprecated <tt>rake/gempackagetask.rb</tt> library has been
|
329
|
+
removed. Gem supplies its own package task now.
|
291
330
|
|
292
|
-
|
331
|
+
There is one small behavioral change:
|
293
332
|
|
294
|
-
*
|
333
|
+
* Non-file tasks now always report the current time as their time
|
334
|
+
stamp. This is different from the previous behavior where non-file
|
335
|
+
tasks reported current time only if there were no prerequisites, and
|
336
|
+
the max prerequisite timestamp otherwise. This lead to inconsistent
|
337
|
+
and surprising behavior when adding prerequisites to tasks that in
|
338
|
+
turn were prequisites to file tasks. The new behavior is more
|
339
|
+
consistent and predictable.
|
295
340
|
|
296
|
-
|
341
|
+
==== Changes (from 0.9.3, 0.9.4, 0.9.5)
|
297
342
|
|
298
|
-
|
299
|
-
|
343
|
+
Since Rake 10 includes the changes from the last version of Rake 9,
|
344
|
+
we'll repeat the changes for versions 0.9.3 through 0.9.5 here.
|
300
345
|
|
301
|
-
|
302
|
-
Chiang/bahuvrihi)
|
346
|
+
===== New Features (in 0.9.3)
|
303
347
|
|
304
|
-
*
|
305
|
-
|
348
|
+
* Multitask tasks now use a thread pool. Use -j to limit the number of
|
349
|
+
available threads.
|
306
350
|
|
307
|
-
*
|
308
|
-
Lavena)
|
351
|
+
* Use -m to turn regular tasks into multitasks (use at your own risk).
|
309
352
|
|
310
|
-
*
|
353
|
+
* You can now do "Rake.add_rakelib 'dir'" in your Rakefile to
|
354
|
+
programatically add rake task libraries.
|
311
355
|
|
312
|
-
*
|
313
|
-
|
356
|
+
* You can specific backtrace suppression patterns (see
|
357
|
+
--supress-backtrace)
|
314
358
|
|
315
|
-
*
|
316
|
-
Test::Unit::Runner.
|
359
|
+
* Directory tasks can now take prerequisites and actions
|
317
360
|
|
318
|
-
*
|
361
|
+
* Use --backtrace to request a full backtrace without the task trace.
|
319
362
|
|
320
|
-
*
|
321
|
-
|
363
|
+
* You can say "--backtrace=stdout" and "--trace=stdout" to route trace
|
364
|
+
output to standard output rather than standard error.
|
322
365
|
|
323
|
-
|
366
|
+
* Optional 'phony' target (enable with 'require 'rake/phony'") for
|
367
|
+
special purpose builds.
|
324
368
|
|
325
|
-
*
|
326
|
-
|
327
|
-
supplied by James Tucker). Rake no long aborts if it can't find the
|
328
|
-
directory.
|
369
|
+
* Task#clear now clears task comments as well as actions and
|
370
|
+
prerequisites. Task#clear_comment will specifically target comments.
|
329
371
|
|
330
|
-
*
|
331
|
-
|
372
|
+
* The --all option will force -T and -D to consider all the tasks,
|
373
|
+
with and without descriptions.
|
332
374
|
|
333
|
-
|
375
|
+
===== Bug Fixes (in 0.9.3)
|
334
376
|
|
335
|
-
*
|
336
|
-
directory in the package for testing. (Bug found by Adam Majer)
|
377
|
+
* Semi-colons in windows rakefile paths now work.
|
337
378
|
|
338
|
-
*
|
339
|
-
attribute junk in a tar file. (Bug found by Adam Majer)
|
379
|
+
* Improved Control-C support when invoking multiple test suites.
|
340
380
|
|
341
|
-
*
|
342
|
-
|
381
|
+
* egrep method now reads files in text mode (better support for
|
382
|
+
Windows)
|
343
383
|
|
344
|
-
*
|
345
|
-
symbol/string differences. (Patch supplied by Edwin Pratomo)
|
384
|
+
* Better deprecation line number reporting.
|
346
385
|
|
347
|
-
*
|
348
|
-
|
386
|
+
* The -W option now works with all tasks, whether they have a
|
387
|
+
description or not.
|
349
388
|
|
350
|
-
*
|
351
|
-
|
389
|
+
* File globs in rake should not be sorted alphabetically, independent
|
390
|
+
of file system and platform.
|
352
391
|
|
353
|
-
*
|
354
|
-
terminal. RAKE_COLUMNS will override any dynamic sensing.
|
392
|
+
* Numerous internal improvements.
|
355
393
|
|
356
|
-
*
|
357
|
-
and freeze.
|
394
|
+
* Documentation typos and fixes.
|
358
395
|
|
359
|
-
|
360
|
-
task.
|
396
|
+
===== Bug Fixes (in 0.9.4)
|
361
397
|
|
362
|
-
*
|
398
|
+
* Exit status with failing tests is not correctly set to non-zero.
|
363
399
|
|
364
|
-
*
|
365
|
-
easier for the tempate to pick up the template from the environment.
|
400
|
+
* Simplified syntax for phony task (for older versions of RDoc).
|
366
401
|
|
367
|
-
*
|
368
|
-
|
369
|
-
supplied by Ittay Dror)
|
402
|
+
* Stand alone FileList usage gets glob function (without loading in
|
403
|
+
extra dependencies)
|
370
404
|
|
371
|
-
|
372
|
-
file task names. (Patch supplied by Ittay Dror)
|
405
|
+
===== Bug Fixes (in 0.9.5)
|
373
406
|
|
374
|
-
*
|
375
|
-
files. (Patch supplied by Ittay Dror)
|
407
|
+
* --trace and --backtrace no longer swallow following task names.
|
376
408
|
|
377
|
-
|
378
|
-
:with_defaults method. (Idea for default argument merging supplied
|
379
|
-
by (Adam Q. Salter)
|
409
|
+
==== Thanks
|
380
410
|
|
381
|
-
|
382
|
-
|
383
|
-
|
411
|
+
As usual, it was input from users that drove a lot of these changes. The
|
412
|
+
following people contributed patches, made suggestions or made
|
413
|
+
otherwise helpful comments. Thanks to ...
|
384
414
|
|
385
|
-
*
|
386
|
-
|
387
|
-
|
415
|
+
* Aaron Patterson
|
416
|
+
* Dylan Smith
|
417
|
+
* Jo Liss
|
418
|
+
* Jonas Pfenniger
|
419
|
+
* Kazuki Tsujimoto
|
420
|
+
* Michael Bishop
|
421
|
+
* Michael Elufimov
|
422
|
+
* NAKAMURA Usaku
|
423
|
+
* Ryan Davis
|
424
|
+
* Sam Grönblom
|
425
|
+
* Sam Phippen
|
426
|
+
* Sergio Wong
|
427
|
+
* Tay Ray Chuan
|
428
|
+
* grosser
|
429
|
+
* quix
|
388
430
|
|
389
|
-
|
431
|
+
Also, many thanks to Eric Hodel for assisting with getting this release
|
432
|
+
out the door.
|
390
433
|
|
391
|
-
|
392
|
-
* Removed ftools from rake.rb. Made it options in sys.rb
|
434
|
+
-- Jim Weirich
|
393
435
|
|
394
|
-
=== 0.
|
436
|
+
=== 10.0.2
|
395
437
|
|
396
|
-
|
397
|
-
* Made task parameters passable to prerequisites.
|
398
|
-
* Comments are limited to 80 columns or so (suggested by Jamis Buck).
|
399
|
-
* Added -D to display full comments (suggested by Jamis Buck).
|
400
|
-
* The rake program will set the status value used in any explicit
|
401
|
-
exit(n) calls. (patch provided by Stephen Touset)
|
402
|
-
* Fixed error in functional tests that were not including session (and
|
403
|
-
silently skipping the functionl tests.
|
404
|
-
* Removed --usage and make -h the same as -H.
|
405
|
-
* Make a prettier inspect for tasks.
|
438
|
+
==== Changes
|
406
439
|
|
407
|
-
|
440
|
+
===== Bug Fixes
|
408
441
|
|
409
|
-
*
|
410
|
-
* FileLists now claim to be Arrays (via is_a?) to get better support
|
411
|
-
from the FileUtil module.
|
412
|
-
* Added init and top_level for custom rake applications.
|
442
|
+
* --trace and --backtrace no longer swallow following task names.
|
413
443
|
|
414
|
-
|
444
|
+
==== Thanks
|
415
445
|
|
416
|
-
|
417
|
-
|
418
|
-
|
419
|
-
Quackenbush).
|
420
|
-
* Added rcov task and updated unit testing for better code coverage.
|
421
|
-
* Fixed some bugs where the application object was going to the global
|
422
|
-
appliation instead of using its own data.
|
423
|
-
* Added square and curly bracket patterns to FileList#include (Tilman
|
424
|
-
Sauerbeck).
|
425
|
-
* Added plain filename support to rule dependents (suggested by Nobu
|
426
|
-
Nakada).
|
427
|
-
* Added pathmap support to rule dependents.
|
428
|
-
* Added a 'tasks' method to a namespace to get a list of tasks
|
429
|
-
associated with the namespace.
|
430
|
-
* Fixed the method name leak from FileUtils (bug found by Glenn
|
431
|
-
Vanderburg).
|
432
|
-
* Added rake_extension to handle detection of extension collisions.
|
433
|
-
* Added test for noop, bad_option and verbose flags to sh command.
|
434
|
-
* Removed dependency on internal fu_xxx functions from FileUtils.
|
435
|
-
* Added a 'shame' task to the Rakefile.
|
436
|
-
* Added tar_command and zip_command options to the Package task.
|
437
|
-
* Added a description to the gem task in GemPackageTask.
|
438
|
-
* Fixed a bug when rules have multiple prerequisites (patch by Joel
|
439
|
-
VanderWerf)
|
440
|
-
* Added a protected 'require "rubygems"' to test/test_application to
|
441
|
-
unbreak cruisecontrol.rb.
|
442
|
-
* Added the handful of RakeFileUtils to the private method as well.
|
443
|
-
* Added block based exclusion.
|
444
|
-
* The clean task will no longer delete 'core' if it is a directory.
|
445
|
-
* Removed rake_dup. Now we just simply rescue a bad dup.
|
446
|
-
* Refactored the FileList reject logic to remove duplication.
|
447
|
-
* Removed if __FILE__ at the end of the rake.rb file.
|
446
|
+
As usual, it was input from users that drove a lot of these changes. The
|
447
|
+
following people contributed patches, made suggestions or made
|
448
|
+
otherwise helpful comments. Thanks to ...
|
448
449
|
|
449
|
-
|
450
|
+
* Aaron Patterson
|
451
|
+
* Dylan Smith
|
452
|
+
* Jo Liss
|
453
|
+
* Jonas Pfenniger
|
454
|
+
* Kazuki Tsujimoto
|
455
|
+
* Michael Bishop
|
456
|
+
* Michael Elufimov
|
457
|
+
* NAKAMURA Usaku
|
458
|
+
* Ryan Davis
|
459
|
+
* Sam Grönblom
|
460
|
+
* Sam Phippen
|
461
|
+
* Sergio Wong
|
462
|
+
* Tay Ray Chuan
|
463
|
+
* grosser
|
464
|
+
* quix
|
450
465
|
|
451
|
-
|
452
|
-
|
453
|
-
prereqs (Joel VanderWerf provided patch).
|
454
|
-
* Added pathmap to String and FileList.
|
455
|
-
* The -r option will now load .rake files (but a straight require
|
456
|
-
doesn't yet). NOTE: This is experimental ... it may be
|
457
|
-
discontinued.
|
458
|
-
* The -f option without a value will disable the search for a
|
459
|
-
Rakefile. The assumption is that the -r files are adequate.
|
460
|
-
* Fixed the safe_ln function to fall back to cp in more error
|
461
|
-
scenarios.
|
466
|
+
Also, many thanks to Eric Hodel for assisting with getting this release
|
467
|
+
out the door.
|
462
468
|
|
463
|
-
|
469
|
+
-- Jim Weirich
|
464
470
|
|
465
|
-
|
466
|
-
the rake application.
|
467
|
-
* Added safe_ln support for openAFS (from Ludvig Omholt).
|
468
|
-
* Added --trace reminder on short exception messages (David Heinemeier
|
469
|
-
Hansson suggestion).
|
470
|
-
* Added multitask declaration that executes prerequisites in
|
471
|
-
parallel. (Doug Young providied an initial implementation).
|
472
|
-
* Fixed missing_const hack to be compatible with Rails. (Jamis Buck
|
473
|
-
supplied test case).
|
474
|
-
* Made the RDoc task default to internal (in-process) RDoc formatting.
|
475
|
-
The old behavior is still available by setting the +external+ flag
|
476
|
-
to true.
|
477
|
-
* Rakefiles are now loaded with the expanded path to prevent
|
478
|
-
accidental polution from the Ruby load path.
|
479
|
-
* The +namespace+ command now returns a NameSpace object that can be
|
480
|
-
used to lookup tasks defined in that namespace. This allows for
|
481
|
-
better anonymous namespace behavior.
|
482
|
-
* Task objects my now be used in prerequisite lists directly.
|
471
|
+
=== 10.0.1
|
483
472
|
|
484
|
-
|
473
|
+
==== Changes
|
485
474
|
|
486
|
-
|
475
|
+
===== Bug Fixes
|
487
476
|
|
488
|
-
|
477
|
+
* Exit status with failing tests is not correctly set to non-zero.
|
489
478
|
|
490
|
-
*
|
491
|
-
windows).
|
492
|
-
* Fixed bug where session based functional tests were run under
|
493
|
-
windows.
|
494
|
-
* Fixed bug in directory tasks so that updating a directory will not
|
495
|
-
retrigger file tasks depending on the directory (see
|
496
|
-
FileCreationTask and EarlyTime).
|
497
|
-
* Added egrep to FileList
|
498
|
-
* ruby command now runs same ruby version as rake.
|
499
|
-
* Added investigation to task object. (suggested by Martin Fowler)
|
500
|
-
* Added ruby_opts to the test task to allow arbitrary ruby options to
|
501
|
-
be passed to the test script. (Greg Fast)
|
502
|
-
* Fixed the test loader to ignore options. (Greg Fast)
|
503
|
-
* Moved Task, FileTask, FileCreationTask and RakeApp into the Rake
|
504
|
-
module namespace. Old style namespace behavior can be invoked via
|
505
|
-
the --classic-namespace option. (requested by Kelly Felkins).
|
506
|
-
* GemTask is now sensitive to the gem platform (Masao Mutoh).
|
507
|
-
* A non-existing file prerequisite will no longer cause an exception
|
508
|
-
(Philipp Neubeck).
|
509
|
-
* Multiple prerequisites on Rake rules now allowed (initial patch
|
510
|
-
supplied by Stuart Jansen).
|
479
|
+
* Simplified syntax for phony task (for older versions of RDoc).
|
511
480
|
|
512
|
-
|
481
|
+
* Stand alone FileList usage gets glob function (without loading in
|
482
|
+
extra dependencies)
|
513
483
|
|
514
|
-
|
515
|
-
* Added .svn to default ignore list.
|
516
|
-
* Updated FileList#include to support nested arrays and filelists.
|
484
|
+
==== Thanks
|
517
485
|
|
518
|
-
|
486
|
+
As usual, it was input from users that drove a lot of these changes. The
|
487
|
+
following people contributed patches, made suggestions or made
|
488
|
+
otherwise helpful comments. Thanks to ...
|
519
489
|
|
520
|
-
*
|
521
|
-
*
|
522
|
-
|
523
|
-
*
|
524
|
-
|
525
|
-
*
|
526
|
-
|
527
|
-
*
|
528
|
-
|
529
|
-
|
530
|
-
*
|
531
|
-
|
532
|
-
*
|
490
|
+
* Aaron Patterson
|
491
|
+
* Dylan Smith
|
492
|
+
* Jo Liss
|
493
|
+
* Jonas Pfenniger
|
494
|
+
* Kazuki Tsujimoto
|
495
|
+
* Michael Bishop
|
496
|
+
* Michael Elufimov
|
497
|
+
* NAKAMURA Usaku
|
498
|
+
* Ryan Davis
|
499
|
+
* Sam Grönblom
|
500
|
+
* Sam Phippen
|
501
|
+
* Sergio Wong
|
502
|
+
* Tay Ray Chuan
|
503
|
+
* grosser
|
504
|
+
* quix
|
533
505
|
|
534
|
-
|
506
|
+
Also, many thanks to Eric Hodel for assisting with getting this release
|
507
|
+
out the door.
|
535
508
|
|
536
|
-
|
537
|
-
Sauerbeck).
|
538
|
-
* Added tar.gz and tar.bz2 support to package task (Tilman Sauerbeck).
|
539
|
-
* Recursive rules are now supported (Tilman Sauerbeck).
|
540
|
-
* Added warning option for the Test Task (requested by Eric Hodel).
|
541
|
-
* The jamis rdoc template is only used if it exists.
|
542
|
-
* Added fix for Ruby 1.8.2 test/unit and rails problem.
|
543
|
-
* Added contributed rake man file (Jani Monoses).
|
544
|
-
* Added Brian Candler's fix for problems in --trace and --dry-run
|
545
|
-
mode.
|
509
|
+
-- Jim Weirich
|
546
510
|
|
547
|
-
=== 0.
|
511
|
+
=== 10.0.0
|
548
512
|
|
549
|
-
|
550
|
-
revised for 1.8.2 test task.
|
551
|
-
* Updated the docs on --trace to indicate that it also enables a full
|
552
|
-
backtrace on errors.
|
513
|
+
"Jim, when will Rake reach version 1.0?"
|
553
514
|
|
554
|
-
|
515
|
+
Over the past several years I've been asked that question at
|
516
|
+
conferences, panels and over twitter. Due to historical reasons (or
|
517
|
+
maybe just plain laziness) Rake has (incorrectly) been treating the
|
518
|
+
second digit of the version as the major release number. So in my head
|
519
|
+
Rake was already at version 9.
|
520
|
+
|
521
|
+
Well, it's time to fix things. This next version of Rake drops old,
|
522
|
+
crufty, backwards compatibility hacks such as top level constants, DSL
|
523
|
+
methods defined in Object and numerous other features that are just no
|
524
|
+
longer desired. It's also time to drop the leading zero from the
|
525
|
+
version number as well and call this new version of rake what it
|
526
|
+
really is: Version 10.
|
527
|
+
|
528
|
+
So, welcome to Rake 10.0!
|
529
|
+
|
530
|
+
Rake 10 is actually feature identical to the latest version of Rake 9
|
531
|
+
(that would be the version spelled 0.9.3), *except* that Rake 10 drops
|
532
|
+
all the sundry deprecated features that have accumulated over the years.
|
533
|
+
|
534
|
+
If your Rakefile is up to date and current with all the new features
|
535
|
+
of Rake 10, you are ready to go. If your Rakefile still uses a few
|
536
|
+
deprecated feeatures, feel free to use Rake 9 (0.9.3) with the same
|
537
|
+
feature set. Just be aware that future features will be in Rake 10
|
538
|
+
family line.
|
539
|
+
|
540
|
+
==== Changes in 10.0
|
541
|
+
|
542
|
+
As mentioned above, there are no new features in Rake 10. However,
|
543
|
+
there are a number of features missing:
|
544
|
+
|
545
|
+
* Classic namespaces are now gone. Rake is no longer able to reflect
|
546
|
+
the options settings in the global variables ($rakefile, $show\_tasks,
|
547
|
+
$show\_prereqs, $trace, $dryrun and $silent). The
|
548
|
+
<tt>--classic-namespace</tt> option is no longer supported.
|
549
|
+
|
550
|
+
* Global constants are no longer supported. This includes
|
551
|
+
<tt>Task</tt>, <tt>FileTask</tt>, <tt>FileCreationTask</tt> and
|
552
|
+
<tt>RakeApp</tt>). The constant missing hook to warn about using
|
553
|
+
global rake constants has been removed.
|
554
|
+
|
555
|
+
* The Rake DSL methods (task, file, directory, etc) are in their own
|
556
|
+
module (Rake::DSL). The stub versions of these methods (that printed
|
557
|
+
warnings) in Object have been removed. However, the DSL methods are
|
558
|
+
added to the top-level <tt>main</tt> object. Since <tt>main</tt> is
|
559
|
+
not in the inheritance tree, the presence of the DSL methods in main
|
560
|
+
should be low impact on other libraries.
|
561
|
+
|
562
|
+
If you want to use the Rake DSL commands from your own code, just
|
563
|
+
include <tt>Rake::DSL</tt> into your own classes and modules.
|
564
|
+
|
565
|
+
* The deprecated syntax for task arguments (the one using
|
566
|
+
<tt>:needs</tt>) has been removed.
|
567
|
+
|
568
|
+
* The <tt>--reduce-compat</tt> flag has been removed (it's not needed
|
569
|
+
anymore).
|
570
|
+
|
571
|
+
* The deprecated <tt>rake/sys.rb</tt> library has been removed.
|
572
|
+
|
573
|
+
* The deprecated <tt>rake/rdoctask.rb</tt> library has been removed.
|
574
|
+
RDoc supplies its own rake task now.
|
575
|
+
|
576
|
+
* The deprecated <tt>rake/gempackagetask.rb</tt> library has been
|
577
|
+
removed. Gem supplies its own package task now.
|
578
|
+
|
579
|
+
There is one small behavioral change:
|
580
|
+
|
581
|
+
* Non-file tasks now always report the current time as their time
|
582
|
+
stamp. This is different from the previous behavior where non-file
|
583
|
+
tasks reported current time only if there were no prerequisites, and
|
584
|
+
the max prerequisite timestamp otherwise. This lead to inconsistent
|
585
|
+
and surprising behavior when adding prerequisites to tasks that in
|
586
|
+
turn were prequisites to file tasks. The new behavior is more
|
587
|
+
consistent and predictable.
|
588
|
+
|
589
|
+
==== Changes (from 0.9.3)
|
590
|
+
|
591
|
+
Since Rake 10 includes the changes from the last version of Rake 9,
|
592
|
+
we'll repeat the changes for version 0.9.3 here.
|
593
|
+
|
594
|
+
===== New Features
|
595
|
+
|
596
|
+
* Multitask tasks now use a thread pool. Use -j to limit the number of
|
597
|
+
available threads.
|
598
|
+
|
599
|
+
* Use -m to turn regular tasks into multitasks (use at your own risk).
|
600
|
+
|
601
|
+
* You can now do "Rake.add_rakelib 'dir'" in your Rakefile to
|
602
|
+
programatically add rake task libraries.
|
603
|
+
|
604
|
+
* You can specific backtrace suppression patterns (see
|
605
|
+
--supress-backtrace)
|
606
|
+
|
607
|
+
* Directory tasks can now take prerequisites and actions
|
608
|
+
|
609
|
+
* Use --backtrace to request a full backtrace without the task trace.
|
610
|
+
|
611
|
+
* You can say "--backtrace=stdout" and "--trace=stdout" to route trace
|
612
|
+
output to standard output rather than standard error.
|
613
|
+
|
614
|
+
* Optional 'phony' target (enable with 'require 'rake/phony'") for
|
615
|
+
special purpose builds.
|
616
|
+
|
617
|
+
* Task#clear now clears task comments as well as actions and
|
618
|
+
prerequisites. Task#clear_comment will specifically target comments.
|
619
|
+
|
620
|
+
* The --all option will force -T and -D to consider all the tasks,
|
621
|
+
with and without descriptions.
|
622
|
+
|
623
|
+
===== Bug Fixes
|
624
|
+
|
625
|
+
* Semi-colons in windows rakefile paths now work.
|
626
|
+
|
627
|
+
* Improved Control-C support when invoking multiple test suites.
|
628
|
+
|
629
|
+
* egrep method now reads files in text mode (better support for
|
630
|
+
Windows)
|
631
|
+
|
632
|
+
* Better deprecation line number reporting.
|
633
|
+
|
634
|
+
* The -W option now works with all tasks, whether they have a
|
635
|
+
description or not.
|
636
|
+
|
637
|
+
* File globs in rake should not be sorted alphabetically, independent
|
638
|
+
of file system and platform.
|
639
|
+
|
640
|
+
* Numerous internal improvements.
|
641
|
+
|
642
|
+
* Documentation typos and fixes.
|
643
|
+
|
644
|
+
|
645
|
+
==== Thanks
|
646
|
+
|
647
|
+
As usual, it was input from users that drove a lot of these changes. The
|
648
|
+
following people contributed patches, made suggestions or made
|
649
|
+
otherwise helpful comments. Thanks to ...
|
650
|
+
|
651
|
+
* Aaron Patterson
|
652
|
+
* Dylan Smith
|
653
|
+
* Jo Liss
|
654
|
+
* Jonas Pfenniger
|
655
|
+
* Kazuki Tsujimoto
|
656
|
+
* Michael Bishop
|
657
|
+
* Michael Elufimov
|
658
|
+
* NAKAMURA Usaku
|
659
|
+
* Ryan Davis
|
660
|
+
* Sam Grönblom
|
661
|
+
* Sam Phippen
|
662
|
+
* Sergio Wong
|
663
|
+
* Tay Ray Chuan
|
664
|
+
* grosser
|
665
|
+
* quix
|
666
|
+
|
667
|
+
Also, many thanks to Eric Hodel for assisting with getting this release
|
668
|
+
out the door.
|
669
|
+
|
670
|
+
-- Jim Weirich
|
671
|
+
|
672
|
+
=== 0.9.6
|
673
|
+
|
674
|
+
Rake version 0.9.6 contains a number of fixes mainly for merging
|
675
|
+
Rake into the Ruby source tree and fixing tests.
|
676
|
+
|
677
|
+
==== Changes
|
678
|
+
|
679
|
+
===== Bug Fixes (0.9.6)
|
680
|
+
|
681
|
+
* Better trace output when using a multi-threaded Rakefile.
|
682
|
+
* Arg parsing is now consistent for tasks and multitasks.
|
683
|
+
* Skip exit code test in versions of Ruby that don't support it well.
|
684
|
+
|
685
|
+
Changes for better integration with the Ruby source tree:
|
686
|
+
|
687
|
+
* Fix version literal for Ruby source tree build.
|
688
|
+
* Better loading of libraries for testing in Ruby build.
|
689
|
+
* Use the ruby version provided by Ruby's tests.
|
690
|
+
|
691
|
+
==== Thanks
|
692
|
+
|
693
|
+
As usual, it was input from users that drove a alot of these changes. The
|
694
|
+
following people either contributed patches, made suggestions or made
|
695
|
+
otherwise helpful comments. Thanks to ...
|
696
|
+
|
697
|
+
* Aaron Patterson
|
698
|
+
* Dylan Smith
|
699
|
+
* Jo Liss
|
700
|
+
* Jonas Pfenniger
|
701
|
+
* Kazuki Tsujimoto
|
702
|
+
* Michael Bishop
|
703
|
+
* Michael Elufimov
|
704
|
+
* NAKAMURA Usaku
|
705
|
+
* Ryan Davis
|
706
|
+
* Sam Grönblom
|
707
|
+
* Sam Phippen
|
708
|
+
* Sergio Wong
|
709
|
+
* Tay Ray Chuan
|
710
|
+
* grosser
|
711
|
+
* quix
|
712
|
+
|
713
|
+
Also, many thanks to Eric Hodel for assisting with getting this release
|
714
|
+
out the door.
|
715
|
+
|
716
|
+
-- Jim Weirich
|
717
|
+
|
718
|
+
=== 0.9.5
|
719
|
+
|
720
|
+
Rake version 0.9.5 contains a number of bug fixes.
|
721
|
+
|
722
|
+
==== Changes
|
723
|
+
|
724
|
+
===== Bug Fixes (0.9.5)
|
725
|
+
|
726
|
+
* --trace and --backtrace no longer swallow following task names.
|
727
|
+
|
728
|
+
==== Thanks
|
729
|
+
|
730
|
+
As usual, it was input from users that drove a alot of these changes. The
|
731
|
+
following people either contributed patches, made suggestions or made
|
732
|
+
otherwise helpful comments. Thanks to ...
|
733
|
+
|
734
|
+
* Aaron Patterson
|
735
|
+
* Dylan Smith
|
736
|
+
* Jo Liss
|
737
|
+
* Jonas Pfenniger
|
738
|
+
* Kazuki Tsujimoto
|
739
|
+
* Michael Bishop
|
740
|
+
* Michael Elufimov
|
741
|
+
* NAKAMURA Usaku
|
742
|
+
* Ryan Davis
|
743
|
+
* Sam Grönblom
|
744
|
+
* Sam Phippen
|
745
|
+
* Sergio Wong
|
746
|
+
* Tay Ray Chuan
|
747
|
+
* grosser
|
748
|
+
* quix
|
749
|
+
|
750
|
+
Also, many thanks to Eric Hodel for assisting with getting this release
|
751
|
+
out the door.
|
752
|
+
|
753
|
+
-- Jim Weirich
|
754
|
+
|
755
|
+
=== 0.9.4
|
756
|
+
|
757
|
+
Rake version 0.9.4 contains a number of bug fixes.
|
758
|
+
|
759
|
+
==== Changes
|
760
|
+
|
761
|
+
===== Bug Fixes (0.9.4)
|
762
|
+
|
763
|
+
* Exit status with failing tests is not correctly set to non-zero.
|
764
|
+
|
765
|
+
* Simplified syntax for phony task (for older versions of RDoc).
|
766
|
+
|
767
|
+
* Stand alone FileList usage gets glob function (without loading in
|
768
|
+
extra dependencies)
|
769
|
+
|
770
|
+
==== Thanks
|
771
|
+
|
772
|
+
As usual, it was input from users that drove a alot of these changes. The
|
773
|
+
following people either contributed patches, made suggestions or made
|
774
|
+
otherwise helpful comments. Thanks to ...
|
775
|
+
|
776
|
+
* Aaron Patterson
|
777
|
+
* Dylan Smith
|
778
|
+
* Jo Liss
|
779
|
+
* Jonas Pfenniger
|
780
|
+
* Kazuki Tsujimoto
|
781
|
+
* Michael Bishop
|
782
|
+
* Michael Elufimov
|
783
|
+
* NAKAMURA Usaku
|
784
|
+
* Ryan Davis
|
785
|
+
* Sam Grönblom
|
786
|
+
* Sam Phippen
|
787
|
+
* Sergio Wong
|
788
|
+
* Tay Ray Chuan
|
789
|
+
* grosser
|
790
|
+
* quix
|
791
|
+
|
792
|
+
Also, many thanks to Eric Hodel for assisting with getting this release
|
793
|
+
out the door.
|
794
|
+
|
795
|
+
-- Jim Weirich
|
796
|
+
|
797
|
+
=== 0.9.3
|
798
|
+
|
799
|
+
Rake version 0.9.3 contains some new, backwards compatible features and
|
800
|
+
a number of bug fixes.
|
801
|
+
|
802
|
+
==== Changes
|
803
|
+
|
804
|
+
===== New Features
|
805
|
+
|
806
|
+
* Multitask tasks now use a thread pool. Use -j to limit the number of
|
807
|
+
available threads.
|
808
|
+
|
809
|
+
* Use -m to turn regular tasks into multitasks (use at your own risk).
|
810
|
+
|
811
|
+
* You can now do "Rake.add_rakelib 'dir'" in your Rakefile to
|
812
|
+
programatically add rake task libraries.
|
813
|
+
|
814
|
+
* You can specific backtrace suppression patterns (see
|
815
|
+
--supress-backtrace)
|
816
|
+
|
817
|
+
* Directory tasks can now take prerequisites and actions
|
818
|
+
|
819
|
+
* Use --backtrace to request a full backtrace without the task trace.
|
820
|
+
|
821
|
+
* You can say "--backtrace=stdout" and "--trace=stdout" to route trace
|
822
|
+
output to standard output rather than standard error.
|
823
|
+
|
824
|
+
* Optional 'phony' target (enable with 'require 'rake/phony'") for
|
825
|
+
special purpose builds.
|
826
|
+
|
827
|
+
* Task#clear now clears task comments as well as actions and
|
828
|
+
prerequisites. Task#clear_comment will specifically target comments.
|
829
|
+
|
830
|
+
* The --all option will force -T and -D to consider all the tasks,
|
831
|
+
with and without descriptions.
|
832
|
+
|
833
|
+
===== Bug Fixes
|
834
|
+
|
835
|
+
* Semi-colons in windows rakefile paths now work.
|
836
|
+
|
837
|
+
* Improved Control-C support when invoking multiple test suites.
|
838
|
+
|
839
|
+
* egrep method now reads files in text mode (better support for
|
840
|
+
Windows)
|
841
|
+
|
842
|
+
* Better deprecation line number reporting.
|
843
|
+
|
844
|
+
* The -W option now works with all tasks, whether they have a
|
845
|
+
description or not.
|
846
|
+
|
847
|
+
* File globs in rake should not be sorted alphabetically, independent
|
848
|
+
of file system and platform.
|
849
|
+
|
850
|
+
* Numerous internal improvements.
|
851
|
+
|
852
|
+
* Documentation typos and fixes.
|
853
|
+
|
854
|
+
==== Thanks
|
855
|
+
|
856
|
+
As usual, it was input from users that drove a alot of these changes. The
|
857
|
+
following people either contributed patches, made suggestions or made
|
858
|
+
otherwise helpful comments. Thanks to ...
|
859
|
+
|
860
|
+
* Aaron Patterson
|
861
|
+
* Dylan Smith
|
862
|
+
* Jo Liss
|
863
|
+
* Jonas Pfenniger
|
864
|
+
* Kazuki Tsujimoto
|
865
|
+
* Michael Bishop
|
866
|
+
* Michael Elufimov
|
867
|
+
* NAKAMURA Usaku
|
868
|
+
* Ryan Davis
|
869
|
+
* Sam Grönblom
|
870
|
+
* Sam Phippen
|
871
|
+
* Sergio Wong
|
872
|
+
* Tay Ray Chuan
|
873
|
+
* grosser
|
874
|
+
* quix
|
875
|
+
|
876
|
+
Also, many thanks to Eric Hodel for assisting with getting this release
|
877
|
+
out the door.
|
878
|
+
|
879
|
+
-- Jim Weirich
|
880
|
+
|
881
|
+
=== Rake 0.9.2.2
|
882
|
+
|
883
|
+
Rake version 0.9.2.2 is mainly bug fixes.
|
884
|
+
|
885
|
+
==== Changes
|
886
|
+
|
887
|
+
* The rake test loader now removes arguments it has processed. Issue #51
|
888
|
+
* Rake::TaskArguments now responds to #values\_at
|
889
|
+
* RakeFileUtils.verbose_flag = nil silences output the same as 0.8.7
|
890
|
+
* Rake tests are now directory-independent
|
891
|
+
* Rake tests are no longer require flexmock
|
892
|
+
* Commands constant is no longer polluting top level namespace.
|
893
|
+
* Show only the interesting portion of the backtrace by default (James M. Lawrence).
|
894
|
+
* Added --reduce-compat option to remove backward compatible DSL hacks (James M. Lawrence).
|
895
|
+
|
896
|
+
==== Thanks
|
897
|
+
|
898
|
+
As usual, it was input from users that drove a alot of these changes. The
|
899
|
+
following people either contributed patches, made suggestions or made
|
900
|
+
otherwise helpful comments. Thanks to ...
|
901
|
+
|
902
|
+
* James M. Lawrence (quix)
|
903
|
+
* Roger Pack
|
904
|
+
* Cezary Baginski
|
905
|
+
* Sean Scot August Moon
|
906
|
+
* R.T. Lechow
|
907
|
+
* Alex Chaffee
|
908
|
+
* James Tucker
|
909
|
+
* Matthias Lüdtke
|
910
|
+
* Santiago Pastorino
|
911
|
+
|
912
|
+
Also, bit thanks to Eric Hodel for assisting with getting this release
|
913
|
+
out the door (where "assisting" includes, but is not by any means
|
914
|
+
limited to, "pushing" me to get it done).
|
915
|
+
|
916
|
+
-- Jim Weirich
|
917
|
+
|
918
|
+
=== 0.9.2
|
919
|
+
|
920
|
+
Rake version 0.9.2 has a few small fixes. See below for details.
|
921
|
+
|
922
|
+
==== Changes
|
923
|
+
|
924
|
+
* Support for Ruby 1.8.6 was fixed.
|
925
|
+
* Global DSL warnings now honor --no-deprecate
|
926
|
+
|
927
|
+
==== Thanks
|
928
|
+
|
929
|
+
As usual, it was input from users that drove a alot of these changes. The
|
930
|
+
following people either contributed patches, made suggestions or made
|
931
|
+
otherwise helpful comments. Thanks to ...
|
932
|
+
|
933
|
+
* James M. Lawrence (quix)
|
934
|
+
* Roger Pack
|
935
|
+
* Cezary Baginski
|
936
|
+
* Sean Scot August Moon
|
937
|
+
* R.T. Lechow
|
938
|
+
* Alex Chaffee
|
939
|
+
* James Tucker
|
940
|
+
* Matthias Lüdtke
|
941
|
+
* Santiago Pastorino
|
942
|
+
|
943
|
+
Also, bit thanks to Eric Hodel for assisting with getting this release
|
944
|
+
out the door (where "assisting" includes, but is not by any means
|
945
|
+
limited to, "pushing" me to get it done).
|
946
|
+
|
947
|
+
-- Jim Weirich
|
948
|
+
|
949
|
+
=== 0.9.1
|
950
|
+
|
951
|
+
Rake version 0.9.1 has a number of bug fixes and enhancments (see
|
952
|
+
below for more details). Additionally, the internals have be slightly
|
953
|
+
restructured and improved.
|
954
|
+
|
955
|
+
==== Changes
|
956
|
+
|
957
|
+
Rake 0.9.1 adds back the global DSL methods, but with deprecation
|
958
|
+
messages. This allows Rake 0.9.1 to be used with older rakefiles with
|
959
|
+
warning messages.
|
960
|
+
|
961
|
+
==== Thanks
|
962
|
+
|
963
|
+
As usual, it was input from users that drove a alot of these changes. The
|
964
|
+
following people either contributed patches, made suggestions or made
|
965
|
+
otherwise helpful comments. Thanks to ...
|
966
|
+
|
967
|
+
* James M. Lawrence (quix)
|
968
|
+
* Roger Pack
|
969
|
+
* Cezary Baginski
|
970
|
+
* Sean Scot August Moon
|
971
|
+
* R.T. Lechow
|
972
|
+
* Alex Chaffee
|
973
|
+
* James Tucker
|
974
|
+
* Matthias Lüdtke
|
975
|
+
* Santiago Pastorino
|
976
|
+
|
977
|
+
Also, bit thanks to Eric Hodel for assisting with getting this release
|
978
|
+
out the door (where "assisting" includes, but is not by any means
|
979
|
+
limited to, "pushing" me to get it done).
|
980
|
+
|
981
|
+
-- Jim Weirich
|
982
|
+
|
983
|
+
=== 0.9.0
|
984
|
+
|
985
|
+
Rake version 0.9.0 has a number of bug fixes and enhancments (see
|
986
|
+
below for more details). Additionally, the internals have be slightly
|
987
|
+
restructured and improved.
|
988
|
+
|
989
|
+
==== Changes
|
990
|
+
|
991
|
+
===== New Features / Enhancements / Bug Fixes in Version 0.9.0
|
992
|
+
|
993
|
+
* Rake now warns when the deprecated :needs syntax used (and suggests
|
994
|
+
the proper syntax in the warning).
|
995
|
+
|
996
|
+
* Moved Rake DSL commands to top level ruby object 'main'. Rake DSL
|
997
|
+
commands are no longer private methods in Object. (Suggested by
|
998
|
+
James M. Lawrence/quix)
|
999
|
+
|
1000
|
+
* Rake now uses case-insensitive comparisons to find the Rakefile on Windows.
|
1001
|
+
Based on patch by Roger Pack.
|
1002
|
+
|
1003
|
+
* Rake now requires (instead of loads) files in the test task. Patch by Cezary
|
1004
|
+
Baginski.
|
1005
|
+
|
1006
|
+
* Fixed typos. Patches by Sean Scot August Moon and R.T. Lechow.
|
1007
|
+
|
1008
|
+
* Rake now prints the Rakefile directory only when it's different from the
|
1009
|
+
current directory. Patch by Alex Chaffee.
|
1010
|
+
|
1011
|
+
* Improved rakefile_location discovery on Windows. Patch by James Tucker.
|
1012
|
+
|
1013
|
+
* Rake now recognizes "Windows Server" as a windows system. Patch by Matthias
|
1014
|
+
Lüdtke
|
1015
|
+
|
1016
|
+
* Rake::RDocTask is deprecated. Use RDoc::Task from RDoc 2.4.2+ (require
|
1017
|
+
'rdoc/task')
|
1018
|
+
|
1019
|
+
* Rake::GemPackageTask is deprecated. Use Gem::PackageTask (require
|
1020
|
+
'rubygems/package\_task')
|
1021
|
+
|
1022
|
+
* Rake now outputs various messages to $stderr instead of $stdout.
|
1023
|
+
|
1024
|
+
* Rake no longer emits warnings for Config. Patch by Santiago Pastorino.
|
1025
|
+
|
1026
|
+
* Removed Rake's DSL methods from the top level scope. If you need to
|
1027
|
+
call 'task :xzy' in your code, include Rake::DSL into your class, or
|
1028
|
+
put the code in a Rake::DSL.environment do ... end block.
|
1029
|
+
|
1030
|
+
* Split rake.rb into individual files.
|
1031
|
+
|
1032
|
+
* Support for the --where (-W) flag for showing where a task is defined.
|
1033
|
+
|
1034
|
+
* Fixed quoting in test task.
|
1035
|
+
(http://onestepback.org/redmine/issues/show/44,
|
1036
|
+
http://www.pivotaltracker.com/story/show/1223138)
|
1037
|
+
|
1038
|
+
* Fixed the silent option parsing problem.
|
1039
|
+
(http://onestepback.org/redmine/issues/show/47)
|
1040
|
+
|
1041
|
+
* Fixed :verbose=>false flag on sh and ruby commands.
|
1042
|
+
|
1043
|
+
* Rake command line options may be given by default in a RAKEOPT
|
1044
|
+
environment variable.
|
1045
|
+
|
1046
|
+
* Errors in Rake will now display the task invocation chain in effect
|
1047
|
+
at the time of the error.
|
1048
|
+
|
1049
|
+
* Accepted change by warnickr to not expand test patterns in shell
|
1050
|
+
(allowing more files in the test suite).
|
1051
|
+
|
1052
|
+
* Fixed that file tasks did not perform prereq lookups in scope
|
1053
|
+
(Redmine #57).
|
1054
|
+
|
1055
|
+
==== Thanks
|
1056
|
+
|
1057
|
+
As usual, it was input from users that drove a alot of these changes. The
|
1058
|
+
following people either contributed patches, made suggestions or made
|
1059
|
+
otherwise helpful comments. Thanks to ...
|
1060
|
+
|
1061
|
+
* James M. Lawrence (quix)
|
1062
|
+
* Roger Pack
|
1063
|
+
* Cezary Baginski
|
1064
|
+
* Sean Scot August Moon
|
1065
|
+
* R.T. Lechow
|
1066
|
+
* Alex Chaffee
|
1067
|
+
* James Tucker
|
1068
|
+
* Matthias Lüdtke
|
1069
|
+
* Santiago Pastorino
|
1070
|
+
|
1071
|
+
Also, bit thanks to Eric Hodel for assisting with getting this release
|
1072
|
+
out the door (where "assisting" includes, but is not by any means
|
1073
|
+
limited to, "pushing" me to get it done).
|
1074
|
+
|
1075
|
+
-- Jim Weirich
|
1076
|
+
|
1077
|
+
|
1078
|
+
=== 0.8.7
|
1079
|
+
|
1080
|
+
Rake version 0.8.5 introduced greatly improved support for executing
|
1081
|
+
commands on Windows. The "sh" command now has the same semantics on
|
1082
|
+
Windows that it has on Unix based platforms.
|
1083
|
+
|
1084
|
+
Rake version 0.8.6 includes minor fixes the the RDoc generation.
|
1085
|
+
Rake version 0.8.7 includes a minor fix for JRuby running on windows.
|
1086
|
+
|
1087
|
+
==== Changes
|
1088
|
+
|
1089
|
+
===== New Features / Enhancements in Version 0.8.5
|
1090
|
+
|
1091
|
+
* Improved implementation of the Rake system command for Windows.
|
1092
|
+
(patch from James M. Lawrence/quix)
|
1093
|
+
|
1094
|
+
* Support for Ruby 1.9's improved system command. (patch from James
|
1095
|
+
M. Lawrence/quix)
|
1096
|
+
|
1097
|
+
* Rake now includes the configured extension when invoking an
|
1098
|
+
executable (Config::CONFIG['EXEEXT])
|
1099
|
+
|
1100
|
+
===== Bug Fixes in Version 0.8.5
|
1101
|
+
|
1102
|
+
* Environment variable keys are now correctly cased (it matters in
|
1103
|
+
some implementations).
|
1104
|
+
|
1105
|
+
==== Thanks
|
1106
|
+
|
1107
|
+
As usual, it was input from users that drove a alot of these changes. The
|
1108
|
+
following people either contributed patches, made suggestions or made
|
1109
|
+
otherwise helpful comments. Thanks to ...
|
1110
|
+
|
1111
|
+
* Charles Nutter
|
1112
|
+
|
1113
|
+
-- Jim Weirich
|
1114
|
+
|
1115
|
+
=== 0.8.6
|
1116
|
+
|
1117
|
+
Rake version 0.8.5 introduced greatly improved support for executing
|
1118
|
+
commands on Windows. The "sh" command now has the same semantics on
|
1119
|
+
Windows that it has on Unix based platforms.
|
1120
|
+
|
1121
|
+
Rake version 0.8.5 includes minor fixes the the RDoc generation.
|
1122
|
+
|
1123
|
+
==== Thanks
|
1124
|
+
|
1125
|
+
As usual, it was input from users that drove a alot of these changes. The
|
1126
|
+
following people either contributed patches, made suggestions or made
|
1127
|
+
otherwise helpful comments. Thanks to ...
|
1128
|
+
|
1129
|
+
* James M. Lawrence/quix
|
1130
|
+
* Luis Lavena
|
1131
|
+
|
1132
|
+
-- Jim Weirich
|
1133
|
+
|
1134
|
+
=== 0.8.5
|
1135
|
+
|
1136
|
+
Rake version 0.8.5 is a new release of Rake with greatly improved
|
1137
|
+
support for executing commands on Windows. The "sh" command now has
|
1138
|
+
the same semantics on Windows that it has on Unix based platforms.
|
1139
|
+
|
1140
|
+
==== Changes
|
1141
|
+
|
1142
|
+
===== New Features / Enhancements in Version 0.8.5
|
1143
|
+
|
1144
|
+
* Improved implementation of the Rake system command for Windows.
|
1145
|
+
(patch from James M. Lawrence/quix)
|
1146
|
+
|
1147
|
+
* Support for Ruby 1.9's improved system command. (patch from James
|
1148
|
+
M. Lawrence/quix)
|
1149
|
+
|
1150
|
+
* Rake now includes the configured extension when invoking an
|
1151
|
+
executable (Config::CONFIG['EXEEXT])
|
1152
|
+
|
1153
|
+
===== Bug Fixes in Version 0.8.5
|
1154
|
+
|
1155
|
+
* Environment variable keys are now correctly cased (it matters in
|
1156
|
+
some implementations).
|
1157
|
+
|
1158
|
+
==== Thanks
|
1159
|
+
|
1160
|
+
As usual, it was input from users that drove a alot of these changes. The
|
1161
|
+
following people either contributed patches, made suggestions or made
|
1162
|
+
otherwise helpful comments. Thanks to ...
|
1163
|
+
|
1164
|
+
* James M. Lawrence/quix
|
1165
|
+
* Luis Lavena
|
1166
|
+
|
1167
|
+
-- Jim Weirich
|
1168
|
+
|
1169
|
+
=== 0.8.4
|
1170
|
+
|
1171
|
+
Rake version 0.8.4 is a bug-fix release of rake.
|
1172
|
+
|
1173
|
+
NOTE: The version of Rake that comes with Ruby 1.9 has diverged
|
1174
|
+
slightly from the core Rake code base. Rake 0.8.4 will work
|
1175
|
+
with Ruby 1.9, but is not a strict upgrade for the Rake that
|
1176
|
+
comes with Ruby 1.9. A (near) future release of Rake will unify
|
1177
|
+
those two codebases.
|
1178
|
+
|
1179
|
+
==== Letter Writing Campaign
|
1180
|
+
|
1181
|
+
Thanks to Aaron Patterson (@tenderlove) and Eric Hodel (@drbrain) for
|
1182
|
+
their encouraging support in organizing a letter writing campaign to
|
1183
|
+
lobby for the "Warning Free" release of rake 0.8.4. A special callout
|
1184
|
+
goes to Jonathan D. Lord, Sr (Dr. Wingnut) whose postcard was the
|
1185
|
+
first to actually reach me. (see
|
1186
|
+
http://tenderlovemaking.com/2009/02/26/we-need-a-new-version-of-rake/
|
1187
|
+
for details)
|
1188
|
+
|
1189
|
+
==== Changes
|
1190
|
+
|
1191
|
+
===== New Features / Enhancements in Version 0.8.4
|
1192
|
+
|
1193
|
+
* Case is preserved on rakefile names. (patch from James
|
1194
|
+
M. Lawrence/quix)
|
1195
|
+
|
1196
|
+
* Improved Rakefile case insensitivity testing (patch from Luis
|
1197
|
+
Lavena).
|
1198
|
+
|
1199
|
+
* Windows system dir search order is now: HOME, HOMEDRIVE + HOMEPATH,
|
1200
|
+
APPDATA, USERPROFILE (patch from Luis Lavena)
|
1201
|
+
|
1202
|
+
* MingGW is now recognized as a windows platform. (patch from Luis
|
1203
|
+
Lavena)
|
1204
|
+
|
1205
|
+
===== Bug Fixes in Version 0.8.4
|
1206
|
+
|
1207
|
+
* Removed reference to manage_gem to fix the warning produced by the
|
1208
|
+
gem package task.
|
1209
|
+
|
1210
|
+
* Fixed stray ARGV option problem that was interfering with
|
1211
|
+
Test::Unit::Runner. (patch from Pivotal Labs)
|
1212
|
+
|
1213
|
+
===== Infrastructure Improvements in Version 0.8.4
|
1214
|
+
|
1215
|
+
* Numerous fixes to the windows test suite (patch from Luis Lavena).
|
1216
|
+
|
1217
|
+
* Improved Rakefile case insensitivity testing (patch from Luis
|
1218
|
+
Lavena).
|
1219
|
+
|
1220
|
+
* Better support for windows paths in the test task (patch from Simon
|
1221
|
+
Chiang/bahuvrihi)
|
1222
|
+
|
1223
|
+
==== Thanks
|
1224
|
+
|
1225
|
+
As usual, it was input from users that drove a alot of these changes. The
|
1226
|
+
following people either contributed patches, made suggestions or made
|
1227
|
+
otherwise helpful comments. Thanks to ...
|
1228
|
+
|
1229
|
+
* James M. Lawrence/quix
|
1230
|
+
* Luis Lavena
|
1231
|
+
* Pivotal Labs
|
1232
|
+
* Simon Chiang/bahuvrihi
|
1233
|
+
|
1234
|
+
-- Jim Weirich
|
1235
|
+
|
1236
|
+
=== 0.8.3
|
1237
|
+
|
1238
|
+
Rake version 0.8.3 is a bug-fix release of rake.
|
1239
|
+
|
1240
|
+
==== Changes
|
1241
|
+
|
1242
|
+
===== Bug Fixes in Version 0.8.3
|
1243
|
+
|
1244
|
+
* Enhanced the system directory detection in windows. We now check
|
1245
|
+
HOMEDRIVE/HOMEPATH and USERPROFILE if APPDATA isn't found. (Patch
|
1246
|
+
supplied by James Tucker). Rake no long aborts if it can't find the
|
1247
|
+
directory.
|
1248
|
+
|
1249
|
+
* Added fix to handle ruby installations in directories with spaces in
|
1250
|
+
their name.
|
1251
|
+
|
1252
|
+
==== Thanks
|
1253
|
+
|
1254
|
+
As usual, it was input from users that drove a alot of these changes. The
|
1255
|
+
following people either contributed patches, made suggestions or made
|
1256
|
+
otherwise helpful comments. Thanks to ...
|
1257
|
+
|
1258
|
+
* Edwin Pratomo
|
1259
|
+
* Gavin Stark
|
1260
|
+
* Adam Q. Salter
|
1261
|
+
* Adam Majer
|
1262
|
+
* Emanuel Indermühle
|
1263
|
+
* Ittay Dror
|
1264
|
+
* Bheeshmar Redheendran (for spending an afternoon with me debugging
|
1265
|
+
windows issues)
|
1266
|
+
|
1267
|
+
-- Jim Weirich
|
1268
|
+
|
1269
|
+
|
1270
|
+
=== 0.8.2
|
1271
|
+
|
1272
|
+
Rake version 0.8.2 is a new release of rake that includes a number of
|
1273
|
+
new features and numerous bug fixes.
|
1274
|
+
|
1275
|
+
==== Changes
|
1276
|
+
|
1277
|
+
===== New Features in Version 0.8.2
|
1278
|
+
|
1279
|
+
* Switched from getoptlong to optparse (patches supplied by Edwin
|
1280
|
+
Pratomo).
|
1281
|
+
|
1282
|
+
* The -T option will now attempt to dynamically sense the size of the
|
1283
|
+
terminal. The -T output will only self-truncate if the output is a
|
1284
|
+
tty. However, if RAKE_COLUMNS is explicitly set, it will be honored
|
1285
|
+
in any case. (Patch provided by Gavin Stark).
|
1286
|
+
|
1287
|
+
* The following public methods have been added to rake task objects:
|
1288
|
+
|
1289
|
+
* task.clear -- Clear both the prerequisites and actions of the
|
1290
|
+
target rake task.
|
1291
|
+
* task.clear_prerequisites -- Clear all the existing prerequisites
|
1292
|
+
from the target rake task.
|
1293
|
+
* task.clear_actions -- Clear all the existing actions from the
|
1294
|
+
target rake task.
|
1295
|
+
* task.reenable -- Re-enable a task, allowing its actions to be
|
1296
|
+
executed again if the task is invoked.
|
1297
|
+
|
1298
|
+
* Changed RDoc test task to have no default template. This makes it
|
1299
|
+
easier for the tempate to pick up the template from the environment.
|
1300
|
+
|
1301
|
+
* Default values for task arguments can easily be specified with the
|
1302
|
+
:with_defaults method. (Idea for default argument merging supplied
|
1303
|
+
by (Adam Q. Salter)
|
1304
|
+
|
1305
|
+
===== Bug Fixes in Version 0.8.2
|
1306
|
+
|
1307
|
+
* Fixed bug in package task so that it will include the subdir
|
1308
|
+
directory in the package for testing. (Bug found by Adam Majer)
|
1309
|
+
|
1310
|
+
* Fixed filename dependency order bug in test\_inspect\_pending and
|
1311
|
+
test\_to\_s\_pending. (Bug found by Adam Majer)
|
1312
|
+
|
1313
|
+
* Fixed check for file utils options to make them immune to the
|
1314
|
+
symbol/string differences. (Patch supplied by Edwin Pratomo)
|
1315
|
+
|
1316
|
+
* Fixed bug with rules involving multiple source, where only the first
|
1317
|
+
dependency of a rule has any effect (Patch supplied by Emanuel
|
1318
|
+
Indermühle)
|
1319
|
+
|
1320
|
+
* FileList#clone and FileList#dup have better sematics w.r.t. taint
|
1321
|
+
and freeze.
|
1322
|
+
|
1323
|
+
* Changed from using Mutex to Monitor. Evidently Mutex causes thread
|
1324
|
+
join errors when Ruby is compiled with -disable-pthreads. (Patch
|
1325
|
+
supplied by Ittay Dror)
|
1326
|
+
|
1327
|
+
* Fixed bug in makefile parser that had problems with extra spaces in
|
1328
|
+
file task names. (Patch supplied by Ittay Dror)
|
1329
|
+
|
1330
|
+
==== Other changes in Version 0.8.2
|
1331
|
+
|
1332
|
+
* Added ENV var to rake's own Rakefile to prevent OS X from including
|
1333
|
+
extended attribute junk in the rake package tar file. (Bug found by
|
1334
|
+
Adam Majer)
|
1335
|
+
|
1336
|
+
* Added a performance patch for reading large makefile dependency
|
1337
|
+
files. (Patch supplied by Ittay Dror)
|
1338
|
+
|
1339
|
+
==== Task Argument Examples
|
1340
|
+
|
1341
|
+
Prior to version 0.8.0, rake was only able to handle command line
|
1342
|
+
arguments of the form NAME=VALUE that were passed into Rake via the
|
1343
|
+
ENV hash. Many folks had asked for some kind of simple command line
|
1344
|
+
arguments, perhaps using "--" to separate regular task names from
|
1345
|
+
argument values on the command line. The problem is that there was no
|
1346
|
+
easy way to associate positional arguments on the command line with
|
1347
|
+
different tasks. Suppose both tasks :a and :b expect a command line
|
1348
|
+
argument: does the first value go with :a? What if :b is run first?
|
1349
|
+
Should it then get the first command line argument.
|
1350
|
+
|
1351
|
+
Rake 0.8.0 solves this problem by explicitly passing values directly
|
1352
|
+
to the tasks that need them. For example, if I had a release task
|
1353
|
+
that required a version number, I could say:
|
1354
|
+
|
1355
|
+
rake release[0.8.2]
|
1356
|
+
|
1357
|
+
And the string "0.8.2" will be passed to the :release task. Multiple
|
1358
|
+
arguments can be passed by separating them with a comma, for example:
|
1359
|
+
|
1360
|
+
rake name[john,doe]
|
1361
|
+
|
1362
|
+
Just a few words of caution. The rake task name and its arguments
|
1363
|
+
need to be a single command line argument to rake. This generally
|
1364
|
+
means no spaces. If spaces are needed, then the entire rake +
|
1365
|
+
argument string should be quoted. Something like this:
|
1366
|
+
|
1367
|
+
rake "name[billy bob, smith]"
|
1368
|
+
|
1369
|
+
(Quoting rules vary between operating systems and shells, so make sure
|
1370
|
+
you consult the proper docs for your OS/shell).
|
1371
|
+
|
1372
|
+
===== Tasks that Expect Parameters
|
1373
|
+
|
1374
|
+
Parameters are only given to tasks that are setup to expect them. In
|
1375
|
+
order to handle named parameters, the task declaration syntax for
|
1376
|
+
tasks has been extended slightly.
|
1377
|
+
|
1378
|
+
For example, a task that needs a first name and last name might be
|
1379
|
+
declared as:
|
1380
|
+
|
1381
|
+
task :name, :first_name, :last_name
|
1382
|
+
|
1383
|
+
The first argument is still the name of the task (:name in this case).
|
1384
|
+
The next to argumements are the names of the parameters expected by
|
1385
|
+
:name (:first_name and :last_name in the example).
|
1386
|
+
|
1387
|
+
To access the values of the paramters, the block defining the task
|
1388
|
+
behaviour can now accept a second parameter:
|
1389
|
+
|
1390
|
+
task :name, :first_name, :last_name do |t, args|
|
1391
|
+
puts "First name is #{args.first_name}"
|
1392
|
+
puts "Last name is #{args.last_name}"
|
1393
|
+
end
|
1394
|
+
|
1395
|
+
The first argument of the block "t" is always bound to the current
|
1396
|
+
task object. The second argument "args" is an open-struct like object
|
1397
|
+
that allows access to the task arguments. Extra command line
|
1398
|
+
arguments to a task are ignored. Missing command line arguments are
|
1399
|
+
given the nil value.
|
1400
|
+
|
1401
|
+
==== Thanks
|
1402
|
+
|
1403
|
+
As usual, it was input from users that drove a alot of these changes. The
|
1404
|
+
following people either contributed patches, made suggestions or made
|
1405
|
+
otherwise helpful comments. Thanks to ...
|
1406
|
+
|
1407
|
+
* Edwin Pratomo
|
1408
|
+
* Gavin Stark
|
1409
|
+
* Adam Q. Salter
|
1410
|
+
* Adam Majer
|
1411
|
+
* Emanuel Indermühle
|
1412
|
+
* Ittay Dror
|
1413
|
+
* Bheeshmar Redheendran (for spending an afternoon with me debugging
|
1414
|
+
windows issues)
|
1415
|
+
|
1416
|
+
-- Jim Weirich
|
1417
|
+
|
1418
|
+
=== 0.8.0/0.8.1
|
1419
|
+
|
1420
|
+
Rake version 0.8.0 is a new release of rake that includes serveral new
|
1421
|
+
features.
|
1422
|
+
|
1423
|
+
==== Changes
|
1424
|
+
|
1425
|
+
===== New Features in Version 0.8.0
|
1426
|
+
|
1427
|
+
* Tasks can now receive command line parameters. See the examples
|
1428
|
+
below for more details.
|
1429
|
+
|
1430
|
+
* Comments are limited to 80 columns on output, but full comments can
|
1431
|
+
be seen by using the -D parameter. (feature suggested by Jamis
|
1432
|
+
Buck).
|
1433
|
+
|
1434
|
+
* Explicit exit(n) calls will now set the exit status to n. (patch
|
1435
|
+
provided by Stephen Touset).
|
1436
|
+
|
1437
|
+
* Rake is now compatible with Ruby 1.9.
|
1438
|
+
|
1439
|
+
Version 0.8.1 is a minor update that includes additional Ruby 1.9
|
1440
|
+
compatibility fixes.
|
1441
|
+
|
1442
|
+
==== Task Argument Examples
|
1443
|
+
|
1444
|
+
Prior to version 0.8.0, rake was only able to handle command line
|
1445
|
+
arguments of the form NAME=VALUE that were passed into Rake via the
|
1446
|
+
ENV hash. Many folks had asked for some kind of simple command line
|
1447
|
+
arguments, perhaps using "--" to separate regular task names from
|
1448
|
+
argument values on the command line. The problem is that there was no
|
1449
|
+
easy way to associate positional arguments on the command line with
|
1450
|
+
different tasks. Suppose both tasks :a and :b expect a command line
|
1451
|
+
argument: does the first value go with :a? What if :b is run first?
|
1452
|
+
Should it then get the first command line argument.
|
1453
|
+
|
1454
|
+
Rake 0.8.0 solves this problem by explicitly passing values directly
|
1455
|
+
to the tasks that need them. For example, if I had a release task
|
1456
|
+
that required a version number, I could say:
|
1457
|
+
|
1458
|
+
rake release[0.8.0]
|
1459
|
+
|
1460
|
+
And the string "0.8.0" will be passed to the :release task. Multiple
|
1461
|
+
arguments can be passed by separating them with a comma, for example:
|
1462
|
+
|
1463
|
+
rake name[john,doe]
|
1464
|
+
|
1465
|
+
Just a few words of caution. The rake task name and its arguments
|
1466
|
+
need to be a single command line argument to rake. This generally
|
1467
|
+
means no spaces. If spaces are needed, then the entire rake +
|
1468
|
+
argument string should be quoted. Something like this:
|
1469
|
+
|
1470
|
+
rake "name[billy bob, smith]"
|
1471
|
+
|
1472
|
+
(Quoting rules vary between operating systems and shells, so make sure
|
1473
|
+
you consult the proper docs for your OS/shell).
|
1474
|
+
|
1475
|
+
===== Tasks that Expect Parameters
|
1476
|
+
|
1477
|
+
Parameters are only given to tasks that are setup to expect them. In
|
1478
|
+
order to handle named parameters, the task declaration syntax for
|
1479
|
+
tasks has been extended slightly.
|
1480
|
+
|
1481
|
+
For example, a task that needs a first name and last name might be
|
1482
|
+
declared as:
|
1483
|
+
|
1484
|
+
task :name, :first_name, :last_name
|
1485
|
+
|
1486
|
+
The first argument is still the name of the task (:name in this case).
|
1487
|
+
The next to argumements are the names of the parameters expected by
|
1488
|
+
:name (:first_name and :last_name in the example).
|
1489
|
+
|
1490
|
+
To access the values of the paramters, the block defining the task
|
1491
|
+
behaviour can now accept a second parameter:
|
1492
|
+
|
1493
|
+
task :name, :first_name, :last_name do |t, args|
|
1494
|
+
puts "First name is #{args.first_name}"
|
1495
|
+
puts "Last name is #{args.last_name}"
|
1496
|
+
end
|
1497
|
+
|
1498
|
+
The first argument of the block "t" is always bound to the current
|
1499
|
+
task object. The second argument "args" is an open-struct like object
|
1500
|
+
that allows access to the task arguments. Extra command line
|
1501
|
+
arguments to a task are ignored. Missing command line arguments are
|
1502
|
+
given the nil value.
|
1503
|
+
|
1504
|
+
==== Thanks
|
1505
|
+
|
1506
|
+
As usual, it was input from users that drove a alot of these changes. The
|
1507
|
+
following people either contributed patches, made suggestions or made
|
1508
|
+
otherwise helpful comments. Thanks to ...
|
1509
|
+
|
1510
|
+
* Jamis Buck (for comment formatting suggestions)
|
1511
|
+
* Stephen Touset (for exit status patch).
|
1512
|
+
|
1513
|
+
-- Jim Weirich
|
1514
|
+
|
1515
|
+
|
1516
|
+
=== 0.7.3
|
1517
|
+
|
1518
|
+
Rake version 0.7.3 is a minor release that includes some refactoring to better
|
1519
|
+
support custom Rake applications.
|
1520
|
+
|
1521
|
+
==== Changes
|
1522
|
+
|
1523
|
+
===== New Features in Version 0.7.3
|
1524
|
+
|
1525
|
+
* Added the +init+ and +top_level+ methods to make the creation of custom Rake applications a bit easier. E.g.
|
1526
|
+
|
1527
|
+
gem 'rake', ">= 0.7.3"
|
1528
|
+
require 'rake'
|
1529
|
+
|
1530
|
+
Rake.application.init('myrake')
|
1531
|
+
|
1532
|
+
task :default do
|
1533
|
+
something_interesting
|
1534
|
+
end
|
1535
|
+
|
1536
|
+
Rake.application.top_level
|
1537
|
+
|
1538
|
+
==== Thanks
|
1539
|
+
|
1540
|
+
As usual, it was input from users that drove a alot of these changes. The
|
1541
|
+
following people either contributed patches, made suggestions or made
|
1542
|
+
otherwise helpful comments. Thanks to ...
|
1543
|
+
|
1544
|
+
-- Jim Weirich
|
1545
|
+
|
1546
|
+
|
1547
|
+
=== 0.7.2
|
1548
|
+
|
1549
|
+
|
1550
|
+
Version 0.7.2 supplies a bug fix and a few minor enhancements. In
|
1551
|
+
particular, the new version fixes an incompatibility with the soon to
|
1552
|
+
be released Ruby 1.8.6. We strongly recommend upgrading to Rake 0.7.2
|
1553
|
+
in order to be compatible with the new version of Ruby.
|
1554
|
+
|
1555
|
+
==== Changes
|
1556
|
+
|
1557
|
+
===== Bug Fixes in 0.7.2
|
1558
|
+
|
1559
|
+
There are quite a number of bug fixes in the new 0.7.2 version of
|
1560
|
+
Rake:
|
1561
|
+
|
1562
|
+
* Removed dependency on internal fu_xxx functions from FileUtils.
|
1563
|
+
|
1564
|
+
* Error messages are now send to stderr rather than stdout (from
|
1565
|
+
Payton Quackenbush).
|
1566
|
+
|
1567
|
+
* Better error handling on invalid command line arguments (from Payton
|
1568
|
+
Quackenbush).
|
1569
|
+
|
1570
|
+
* Fixed some bugs where the application object was going to the global
|
1571
|
+
appliation instead of using its own data.
|
1572
|
+
|
1573
|
+
* Fixed the method name leak from FileUtils (bug found by Glenn
|
1574
|
+
Vanderburg).
|
1575
|
+
|
1576
|
+
* Added test for noop, bad_option and verbose flags to sh command.
|
1577
|
+
|
1578
|
+
* Added a description to the gem task in GemPackageTask.
|
1579
|
+
|
1580
|
+
* Fixed a bug when rules have multiple prerequisites (patch by Joel
|
1581
|
+
VanderWerf)
|
1582
|
+
|
1583
|
+
* Added the handful of RakeFileUtils to the private method as well.
|
1584
|
+
|
1585
|
+
===== New Features in 0.7.2
|
1586
|
+
|
1587
|
+
The following new features are available in Rake version 0.7.2:
|
1588
|
+
|
1589
|
+
* Added square and curly bracket patterns to FileList#include (Tilman
|
1590
|
+
Sauerbeck).
|
1591
|
+
|
1592
|
+
* FileLists can now pass a block to FileList#exclude to exclude files
|
1593
|
+
based on calculated values.
|
1594
|
+
|
1595
|
+
* Added plain filename support to rule dependents (suggested by Nobu
|
1596
|
+
Nakada).
|
1597
|
+
|
1598
|
+
* Added pathmap support to rule dependents. In other words, if a
|
1599
|
+
pathmap format (beginning with a '%') is given as a Rake rule
|
1600
|
+
dependent, then the name of the depend will be the name of the
|
1601
|
+
target with the pathmap format applied.
|
1602
|
+
|
1603
|
+
* Added a 'tasks' method to a namespace to get a list of tasks
|
1604
|
+
associated with the namespace.
|
1605
|
+
|
1606
|
+
* Added tar_command and zip_command options to the Package task.
|
1607
|
+
|
1608
|
+
* The clean task will no longer delete 'core' if it is a directory.
|
1609
|
+
|
1610
|
+
===== Internal Rake Improvements
|
1611
|
+
|
1612
|
+
The following changes will are mainly internal improvements and
|
1613
|
+
refactorings and have little effect on the end user. But they may be
|
1614
|
+
of interest to the general public.
|
1615
|
+
|
1616
|
+
* Added rcov task and updated unit testing for better code coverage.
|
1617
|
+
|
1618
|
+
* Added a 'shame' task to the Rakefile.
|
1619
|
+
|
1620
|
+
* Added rake_extension to handle detection of extension collisions.
|
1621
|
+
|
1622
|
+
* Added a protected 'require "rubygems"' to test/test_application to
|
1623
|
+
unbreak cruisecontrol.rb.
|
1624
|
+
|
1625
|
+
* Removed rake\_dup. Now we just simply rescue a bad dup.
|
1626
|
+
|
1627
|
+
* Refactored the FileList reject logic to remove duplication.
|
1628
|
+
|
1629
|
+
* Removed if \_\_FILE\_\_ at the end of the rake.rb file.
|
1630
|
+
|
1631
|
+
==== Thanks
|
1632
|
+
|
1633
|
+
As usual, it was input from users that drove a alot of these changes.
|
1634
|
+
The following people either contributed patches, made suggestions or
|
1635
|
+
made otherwise helpful comments. Thanks to ...
|
1636
|
+
|
1637
|
+
* Payton Quackenbush -- For several error handling improvements.
|
1638
|
+
|
1639
|
+
* Glenn Vanderburg -- For finding and fixing the method name leak from
|
1640
|
+
FileUtils.
|
1641
|
+
|
1642
|
+
* Joel VanderWerf -- for finding and fixing a bug in the handling of
|
1643
|
+
multiple prerequisites.
|
1644
|
+
|
1645
|
+
* Tilman Sauerbeck -- For some enhancing FileList to support more
|
1646
|
+
advanced file globbing.
|
1647
|
+
|
1648
|
+
* Nobu Nakada -- For suggesting plain file name support to rule dependents.
|
1649
|
+
|
1650
|
+
-- Jim Weirich
|
1651
|
+
|
1652
|
+
=== 0.7.1
|
1653
|
+
|
1654
|
+
Version 0.7.1 supplies a bug fix and a few minor enhancements.
|
1655
|
+
|
1656
|
+
==== Changes
|
1657
|
+
|
1658
|
+
===== Bug Fixes in 0.7.1
|
1659
|
+
|
1660
|
+
* Changes in the exception reported for the FileUtils.ln caused
|
1661
|
+
safe_ln to fail with a NotImplementedError. Rake 0.7.1 will now
|
1662
|
+
catch that error or any StandardError and properly fall back to
|
1663
|
+
using +cp+.
|
1664
|
+
|
1665
|
+
===== New Features in 0.7.1
|
1666
|
+
|
1667
|
+
* You can filter the results of the --task option by supplying an
|
1668
|
+
optional regular expression. This allows the user to easily find a
|
1669
|
+
particular task name in a long list of possible names.
|
1670
|
+
|
1671
|
+
* Transforming procs in a rule may now return a list of prerequisites.
|
1672
|
+
This allows more flexible rule formation.
|
1673
|
+
|
1674
|
+
* FileList and String now support a +pathmap+ melthod that makes the
|
1675
|
+
transforming paths a bit easier. See the API docs for +pathmap+ for
|
1676
|
+
details.
|
1677
|
+
|
1678
|
+
* The -f option without a value will disable the search for a
|
1679
|
+
Rakefile. This allows the Rakefile to be defined entirely in a
|
1680
|
+
library (and loaded with the -r option). The current working
|
1681
|
+
directory is not changed when this is done.
|
1682
|
+
|
1683
|
+
==== Thanks
|
1684
|
+
|
1685
|
+
As usual, it was input from users that drove a alot of these changes.
|
1686
|
+
The following people either contributed patches, made suggestions or
|
1687
|
+
made otherwise helpful comments. Thanks to ...
|
1688
|
+
|
1689
|
+
* James Britt and Assaph Mehr for reporting and helping to debug the
|
1690
|
+
safe_ln issue.
|
1691
|
+
|
1692
|
+
-- Jim Weirich
|
1693
|
+
|
1694
|
+
|
1695
|
+
=== 0.7.0
|
1696
|
+
|
1697
|
+
These changes for Rake have been brewing for a long time. Here they
|
1698
|
+
are, I hope you enjoy them.
|
1699
|
+
|
1700
|
+
==== Changes
|
1701
|
+
|
1702
|
+
===== New Features
|
1703
|
+
|
1704
|
+
* Name space support for task names (see below).
|
1705
|
+
* Prerequisites can be executed in parallel (see below).
|
1706
|
+
* Added safe_ln support for openAFS (via Ludvig Omholt).
|
1707
|
+
* RDoc defaults to internal (in-process) invocation. The old behavior
|
1708
|
+
is still available by setting the +external+ flag to true.
|
1709
|
+
* Rakefiles are now loaded with the expanded path to prevent
|
1710
|
+
accidental polution from the Ruby load path.
|
1711
|
+
* Task objects my now be used in prerequisite lists directly.
|
1712
|
+
* Task objects (in addition to task names) may now be included in the
|
1713
|
+
prerequisite list of a task.
|
1714
|
+
* Internals cleanup and refactoring.
|
1715
|
+
|
1716
|
+
===== Bug Fixes
|
1717
|
+
|
1718
|
+
* Compatibility fixes for Ruby 1.8.4 FileUtils changes.
|
1719
|
+
|
1720
|
+
===== Namespaces
|
1721
|
+
|
1722
|
+
Tasks can now be nested inside their own namespaces. Tasks within one
|
1723
|
+
namespace will not accidently interfer with tasks named in a different
|
1724
|
+
namespace.
|
1725
|
+
|
1726
|
+
For example:
|
1727
|
+
|
1728
|
+
namespace "main" do
|
1729
|
+
task :build do
|
1730
|
+
# Build the main program
|
1731
|
+
end
|
1732
|
+
end
|
1733
|
+
|
1734
|
+
namespace "samples" do
|
1735
|
+
task :build do
|
1736
|
+
# Build the sample programs
|
1737
|
+
end
|
1738
|
+
end
|
1739
|
+
|
1740
|
+
task :build_all => ["main:build", "samples:build"]
|
1741
|
+
|
1742
|
+
Even though both tasks are named :build, they are separate tasks in
|
1743
|
+
their own namespaces. The :build_all task (defined in the toplevel
|
1744
|
+
namespace) references both build tasks in its prerequisites.
|
1745
|
+
|
1746
|
+
You may invoke each of the individual build tasks with the following
|
1747
|
+
commands:
|
1748
|
+
|
1749
|
+
rake main:build
|
1750
|
+
rake samples:build
|
1751
|
+
|
1752
|
+
Or invoke both via the :build_all command:
|
1753
|
+
|
1754
|
+
rake build_all
|
1755
|
+
|
1756
|
+
Namespaces may be nested arbitrarily. Since the name of file tasks
|
1757
|
+
correspond to the name of a file in the external file system,
|
1758
|
+
FileTasks are not affected by the namespaces.
|
1759
|
+
|
1760
|
+
See the Rakefile format documentation (in the Rake API documents) for
|
1761
|
+
more information.
|
1762
|
+
|
1763
|
+
===== Parallel Tasks
|
1764
|
+
|
1765
|
+
Sometimes you have several tasks that can be executed in parallel. By
|
1766
|
+
specifying these tasks as prerequisites to a +multitask+ task.
|
1767
|
+
|
1768
|
+
In the following example the tasks copy\_src, copy\_doc and copy\_bin
|
1769
|
+
will all execute in parallel in their own thread.
|
1770
|
+
|
1771
|
+
multitask :copy_files => [:copy_src, :copy_doc, :copy_bin] do
|
1772
|
+
puts "All Copies Complete"
|
1773
|
+
end
|
1774
|
+
|
1775
|
+
==== Thanks
|
1776
|
+
|
1777
|
+
As usual, it was input from users that drove a alot of these changes.
|
1778
|
+
The following people either contributed patches, made suggestions or
|
1779
|
+
made otherwise helpful comments. Thanks to ...
|
1780
|
+
|
1781
|
+
* Doug Young (inspriation for the parallel task)
|
1782
|
+
* David Heinemeier Hansson (for --trace message enhancement and for
|
1783
|
+
pushing for namespace support).
|
1784
|
+
* Ludvig Omholt (for the openAFS fix)
|
1785
|
+
|
1786
|
+
-- Jim Weirich
|
1787
|
+
|
1788
|
+
=== 0.6.1
|
1789
|
+
|
1790
|
+
* Rebuilt 0.6.0 gem without signing.
|
1791
|
+
|
1792
|
+
=== 0.6.0
|
1793
|
+
|
1794
|
+
Its time for some long requested enhancements and lots of bug fixes
|
1795
|
+
... And a whole new web page.
|
1796
|
+
|
1797
|
+
==== New Web Page
|
1798
|
+
|
1799
|
+
The primary documentation for rake has moved from the RubyForge based
|
1800
|
+
wiki to its own Hieraki based web site. Constant spam on the wiki
|
1801
|
+
made it a difficult to keep clean. The new site will be easier to
|
1802
|
+
update and organize.
|
1803
|
+
|
1804
|
+
Check out the new documentation at: http://docs.rubyrake.org
|
1805
|
+
|
1806
|
+
We will be adding new documentation to the site as time goes on.
|
1807
|
+
|
1808
|
+
In addition to the new docs page, make sure you check out Martin
|
1809
|
+
Fowlers article on rake at http://martinfowler.com/articles/rake.html
|
1810
|
+
|
1811
|
+
==== Changes
|
1812
|
+
|
1813
|
+
===== New Features
|
1814
|
+
|
1815
|
+
* Multiple prerequisites on Rake rules now allowed. However, keep the
|
1816
|
+
following in mind:
|
1817
|
+
|
1818
|
+
1. All the prerequisites of a rule must be available before a rule
|
1819
|
+
is triggered, where "enabled" means (a) an existing file, (b) a
|
1820
|
+
defined rule, or (c) another rule which also must be
|
1821
|
+
trigger-able.
|
1822
|
+
2. Rules are checked in order of definition, so it is important to
|
1823
|
+
order your rules properly. If a file can be created by two
|
1824
|
+
different rules, put the more specific rule first (otherwise the
|
1825
|
+
more general rule will trigger first and the specific one will
|
1826
|
+
never be triggered).
|
1827
|
+
3. The <tt>source</tt> method now returns the name of the first
|
1828
|
+
prerequisite listed in the rule. <tt>sources</tt> returns the
|
1829
|
+
names of all the rule prerequisites, ordered as they are defined
|
1830
|
+
in the rule. If the task has other prerequisites not defined in
|
1831
|
+
the rule (but defined in an explicit task definition), then they
|
1832
|
+
will _not_ be included in the sources list.
|
1833
|
+
|
1834
|
+
* FileLists may now use the egrep command. This popular enhancement
|
1835
|
+
is now a core part of the FileList object. If you want to get a
|
1836
|
+
list of all your to-dos, fixmes and TBD comments, add the following
|
1837
|
+
to your Rakefile.
|
1838
|
+
|
1839
|
+
desc "Look for TODO and FIXME tags in the code"
|
1840
|
+
task :todo do
|
1841
|
+
FileList['**/*.rb'].egrep /#.*(FIXME|TODO|TBD)/
|
1842
|
+
end
|
1843
|
+
|
1844
|
+
* The <tt>investigation</tt> method was added to task object to dump
|
1845
|
+
out some important values. This makes it a bit easier to debug Rake
|
1846
|
+
tasks.
|
1847
|
+
|
1848
|
+
For example, if you are having problems with a particular task, just
|
1849
|
+
print it out:
|
1850
|
+
|
1851
|
+
task :huh do
|
1852
|
+
puts Rake::Task['huh'].investigation
|
1853
|
+
end
|
1854
|
+
|
1855
|
+
* The Rake::TestTask class now supports a "ruby\_opts" option to pass
|
1856
|
+
arbitrary ruby options to a test subprocess.
|
1857
|
+
|
1858
|
+
===== Some Incompatibilities
|
1859
|
+
|
1860
|
+
* When using the <tt>ruby</tt> command to start a Ruby subprocess, the
|
1861
|
+
Ruby interpreter that is currently running rake is used by default.
|
1862
|
+
This makes it easier to use rake in an environment with multiple
|
1863
|
+
ruby installation. (Previously, the first ruby command found in the
|
1864
|
+
PATH was used).
|
1865
|
+
|
1866
|
+
If you wish to chose a different Ruby interpreter, you can
|
1867
|
+
explicitly choose the interpreter via the <tt>sh</tt> command.
|
1868
|
+
|
1869
|
+
* The major rake classes (Task, FileTask, FileCreationTask, RakeApp)
|
1870
|
+
have been moved out of the toplevel scope and are now accessible as
|
1871
|
+
Rake::Task, Rake::FileTask, Rake::FileCreationTask and
|
1872
|
+
Rake::Application. If your Rakefile
|
1873
|
+
directly references any one of these tasks, you may:
|
1874
|
+
|
1875
|
+
1. Update your Rakefile to use the new classnames
|
1876
|
+
2. Use the --classic-namespace option on the rake command to get the
|
1877
|
+
old behavior,
|
1878
|
+
3. Add <code>require 'rake/classic_namespace'</code> to the
|
1879
|
+
Rakefile to get the old behavior.
|
1880
|
+
|
1881
|
+
<tt>rake</tt> will print a rather annoying warning whenever a
|
1882
|
+
deprecated class name is referenced without enabling classic
|
1883
|
+
namespace.
|
1884
|
+
|
1885
|
+
===== Bug Fixes
|
1886
|
+
|
1887
|
+
* Several unit tests and functional tests were fixed to run better
|
1888
|
+
under windows.
|
1889
|
+
|
1890
|
+
* Directory tasks are now a specialized version of a File task. A
|
1891
|
+
directory task will only be triggered if it doesn't exist. It will
|
1892
|
+
not be triggered if it is out of date w.r.t. any of its
|
1893
|
+
prerequisites.
|
1894
|
+
|
1895
|
+
* Fixed a bug in the Rake::GemPackageTask class so that the gem now
|
1896
|
+
properly contains the platform name.
|
1897
|
+
|
1898
|
+
* Fixed a bug where a prerequisite on a <tt>file</tt> task would cause
|
1899
|
+
an exception if the prerequisite did not exist.
|
1900
|
+
|
1901
|
+
==== Thanks
|
1902
|
+
|
1903
|
+
As usual, it was input from users that drove a alot of these changes.
|
1904
|
+
The following people either contributed patches, made suggestions or
|
1905
|
+
made otherwise helpful comments. Thanks to ...
|
1906
|
+
|
1907
|
+
* Greg Fast (better ruby_opt test options)
|
1908
|
+
* Kelly Felkins (requested by better namespace support)
|
1909
|
+
* Martin Fowler (suggested Task.investigation)
|
1910
|
+
* Stuart Jansen (send initial patch for multiple prerequisites).
|
1911
|
+
* Masao Mutch (better support for non-ruby Gem platforms)
|
1912
|
+
* Philipp Neubeck (patch for file task exception fix)
|
1913
|
+
|
1914
|
+
-- Jim Weirich
|
1915
|
+
|
1916
|
+
=== 0.5.4
|
1917
|
+
|
1918
|
+
Time for some minor bug fixes and small enhancements
|
1919
|
+
|
1920
|
+
==== Changes
|
1921
|
+
|
1922
|
+
Here are the changes for version 0.5.4 ...
|
1923
|
+
|
1924
|
+
* Added double quotes to the test runner. This allows the location of
|
1925
|
+
the tests (and runner) to be in a directory path that contains
|
1926
|
+
spaces (e.g. "C:/Program Files/ruby/bin").
|
1927
|
+
* Added .svn to default ignore list. Now subversion project metadata
|
1928
|
+
is automatically ignored by Rake's FileList.
|
1929
|
+
* Updated FileList#include to support nested arrays and filelists.
|
1930
|
+
FileLists are flat lists of file names. Using a FileList in an
|
1931
|
+
include will flatten out the nested file names.
|
1932
|
+
|
1933
|
+
== Thanks
|
1934
|
+
|
1935
|
+
As usual, it was input from users that drove a alot of these changes.
|
1936
|
+
Thanks to ...
|
1937
|
+
|
1938
|
+
* Tilman Sauerbeck for the nested FileList suggestion.
|
1939
|
+
* Josh Knowles for pointing out the spaces in directory name problem.
|
1940
|
+
|
1941
|
+
-- Jim Weirich
|
1942
|
+
|
1943
|
+
=== 0.5.3
|
1944
|
+
|
1945
|
+
Although it has only been two weeks since the last release, we have
|
1946
|
+
enough updates to the Rake program to make it time for another
|
1947
|
+
release.
|
1948
|
+
|
1949
|
+
==== Changes
|
1950
|
+
|
1951
|
+
Here are the changes for version 0.5.3 ...
|
1952
|
+
|
1953
|
+
* FileLists have been extensively changed so that they mimic the
|
1954
|
+
behavior of real arrays even more closely. In particular,
|
1955
|
+
operations on FileLists that return a new collection (e.g. collect,
|
1956
|
+
reject) will now return a FileList rather than an array. In
|
1957
|
+
addition, several places where FileLists were not properly expanded
|
1958
|
+
before use have been fixed.
|
1959
|
+
* A method (+ext+) to simplify the handling of file extensions was
|
1960
|
+
added to String and to Array.
|
1961
|
+
* The 'testrb' script in test/unit tends to silently swallow syntax
|
1962
|
+
errors in test suites. Because of that, the default test loader is
|
1963
|
+
now a rake-provided script. You can still use 'testrb' by setting
|
1964
|
+
the loader flag in the test task to :testrb. (See the API documents
|
1965
|
+
for TestTask for all the loader flag values).
|
1966
|
+
* FileUtil methods (e.g. cp, mv, install) are now declared to be
|
1967
|
+
private. This will cut down on the interference with user defined
|
1968
|
+
methods of the same name.
|
1969
|
+
* Fixed the verbose flag in the TestTask so that the test code is
|
1970
|
+
controlled by the flag. Also shortened up some failure messages.
|
1971
|
+
(Thanks to Tobias Luetke for the suggestion).
|
1972
|
+
* Rules will now properly detect a task that can generate a source
|
1973
|
+
file. Previously rules would only consider source files that were
|
1974
|
+
already present.
|
1975
|
+
* Added an +import+ command that allows Rake to dynamically import
|
1976
|
+
dependendencies into a running Rake session. The +import+ command
|
1977
|
+
can run tasks to update the dependency file before loading them.
|
1978
|
+
Dependency files can be in rake or make format, allowing rake to
|
1979
|
+
work with tools designed to generate dependencies for make.
|
1980
|
+
|
1981
|
+
==== Thanks
|
1982
|
+
|
1983
|
+
As usual, it was input from users that drove a alot of these changes.
|
1984
|
+
Thanks to ...
|
1985
|
+
|
1986
|
+
* Brian Gernhardt for the rules fix (especially for the patience to
|
1987
|
+
explain the problem to me until I got what he was talking about).
|
1988
|
+
* Stefan Lang for pointing out problems in the dark corners of the
|
1989
|
+
FileList implementation.
|
1990
|
+
* Alexey Verkhovsky pointing out the silently swallows syntax errors
|
1991
|
+
in tests.
|
1992
|
+
* Tobias Luetke for beautifying the test task output.
|
1993
|
+
* Sam Roberts for some of the ideas behind dependency loading.
|
1994
|
+
|
1995
|
+
-- Jim Weirich
|
1996
|
+
|
1997
|
+
|
1998
|
+
=== 0.5.0
|
1999
|
+
|
2000
|
+
It has been a long time in coming, but we finally have a new version
|
2001
|
+
of Rake available.
|
2002
|
+
|
2003
|
+
==== Changes
|
2004
|
+
|
2005
|
+
* Fixed documentation that was lacking the Rake module name (Tilman
|
2006
|
+
Sauerbeck).
|
2007
|
+
* Added tar.gz and tar.bz2 support to package task (Tilman Sauerbeck).
|
2008
|
+
* Recursive rules are now supported (Tilman Sauerbeck).
|
2009
|
+
* Added warning option for the Test Task (requested by Eric Hodel).
|
2010
|
+
* The jamis rdoc template is only used if it exists.
|
2011
|
+
* Added fix for Ruby 1.8.2 test/unit and rails problem.
|
2012
|
+
* Added contributed rake man file (Jani Monoses).
|
2013
|
+
* Added Brian Candler's fix for problems in --trace and --dry-run
|
2014
|
+
mode.
|
2015
|
+
|
2016
|
+
==== Thanks
|
2017
|
+
|
2018
|
+
Lots of people provided input to this release. Thanks to Tilman
|
2019
|
+
Sauerbeck for numerous patches, documentation fixes and suggestions.
|
2020
|
+
And for also pushing me to get this release out. Also, thanks to
|
2021
|
+
Brian Candler for the finding and fixing --trace/dry-run fix. That
|
2022
|
+
was an obscure bug. Also to Eric Hodel for some good suggestions.
|
2023
|
+
|
2024
|
+
-- Jim Weirich
|
2025
|
+
|
2026
|
+
=== 0.4.15
|
2027
|
+
|
2028
|
+
==== Changes
|
2029
|
+
|
2030
|
+
Version 0.4.15 is a bug fix update for the Ruby 1.8.2 compatibility
|
2031
|
+
changes. This release includes:
|
2032
|
+
|
2033
|
+
* Fixed a bug that prevented the TESTOPTS flag from working with the
|
2034
|
+
revised for 1.8.2 test task.
|
2035
|
+
* Updated the docs on --trace to indicate that it also enables a full
|
2036
|
+
backtrace on errors.
|
2037
|
+
* Several fixes for new warnings generated.
|
2038
|
+
|
2039
|
+
==== Mini-Roadmap
|
2040
|
+
|
2041
|
+
I will continue to issue Rake updates in the 0.4.xx series as new
|
2042
|
+
Ruby-1.8.2 issues become manifest. Once the codebase stabilizes, I
|
2043
|
+
will release a 0.5.0 version incorporating all the changes. If you
|
2044
|
+
are not using Ruby-1.8.2 and wish to avoid version churn, I recommend
|
2045
|
+
staying with a release prior to Rake-0.4.14.
|
2046
|
+
|
2047
|
+
=== 0.4.14
|
2048
|
+
|
2049
|
+
Version 0.4.14 is a compatibility fix to allow Rake's test task to
|
2050
|
+
work under Ruby 1.8.2. A change in the Test::Unit autorun feature
|
2051
|
+
prevented Rake from running any tests. This release fixes the
|
2052
|
+
problem.
|
555
2053
|
|
556
|
-
|
557
|
-
autoexecuting unit tests.
|
2054
|
+
Rake 0.4.14 is the recommended release for anyone using Ruby 1.8.2.
|
558
2055
|
|
559
2056
|
=== 0.4.13
|
560
2057
|
|
@@ -624,7 +2121,7 @@ the individual release notes files.
|
|
624
2121
|
|
625
2122
|
=== 0.4.2
|
626
2123
|
* Added safe_ln that falls back to a copy if a file link is not supported.
|
627
|
-
* Package builder now uses
|
2124
|
+
* Package builder now uses safe\_ln.
|
628
2125
|
|
629
2126
|
=== 0.4.1
|
630
2127
|
* Task comments are now additive, combined with "/".
|
@@ -714,6 +2211,6 @@ presentation was being prepared. The changes include:
|
|
714
2211
|
=== 0.2.3
|
715
2212
|
|
716
2213
|
* Added rake module for a help target
|
717
|
-
* Added '
|
2214
|
+
* Added 'for\_files' to Sys
|
718
2215
|
* Added a $rakefile constant
|
719
2216
|
* Added test for selecting proper rule with multiple targets.
|