[前][次][番号順一覧][スレッド一覧]

ruby-changes:44205

From: nobu <ko1@a...>
Date: Wed, 28 Sep 2016 10:16:50 +0900 (JST)
Subject: [ruby-changes:44205] nobu:r56278 (trunk): rubygems 2.6.7

nobu	2016-09-28 10:16:43 +0900 (Wed, 28 Sep 2016)

  New Revision: 56278

  https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=56278

  Log:
    rubygems 2.6.7
    
    * lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update
      rubygems to 2.6.7, not the master, with r56225.

  Modified files:
    trunk/lib/rubygems/commands/owner_command.rb
    trunk/lib/rubygems/commands/push_command.rb
    trunk/lib/rubygems/commands/query_command.rb
    trunk/lib/rubygems/commands/setup_command.rb
    trunk/lib/rubygems/commands/yank_command.rb
    trunk/lib/rubygems/core_ext/kernel_require.rb
    trunk/lib/rubygems/exceptions.rb
    trunk/lib/rubygems/installer.rb
    trunk/lib/rubygems/request_set.rb
    trunk/lib/rubygems/resolver.rb
    trunk/lib/rubygems/source.rb
    trunk/lib/rubygems/spec_fetcher.rb
    trunk/lib/rubygems/test_case.rb
    trunk/lib/rubygems/user_interaction.rb
    trunk/lib/rubygems/version.rb
    trunk/lib/rubygems.rb
    trunk/test/rubygems/test_gem.rb
    trunk/test/rubygems/test_gem_commands_query_command.rb
    trunk/test/rubygems/test_gem_commands_setup_command.rb
    trunk/test/rubygems/test_gem_installer.rb
    trunk/test/rubygems/test_gem_resolver.rb
    trunk/test/rubygems/test_gem_source.rb
    trunk/test/rubygems/test_gem_spec_fetcher.rb
    trunk/test/rubygems/test_gem_version.rb
Index: test/rubygems/test_gem_installer.rb
===================================================================
--- test/rubygems/test_gem_installer.rb	(revision 56277)
+++ test/rubygems/test_gem_installer.rb	(revision 56278)
@@ -1416,7 +1416,7 @@ gem 'other', version https://github.com/ruby/ruby/blob/trunk/test/rubygems/test_gem_installer.rb#L1416
   def test_pre_install_checks_ruby_version
     use_ui @ui do
       installer = Gem::Installer.at old_ruby_required
-      e = assert_raises Gem::RuntimeRequirementNotMetError do
+      e = assert_raises Gem::InstallError do
         installer.pre_install_checks
       end
       assert_equal 'old_ruby_required requires Ruby version = 1.4.6.',
@@ -1435,7 +1435,7 @@ gem 'other', version https://github.com/ruby/ruby/blob/trunk/test/rubygems/test_gem_installer.rb#L1435
 
     use_ui @ui do
       @installer = Gem::Installer.at gem
-      e = assert_raises Gem::RuntimeRequirementNotMetError do
+      e = assert_raises Gem::InstallError do
         @installer.pre_install_checks
       end
       assert_equal 'old_rubygems_required requires RubyGems version < 0. ' +
Index: test/rubygems/test_gem_resolver.rb
===================================================================
--- test/rubygems/test_gem_resolver.rb	(revision 56277)
+++ test/rubygems/test_gem_resolver.rb	(revision 56278)
@@ -683,32 +683,6 @@ class TestGemResolver < Gem::TestCase https://github.com/ruby/ruby/blob/trunk/test/rubygems/test_gem_resolver.rb#L683
     assert_resolves_to [b1, c1, d2], r
   end
 
-  def test_sorts_by_source_then_version
-    sourceA = Gem::Source.new 'http://example.com/a'
-    sourceB = Gem::Source.new 'http://example.com/b'
-    sourceC = Gem::Source.new 'http://example.com/c'
-
-    spec_A_1 = new_spec 'some-dep', '0.0.1'
-    spec_A_2 = new_spec 'some-dep', '1.0.0'
-    spec_B_1 = new_spec 'some-dep', '0.0.1'
-    spec_B_2 = new_spec 'some-dep', '0.0.2'
-    spec_C_1 = new_spec 'some-dep', '0.1.0'
-
-    set = StaticSet.new [
-      Gem::Resolver::SpecSpecification.new(nil, spec_B_1, sourceB),
-      Gem::Resolver::SpecSpecification.new(nil, spec_B_2, sourceB),
-      Gem::Resolver::SpecSpecification.new(nil, spec_C_1, sourceC),
-      Gem::Resolver::SpecSpecification.new(nil, spec_A_2, sourceA),
-      Gem::Resolver::SpecSpecification.new(nil, spec_A_1, sourceA),
-    ]
-
-    dependency = make_dep 'some-dep', '> 0'
-
-    resolver = Gem::Resolver.new [dependency], set
-
-    assert_resolves_to [spec_B_2], resolver
-  end
-
   def test_select_local_platforms
     r = Gem::Resolver.new nil, nil
 
Index: test/rubygems/test_gem_commands_query_command.rb
===================================================================
--- test/rubygems/test_gem_commands_query_command.rb	(revision 56277)
+++ test/rubygems/test_gem_commands_query_command.rb	(revision 56278)
@@ -557,25 +557,6 @@ EOF https://github.com/ruby/ruby/blob/trunk/test/rubygems/test_gem_commands_query_command.rb#L557
     assert_equal expected, @ui.output
   end
 
-  def test_execute_show_default_gems_with_platform
-    a1 = new_default_spec 'a', 1
-    a1.platform = 'java'
-    install_default_specs a1
-
-    use_ui @ui do
-      @cmd.execute
-    end
-
-    expected = <<-EOF
-
-*** LOCAL GEMS ***
-
-a (default: 1 java)
-EOF
-
-    assert_equal expected, @ui.output
-  end
-
   def test_execute_default_details
     spec_fetcher do |fetcher|
       fetcher.spec 'a', 2
Index: test/rubygems/test_gem.rb
===================================================================
--- test/rubygems/test_gem.rb	(revision 56277)
+++ test/rubygems/test_gem.rb	(revision 56278)
@@ -157,35 +157,6 @@ class TestGem < Gem::TestCase https://github.com/ruby/ruby/blob/trunk/test/rubygems/test_gem.rb#L157
     assert_match 'a-2/bin/exec', Gem.bin_path('a', 'exec', '>= 0')
   end
 
-  def test_activate_bin_path_resolves_eagerly
-    a1 = util_spec 'a', '1' do |s|
-      s.executables = ['exec']
-      s.add_dependency 'b'
-    end
-
-    b1 = util_spec 'b', '1' do |s|
-      s.add_dependency 'c', '2'
-    end
-
-    b2 = util_spec 'b', '2' do |s|
-      s.add_dependency 'c', '1'
-    end
-
-    c1 = util_spec 'c', '1'
-    c2 = util_spec 'c', '2'
-
-    install_specs c1, c2, b1, b2, a1
-
-    Gem.activate_bin_path("a", "exec", ">= 0")
-
-    # If we didn't eagerly resolve, this would activate c-2 and then the
-    # finish_resolve would cause a conflict
-    gem 'c'
-    Gem.finish_resolve
-
-    assert_equal %w(a-1 b-2 c-1), loaded_spec_names
-  end
-
   def test_self_bin_path_no_exec_name
     e = assert_raises ArgumentError do
       Gem.bin_path 'a'
@@ -374,7 +345,7 @@ class TestGem < Gem::TestCase https://github.com/ruby/ruby/blob/trunk/test/rubygems/test_gem.rb#L345
     begin
       Dir.chdir 'detect/a/b'
 
-      assert_equal [BUNDLER_FULL_NAME], Gem.detect_gemdeps.map(&:full_name)
+      assert_empty Gem.detect_gemdeps
     ensure
       Dir.chdir @tempdir
     end
@@ -1426,7 +1397,7 @@ class TestGem < Gem::TestCase https://github.com/ruby/ruby/blob/trunk/test/rubygems/test_gem.rb#L1397
 
     Gem.detect_gemdeps
 
-    assert_equal %W(a-1 b-1 #{BUNDLER_FULL_NAME} c-1), loaded_spec_names
+    assert_equal %w!a-1 b-1 c-1!, loaded_spec_names
   end
 
   def test_auto_activation_of_detected_gemdeps_file
@@ -1449,40 +1420,10 @@ class TestGem < Gem::TestCase https://github.com/ruby/ruby/blob/trunk/test/rubygems/test_gem.rb#L1420
 
     ENV['RUBYGEMS_GEMDEPS'] = "-"
 
-    assert_equal [a, b, util_spec("bundler", Bundler::VERSION), c], Gem.detect_gemdeps.sort_by { |s| s.name }
+    assert_equal [a,b,c], Gem.detect_gemdeps.sort_by { |s| s.name }
   end
 
   LIB_PATH = File.expand_path "../../../lib".dup.untaint, __FILE__.dup.untaint
-  BUNDLER_LIB_PATH = File.expand_path $LOAD_PATH.find {|lp| File.file?(File.join(lp, "bundler.rb")) }.dup.untaint
-  BUNDLER_FULL_NAME = "bundler-#{Bundler::VERSION}"
-
-  def test_use_gemdeps_uses_bundler_postit_trampoline
-    refute_includes $LOADED_FEATURES, File.join(BUNDLER_LIB_PATH, "bundler/postit_trampoline.rb".dup.untaint)
-    ENV.delete("BUNDLE_DISABLE_POSTIT")
-
-    a = new_spec "a", "1", nil, "lib/a.rb"
-    b = new_spec "b", "1", nil, "lib/b.rb"
-    c = new_spec "c", "1", nil, "lib/c.rb"
-
-    install_specs a, b, c
-
-    path = File.join @tempdir, "gem.deps.rb"
-
-    File.open path, "w" do |f|
-      f.puts "gem 'a'"
-      f.puts "gem 'b'"
-      f.puts "gem 'c'"
-    end
-
-    ENV['RUBYGEMS_GEMDEPS'] = path
-
-    Gem.detect_gemdeps
-
-    assert_equal %W(a-1 b-1 #{BUNDLER_FULL_NAME} c-1), loaded_spec_names
-
-    trampoline_path = RUBY_VERSION > "1.9" ? File.join(BUNDLER_LIB_PATH, "bundler/postit_trampoline.rb".dup.untaint) : "bundler/postit_trampoline.rb"
-    assert_includes $LOADED_FEATURES, trampoline_path
-  end
 
   def test_looks_for_gemdeps_files_automatically_on_start
     util_clear_gems
@@ -1509,9 +1450,9 @@ class TestGem < Gem::TestCase https://github.com/ruby/ruby/blob/trunk/test/rubygems/test_gem.rb#L1450
     ENV['GEM_PATH'] = path
     ENV['RUBYGEMS_GEMDEPS'] = "-"
 
-    out = `#{Gem.ruby.dup.untaint} -I "#{LIB_PATH.untaint}" -I "#{BUNDLER_LIB_PATH.untaint}" -rubygems -e "p Gem.loaded_specs.values.map(&:full_name).sort"`
+    out = `#{Gem.ruby.dup.untaint} -I "#{LIB_PATH.untaint}" -rubygems -e "p Gem.loaded_specs.values.map(&:full_name).sort"`
 
-    assert_equal %W(a-1 b-1 #{BUNDLER_FULL_NAME} c-1).inspect, out.strip
+    assert_equal '["a-1", "b-1", "c-1"]', out.strip
   end
 
   def test_looks_for_gemdeps_files_automatically_on_start_in_parent_dir
@@ -1541,12 +1482,12 @@ class TestGem < Gem::TestCase https://github.com/ruby/ruby/blob/trunk/test/rubygems/test_gem.rb#L1482
 
     Dir.mkdir "sub1"
     out = Dir.chdir "sub1" do
-      `#{Gem.ruby.dup.untaint} -I "#{LIB_PATH.untaint}" -I "#{BUNDLER_LIB_PATH.untaint}" -rubygems -e "p Gem.loaded_specs.values.map(&:full_name).sort"`
+      `#{Gem.ruby.dup.untaint} -I "#{LIB_PATH.untaint}" -rubygems -e "p Gem.loaded_specs.values.map(&:full_name).sort"`
     end
 
     Dir.rmdir "sub1"
 
-    assert_equal %W(a-1 b-1 #{BUNDLER_FULL_NAME} c-1).inspect, out.strip
+    assert_equal '["a-1", "b-1", "c-1"]', out.strip
   end
 
   def test_register_default_spec
@@ -1620,7 +1561,7 @@ class TestGem < Gem::TestCase https://github.com/ruby/ruby/blob/trunk/test/rubygems/test_gem.rb#L1561
 
     Gem.use_gemdeps gem_deps_file
 
-    assert_equal %W(a-1 #{BUNDLER_FULL_NAME}), loaded_spec_names
+    assert spec.activated?
     refute_nil Gem.gemdeps
   end
 
@@ -1681,7 +1622,7 @@ class TestGem < Gem::TestCase https://github.com/ruby/ruby/blob/trunk/test/rubygems/test_gem.rb#L1622
 
     Gem.use_gemdeps
 
-    assert_equal %W(a-1 #{BUNDLER_FULL_NAME}), loaded_spec_names
+    assert spec.activated?
   ensure
     ENV['RUBYGEMS_GEMDEPS'] = rubygems_gemdeps
   end
@@ -1723,14 +1664,8 @@ class TestGem < Gem::TestCase https://github.com/ruby/ruby/blob/trunk/test/rubygems/test_gem.rb#L1664
       io.write 'gem "a"'
     end
 
-    platform = Bundler::GemHelpers.generic_local_platform
-    if platform == Gem::Platform::RUBY
-      platform = ''
-    else
-      platform = " #{platform}"
-    end
     expected = <<-EXPECTED
-Could not find gem 'a#{platform}' in any of the gem sources listed in your Gemfile or available on this machine.
+Unable to resolve dependency: user requested 'a (>= 0)'
 You may need to `gem install -g` to install missing gems
 
     EXPECTED
@@ -1758,7 +1693,7 @@ You may need to `gem install -g` to inst https://github.com/ruby/ruby/blob/trunk/test/rubygems/test_gem.rb#L1693
 
     Gem.use_gemdeps
 
-    assert_equal %W(a-1 #{BUNDLER_FULL_NAME}), loaded_spec_names
+    assert spec.activated?
   ensure
     ENV['RUBYGEMS_GEMDEPS'] = rubygems_gemdeps
   end
Index: test/rubygems/test_gem_commands_setup_command.rb
===================================================================
--- test/rubygems/test_gem_commands_setup_command.rb	(revision 56277)
+++ test/rubygems/test_gem_commands_setup_command.rb	(revision 56278)
@@ -20,13 +20,6 @@ class TestGemCommandsSetupCommand < Gem: https://github.com/ruby/ruby/blob/trunk/test/rubygems/test_gem_commands_setup_command.rb#L20
     open 'lib/rubygems.rb',           'w' do |io| io.puts '# rubygems.rb'  end
     open 'lib/rubygems/test_case.rb', 'w' do |io| io.puts '# test_case.rb' end
     open 'lib/rubygems/ssl_certs/rubygems.org/foo.pem', 'w' do |io| io.puts 'PEM'       end
-
-    FileUtils.mkdir_p 'bundler/exe'
-    FileUtils.mkdir_p 'bundler/lib/bundler'
-
-    open 'bundler/exe/bundle',        'w' do |io| io.puts '# bundle'       end
-    open 'bundler/lib/bundler.rb',    'w' do |io| io.puts '# bundler.rb'   end
-    open 'bundler/lib/bundler/b.rb',  'w' do |io| io.puts '# b.rb'         end
   end
 
   def test_pem_files_in
@@ -47,16 +40,12 @@ class TestGemCommandsSetupCommand < Gem: https://github.com/ruby/ruby/blob/trunk/test/rubygems/test_gem_commands_setup_command.rb#L40
 
       assert_path_exists File.join(dir, 'rubygems.rb')
       assert_path_exists File.join(dir, 'rubygems/ssl_certs/rubygems.org/foo.pem')
-
-      assert_path_exists File.join(dir, 'bundler.rb')
-      assert_path_exists File.join(dir, 'bundler/b.rb')
     end
   end
 
   def test_remove_old_lib_files
     lib                   = File.join @install_dir, 'lib'
     lib_rubygems          = File.join lib, 'rubygems'
-    lib_bundler           = File.join lib, 'bundler'
     lib_rubygems_defaults = File.join lib_rubygems, 'defaults'
 
     securerandom_rb    = File.join lib, 'securerandom.rb'
@@ -66,16 +55,13 @@ class TestGemCommandsSetupCommand < Gem: https://github.com/ruby/ruby/blob/trunk/test/rubygems/test_gem_commands_setup_command.rb#L55
 
     old_builder_rb     = File.join lib_rubygems, 'builder.rb'
     old_format_rb      = File.join lib_rubygems, 'format.rb'
-    old_bundler_c_rb   = File.join lib_bundler,  'c.rb'
 
     FileUtils.mkdir_p lib_rubygems_defaults
-    FileUtils.mkdir_p lib_bundler
 
     open securerandom_rb,    'w' do |io| io.puts '# securerandom.rb'     end
 
     open old_builder_rb,     'w' do |io| io.puts '# builder.rb'          end
     open old_format_rb,      'w' do |io| io.puts '# format.rb'           end
-    open old_bundler_c_rb,   'w' do |io| io.puts '# c.rb'                end
 
     open engine_defaults_rb, 'w' do |io| io.puts '# jruby.rb'            end
     open os_defaults_rb,     'w' do |io| io.puts '# operating_system.rb' end
@@ -84,7 +70,6 @@ class TestGemCommandsSetupCommand < Gem: https://github.com/ruby/ruby/blob/trunk/test/rubygems/test_gem_commands_setup_command.rb#L70
 
     refute_path_exists old_builder_rb
     refute_path_exists old_format_rb
-    refute_path_exists old_bundler_c_rb
 
     assert_path_exists securerandom_rb
     assert_path_exists engine_defaults_rb
Index: test/rubygems/test_gem_source.rb
===================================================================
--- test/rubygems/test_gem_source.rb	(revision 56277)
+++ test/rubygems/test_gem_source.rb	(revision 56278)
@@ -228,15 +228,6 @@ class TestGemSource < Gem::TestCase https://github.com/ruby/ruby/blob/trunk/test/rubygems/test_gem_source.rb#L228
     assert_equal(-1, remote.   <=>(no_uri),    'remote <=> no_uri')
   end
 
-  def test_spaceship_order_is_preserved_when_uri_differs
-    sourceA = Gem::Source.new "http://example.com/a"
-    sourceB = Gem::Source.new "http://example.com/b"
-
-    assert_equal( 0, sourceA. <=>(sourceA), 'sourceA <=> sourceA')
-    assert_equal( 1, sourceA. <=>(sourceB), 'sourceA <=> sourceB')
-    assert_equal( 1, sourceB. <=>(sourceA), 'sourceB <=> sourceA')
-  end
-
   def test_update_cache_eh
     assert @source.update_cache?
   end
Index: test/rubygems/test_gem_version.rb
===================================================================
--- test/rubygems/test_gem_version.rb	(revision 56277)
+++ test/rubygems/test_gem_version.rb	(revision 56278)
@@ -65,8 +65,7 @@ class TestGemVersion < Gem::TestCase https://github.com/ruby/ruby/blob/trunk/test/rubygems/test_gem_version.rb#L65
   def test_hash
     assert_equal v("1.2").hash, v("1.2").hash
     refute_equal v("1.2").hash, v("1.3").hash
-    assert_equal v("1.2").hash, v("1.2.0").hash
-    assert_equal v("1.2.pre.1").hash, v("1.2.0.pre.1.0").hash
+    refute_equal v("1.2").hash, v("1.2.0").hash
   end
 
   def test_initialize
@@ -100,9 +99,6 @@ class TestGemVersion < Gem::TestCase https://github.com/ruby/ruby/blob/trunk/test/rubygems/test_gem_version.rb#L99
 
     assert_prerelease '1.A'
 
-    assert_prerelease '1-1'
-    assert_prerelease '1-a'
-
     refute_prerelease "1.2.0"
     refute_prerelease "2.9"
     refute_prerelease "22.1.50.0"
@@ -158,12 +154,6 @@ class TestGemVersion < Gem::TestCase https://github.com/ruby/ruby/blob/trunk/test/rubygems/test_gem_version.rb#L154
     assert_equal         [9,8,7], v("9.8.7").segments
   end
 
-  def test_canonical_segments
-    assert_equal [1], v("1.0.0").canonical_segments
-    assert_equal [1, "a", 1], v("1.0.0.a.1.0").canonical_segments
-    assert_equal [1, 2, 3, "pre", 1], v("1.2.3-1").canonical_segments
-  end
-
   # Asserts that +version+ is a prerelease.
 
   def assert_prerelease version
@@ -193,7 +183,6 @@ class TestGemVersion < Gem::TestCase https://github.com/ruby/ruby/blob/trunk/test/rubygems/test_gem_version.rb#L183
 
   def assert_version_equal expected, actual
     assert_equal v(expected), v(actual)
-    assert_equal v(expected).hash, v(actual).hash, "since #{actual} == #{expected}, they must have the same hash"
   end
 
   # Assert that two versions are eql?. Checks both directions.
Index: test/rubygems/test_gem_spec_fetcher.rb
===================================================================
--- test/rubygems/test_gem_spec_fetcher.rb	(revision 56277)
+++ test/rubygems/test_gem_spec_fetcher.rb	(revision 56278)
@@ -169,26 +169,6 @@ class TestGemSpecFetcher < Gem::TestCase https://github.com/ruby/ruby/blob/trunk/test/rubygems/test_gem_spec_fetcher.rb#L169
     assert_equal "bad news from the internet (#{@gem_repo})", sfp.error.message
   end
 
-  def test_suggest_gems_from_name_latest
-    spec_fetcher do|fetcher|
-      fetcher.spec 'example', 1
-      fetcher.spec 'other-example', 1
-    end
-
-    suggestions = @sf.suggest_gems_from_name('examplw')
-    assert_equal ['example'], suggestions
-  end
-
-  def test_suggest_gems_from_name_prerelease
-    spec_fetcher do|fetcher|
-      fetcher.spec 'example', '1.a'
-      fetcher.spec 'other-example', 1
-    end
-
-    suggestions = @sf.suggest_gems_from_name('examplw')
-    assert_equal ['example'], suggestions
-  end
-
   def test_available_specs_latest
     spec_fetcher do |fetcher|
       fetcher.spec 'a', 1
Index: lib/rubygems.rb
===================================================================
--- lib/rubygems.rb	(revision 56277)
+++ lib/rubygems.rb	(revision 56278)
@@ -296,10 +296,7 @@ module Gem https://github.com/ruby/ruby/blob/trunk/lib/rubygems.rb#L296
 
   def self.activate_bin_path name, exec_name, requirement # :nodoc:
     spec = find_spec_for_exe name, exec_name, [requirement]
-    Gem::LOADED_SPECS_MUTEX.synchronize do
-      spec.activate
-      finish_resolve
-    end
+    Gem::LOADED_SPECS_MUTEX.synchronize { spec.activate }
     spec.bin_file exec_name
   end
 
@@ -596,6 +593,7 @@ An Array (#{env.inspect}) was passed in https://github.com/ruby/ruby/blob/trunk/lib/rubygems.rb#L593
   # Zlib::GzipReader wrapper that unzips +data+.
 
   def self.gunzip(data)
+    require 'rubygems/util'
     Gem::Util.gunzip data
   end
 
@@ -603,6 +601,7 @@ An Array (#{env.inspect}) was passed in https://github.com/ruby/ruby/blob/trunk/lib/rubygems.rb#L601
   # Zlib::GzipWriter wrapper that zips +data+.
 
   def self.gzip(data)
+    require 'rubygems/util'
     Gem::Util.gzip data
   end
 
@@ -610,6 +609,7 @@ An Array (#{env.inspect}) was passed in https://github.com/ruby/ruby/blob/trunk/lib/rubygems.rb#L609
   # A Zlib::Inflate#inflate wrapper
 
   def self.inflate(data)
+    require 'rubygems/util'
     Gem::Util.inflate data
   end
 
@@ -1147,6 +1147,8 @@ An Array (#{env.inspect}) was passed in https://github.com/ruby/ruby/blob/trunk/lib/rubygems.rb#L1147
     path = path.dup
 
     if path == "-" then
+      require 'rubygems/util'
+
       Gem::Util.traverse_parents Dir.pwd do |directory|
         dep_file = GEM_DEP_FILES.find { |f| File.file?(f) }
 
@@ -1165,24 +1167,18 @@ An Array (#{env.inspect}) was passed in https://github.com/ruby/ruby/blob/trunk/lib/rubygems.rb#L1167
       raise ArgumentError, "Unable to find gem dependencies file at #{path}"
     end
 
-    ENV["BUNDLE_GEMFILE"] ||= File.expand_path(path)
-    require 'rubygems/user_interaction'
-    Gem::DefaultUserInteraction.use_ui(ui) do
-      require "bundler/postit_trampoline" unless ENV["BUNDLE_DISABLE_POSTIT"]
-      require "bundler"
-      @gemdeps = Bundler.setup
-      Bundler.ui = nil
-      @gemdeps.requested_specs.map(&:to_spec).sort_by(&:name)
-    end
-  rescue => e
-    case e
-    when Gem::LoadError, Gem::UnsatisfiableDependencyError, (defined?(Bundler::GemNotFound) ? Bundler::GemNotFound : Gem::LoadError)
-      warn e.message
-      warn "You may need to `gem install -g` to install missing gems"
-      warn ""
-    else
-      raise
-    end
+    rs = Gem::RequestSet.new
+    @gemdeps = rs.load_gemdeps path
+
+    rs.resolve_current.map do |s|
+      sp = s.full_spec
+      sp.activate
+      sp
+    end
+  rescue Gem::LoadError, Gem::UnsatisfiableDependencyError => e
+    warn e.message
+    warn "You may need to `gem install -g` to install missing gems"
+    warn ""
   end
 
   class << self
@@ -1228,8 +1224,6 @@ An Array (#{env.inspect}) was passed in https://github.com/ruby/ruby/blob/trunk/lib/rubygems.rb#L1224
         prefix_pattern = /^(#{prefix_group})/
       end
 
-      suffix_pattern = /#{Regexp.union(Gem.suffixes)}\z/
-
       spec.files.each do |file|
         if new_format
           file = file.sub(prefix_pattern, "")
@@ -1237,7 +1231,6 @@ An Array (#{env.inspect}) was passed in https://github.com/ruby/ruby/blob/tr (... truncated)

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]