1
0
Fork 0
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:
drbrain 2013-09-13 01:40:42 +00:00
parent e6a317bf6c
commit fdb6a621b0
13 changed files with 211 additions and 74 deletions

View file

@ -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