diff options
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 |