mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* lib/rake: Update to rake 10.4.2
* test/rake: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48726 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
e70210cad6
commit
e2bbfaa67c
7 changed files with 47 additions and 34 deletions
|
@ -1,3 +1,8 @@
|
|||
Sat Dec 6 09:22:45 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
|
||||
|
||||
* lib/rake: Update to rake 10.4.2
|
||||
* test/rake: ditto.
|
||||
|
||||
Sat Dec 6 06:48:03 2014 Eric Wong <e@80x24.org>
|
||||
|
||||
* compile.c (rb_iseq_build_from_ary): remove misc handling
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
#++
|
||||
|
||||
module Rake
|
||||
VERSION = '10.4.0'
|
||||
VERSION = '10.4.2'
|
||||
end
|
||||
|
||||
require 'rake/version'
|
||||
|
|
|
@ -20,9 +20,6 @@ module Rake
|
|||
include TaskManager
|
||||
include TraceOutput
|
||||
|
||||
# The command-line arguments rake is using (defaults to ARGV)
|
||||
attr_reader :argv # :nodoc:
|
||||
|
||||
# The name of the application (typically 'rake')
|
||||
attr_reader :name
|
||||
|
||||
|
@ -48,7 +45,6 @@ module Rake
|
|||
# Initialize a Rake::Application object.
|
||||
def initialize
|
||||
super
|
||||
@argv = ARGV.dup
|
||||
@name = 'rake'
|
||||
@rakefiles = DEFAULT_RAKEFILES.dup
|
||||
@rakefile = nil
|
||||
|
@ -77,8 +73,6 @@ module Rake
|
|||
# call +top_level+ to run your top level tasks.
|
||||
def run
|
||||
standard_exception_handling do
|
||||
@argv = argv
|
||||
|
||||
init
|
||||
load_rakefile
|
||||
top_level
|
||||
|
@ -89,8 +83,8 @@ module Rake
|
|||
def init(app_name='rake')
|
||||
standard_exception_handling do
|
||||
@name = app_name
|
||||
handle_options
|
||||
collect_command_line_tasks
|
||||
args = handle_options
|
||||
collect_command_line_tasks(args)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -622,7 +616,9 @@ module Rake
|
|||
end
|
||||
private :select_trace_output
|
||||
|
||||
# Read and handle the command line options.
|
||||
# Read and handle the command line options. Returns the command line
|
||||
# arguments that we didn't understand, which should (in theory) be just
|
||||
# task names and env vars.
|
||||
def handle_options # :nodoc:
|
||||
options.rakelib = ['rakelib']
|
||||
options.trace_output = $stderr
|
||||
|
@ -639,7 +635,7 @@ module Rake
|
|||
|
||||
standard_rake_options.each { |args| opts.on(*args) }
|
||||
opts.environment('RAKEOPT')
|
||||
end.parse! @argv
|
||||
end.parse(ARGV)
|
||||
end
|
||||
|
||||
# Similar to the regular Ruby +require+ command, but will check
|
||||
|
@ -733,9 +729,14 @@ module Rake
|
|||
# Collect the list of tasks on the command line. If no tasks are
|
||||
# given, return a list containing only the default task.
|
||||
# Environmental assignments are processed at this time as well.
|
||||
def collect_command_line_tasks # :nodoc:
|
||||
#
|
||||
# `args` is the list of arguments to peruse to get the list of tasks.
|
||||
# It should be the command line that was given to rake, less any
|
||||
# recognised command-line options, which OptionParser.parse will
|
||||
# have taken care of already.
|
||||
def collect_command_line_tasks(args) # :nodoc:
|
||||
@top_level_tasks = []
|
||||
@argv.each do |arg|
|
||||
args.each do |arg|
|
||||
if arg =~ /^(\w+)=(.*)$/m
|
||||
ENV[$1] = $2
|
||||
else
|
||||
|
|
|
@ -159,6 +159,8 @@ module Rake
|
|||
end
|
||||
|
||||
# Describes the next rake task. Duplicate descriptions are discarded.
|
||||
# Descriptions are shown with <code>rake -T</code> (up to the first
|
||||
# sentence) and <code>rake -D</code> (the entire description).
|
||||
#
|
||||
# Example:
|
||||
# desc "Run the Unit Tests"
|
||||
|
|
|
@ -10,9 +10,9 @@ class TestRakeApplication < Rake::TestCase
|
|||
end
|
||||
|
||||
def setup_command_line(*options)
|
||||
@app.argv.clear
|
||||
ARGV.clear
|
||||
options.each do |option|
|
||||
@app.argv << option
|
||||
ARGV << option
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -268,7 +268,7 @@ class TestRakeApplication < Rake::TestCase
|
|||
end
|
||||
|
||||
def test_load_rakefile_not_found
|
||||
@app.argv.clear
|
||||
ARGV.clear
|
||||
Dir.chdir @tempdir
|
||||
ENV['RAKE_SYSTEM'] = 'not_exist'
|
||||
|
||||
|
@ -370,7 +370,7 @@ class TestRakeApplication < Rake::TestCase
|
|||
# HACK no assertions
|
||||
end
|
||||
|
||||
def test_handle_options_should_strip_options_from_argv
|
||||
def test_handle_options_should_not_strip_options_from_argv
|
||||
assert !@app.options.trace
|
||||
|
||||
valid_option = '--trace'
|
||||
|
@ -378,7 +378,7 @@ class TestRakeApplication < Rake::TestCase
|
|||
|
||||
@app.handle_options
|
||||
|
||||
assert !@app.argv.include?(valid_option)
|
||||
assert ARGV.include?(valid_option)
|
||||
assert @app.options.trace
|
||||
end
|
||||
|
||||
|
@ -406,14 +406,14 @@ class TestRakeApplication < Rake::TestCase
|
|||
setup_command_line("--trace", "sometask")
|
||||
|
||||
@app.handle_options
|
||||
assert @app.argv.include?("sometask")
|
||||
assert ARGV.include?("sometask")
|
||||
assert @app.options.trace
|
||||
end
|
||||
|
||||
def test_good_run
|
||||
ran = false
|
||||
|
||||
@app.argv << '--rakelib=""'
|
||||
ARGV << '--rakelib=""'
|
||||
|
||||
@app.options.silent = true
|
||||
|
||||
|
@ -468,7 +468,7 @@ class TestRakeApplication < Rake::TestCase
|
|||
}
|
||||
assert_match(/see full trace/i, err)
|
||||
ensure
|
||||
@app.argv.clear
|
||||
ARGV.clear
|
||||
end
|
||||
|
||||
def test_bad_run_with_trace
|
||||
|
@ -479,7 +479,7 @@ class TestRakeApplication < Rake::TestCase
|
|||
}
|
||||
refute_match(/see full trace/i, err)
|
||||
ensure
|
||||
@app.argv.clear
|
||||
ARGV.clear
|
||||
end
|
||||
|
||||
def test_bad_run_with_backtrace
|
||||
|
@ -492,7 +492,7 @@ class TestRakeApplication < Rake::TestCase
|
|||
}
|
||||
refute_match(/see full trace/, err)
|
||||
ensure
|
||||
@app.argv.clear
|
||||
ARGV.clear
|
||||
end
|
||||
|
||||
CustomError = Class.new(RuntimeError)
|
||||
|
@ -549,7 +549,7 @@ class TestRakeApplication < Rake::TestCase
|
|||
end
|
||||
assert_match(/Secondary Error/, err)
|
||||
ensure
|
||||
@app.argv.clear
|
||||
ARGV.clear
|
||||
end
|
||||
|
||||
def test_run_with_bad_options
|
||||
|
@ -559,7 +559,7 @@ class TestRakeApplication < Rake::TestCase
|
|||
capture_io { @app.run }
|
||||
}
|
||||
ensure
|
||||
@app.argv.clear
|
||||
ARGV.clear
|
||||
end
|
||||
|
||||
def test_standard_exception_handling_invalid_option
|
||||
|
|
|
@ -457,8 +457,8 @@ class TestRakeApplicationOptions < Rake::TestCase
|
|||
throw :system_exit, :exit
|
||||
end
|
||||
@app.instance_eval do
|
||||
handle_options
|
||||
collect_command_line_tasks
|
||||
args = handle_options
|
||||
collect_command_line_tasks(args)
|
||||
end
|
||||
@tasks = @app.top_level_tasks
|
||||
@app.options
|
||||
|
|
|
@ -97,17 +97,22 @@ class TestRakeTestTask < Rake::TestCase
|
|||
end
|
||||
|
||||
def test_run_code_rake_default_gem
|
||||
skip 'this ruby does not have default gems' unless
|
||||
Gem::Specification.method_defined? :default_specifications_dir
|
||||
|
||||
default_spec = Gem::Specification.new 'rake', 0
|
||||
default_spec.loaded_from = File.join Gem::Specification.default_specifications_dir, 'rake-0.gemspec'
|
||||
rake, Gem.loaded_specs['rake'] = Gem.loaded_specs['rake'], default_spec
|
||||
begin
|
||||
rake, Gem.loaded_specs['rake'] = Gem.loaded_specs['rake'], default_spec
|
||||
|
||||
test_task = Rake::TestTask.new do |t|
|
||||
t.loader = :rake
|
||||
test_task = Rake::TestTask.new do |t|
|
||||
t.loader = :rake
|
||||
end
|
||||
|
||||
assert_match(/\A(-I".*?" *)* ".*?"\Z/, test_task.run_code)
|
||||
ensure
|
||||
Gem.loaded_specs['rake'] = rake
|
||||
end
|
||||
|
||||
assert_match(/\A(-I".*?" *)* ".*?"\Z/, test_task.run_code)
|
||||
ensure
|
||||
Gem.loaded_specs['rake'] = rake
|
||||
end
|
||||
|
||||
def test_run_code_testrb_ruby_1_8_2
|
||||
|
|
Loading…
Reference in a new issue