summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Lance <stefan@lances.net>2015-06-27 10:08:52 -0400
committerSamuel Giddins <segiddins@segiddins.me>2016-07-05 15:11:19 -0300
commit91c28aa1b62a9c71f07ef51152957fac099b9f63 (patch)
tree9157826695343d16bef0c94bd8505597cf43c28e
parent055f95b62dae20eaa34a4cf2a4919b1fbd0da4ed (diff)
downloadbundler-91c28aa1b62a9c71f07ef51152957fac099b9f63.tar.gz
Add deprecation warning & spec for not autoremembering flags
-rw-r--r--lib/bundler/cli.rb1
-rw-r--r--lib/bundler/settings.rb7
-rw-r--r--spec/deprecation_spec.rb23
3 files changed, 20 insertions, 11 deletions
diff --git a/lib/bundler/cli.rb b/lib/bundler/cli.rb
index 03029e0967..5c3e10177b 100644
--- a/lib/bundler/cli.rb
+++ b/lib/bundler/cli.rb
@@ -31,6 +31,7 @@ module Bundler
raise InvalidOption, e.message
ensure
self.options ||= {}
+ Bundler.settings[:given_flags] = !options.empty?
Bundler.ui = UI::Shell.new(options)
Bundler.ui.level = "debug" if options["verbose"]
diff --git a/lib/bundler/settings.rb b/lib/bundler/settings.rb
index 46333c8986..8507182a60 100644
--- a/lib/bundler/settings.rb
+++ b/lib/bundler/settings.rb
@@ -54,6 +54,13 @@ module Bundler
end
def []=(key, value)
+ if self[:given_flags]
+ Bundler::SharedHelpers.major_deprecation \
+ "Starting in Bundler 2.0, flags passed to commands "\
+ "will no longer be automatically remembered. Instead please set flags " \
+ "you want remembered between commands using `bundle config "\
+ "<setting name> <setting value>`, i.e. `bundle config #{key} #{value}`."
+ end
local_config_file || raise(GemfileNotFound, "Could not locate Gemfile")
set_key(key, value, @local_config, local_config_file)
end
diff --git a/spec/deprecation_spec.rb b/spec/deprecation_spec.rb
index d9bb5b6bb4..0b6cdde085 100644
--- a/spec/deprecation_spec.rb
+++ b/spec/deprecation_spec.rb
@@ -3,17 +3,6 @@ require "spec_helper"
describe "Bundler version 1.99" do
context "when bundle is run" do
- it "should print a single deprecation warning" do
- install_gemfile <<-G
- source "file://#{gem_repo1}"
- gem "rack"
- G
-
- expect(err).to eq("DEPRECATION: Gemfile and Gemfile.lock are " \
- "deprecated and will be replaced with gems.rb and gems.locked in " \
- "Bundler 2.0.")
- end
-
it "should not warn about gems.rb" do
create_file "gems.rb", <<-G
source "file://#{gem_repo1}"
@@ -23,6 +12,18 @@ describe "Bundler version 1.99" do
bundle :install
expect(err).to lack_errors
end
+
+ context "with flags" do
+ it "should print a deprecation warning about autoremembering flags" do
+ install_gemfile <<-G, :path => "vendor/bundle"
+ source "file://#{gem_repo1}"
+ gem "rack"
+ G
+
+ expect(err).to include("DEPRECATION")
+ expect(err).to include("flags passed to commands will no longer be automatically remembered.")
+ end
+ end
end
context "when Bundler.setup is run in a ruby script" do