rake 11.3.0 → 12.0.0.beta1

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.

Files changed (80) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +51 -12
  3. data/.travis.yml +2 -9
  4. data/Gemfile +1 -1
  5. data/History.rdoc +41 -29
  6. data/README.rdoc +4 -5
  7. data/Rakefile +18 -13
  8. data/appveyor.yml +6 -7
  9. data/doc/rake.1 +139 -124
  10. data/doc/rakefile.rdoc +1 -3
  11. data/exe/rake +1 -1
  12. data/lib/rake.rb +33 -33
  13. data/lib/rake/application.rb +68 -67
  14. data/lib/rake/backtrace.rb +2 -2
  15. data/lib/rake/clean.rb +4 -3
  16. data/lib/rake/cpu_counter.rb +1 -1
  17. data/lib/rake/dsl_definition.rb +1 -1
  18. data/lib/rake/ext/string.rb +21 -21
  19. data/lib/rake/file_creation_task.rb +2 -2
  20. data/lib/rake/file_list.rb +8 -10
  21. data/lib/rake/file_task.rb +2 -2
  22. data/lib/rake/file_utils.rb +7 -10
  23. data/lib/rake/file_utils_ext.rb +3 -3
  24. data/lib/rake/late_time.rb +1 -1
  25. data/lib/rake/loaders/makefile.rb +4 -4
  26. data/lib/rake/multi_task.rb +36 -0
  27. data/lib/rake/name_space.rb +0 -1
  28. data/lib/rake/packagetask.rb +10 -10
  29. data/lib/rake/phony.rb +1 -1
  30. data/lib/rake/promise.rb +10 -10
  31. data/lib/rake/rake_module.rb +1 -1
  32. data/lib/rake/rake_test_loader.rb +1 -1
  33. data/lib/rake/rule_recursion_overflow_error.rb +1 -1
  34. data/lib/rake/scope.rb +1 -1
  35. data/lib/rake/task.rb +13 -14
  36. data/lib/rake/task_arguments.rb +8 -4
  37. data/lib/rake/task_manager.rb +5 -18
  38. data/lib/rake/tasklib.rb +1 -1
  39. data/lib/rake/testtask.rb +26 -16
  40. data/lib/rake/thread_history_display.rb +3 -3
  41. data/lib/rake/thread_pool.rb +14 -14
  42. data/lib/rake/version.rb +2 -2
  43. data/lib/rake/win32.rb +8 -8
  44. data/rake.gemspec +15 -6
  45. metadata +20 -68
  46. data/doc/release_notes/README.md +0 -4
  47. data/doc/release_notes/rake-0.4.14.rdoc +0 -23
  48. data/doc/release_notes/rake-0.4.15.rdoc +0 -35
  49. data/doc/release_notes/rake-0.5.0.rdoc +0 -53
  50. data/doc/release_notes/rake-0.5.3.rdoc +0 -78
  51. data/doc/release_notes/rake-0.5.4.rdoc +0 -46
  52. data/doc/release_notes/rake-0.6.0.rdoc +0 -141
  53. data/doc/release_notes/rake-0.7.0.rdoc +0 -119
  54. data/doc/release_notes/rake-0.7.1.rdoc +0 -59
  55. data/doc/release_notes/rake-0.7.2.rdoc +0 -121
  56. data/doc/release_notes/rake-0.7.3.rdoc +0 -47
  57. data/doc/release_notes/rake-0.8.0.rdoc +0 -114
  58. data/doc/release_notes/rake-0.8.2.rdoc +0 -165
  59. data/doc/release_notes/rake-0.8.3.rdoc +0 -112
  60. data/doc/release_notes/rake-0.8.4.rdoc +0 -147
  61. data/doc/release_notes/rake-0.8.5.rdoc +0 -53
  62. data/doc/release_notes/rake-0.8.6.rdoc +0 -37
  63. data/doc/release_notes/rake-0.8.7.rdoc +0 -55
  64. data/doc/release_notes/rake-0.9.0.rdoc +0 -112
  65. data/doc/release_notes/rake-0.9.1.rdoc +0 -52
  66. data/doc/release_notes/rake-0.9.2.2.rdoc +0 -55
  67. data/doc/release_notes/rake-0.9.2.rdoc +0 -49
  68. data/doc/release_notes/rake-0.9.3.rdoc +0 -102
  69. data/doc/release_notes/rake-0.9.4.rdoc +0 -60
  70. data/doc/release_notes/rake-0.9.5.rdoc +0 -55
  71. data/doc/release_notes/rake-0.9.6.rdoc +0 -64
  72. data/doc/release_notes/rake-10.0.0.rdoc +0 -178
  73. data/doc/release_notes/rake-10.0.1.rdoc +0 -58
  74. data/doc/release_notes/rake-10.0.2.rdoc +0 -53
  75. data/doc/release_notes/rake-10.0.3.rdoc +0 -191
  76. data/doc/release_notes/rake-10.1.0.rdoc +0 -61
  77. data/lib/rake/contrib/compositepublisher.rb +0 -21
  78. data/lib/rake/contrib/ftptools.rb +0 -137
  79. data/lib/rake/contrib/sshpublisher.rb +0 -60
  80. data/lib/rake/ext/pathname.rb +0 -25
@@ -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. Missing command line arguments are
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
data/exe/rake CHANGED
@@ -22,6 +22,6 @@
22
22
  # IN THE SOFTWARE.
23
23
  #++
24
24
 
25
- require 'rake'
25
+ require "rake"
26
26
 
27
27
  Rake.application.run
@@ -22,43 +22,43 @@
22
22
 
23
23
  module Rake; end
24
24
 
25
- require 'rake/version'
25
+ require "rake/version"
26
26
 
27
- require 'rbconfig'
28
- require 'fileutils'
29
- require 'singleton'
30
- require 'monitor'
31
- require 'optparse'
32
- require 'ostruct'
27
+ require "rbconfig"
28
+ require "fileutils"
29
+ require "singleton"
30
+ require "monitor"
31
+ require "optparse"
32
+ require "ostruct"
33
33
 
34
- require 'rake/ext/string'
34
+ require "rake/ext/string"
35
35
 
36
- require 'rake/win32'
36
+ require "rake/win32"
37
37
 
38
- require 'rake/linked_list'
39
- require 'rake/cpu_counter'
40
- require 'rake/scope'
41
- require 'rake/task_argument_error'
42
- require 'rake/rule_recursion_overflow_error'
43
- require 'rake/rake_module'
44
- require 'rake/trace_output'
45
- require 'rake/pseudo_status'
46
- require 'rake/task_arguments'
47
- require 'rake/invocation_chain'
48
- require 'rake/task'
49
- require 'rake/file_task'
50
- require 'rake/file_creation_task'
51
- require 'rake/multi_task'
52
- require 'rake/dsl_definition'
53
- require 'rake/file_utils_ext'
54
- require 'rake/file_list'
55
- require 'rake/default_loader'
56
- require 'rake/early_time'
57
- require 'rake/late_time'
58
- require 'rake/name_space'
59
- require 'rake/task_manager'
60
- require 'rake/application'
61
- require 'rake/backtrace'
38
+ require "rake/linked_list"
39
+ require "rake/cpu_counter"
40
+ require "rake/scope"
41
+ require "rake/task_argument_error"
42
+ require "rake/rule_recursion_overflow_error"
43
+ require "rake/rake_module"
44
+ require "rake/trace_output"
45
+ require "rake/pseudo_status"
46
+ require "rake/task_arguments"
47
+ require "rake/invocation_chain"
48
+ require "rake/task"
49
+ require "rake/file_task"
50
+ require "rake/file_creation_task"
51
+ require "rake/multi_task"
52
+ require "rake/dsl_definition"
53
+ require "rake/file_utils_ext"
54
+ require "rake/file_list"
55
+ require "rake/default_loader"
56
+ require "rake/early_time"
57
+ require "rake/late_time"
58
+ require "rake/name_space"
59
+ require "rake/task_manager"
60
+ require "rake/application"
61
+ require "rake/backtrace"
62
62
 
63
63
  $trace = false
64
64
 
@@ -1,11 +1,11 @@
1
- require 'optparse'
1
+ require "optparse"
2
2
 
3
- require 'rake/task_manager'
4
- require 'rake/file_list'
5
- require 'rake/thread_pool'
6
- require 'rake/thread_history_display'
7
- require 'rake/trace_output'
8
- require 'rake/win32'
3
+ require "rake/task_manager"
4
+ require "rake/file_list"
5
+ require "rake/thread_pool"
6
+ require "rake/thread_history_display"
7
+ require "rake/trace_output"
8
+ require "rake/win32"
9
9
 
10
10
  module Rake
11
11
 
@@ -38,16 +38,16 @@ module Rake
38
38
  attr_writer :tty_output
39
39
 
40
40
  DEFAULT_RAKEFILES = [
41
- 'rakefile',
42
- 'Rakefile',
43
- 'rakefile.rb',
44
- 'Rakefile.rb'
41
+ "rakefile",
42
+ "Rakefile",
43
+ "rakefile.rb",
44
+ "Rakefile.rb"
45
45
  ].freeze
46
46
 
47
47
  # Initialize a Rake::Application object.
48
48
  def initialize
49
49
  super
50
- @name = 'rake'
50
+ @name = "rake"
51
51
  @rakefiles = DEFAULT_RAKEFILES.dup
52
52
  @rakefile = nil
53
53
  @pending_imports = []
@@ -56,11 +56,11 @@ module Rake
56
56
  @default_loader = Rake::DefaultLoader.new
57
57
  @original_dir = Dir.pwd
58
58
  @top_level_tasks = []
59
- add_loader('rb', DefaultLoader.new)
60
- add_loader('rf', DefaultLoader.new)
61
- add_loader('rake', DefaultLoader.new)
59
+ add_loader("rb", DefaultLoader.new)
60
+ add_loader("rf", DefaultLoader.new)
61
+ add_loader("rake", DefaultLoader.new)
62
62
  @tty_output = STDOUT.tty?
63
- @terminal_columns = ENV['RAKE_COLUMNS'].to_i
63
+ @terminal_columns = ENV["RAKE_COLUMNS"].to_i
64
64
  end
65
65
 
66
66
  # Run the Rake application. The run method performs the following
@@ -82,7 +82,7 @@ module Rake
82
82
  end
83
83
 
84
84
  # Initialize the command line parameters and app name.
85
- def init(app_name='rake')
85
+ def init(app_name="rake")
86
86
  standard_exception_handling do
87
87
  @name = app_name
88
88
  args = handle_options
@@ -259,7 +259,7 @@ module Rake
259
259
  if File.exist?(fn)
260
260
  others = FileList.glob(fn, File::FNM_CASEFOLD)
261
261
  return others.size == 1 ? others.first : fn
262
- elsif fn == ''
262
+ elsif fn == ""
263
263
  return fn
264
264
  end
265
265
  end
@@ -342,7 +342,7 @@ module Rake
342
342
  end
343
343
 
344
344
  def unix? # :nodoc:
345
- RbConfig::CONFIG['host_os'] =~
345
+ RbConfig::CONFIG["host_os"] =~
346
346
  /(aix|darwin|linux|(net|free|open)bsd|cygwin|solaris|irix|hpux)/i
347
347
  end
348
348
 
@@ -375,7 +375,7 @@ module Rake
375
375
 
376
376
  def sort_options(options) # :nodoc:
377
377
  options.sort_by { |opt|
378
- opt.select { |o| o =~ /^-/ }.map { |o| o.downcase }.sort.reverse
378
+ opt.select { |o| o =~ /^-/ }.map(&:downcase).sort.reverse
379
379
  }
380
380
  end
381
381
  private :sort_options
@@ -385,38 +385,38 @@ module Rake
385
385
  def standard_rake_options # :nodoc:
386
386
  sort_options(
387
387
  [
388
- ['--all', '-A',
388
+ ["--all", "-A",
389
389
  "Show all tasks, even uncommented ones (in combination with -T or -D)",
390
390
  lambda { |value|
391
391
  options.show_all_tasks = value
392
392
  }
393
393
  ],
394
- ['--backtrace=[OUT]',
394
+ ["--backtrace=[OUT]",
395
395
  "Enable full backtrace. OUT can be stderr (default) or stdout.",
396
396
  lambda { |value|
397
397
  options.backtrace = true
398
- select_trace_output(options, 'backtrace', value)
398
+ select_trace_output(options, "backtrace", value)
399
399
  }
400
400
  ],
401
- ['--build-all', '-B',
401
+ ["--build-all", "-B",
402
402
  "Build all prerequisites, including those which are up-to-date.",
403
403
  lambda { |value|
404
404
  options.build_all = true
405
405
  }
406
406
  ],
407
- ['--comments',
407
+ ["--comments",
408
408
  "Show commented tasks only",
409
409
  lambda { |value|
410
410
  options.show_all_tasks = !value
411
411
  }
412
412
  ],
413
- ['--describe', '-D [PATTERN]',
413
+ ["--describe", "-D [PATTERN]",
414
414
  "Describe the tasks (matching optional PATTERN), then exit.",
415
415
  lambda { |value|
416
416
  select_tasks_to_show(options, :describe, value)
417
417
  }
418
418
  ],
419
- ['--dry-run', '-n',
419
+ ["--dry-run", "-n",
420
420
  "Do a dry run without executing actions.",
421
421
  lambda { |value|
422
422
  Rake.verbose(true)
@@ -425,30 +425,30 @@ module Rake
425
425
  options.trace = true
426
426
  }
427
427
  ],
428
- ['--execute', '-e CODE',
428
+ ["--execute", "-e CODE",
429
429
  "Execute some Ruby code and exit.",
430
430
  lambda { |value|
431
431
  eval(value)
432
432
  exit
433
433
  }
434
434
  ],
435
- ['--execute-print', '-p CODE',
435
+ ["--execute-print", "-p CODE",
436
436
  "Execute some Ruby code, print the result, then exit.",
437
437
  lambda { |value|
438
438
  puts eval(value)
439
439
  exit
440
440
  }
441
441
  ],
442
- ['--execute-continue', '-E CODE',
442
+ ["--execute-continue", "-E CODE",
443
443
  "Execute some Ruby code, " +
444
444
  "then continue with normal task processing.",
445
445
  lambda { |value| eval(value) }
446
446
  ],
447
- ['--jobs', '-j [NUMBER]',
447
+ ["--jobs", "-j [NUMBER]",
448
448
  "Specifies the maximum number of tasks to execute in parallel. " +
449
449
  "(default is number of CPU cores + 4)",
450
450
  lambda { |value|
451
- if value.nil? || value == ''
451
+ if value.nil? || value == ""
452
452
  value = Float::INFINITY
453
453
  elsif value =~ /^\d+$/
454
454
  value = value.to_i
@@ -459,7 +459,7 @@ module Rake
459
459
  options.thread_pool_size = value - 1
460
460
  }
461
461
  ],
462
- ['--job-stats [LEVEL]',
462
+ ["--job-stats [LEVEL]",
463
463
  "Display job statistics. " +
464
464
  "LEVEL=history displays a complete job list",
465
465
  lambda { |value|
@@ -470,42 +470,42 @@ module Rake
470
470
  end
471
471
  }
472
472
  ],
473
- ['--libdir', '-I LIBDIR',
473
+ ["--libdir", "-I LIBDIR",
474
474
  "Include LIBDIR in the search path for required modules.",
475
475
  lambda { |value| $:.push(value) }
476
476
  ],
477
- ['--multitask', '-m',
477
+ ["--multitask", "-m",
478
478
  "Treat all tasks as multitasks.",
479
479
  lambda { |value| options.always_multitask = true }
480
480
  ],
481
- ['--no-search', '--nosearch',
482
- '-N', "Do not search parent directories for the Rakefile.",
481
+ ["--no-search", "--nosearch",
482
+ "-N", "Do not search parent directories for the Rakefile.",
483
483
  lambda { |value| options.nosearch = true }
484
484
  ],
485
- ['--prereqs', '-P',
485
+ ["--prereqs", "-P",
486
486
  "Display the tasks and dependencies, then exit.",
487
487
  lambda { |value| options.show_prereqs = true }
488
488
  ],
489
- ['--quiet', '-q',
489
+ ["--quiet", "-q",
490
490
  "Do not log messages to standard output.",
491
491
  lambda { |value| Rake.verbose(false) }
492
492
  ],
493
- ['--rakefile', '-f [FILENAME]',
493
+ ["--rakefile", "-f [FILENAME]",
494
494
  "Use FILENAME as the rakefile to search for.",
495
495
  lambda { |value|
496
- value ||= ''
496
+ value ||= ""
497
497
  @rakefiles.clear
498
498
  @rakefiles << value
499
499
  }
500
500
  ],
501
- ['--rakelibdir', '--rakelib', '-R RAKELIBDIR',
501
+ ["--rakelibdir", "--rakelib", "-R RAKELIBDIR",
502
502
  "Auto-import any .rake files in RAKELIBDIR. " +
503
503
  "(default is 'rakelib')",
504
504
  lambda { |value|
505
505
  options.rakelib = value.split(File::PATH_SEPARATOR)
506
506
  }
507
507
  ],
508
- ['--require', '-r MODULE',
508
+ ["--require", "-r MODULE",
509
509
  "Require MODULE before executing rakefile.",
510
510
  lambda { |value|
511
511
  begin
@@ -519,11 +519,11 @@ module Rake
519
519
  end
520
520
  }
521
521
  ],
522
- ['--rules',
522
+ ["--rules",
523
523
  "Trace the rules resolution.",
524
524
  lambda { |value| options.trace_rules = true }
525
525
  ],
526
- ['--silent', '-s',
526
+ ["--silent", "-s",
527
527
  "Like --quiet, but also suppresses the " +
528
528
  "'in directory' announcement.",
529
529
  lambda { |value|
@@ -531,59 +531,60 @@ module Rake
531
531
  options.silent = true
532
532
  }
533
533
  ],
534
- ['--suppress-backtrace PATTERN',
534
+ ["--suppress-backtrace PATTERN",
535
535
  "Suppress backtrace lines matching regexp PATTERN. " +
536
536
  "Ignored if --trace is on.",
537
537
  lambda { |value|
538
538
  options.suppress_backtrace_pattern = Regexp.new(value)
539
539
  }
540
540
  ],
541
- ['--system', '-g',
541
+ ["--system", "-g",
542
542
  "Using system wide (global) rakefiles " +
543
543
  "(usually '~/.rake/*.rake').",
544
544
  lambda { |value| options.load_system = true }
545
545
  ],
546
- ['--no-system', '--nosystem', '-G',
546
+ ["--no-system", "--nosystem", "-G",
547
547
  "Use standard project Rakefile search paths, " +
548
548
  "ignore system wide rakefiles.",
549
549
  lambda { |value| options.ignore_system = true }
550
550
  ],
551
- ['--tasks', '-T [PATTERN]',
551
+ ["--tasks", "-T [PATTERN]",
552
552
  "Display the tasks (matching optional PATTERN) " +
553
- "with descriptions, then exit.",
553
+ "with descriptions, then exit. " +
554
+ "-AT combination displays all of tasks contained no description.",
554
555
  lambda { |value|
555
556
  select_tasks_to_show(options, :tasks, value)
556
557
  }
557
558
  ],
558
- ['--trace=[OUT]', '-t',
559
+ ["--trace=[OUT]", "-t",
559
560
  "Turn on invoke/execute tracing, enable full backtrace. " +
560
561
  "OUT can be stderr (default) or stdout.",
561
562
  lambda { |value|
562
563
  options.trace = true
563
564
  options.backtrace = true
564
- select_trace_output(options, 'trace', value)
565
+ select_trace_output(options, "trace", value)
565
566
  Rake.verbose(true)
566
567
  }
567
568
  ],
568
- ['--verbose', '-v',
569
+ ["--verbose", "-v",
569
570
  "Log message to standard output.",
570
571
  lambda { |value| Rake.verbose(true) }
571
572
  ],
572
- ['--version', '-V',
573
+ ["--version", "-V",
573
574
  "Display the program version.",
574
575
  lambda { |value|
575
576
  puts "rake, version #{Rake::VERSION}"
576
577
  exit
577
578
  }
578
579
  ],
579
- ['--where', '-W [PATTERN]',
580
+ ["--where", "-W [PATTERN]",
580
581
  "Describe the tasks (matching optional PATTERN), then exit.",
581
582
  lambda { |value|
582
583
  select_tasks_to_show(options, :lines, value)
583
584
  options.show_all_tasks = true
584
585
  }
585
586
  ],
586
- ['--no-deprecation-warnings', '-X',
587
+ ["--no-deprecation-warnings", "-X",
587
588
  "Disable the deprecation warnings.",
588
589
  lambda { |value|
589
590
  options.ignore_deprecate = true
@@ -594,7 +595,7 @@ module Rake
594
595
 
595
596
  def select_tasks_to_show(options, show_tasks, value) # :nodoc:
596
597
  options.show_tasks = show_tasks
597
- options.show_task_pattern = Regexp.new(value || '')
598
+ options.show_task_pattern = Regexp.new(value || "")
598
599
  Rake::TaskManager.record_task_metadata = true
599
600
  end
600
601
  private :select_tasks_to_show
@@ -602,9 +603,9 @@ module Rake
602
603
  def select_trace_output(options, trace_option, value) # :nodoc:
603
604
  value = value.strip unless value.nil?
604
605
  case value
605
- when 'stdout'
606
+ when "stdout"
606
607
  options.trace_output = $stdout
607
- when 'stderr', nil
608
+ when "stderr", nil
608
609
  options.trace_output = $stderr
609
610
  else
610
611
  fail CommandLineOptionError,
@@ -617,7 +618,7 @@ module Rake
617
618
  # arguments that we didn't understand, which should (in theory) be just
618
619
  # task names and env vars.
619
620
  def handle_options # :nodoc:
620
- options.rakelib = ['rakelib']
621
+ options.rakelib = ["rakelib"]
621
622
  options.trace_output = $stderr
622
623
 
623
624
  OptionParser.new do |opts|
@@ -631,7 +632,7 @@ module Rake
631
632
  end
632
633
 
633
634
  standard_rake_options.each { |args| opts.on(*args) }
634
- opts.environment('RAKEOPT')
635
+ opts.environment("RAKEOPT")
635
636
  end.parse(ARGV)
636
637
  end
637
638
 
@@ -684,7 +685,7 @@ module Rake
684
685
  Dir.chdir(location)
685
686
  print_rakefile_directory(location)
686
687
  Rake.load_rakefile(File.expand_path(@rakefile)) if
687
- @rakefile && @rakefile != ''
688
+ @rakefile && @rakefile != ""
688
689
  options.rakelib.each do |rlib|
689
690
  glob("#{rlib}/*.rake") do |name|
690
691
  add_import name
@@ -695,7 +696,7 @@ module Rake
695
696
  end
696
697
 
697
698
  def glob(path, &block) # :nodoc:
698
- FileList.glob(path.gsub("\\", '/')).each(&block)
699
+ FileList.glob(path.tr("\\", "/")).each(&block)
699
700
  end
700
701
  private :glob
701
702
 
@@ -703,8 +704,8 @@ module Rake
703
704
  def system_dir # :nodoc:
704
705
  @system_dir ||=
705
706
  begin
706
- if ENV['RAKE_SYSTEM']
707
- ENV['RAKE_SYSTEM']
707
+ if ENV["RAKE_SYSTEM"]
708
+ ENV["RAKE_SYSTEM"]
708
709
  else
709
710
  standard_system_dir
710
711
  end
@@ -718,7 +719,7 @@ module Rake
718
719
  end
719
720
  else
720
721
  def standard_system_dir #:nodoc:
721
- File.join(File.expand_path('~'), '.rake')
722
+ File.join(File.expand_path("~"), ".rake")
722
723
  end
723
724
  end
724
725
  private :standard_system_dir
@@ -777,7 +778,7 @@ module Rake
777
778
  re = /^#{@rakefile}$/
778
779
  re = /#{re.source}/i if windows?
779
780
 
780
- backtrace.find { |str| str =~ re } || ''
781
+ backtrace.find { |str| str =~ re } || ""
781
782
  end
782
783
 
783
784
  end