diff options
author | Andre Arko <andre@arko.net> | 2014-08-14 19:26:41 -0700 |
---|---|---|
committer | Andre Arko <andre@arko.net> | 2014-08-14 21:48:30 -0700 |
commit | 4623850a06d4e4e74beca832aca7009a657569ed (patch) | |
tree | 57b2d0efa711ba7e7fa3954065b60e1c7f2216fb /lib/bundler | |
parent | 9984a3cbb3fa0f5583904db11147718f6390927e (diff) | |
download | bundler-4623850a06d4e4e74beca832aca7009a657569ed.tar.gz |
set dependency names before any specs are fetched
refs #3134
Diffstat (limited to 'lib/bundler')
-rw-r--r-- | lib/bundler/definition.rb | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/lib/bundler/definition.rb b/lib/bundler/definition.rb index ed522748..4aab3018 100644 --- a/lib/bundler/definition.rb +++ b/lib/bundler/definition.rb @@ -46,7 +46,9 @@ module Bundler def initialize(lockfile, dependencies, sources, unlock, ruby_version = nil) @unlocking = unlock == true || !unlock.empty? - @dependencies, @sources, @unlock = dependencies, sources, unlock + @dependencies = dependencies || [] + @sources = sources + @unlock = unlock @remote = false @specs = nil @lockfile_contents = "" @@ -90,6 +92,11 @@ module Bundler @dependency_changes = converge_dependencies @local_changes = converge_locals + @dependency_names = @dependencies.map{|d| d.name }.uniq + sources.all_sources.each do |s| + s.dependency_names = @dependency_names + end + fixup_dependency_types! end @@ -206,18 +213,9 @@ module Bundler def index @index ||= Index.build do |idx| - dependency_names = @dependencies.dup || [] - dependency_names.map! {|d| d.name } - sources.all_sources.each do |s| - if s.is_a?(Bundler::Source::Rubygems) - s.dependency_names = dependency_names.uniq - idx.add_source s.specs - else - source_index = s.specs - dependency_names += source_index.unmet_dependency_names - idx.add_source source_index - end + @dependency_names += s.specs.unmet_dependency_names + idx.add_source s.specs end end end |