diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-09-28 01:16:43 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-09-28 01:16:43 +0000 |
commit | b6139464f544ec511f741f5bbae2fb13adc51c21 (patch) | |
tree | 00e91ff57caed712ae08e8b657e8e0a52a030d7c /lib/rubygems.rb | |
parent | 69934aeb8d7948c4ca590b7092504c41d8bce6ac (diff) |
rubygems 2.6.7
* lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update
rubygems to 2.6.7, not the master, with r56225.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56278 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/rubygems.rb')
-rw-r--r-- | lib/rubygems.rb | 48 |
1 files changed, 22 insertions, 26 deletions
diff --git a/lib/rubygems.rb b/lib/rubygems.rb index 487d7de2ff..03facb6430 100644 --- a/lib/rubygems.rb +++ b/lib/rubygems.rb @@ -296,10 +296,7 @@ module Gem 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 from #{caller[3]} # 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 from #{caller[3]} # 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 from #{caller[3]} # 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 from #{caller[3]} 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 from #{caller[3]} 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 + 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 from #{caller[3]} 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 from #{caller[3]} end @path_to_default_spec_map[file] = spec - @path_to_default_spec_map[file.sub(suffix_pattern, "")] = spec end end @@ -1245,7 +1238,11 @@ An Array (#{env.inspect}) was passed in from #{caller[3]} # Find a Gem::Specification of default gem from +path+ def find_unresolved_default_spec(path) - @path_to_default_spec_map[path] + Gem.suffixes.each do |suffix| + spec = @path_to_default_spec_map["#{path}#{suffix}"] + return spec if spec + end + nil end ## @@ -1331,7 +1328,6 @@ An Array (#{env.inspect}) was passed in from #{caller[3]} autoload :SourceList, 'rubygems/source_list' autoload :SpecFetcher, 'rubygems/spec_fetcher' autoload :Specification, 'rubygems/specification' - autoload :Util, 'rubygems/util' autoload :Version, 'rubygems/version' require "rubygems/specification" |