summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Giddins <segiddins@segiddins.me>2017-06-15 17:37:43 -0500
committerSamuel Giddins <segiddins@segiddins.me>2017-06-23 19:40:12 -0500
commit14b8eb6a1d3203a42c345142590dac30e3716d9c (patch)
treefb8906902dcd71fb0c0c1c075dfbc90f9a9dc967
parentebd40b60d8a267c2f3ec1ca1c8ad3be5e307ce11 (diff)
downloadbundler-14b8eb6a1d3203a42c345142590dac30e3716d9c.tar.gz
Error if lockfile_uses_separate_rubygems_sources is set without disable_multisource
-rw-r--r--lib/bundler/source_list.rb5
-rw-r--r--spec/install/gemfile/sources_spec.rb10
-rw-r--r--spec/install/gems/flex_spec.rb4
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"