mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* lib/rubygems: Update to RubyGems 2.1.3
Fixed installing platform gems Restored concurrent requires Fixed installing gems with extensions with --install-dir Fixed `gem fetch -v` to install the latest version Fixed installing gems with "./" in their files entries * test/rubygems/test_gem_package.rb: Tests for the above. * NEWS: Updated for RubyGems 2.1.3 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42927 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
e6a317bf6c
commit
fdb6a621b0
13 changed files with 211 additions and 74 deletions
|
@ -48,7 +48,12 @@ module Kernel
|
|||
# normal require handle loading a gem from the rescue below.
|
||||
|
||||
if Gem::Specification.unresolved_deps.empty? then
|
||||
return gem_original_require(path)
|
||||
begin
|
||||
RUBYGEMS_ACTIVATION_MONITOR.exit
|
||||
return gem_original_require(path)
|
||||
ensure
|
||||
RUBYGEMS_ACTIVATION_MONITOR.enter
|
||||
end
|
||||
end
|
||||
|
||||
# If +path+ is for a gem that has already been loaded, don't
|
||||
|
@ -61,7 +66,12 @@ module Kernel
|
|||
s.activated? and s.contains_requirable_file? path
|
||||
}
|
||||
|
||||
return gem_original_require(path) if spec
|
||||
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...
|
||||
|
||||
|
@ -109,11 +119,21 @@ module Kernel
|
|||
valid.activate
|
||||
end
|
||||
|
||||
gem_original_require path
|
||||
begin
|
||||
RUBYGEMS_ACTIVATION_MONITOR.exit
|
||||
return gem_original_require(path)
|
||||
ensure
|
||||
RUBYGEMS_ACTIVATION_MONITOR.enter
|
||||
end
|
||||
rescue LoadError => load_error
|
||||
if load_error.message.start_with?("Could not find") or
|
||||
(load_error.message.end_with?(path) and Gem.try_activate(path)) then
|
||||
return gem_original_require(path)
|
||||
begin
|
||||
RUBYGEMS_ACTIVATION_MONITOR.exit
|
||||
return gem_original_require(path)
|
||||
ensure
|
||||
RUBYGEMS_ACTIVATION_MONITOR.enter
|
||||
end
|
||||
end
|
||||
|
||||
raise load_error
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue