mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* lib/rubygems: Update to RubyGems 2.4.1 master(713ab65)
Complete history at: https://github.com/rubygems/rubygems/blob/master/History.txt#L3-L216 * test/rubygems: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47582 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
e548c09d42
commit
4de117a615
153 changed files with 5400 additions and 981 deletions
|
@ -50,12 +50,8 @@ module Kernel
|
|||
# normal require handle loading a gem from the rescue below.
|
||||
|
||||
if Gem::Specification.unresolved_deps.empty? then
|
||||
begin
|
||||
RUBYGEMS_ACTIVATION_MONITOR.exit
|
||||
return gem_original_require(path)
|
||||
ensure
|
||||
RUBYGEMS_ACTIVATION_MONITOR.enter
|
||||
end
|
||||
RUBYGEMS_ACTIVATION_MONITOR.exit
|
||||
return gem_original_require(path)
|
||||
end
|
||||
|
||||
# If +path+ is for a gem that has already been loaded, don't
|
||||
|
@ -71,8 +67,6 @@ module Kernel
|
|||
begin
|
||||
RUBYGEMS_ACTIVATION_MONITOR.exit
|
||||
return gem_original_require(path)
|
||||
ensure
|
||||
RUBYGEMS_ACTIVATION_MONITOR.enter
|
||||
end if spec
|
||||
|
||||
# Attempt to find +path+ in any unresolved gems...
|
||||
|
@ -105,6 +99,7 @@ module Kernel
|
|||
names = found_specs.map(&:name).uniq
|
||||
|
||||
if names.size > 1 then
|
||||
RUBYGEMS_ACTIVATION_MONITOR.exit
|
||||
raise Gem::LoadError, "#{path} found in multiple gems: #{names.join ', '}"
|
||||
end
|
||||
|
||||
|
@ -115,32 +110,27 @@ module Kernel
|
|||
unless valid then
|
||||
le = Gem::LoadError.new "unable to find a version of '#{names.first}' to activate"
|
||||
le.name = names.first
|
||||
RUBYGEMS_ACTIVATION_MONITOR.exit
|
||||
raise le
|
||||
end
|
||||
|
||||
valid.activate
|
||||
end
|
||||
|
||||
begin
|
||||
RUBYGEMS_ACTIVATION_MONITOR.exit
|
||||
return gem_original_require(path)
|
||||
ensure
|
||||
RUBYGEMS_ACTIVATION_MONITOR.enter
|
||||
end
|
||||
RUBYGEMS_ACTIVATION_MONITOR.exit
|
||||
return gem_original_require(path)
|
||||
rescue LoadError => load_error
|
||||
RUBYGEMS_ACTIVATION_MONITOR.enter
|
||||
|
||||
if load_error.message.start_with?("Could not find") or
|
||||
(load_error.message.end_with?(path) and Gem.try_activate(path)) then
|
||||
begin
|
||||
RUBYGEMS_ACTIVATION_MONITOR.exit
|
||||
return gem_original_require(path)
|
||||
ensure
|
||||
RUBYGEMS_ACTIVATION_MONITOR.enter
|
||||
end
|
||||
RUBYGEMS_ACTIVATION_MONITOR.exit
|
||||
return gem_original_require(path)
|
||||
else
|
||||
RUBYGEMS_ACTIVATION_MONITOR.exit
|
||||
end
|
||||
|
||||
raise load_error
|
||||
ensure
|
||||
RUBYGEMS_ACTIVATION_MONITOR.exit
|
||||
end
|
||||
|
||||
private :require
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue