aboutsummaryrefslogtreecommitdiffstats
path: root/lib/bundler
diff options
context:
space:
mode:
authorAndre Arko <andre@arko.net>2014-08-14 19:26:41 -0700
committerAndre Arko <andre@arko.net>2014-08-14 21:48:30 -0700
commit4623850a06d4e4e74beca832aca7009a657569ed (patch)
tree57b2d0efa711ba7e7fa3954065b60e1c7f2216fb /lib/bundler
parent9984a3cbb3fa0f5583904db11147718f6390927e (diff)
downloadbundler-4623850a06d4e4e74beca832aca7009a657569ed.tar.gz
set dependency names before any specs are fetched
refs #3134
Diffstat (limited to 'lib/bundler')
-rw-r--r--lib/bundler/definition.rb22
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