rake 11.3.0 → 13.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/.github/workflows/macos.yml +22 -0
- data/.github/workflows/ubuntu-rvm.yml +28 -0
- data/.github/workflows/ubuntu.yml +20 -0
- data/.github/workflows/windows.yml +20 -0
- data/CONTRIBUTING.rdoc +11 -4
- data/Gemfile +8 -1
- data/History.rdoc +171 -37
- data/README.rdoc +9 -11
- data/Rakefile +21 -13
- data/bin/bundle +105 -0
- data/bin/rake +29 -0
- data/bin/rdoc +29 -0
- data/bin/rubocop +29 -0
- data/doc/jamis.rb +1 -0
- data/doc/rake.1 +139 -124
- data/doc/rakefile.rdoc +2 -4
- data/exe/rake +1 -1
- data/lib/rake/application.rb +119 -79
- data/lib/rake/backtrace.rb +3 -2
- data/lib/rake/clean.rb +7 -5
- data/lib/rake/cloneable.rb +1 -0
- data/lib/rake/cpu_counter.rb +3 -2
- data/lib/rake/default_loader.rb +1 -0
- data/lib/rake/dsl_definition.rb +5 -4
- data/lib/rake/early_time.rb +1 -0
- data/lib/rake/ext/core.rb +1 -0
- data/lib/rake/ext/string.rb +22 -21
- data/lib/rake/file_creation_task.rb +4 -3
- data/lib/rake/file_list.rb +13 -14
- data/lib/rake/file_task.rb +12 -4
- data/lib/rake/file_utils.rb +17 -22
- data/lib/rake/file_utils_ext.rb +8 -18
- data/lib/rake/invocation_chain.rb +1 -0
- data/lib/rake/invocation_exception_mixin.rb +1 -0
- data/lib/rake/late_time.rb +2 -1
- data/lib/rake/linked_list.rb +1 -0
- data/lib/rake/loaders/makefile.rb +5 -4
- data/lib/rake/multi_task.rb +2 -1
- data/lib/rake/name_space.rb +1 -1
- data/lib/rake/packagetask.rb +28 -16
- data/lib/rake/phony.rb +2 -1
- data/lib/rake/private_reader.rb +1 -0
- data/lib/rake/promise.rb +13 -12
- data/lib/rake/pseudo_status.rb +1 -0
- data/lib/rake/rake_module.rb +30 -1
- data/lib/rake/rake_test_loader.rb +18 -12
- data/lib/rake/rule_recursion_overflow_error.rb +2 -1
- data/lib/rake/scope.rb +3 -2
- data/lib/rake/task.rb +70 -27
- data/lib/rake/task_argument_error.rb +1 -0
- data/lib/rake/task_arguments.rb +10 -4
- data/lib/rake/task_manager.rb +54 -39
- data/lib/rake/tasklib.rb +2 -1
- data/lib/rake/testtask.rb +28 -16
- data/lib/rake/thread_history_display.rb +4 -3
- data/lib/rake/thread_pool.rb +15 -14
- data/lib/rake/trace_output.rb +1 -0
- data/lib/rake/version.rb +3 -2
- data/lib/rake/win32.rb +9 -8
- data/lib/rake.rb +34 -33
- data/rake.gemspec +22 -9
- metadata +25 -108
- data/.gitignore +0 -14
- data/.rubocop.yml +0 -18
- data/.travis.yml +0 -28
- data/appveyor.yml +0 -22
- data/doc/release_notes/README.md +0 -4
- data/doc/release_notes/rake-0.4.14.rdoc +0 -23
- data/doc/release_notes/rake-0.4.15.rdoc +0 -35
- data/doc/release_notes/rake-0.5.0.rdoc +0 -53
- data/doc/release_notes/rake-0.5.3.rdoc +0 -78
- data/doc/release_notes/rake-0.5.4.rdoc +0 -46
- data/doc/release_notes/rake-0.6.0.rdoc +0 -141
- data/doc/release_notes/rake-0.7.0.rdoc +0 -119
- data/doc/release_notes/rake-0.7.1.rdoc +0 -59
- data/doc/release_notes/rake-0.7.2.rdoc +0 -121
- data/doc/release_notes/rake-0.7.3.rdoc +0 -47
- data/doc/release_notes/rake-0.8.0.rdoc +0 -114
- data/doc/release_notes/rake-0.8.2.rdoc +0 -165
- data/doc/release_notes/rake-0.8.3.rdoc +0 -112
- data/doc/release_notes/rake-0.8.4.rdoc +0 -147
- data/doc/release_notes/rake-0.8.5.rdoc +0 -53
- data/doc/release_notes/rake-0.8.6.rdoc +0 -37
- data/doc/release_notes/rake-0.8.7.rdoc +0 -55
- data/doc/release_notes/rake-0.9.0.rdoc +0 -112
- data/doc/release_notes/rake-0.9.1.rdoc +0 -52
- data/doc/release_notes/rake-0.9.2.2.rdoc +0 -55
- data/doc/release_notes/rake-0.9.2.rdoc +0 -49
- data/doc/release_notes/rake-0.9.3.rdoc +0 -102
- data/doc/release_notes/rake-0.9.4.rdoc +0 -60
- data/doc/release_notes/rake-0.9.5.rdoc +0 -55
- data/doc/release_notes/rake-0.9.6.rdoc +0 -64
- data/doc/release_notes/rake-10.0.0.rdoc +0 -178
- data/doc/release_notes/rake-10.0.1.rdoc +0 -58
- data/doc/release_notes/rake-10.0.2.rdoc +0 -53
- data/doc/release_notes/rake-10.0.3.rdoc +0 -191
- data/doc/release_notes/rake-10.1.0.rdoc +0 -61
- data/lib/rake/contrib/compositepublisher.rb +0 -21
- data/lib/rake/contrib/ftptools.rb +0 -137
- data/lib/rake/contrib/sshpublisher.rb +0 -60
- data/lib/rake/ext/pathname.rb +0 -25
data/doc/rakefile.rdoc
CHANGED
|
@@ -223,9 +223,7 @@ behaviour can now accept a second parameter:
|
|
|
223
223
|
The first argument of the block "t" is always bound to the current
|
|
224
224
|
task object. The second argument "args" is an open-struct like object
|
|
225
225
|
that allows access to the task arguments. Extra command line
|
|
226
|
-
arguments to a task are ignored.
|
|
227
|
-
picked up from matching environment variables. If there are no
|
|
228
|
-
matching environment variables, they are given the nil value.
|
|
226
|
+
arguments to a task are ignored.
|
|
229
227
|
|
|
230
228
|
If you wish to specify default values for the arguments, you can use
|
|
231
229
|
the with_defaults method in the task body. Here is the above example
|
|
@@ -412,7 +410,7 @@ display a list of tasks that have a description. If you use +desc+ to
|
|
|
412
410
|
describe your major tasks, you have a semi-automatic way of generating
|
|
413
411
|
a summary of your Rake file.
|
|
414
412
|
|
|
415
|
-
|
|
413
|
+
$ rake -T
|
|
416
414
|
(in /home/.../rake)
|
|
417
415
|
rake clean # Remove any temporary products.
|
|
418
416
|
rake clobber # Remove any generated file.
|
data/exe/rake
CHANGED
data/lib/rake/application.rb
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
require "optparse"
|
|
2
3
|
|
|
3
|
-
require
|
|
4
|
-
require
|
|
5
|
-
require
|
|
6
|
-
require
|
|
7
|
-
require
|
|
8
|
-
require
|
|
4
|
+
require "rake/task_manager"
|
|
5
|
+
require "rake/file_list"
|
|
6
|
+
require "rake/thread_pool"
|
|
7
|
+
require "rake/thread_history_display"
|
|
8
|
+
require "rake/trace_output"
|
|
9
|
+
require "rake/win32"
|
|
9
10
|
|
|
10
11
|
module Rake
|
|
11
12
|
|
|
@@ -38,16 +39,16 @@ module Rake
|
|
|
38
39
|
attr_writer :tty_output
|
|
39
40
|
|
|
40
41
|
DEFAULT_RAKEFILES = [
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
42
|
+
"rakefile",
|
|
43
|
+
"Rakefile",
|
|
44
|
+
"rakefile.rb",
|
|
45
|
+
"Rakefile.rb"
|
|
45
46
|
].freeze
|
|
46
47
|
|
|
47
48
|
# Initialize a Rake::Application object.
|
|
48
49
|
def initialize
|
|
49
50
|
super
|
|
50
|
-
@name =
|
|
51
|
+
@name = "rake"
|
|
51
52
|
@rakefiles = DEFAULT_RAKEFILES.dup
|
|
52
53
|
@rakefile = nil
|
|
53
54
|
@pending_imports = []
|
|
@@ -56,11 +57,13 @@ module Rake
|
|
|
56
57
|
@default_loader = Rake::DefaultLoader.new
|
|
57
58
|
@original_dir = Dir.pwd
|
|
58
59
|
@top_level_tasks = []
|
|
59
|
-
add_loader(
|
|
60
|
-
add_loader(
|
|
61
|
-
add_loader(
|
|
60
|
+
add_loader("rb", DefaultLoader.new)
|
|
61
|
+
add_loader("rf", DefaultLoader.new)
|
|
62
|
+
add_loader("rake", DefaultLoader.new)
|
|
62
63
|
@tty_output = STDOUT.tty?
|
|
63
|
-
@terminal_columns = ENV[
|
|
64
|
+
@terminal_columns = ENV["RAKE_COLUMNS"].to_i
|
|
65
|
+
|
|
66
|
+
set_default_options
|
|
64
67
|
end
|
|
65
68
|
|
|
66
69
|
# Run the Rake application. The run method performs the following
|
|
@@ -73,19 +76,24 @@ module Rake
|
|
|
73
76
|
# If you wish to build a custom rake command, you should call
|
|
74
77
|
# +init+ on your application. Then define any tasks. Finally,
|
|
75
78
|
# call +top_level+ to run your top level tasks.
|
|
76
|
-
def run
|
|
79
|
+
def run(argv = ARGV)
|
|
77
80
|
standard_exception_handling do
|
|
78
|
-
init
|
|
81
|
+
init "rake", argv
|
|
79
82
|
load_rakefile
|
|
80
83
|
top_level
|
|
81
84
|
end
|
|
82
85
|
end
|
|
83
86
|
|
|
84
87
|
# Initialize the command line parameters and app name.
|
|
85
|
-
def init(app_name=
|
|
88
|
+
def init(app_name="rake", argv = ARGV)
|
|
86
89
|
standard_exception_handling do
|
|
87
90
|
@name = app_name
|
|
88
|
-
|
|
91
|
+
begin
|
|
92
|
+
args = handle_options argv
|
|
93
|
+
rescue ArgumentError
|
|
94
|
+
# Backward compatibility for capistrano
|
|
95
|
+
args = handle_options
|
|
96
|
+
end
|
|
89
97
|
collect_command_line_tasks(args)
|
|
90
98
|
end
|
|
91
99
|
end
|
|
@@ -164,7 +172,7 @@ module Rake
|
|
|
164
172
|
args = []
|
|
165
173
|
|
|
166
174
|
begin
|
|
167
|
-
|
|
175
|
+
/\s*((?:[^\\,]|\\.)*?)\s*(?:,\s*(.*))?$/ =~ remaining_args
|
|
168
176
|
|
|
169
177
|
remaining_args = $2
|
|
170
178
|
args << $1.gsub(/\\(.)/, '\1')
|
|
@@ -204,13 +212,22 @@ module Rake
|
|
|
204
212
|
end
|
|
205
213
|
|
|
206
214
|
def display_exception_details(ex) # :nodoc:
|
|
207
|
-
|
|
208
|
-
return if seen.include? ex
|
|
209
|
-
seen << ex
|
|
215
|
+
display_exception_details_seen << ex
|
|
210
216
|
|
|
211
217
|
display_exception_message_details(ex)
|
|
212
218
|
display_exception_backtrace(ex)
|
|
213
|
-
|
|
219
|
+
display_cause_details(ex.cause) if has_cause?(ex)
|
|
220
|
+
end
|
|
221
|
+
|
|
222
|
+
def display_cause_details(ex) # :nodoc:
|
|
223
|
+
return if display_exception_details_seen.include? ex
|
|
224
|
+
|
|
225
|
+
trace "\nCaused by:"
|
|
226
|
+
display_exception_details(ex)
|
|
227
|
+
end
|
|
228
|
+
|
|
229
|
+
def display_exception_details_seen # :nodoc:
|
|
230
|
+
Thread.current[:rake_display_exception_details_seen] ||= []
|
|
214
231
|
end
|
|
215
232
|
|
|
216
233
|
def has_cause?(ex) # :nodoc:
|
|
@@ -259,7 +276,7 @@ module Rake
|
|
|
259
276
|
if File.exist?(fn)
|
|
260
277
|
others = FileList.glob(fn, File::FNM_CASEFOLD)
|
|
261
278
|
return others.size == 1 ? others.first : fn
|
|
262
|
-
elsif fn ==
|
|
279
|
+
elsif fn == ""
|
|
263
280
|
return fn
|
|
264
281
|
end
|
|
265
282
|
end
|
|
@@ -342,7 +359,7 @@ module Rake
|
|
|
342
359
|
end
|
|
343
360
|
|
|
344
361
|
def unix? # :nodoc:
|
|
345
|
-
RbConfig::CONFIG[
|
|
362
|
+
RbConfig::CONFIG["host_os"] =~
|
|
346
363
|
/(aix|darwin|linux|(net|free|open)bsd|cygwin|solaris|irix|hpux)/i
|
|
347
364
|
end
|
|
348
365
|
|
|
@@ -375,7 +392,7 @@ module Rake
|
|
|
375
392
|
|
|
376
393
|
def sort_options(options) # :nodoc:
|
|
377
394
|
options.sort_by { |opt|
|
|
378
|
-
opt.select { |o| o =~ /^-/ }.map
|
|
395
|
+
opt.select { |o| o.is_a?(String) && o =~ /^-/ }.map(&:downcase).sort.reverse
|
|
379
396
|
}
|
|
380
397
|
end
|
|
381
398
|
private :sort_options
|
|
@@ -385,38 +402,38 @@ module Rake
|
|
|
385
402
|
def standard_rake_options # :nodoc:
|
|
386
403
|
sort_options(
|
|
387
404
|
[
|
|
388
|
-
[
|
|
405
|
+
["--all", "-A",
|
|
389
406
|
"Show all tasks, even uncommented ones (in combination with -T or -D)",
|
|
390
407
|
lambda { |value|
|
|
391
408
|
options.show_all_tasks = value
|
|
392
409
|
}
|
|
393
410
|
],
|
|
394
|
-
[
|
|
411
|
+
["--backtrace=[OUT]",
|
|
395
412
|
"Enable full backtrace. OUT can be stderr (default) or stdout.",
|
|
396
413
|
lambda { |value|
|
|
397
414
|
options.backtrace = true
|
|
398
|
-
select_trace_output(options,
|
|
415
|
+
select_trace_output(options, "backtrace", value)
|
|
399
416
|
}
|
|
400
417
|
],
|
|
401
|
-
[
|
|
418
|
+
["--build-all", "-B",
|
|
402
419
|
"Build all prerequisites, including those which are up-to-date.",
|
|
403
420
|
lambda { |value|
|
|
404
421
|
options.build_all = true
|
|
405
422
|
}
|
|
406
423
|
],
|
|
407
|
-
[
|
|
424
|
+
["--comments",
|
|
408
425
|
"Show commented tasks only",
|
|
409
426
|
lambda { |value|
|
|
410
427
|
options.show_all_tasks = !value
|
|
411
428
|
}
|
|
412
429
|
],
|
|
413
|
-
[
|
|
430
|
+
["--describe", "-D [PATTERN]",
|
|
414
431
|
"Describe the tasks (matching optional PATTERN), then exit.",
|
|
415
432
|
lambda { |value|
|
|
416
433
|
select_tasks_to_show(options, :describe, value)
|
|
417
434
|
}
|
|
418
435
|
],
|
|
419
|
-
[
|
|
436
|
+
["--dry-run", "-n",
|
|
420
437
|
"Do a dry run without executing actions.",
|
|
421
438
|
lambda { |value|
|
|
422
439
|
Rake.verbose(true)
|
|
@@ -425,30 +442,30 @@ module Rake
|
|
|
425
442
|
options.trace = true
|
|
426
443
|
}
|
|
427
444
|
],
|
|
428
|
-
[
|
|
445
|
+
["--execute", "-e CODE",
|
|
429
446
|
"Execute some Ruby code and exit.",
|
|
430
447
|
lambda { |value|
|
|
431
448
|
eval(value)
|
|
432
449
|
exit
|
|
433
450
|
}
|
|
434
451
|
],
|
|
435
|
-
[
|
|
452
|
+
["--execute-print", "-p CODE",
|
|
436
453
|
"Execute some Ruby code, print the result, then exit.",
|
|
437
454
|
lambda { |value|
|
|
438
455
|
puts eval(value)
|
|
439
456
|
exit
|
|
440
457
|
}
|
|
441
458
|
],
|
|
442
|
-
[
|
|
459
|
+
["--execute-continue", "-E CODE",
|
|
443
460
|
"Execute some Ruby code, " +
|
|
444
461
|
"then continue with normal task processing.",
|
|
445
462
|
lambda { |value| eval(value) }
|
|
446
463
|
],
|
|
447
|
-
[
|
|
464
|
+
["--jobs", "-j [NUMBER]",
|
|
448
465
|
"Specifies the maximum number of tasks to execute in parallel. " +
|
|
449
466
|
"(default is number of CPU cores + 4)",
|
|
450
467
|
lambda { |value|
|
|
451
|
-
if value.nil? || value ==
|
|
468
|
+
if value.nil? || value == ""
|
|
452
469
|
value = Float::INFINITY
|
|
453
470
|
elsif value =~ /^\d+$/
|
|
454
471
|
value = value.to_i
|
|
@@ -459,7 +476,7 @@ module Rake
|
|
|
459
476
|
options.thread_pool_size = value - 1
|
|
460
477
|
}
|
|
461
478
|
],
|
|
462
|
-
[
|
|
479
|
+
["--job-stats [LEVEL]",
|
|
463
480
|
"Display job statistics. " +
|
|
464
481
|
"LEVEL=history displays a complete job list",
|
|
465
482
|
lambda { |value|
|
|
@@ -470,42 +487,42 @@ module Rake
|
|
|
470
487
|
end
|
|
471
488
|
}
|
|
472
489
|
],
|
|
473
|
-
[
|
|
490
|
+
["--libdir", "-I LIBDIR",
|
|
474
491
|
"Include LIBDIR in the search path for required modules.",
|
|
475
492
|
lambda { |value| $:.push(value) }
|
|
476
493
|
],
|
|
477
|
-
[
|
|
494
|
+
["--multitask", "-m",
|
|
478
495
|
"Treat all tasks as multitasks.",
|
|
479
496
|
lambda { |value| options.always_multitask = true }
|
|
480
497
|
],
|
|
481
|
-
[
|
|
482
|
-
|
|
498
|
+
["--no-search", "--nosearch",
|
|
499
|
+
"-N", "Do not search parent directories for the Rakefile.",
|
|
483
500
|
lambda { |value| options.nosearch = true }
|
|
484
501
|
],
|
|
485
|
-
[
|
|
502
|
+
["--prereqs", "-P",
|
|
486
503
|
"Display the tasks and dependencies, then exit.",
|
|
487
504
|
lambda { |value| options.show_prereqs = true }
|
|
488
505
|
],
|
|
489
|
-
[
|
|
506
|
+
["--quiet", "-q",
|
|
490
507
|
"Do not log messages to standard output.",
|
|
491
508
|
lambda { |value| Rake.verbose(false) }
|
|
492
509
|
],
|
|
493
|
-
[
|
|
510
|
+
["--rakefile", "-f [FILENAME]",
|
|
494
511
|
"Use FILENAME as the rakefile to search for.",
|
|
495
512
|
lambda { |value|
|
|
496
|
-
value ||=
|
|
513
|
+
value ||= ""
|
|
497
514
|
@rakefiles.clear
|
|
498
515
|
@rakefiles << value
|
|
499
516
|
}
|
|
500
517
|
],
|
|
501
|
-
[
|
|
518
|
+
["--rakelibdir", "--rakelib", "-R RAKELIBDIR",
|
|
502
519
|
"Auto-import any .rake files in RAKELIBDIR. " +
|
|
503
520
|
"(default is 'rakelib')",
|
|
504
521
|
lambda { |value|
|
|
505
522
|
options.rakelib = value.split(File::PATH_SEPARATOR)
|
|
506
523
|
}
|
|
507
524
|
],
|
|
508
|
-
[
|
|
525
|
+
["--require", "-r MODULE",
|
|
509
526
|
"Require MODULE before executing rakefile.",
|
|
510
527
|
lambda { |value|
|
|
511
528
|
begin
|
|
@@ -519,11 +536,11 @@ module Rake
|
|
|
519
536
|
end
|
|
520
537
|
}
|
|
521
538
|
],
|
|
522
|
-
[
|
|
539
|
+
["--rules",
|
|
523
540
|
"Trace the rules resolution.",
|
|
524
541
|
lambda { |value| options.trace_rules = true }
|
|
525
542
|
],
|
|
526
|
-
[
|
|
543
|
+
["--silent", "-s",
|
|
527
544
|
"Like --quiet, but also suppresses the " +
|
|
528
545
|
"'in directory' announcement.",
|
|
529
546
|
lambda { |value|
|
|
@@ -531,59 +548,60 @@ module Rake
|
|
|
531
548
|
options.silent = true
|
|
532
549
|
}
|
|
533
550
|
],
|
|
534
|
-
[
|
|
551
|
+
["--suppress-backtrace PATTERN",
|
|
535
552
|
"Suppress backtrace lines matching regexp PATTERN. " +
|
|
536
553
|
"Ignored if --trace is on.",
|
|
537
554
|
lambda { |value|
|
|
538
555
|
options.suppress_backtrace_pattern = Regexp.new(value)
|
|
539
556
|
}
|
|
540
557
|
],
|
|
541
|
-
[
|
|
558
|
+
["--system", "-g",
|
|
542
559
|
"Using system wide (global) rakefiles " +
|
|
543
560
|
"(usually '~/.rake/*.rake').",
|
|
544
561
|
lambda { |value| options.load_system = true }
|
|
545
562
|
],
|
|
546
|
-
[
|
|
563
|
+
["--no-system", "--nosystem", "-G",
|
|
547
564
|
"Use standard project Rakefile search paths, " +
|
|
548
565
|
"ignore system wide rakefiles.",
|
|
549
566
|
lambda { |value| options.ignore_system = true }
|
|
550
567
|
],
|
|
551
|
-
[
|
|
568
|
+
["--tasks", "-T [PATTERN]",
|
|
552
569
|
"Display the tasks (matching optional PATTERN) " +
|
|
553
|
-
"with descriptions, then exit."
|
|
570
|
+
"with descriptions, then exit. " +
|
|
571
|
+
"-AT combination displays all of tasks contained no description.",
|
|
554
572
|
lambda { |value|
|
|
555
573
|
select_tasks_to_show(options, :tasks, value)
|
|
556
574
|
}
|
|
557
575
|
],
|
|
558
|
-
[
|
|
576
|
+
["--trace=[OUT]", "-t",
|
|
559
577
|
"Turn on invoke/execute tracing, enable full backtrace. " +
|
|
560
578
|
"OUT can be stderr (default) or stdout.",
|
|
561
579
|
lambda { |value|
|
|
562
580
|
options.trace = true
|
|
563
581
|
options.backtrace = true
|
|
564
|
-
select_trace_output(options,
|
|
582
|
+
select_trace_output(options, "trace", value)
|
|
565
583
|
Rake.verbose(true)
|
|
566
584
|
}
|
|
567
585
|
],
|
|
568
|
-
[
|
|
586
|
+
["--verbose", "-v",
|
|
569
587
|
"Log message to standard output.",
|
|
570
588
|
lambda { |value| Rake.verbose(true) }
|
|
571
589
|
],
|
|
572
|
-
[
|
|
590
|
+
["--version", "-V",
|
|
573
591
|
"Display the program version.",
|
|
574
592
|
lambda { |value|
|
|
575
593
|
puts "rake, version #{Rake::VERSION}"
|
|
576
594
|
exit
|
|
577
595
|
}
|
|
578
596
|
],
|
|
579
|
-
[
|
|
597
|
+
["--where", "-W [PATTERN]",
|
|
580
598
|
"Describe the tasks (matching optional PATTERN), then exit.",
|
|
581
599
|
lambda { |value|
|
|
582
600
|
select_tasks_to_show(options, :lines, value)
|
|
583
601
|
options.show_all_tasks = true
|
|
584
602
|
}
|
|
585
603
|
],
|
|
586
|
-
[
|
|
604
|
+
["--no-deprecation-warnings", "-X",
|
|
587
605
|
"Disable the deprecation warnings.",
|
|
588
606
|
lambda { |value|
|
|
589
607
|
options.ignore_deprecate = true
|
|
@@ -594,7 +612,7 @@ module Rake
|
|
|
594
612
|
|
|
595
613
|
def select_tasks_to_show(options, show_tasks, value) # :nodoc:
|
|
596
614
|
options.show_tasks = show_tasks
|
|
597
|
-
options.show_task_pattern = Regexp.new(value ||
|
|
615
|
+
options.show_task_pattern = Regexp.new(value || "")
|
|
598
616
|
Rake::TaskManager.record_task_metadata = true
|
|
599
617
|
end
|
|
600
618
|
private :select_tasks_to_show
|
|
@@ -602,9 +620,9 @@ module Rake
|
|
|
602
620
|
def select_trace_output(options, trace_option, value) # :nodoc:
|
|
603
621
|
value = value.strip unless value.nil?
|
|
604
622
|
case value
|
|
605
|
-
when
|
|
623
|
+
when "stdout"
|
|
606
624
|
options.trace_output = $stdout
|
|
607
|
-
when
|
|
625
|
+
when "stderr", nil
|
|
608
626
|
options.trace_output = $stderr
|
|
609
627
|
else
|
|
610
628
|
fail CommandLineOptionError,
|
|
@@ -616,9 +634,8 @@ module Rake
|
|
|
616
634
|
# Read and handle the command line options. Returns the command line
|
|
617
635
|
# arguments that we didn't understand, which should (in theory) be just
|
|
618
636
|
# task names and env vars.
|
|
619
|
-
def handle_options # :nodoc:
|
|
620
|
-
|
|
621
|
-
options.trace_output = $stderr
|
|
637
|
+
def handle_options(argv) # :nodoc:
|
|
638
|
+
set_default_options
|
|
622
639
|
|
|
623
640
|
OptionParser.new do |opts|
|
|
624
641
|
opts.banner = "#{Rake.application.name} [-f rakefile] {options} targets..."
|
|
@@ -631,8 +648,8 @@ module Rake
|
|
|
631
648
|
end
|
|
632
649
|
|
|
633
650
|
standard_rake_options.each { |args| opts.on(*args) }
|
|
634
|
-
opts.environment(
|
|
635
|
-
end.parse(
|
|
651
|
+
opts.environment("RAKEOPT")
|
|
652
|
+
end.parse(argv)
|
|
636
653
|
end
|
|
637
654
|
|
|
638
655
|
# Similar to the regular Ruby +require+ command, but will check
|
|
@@ -670,7 +687,7 @@ module Rake
|
|
|
670
687
|
|
|
671
688
|
def raw_load_rakefile # :nodoc:
|
|
672
689
|
rakefile, location = find_rakefile_location
|
|
673
|
-
if (!
|
|
690
|
+
if (!options.ignore_system) &&
|
|
674
691
|
(options.load_system || rakefile.nil?) &&
|
|
675
692
|
system_dir && File.directory?(system_dir)
|
|
676
693
|
print_rakefile_directory(location)
|
|
@@ -684,7 +701,7 @@ module Rake
|
|
|
684
701
|
Dir.chdir(location)
|
|
685
702
|
print_rakefile_directory(location)
|
|
686
703
|
Rake.load_rakefile(File.expand_path(@rakefile)) if
|
|
687
|
-
@rakefile && @rakefile !=
|
|
704
|
+
@rakefile && @rakefile != ""
|
|
688
705
|
options.rakelib.each do |rlib|
|
|
689
706
|
glob("#{rlib}/*.rake") do |name|
|
|
690
707
|
add_import name
|
|
@@ -695,7 +712,7 @@ module Rake
|
|
|
695
712
|
end
|
|
696
713
|
|
|
697
714
|
def glob(path, &block) # :nodoc:
|
|
698
|
-
FileList.glob(path.
|
|
715
|
+
FileList.glob(path.tr("\\", "/")).each(&block)
|
|
699
716
|
end
|
|
700
717
|
private :glob
|
|
701
718
|
|
|
@@ -703,8 +720,8 @@ module Rake
|
|
|
703
720
|
def system_dir # :nodoc:
|
|
704
721
|
@system_dir ||=
|
|
705
722
|
begin
|
|
706
|
-
if ENV[
|
|
707
|
-
ENV[
|
|
723
|
+
if ENV["RAKE_SYSTEM"]
|
|
724
|
+
ENV["RAKE_SYSTEM"]
|
|
708
725
|
else
|
|
709
726
|
standard_system_dir
|
|
710
727
|
end
|
|
@@ -718,7 +735,7 @@ module Rake
|
|
|
718
735
|
end
|
|
719
736
|
else
|
|
720
737
|
def standard_system_dir #:nodoc:
|
|
721
|
-
File.join(File.expand_path(
|
|
738
|
+
File.join(File.expand_path("~"), ".rake")
|
|
722
739
|
end
|
|
723
740
|
end
|
|
724
741
|
private :standard_system_dir
|
|
@@ -777,7 +794,30 @@ module Rake
|
|
|
777
794
|
re = /^#{@rakefile}$/
|
|
778
795
|
re = /#{re.source}/i if windows?
|
|
779
796
|
|
|
780
|
-
backtrace.find { |str| str =~ re } ||
|
|
797
|
+
backtrace.find { |str| str =~ re } || ""
|
|
798
|
+
end
|
|
799
|
+
|
|
800
|
+
def set_default_options # :nodoc:
|
|
801
|
+
options.always_multitask = false
|
|
802
|
+
options.backtrace = false
|
|
803
|
+
options.build_all = false
|
|
804
|
+
options.dryrun = false
|
|
805
|
+
options.ignore_deprecate = false
|
|
806
|
+
options.ignore_system = false
|
|
807
|
+
options.job_stats = false
|
|
808
|
+
options.load_system = false
|
|
809
|
+
options.nosearch = false
|
|
810
|
+
options.rakelib = %w[rakelib]
|
|
811
|
+
options.show_all_tasks = false
|
|
812
|
+
options.show_prereqs = false
|
|
813
|
+
options.show_task_pattern = nil
|
|
814
|
+
options.show_tasks = nil
|
|
815
|
+
options.silent = false
|
|
816
|
+
options.suppress_backtrace_pattern = nil
|
|
817
|
+
options.thread_pool_size = Rake.suggested_thread_count
|
|
818
|
+
options.trace = false
|
|
819
|
+
options.trace_output = $stderr
|
|
820
|
+
options.trace_rules = false
|
|
781
821
|
end
|
|
782
822
|
|
|
783
823
|
end
|