diff options
Diffstat (limited to 'lib/bundler/source_list.rb')
-rw-r--r-- | lib/bundler/source_list.rb | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/lib/bundler/source_list.rb b/lib/bundler/source_list.rb index 44b167ca3e..51698af46e 100644 --- a/lib/bundler/source_list.rb +++ b/lib/bundler/source_list.rb @@ -9,7 +9,7 @@ module Bundler :metadata_source def global_rubygems_source - @global_rubygems_source ||= rubygems_aggregate_class.new + @global_rubygems_source ||= rubygems_aggregate_class.new("allow_local" => true) end def initialize @@ -20,6 +20,16 @@ module Bundler @global_path_source = nil @rubygems_sources = [] @metadata_source = Source::Metadata.new + + @disable_multisource = true + end + + def disable_multisource? + @disable_multisource + end + + def merged_gem_lockfile_sections! + @disable_multisource = false end def add_path_source(options = {}) @@ -47,7 +57,7 @@ module Bundler end def global_rubygems_source=(uri) - @global_rubygems_source ||= rubygems_aggregate_class.new("remotes" => uri) + @global_rubygems_source ||= rubygems_aggregate_class.new("remotes" => uri, "allow_local" => true) end def add_rubygems_remote(uri) @@ -77,7 +87,7 @@ module Bundler def lock_sources lock_sources = (path_sources + git_sources + plugin_sources).sort_by(&:to_s) - if Bundler.feature_flag.disable_multisource? + if disable_multisource? lock_sources + rubygems_sources.sort_by(&:to_s) else lock_sources << combine_rubygems_sources @@ -94,7 +104,7 @@ module Bundler end end - replacement_rubygems = !Bundler.feature_flag.disable_multisource? && + replacement_rubygems = !disable_multisource? && replacement_sources.detect {|s| s.is_a?(Source::Rubygems) } @global_rubygems_source = replacement_rubygems if replacement_rubygems |