diff options
author | Stefan Lance <stefan@lances.net> | 2015-06-27 10:08:52 -0400 |
---|---|---|
committer | Samuel Giddins <segiddins@segiddins.me> | 2016-07-05 15:11:19 -0300 |
commit | 91c28aa1b62a9c71f07ef51152957fac099b9f63 (patch) | |
tree | 9157826695343d16bef0c94bd8505597cf43c28e | |
parent | 055f95b62dae20eaa34a4cf2a4919b1fbd0da4ed (diff) | |
download | bundler-91c28aa1b62a9c71f07ef51152957fac099b9f63.tar.gz |
Add deprecation warning & spec for not autoremembering flags
-rw-r--r-- | lib/bundler/cli.rb | 1 | ||||
-rw-r--r-- | lib/bundler/settings.rb | 7 | ||||
-rw-r--r-- | spec/deprecation_spec.rb | 23 |
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 |