summaryrefslogtreecommitdiff
path: root/lib/rubygems/resolver
diff options
context:
space:
mode:
authordrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-01-07 01:19:28 +0000
committerdrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-01-07 01:19:28 +0000
commitd5e810dbd24cb92dc86d2d5b048f239315b15ba8 (patch)
tree0656ac1f6abe26dd1f1349f25ece23a534b1a0dc /lib/rubygems/resolver
parent738b8872ef871cbfd78730142049cd1fe94a95fa (diff)
* ChangeLog:
* lib/rubygems/basic_specification.rb (class Gem): * lib/rubygems/commands/contents_command.rb (prefix or only the files that are requir): * lib/rubygems/commands/install_command.rb (to write the specification by hand): * lib/rubygems/commands/setup_command.rb (class Gem): * lib/rubygems/commands/setup_command.rb (TEXT): * lib/rubygems/compatibility.rb (module Gem): * lib/rubygems/defaults.rb (module Gem): * lib/rubygems/deprecate.rb (module Gem): * lib/rubygems/installer.rb (class Gem): * lib/rubygems/platform.rb (class Gem): * lib/rubygems/rdoc.rb (class Gem): * lib/rubygems/request_set/lockfile.rb (class Gem): * lib/rubygems/resolver/installer_set.rb (class Gem): * lib/rubygems/resolver.rb (class Gem): * lib/rubygems/specification.rb (class Gem): * lib/rubygems/test_case.rb (class Gem): * lib/rubygems/test_case.rb (Also): * lib/rubygems/uninstaller.rb (class Gem): * lib/rubygems.rb (module Gem): * test/rubygems/test_gem.rb (class TestGem): * test/rubygems/test_gem_commands_contents_command.rb (lib): * test/rubygems/test_gem_commands_environment_command.rb (class TestGemCommandsEnvironmentCommand): * test/rubygems/test_gem_commands_install_command.rb (ERROR): * test/rubygems/test_gem_commands_update_command.rb (class TestGemCommandsUpdateCommand): * test/rubygems/test_gem_dependency_installer.rb (class TestGemDependencyInstaller): * test/rubygems/test_gem_installer.rb (load Gem): * test/rubygems/test_gem_installer.rb (gem): * test/rubygems/test_gem_request_set_lockfile.rb (GEM): * test/rubygems/test_gem_request_set_lockfile.rb (DEPENDENCIES): * test/rubygems/test_gem_specification.rb (dependencies): * test/rubygems/test_gem_specification.rb (duplicate dependency on b): * test/rubygems/test_gem_uninstaller.rb (class TestGemUninstaller): git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44515 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/rubygems/resolver')
-rw-r--r--lib/rubygems/resolver/installer_set.rb35
1 files changed, 2 insertions, 33 deletions
diff --git a/lib/rubygems/resolver/installer_set.rb b/lib/rubygems/resolver/installer_set.rb
index e35e0aabec..27e6455148 100644
--- a/lib/rubygems/resolver/installer_set.rb
+++ b/lib/rubygems/resolver/installer_set.rb
@@ -28,11 +28,10 @@ class Gem::Resolver::InstallerSet < Gem::Resolver::Set
@f = Gem::SpecFetcher.fetcher
- @all = Hash.new { |h,k| h[k] = [] }
@always_install = []
@ignore_dependencies = false
@ignore_installed = false
- @loaded_remote_specs = []
+ @remote_set = Gem::Resolver::BestSet.new if consider_remote?
@specs = {}
end
@@ -79,16 +78,7 @@ class Gem::Resolver::InstallerSet < Gem::Resolver::Set
end
end
- if consider_remote? then
- load_remote_specs dep
-
- @all[name].each do |remote_source, n|
- if dep.match? n then
- res << Gem::Resolver::IndexSpecification.new(
- self, n.name, n.version, remote_source, n.platform)
- end
- end
- end
+ res.concat @remote_set.find_all req if consider_remote?
res
end
@@ -102,27 +92,6 @@ class Gem::Resolver::InstallerSet < Gem::Resolver::Set
end
##
- # Loads remote prerelease specs if +dep+ is a prerelease dependency
-
- def load_remote_specs dep # :nodoc:
- types = [:released]
- types << :prerelease if dep.prerelease?
-
- types.each do |type|
- next if @loaded_remote_specs.include? type
- @loaded_remote_specs << type
-
- list, = @f.available_specs type
-
- list.each do |uri, specs|
- specs.each do |n|
- @all[n.name] << [uri, n]
- end
- end
- end
- end
-
- ##
# Called from IndexSpecification to get a true Specification
# object.