diff options
author | Samuel Giddins <segiddins@segiddins.me> | 2017-06-15 17:37:43 -0500 |
---|---|---|
committer | Samuel Giddins <segiddins@segiddins.me> | 2017-06-23 19:40:12 -0500 |
commit | 14b8eb6a1d3203a42c345142590dac30e3716d9c (patch) | |
tree | fb8906902dcd71fb0c0c1c075dfbc90f9a9dc967 | |
parent | ebd40b60d8a267c2f3ec1ca1c8ad3be5e307ce11 (diff) | |
download | bundler-14b8eb6a1d3203a42c345142590dac30e3716d9c.tar.gz |
Error if lockfile_uses_separate_rubygems_sources is set without disable_multisource
-rw-r--r-- | lib/bundler/source_list.rb | 5 | ||||
-rw-r--r-- | spec/install/gemfile/sources_spec.rb | 10 | ||||
-rw-r--r-- | spec/install/gems/flex_spec.rb | 4 |
3 files changed, 14 insertions, 5 deletions
diff --git a/lib/bundler/source_list.rb b/lib/bundler/source_list.rb index ed9a4cd0d7..c68eb51d59 100644 --- a/lib/bundler/source_list.rb +++ b/lib/bundler/source_list.rb @@ -47,7 +47,10 @@ module Bundler end def add_rubygems_remote(uri) - return if Bundler.feature_flag.lockfile_uses_separate_rubygems_sources? + if Bundler.feature_flag.lockfile_uses_separate_rubygems_sources? + return if Bundler.feature_flag.disable_multisource? + raise InvalidOption, "`lockfile_uses_separate_rubygems_sources` cannot be set without `disable_multisource` being set" + end @rubygems_aggregate.add_remote(uri) @rubygems_aggregate end diff --git a/spec/install/gemfile/sources_spec.rb b/spec/install/gemfile/sources_spec.rb index ee772023c6..285082438f 100644 --- a/spec/install/gemfile/sources_spec.rb +++ b/spec/install/gemfile/sources_spec.rb @@ -189,7 +189,10 @@ RSpec.describe "bundle install with gems on multiple sources" do end context "when lockfile_uses_separate_rubygems_sources is set" do - before { bundle! "config lockfile_uses_separate_rubygems_sources true" } + before do + bundle! "config lockfile_uses_separate_rubygems_sources true" + bundle! "config disable_multisource true" + end it "installs from the same source without any warning" do bundle! :install @@ -294,7 +297,10 @@ RSpec.describe "bundle install with gems on multiple sources" do context "when a top-level gem has an indirect dependency" do context "when lockfile_uses_separate_rubygems_sources is set" do - before { bundle! "config lockfile_uses_separate_rubygems_sources true" } + before do + bundle! "config lockfile_uses_separate_rubygems_sources true" + bundle! "config disable_multisource true" + end before do build_repo gem_repo2 do diff --git a/spec/install/gems/flex_spec.rb b/spec/install/gems/flex_spec.rb index b7cef0b53e..30e1019cfa 100644 --- a/spec/install/gems/flex_spec.rb +++ b/spec/install/gems/flex_spec.rb @@ -246,11 +246,11 @@ RSpec.describe "bundle flex_install" do describe "when adding a new source" do it "updates the lockfile" do build_repo2 - install_gemfile <<-G + install_gemfile! <<-G source "file://#{gem_repo1}" gem "rack" G - install_gemfile <<-G + install_gemfile! <<-G source "file://#{gem_repo1}" source "file://#{gem_repo2}" gem "rack" |