From 228ad3d799dc04550647a2d1855d5a89c0f629cc Mon Sep 17 00:00:00 2001 From: drbrain Date: Wed, 18 Dec 2013 01:02:58 +0000 Subject: * lib/rubygems: Update to RubyGems master d8f12e2. This increases the speed of `gem install --ignore-dependencies` which helps bundler tests. * test/rubygems: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44270 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/rubygems/resolver.rb | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) (limited to 'lib/rubygems/resolver.rb') diff --git a/lib/rubygems/resolver.rb b/lib/rubygems/resolver.rb index ad9373cb86..d455e03c05 100644 --- a/lib/rubygems/resolver.rb +++ b/lib/rubygems/resolver.rb @@ -31,6 +31,11 @@ class Gem::Resolver attr_accessor :development + ## + # When true, no dependencies are looked up for requested gems. + + attr_accessor :ignore_dependencies + ## # List of dependencies that could not be found in the configured sources. @@ -91,11 +96,12 @@ class Gem::Resolver @set = set || Gem::Resolver::IndexSet.new @needed = needed - @conflicts = [] - @development = false - @missing = [] - @soft_missing = false - @stats = Gem::Resolver::Stats.new + @conflicts = [] + @development = false + @ignore_dependencies = false + @missing = [] + @soft_missing = false + @stats = Gem::Resolver::Stats.new end def explain stage, *data # :nodoc: @@ -132,6 +138,8 @@ class Gem::Resolver end def requests s, act, reqs=nil # :nodoc: + return reqs if @ignore_dependencies + s.dependencies.reverse_each do |d| next if d.type == :development and not @development reqs.add Gem::Resolver::DependencyRequest.new(d, act) @@ -151,7 +159,7 @@ class Gem::Resolver def resolve @conflicts = [] - needed = RequirementList.new + needed = Gem::Resolver::RequirementList.new @needed.reverse_each do |n| request = Gem::Resolver::DependencyRequest.new n, nil -- cgit v1.2.3