* lib/rubygems: Update to RubyGems 2.4.5.

* test/rubygems:  ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48729 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
drbrain 2014-12-07 00:53:01 +00:00
parent a0b80a4410
commit 97f80207d0
32 changed files with 458 additions and 103 deletions

View file

@ -109,6 +109,11 @@ extensions will be restored.
next
end
if spec.bundled_gem_in_old_ruby?
say "Skipped #{spec.full_name}, it is bundled with old Ruby"
next
end
unless spec.extensions.empty? or options[:extensions] then
say "Skipped #{spec.full_name}, it needs to compile an extension"
next
@ -120,8 +125,17 @@ extensions will be restored.
require 'rubygems/remote_fetcher'
say "Cached gem for #{spec.full_name} not found, attempting to fetch..."
dep = Gem::Dependency.new spec.name, spec.version
Gem::RemoteFetcher.fetcher.download_to_cache dep
found, _ = Gem::SpecFetcher.fetcher.spec_for_dependency dep
if found.empty?
say "Skipped #{spec.full_name}, it was not found from cache and remote sources"
next
end
spec_candidate, source = found.first
Gem::RemoteFetcher.fetcher.download spec_candidate, source.uri.to_s, spec.base_dir
end
env_shebang =

View file

@ -124,7 +124,7 @@ that is a dependency of an existing gem. You can use the
end
def uninstall_all
_, specs = Gem::Specification.partition { |spec| spec.default_gem? }
specs = Gem::Specification.reject { |spec| spec.default_gem? }
specs.each do |spec|
options[:version] = spec.version