mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
[rubygems/rubygems] Trigger install command by default on remove
Closes https://github.com/rubygems/rubygems/issues/4889
2b1754479c
This commit is contained in:
parent
fd918d1afa
commit
b45fe48fbb
5 changed files with 28 additions and 3 deletions
|
@ -184,6 +184,7 @@ module Bundler
|
||||||
method_option "install", :type => :boolean, :banner =>
|
method_option "install", :type => :boolean, :banner =>
|
||||||
"Runs 'bundle install' after removing the gems from the Gemfile"
|
"Runs 'bundle install' after removing the gems from the Gemfile"
|
||||||
def remove(*gems)
|
def remove(*gems)
|
||||||
|
SharedHelpers.major_deprecation(2, "The `--install` flag has been deprecated. `bundle install` is triggered by default.") if ARGV.include?("--install")
|
||||||
require_relative "cli/remove"
|
require_relative "cli/remove"
|
||||||
Remove.new(gems, options).run
|
Remove.new(gems, options).run
|
||||||
end
|
end
|
||||||
|
|
|
@ -11,8 +11,7 @@ module Bundler
|
||||||
raise InvalidOption, "Please specify gems to remove." if @gems.empty?
|
raise InvalidOption, "Please specify gems to remove." if @gems.empty?
|
||||||
|
|
||||||
Injector.remove(@gems, {})
|
Injector.remove(@gems, {})
|
||||||
|
Installer.install(Bundler.root, Bundler.definition)
|
||||||
Installer.install(Bundler.root, Bundler.definition) if @options["install"]
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -13,7 +13,7 @@ RSpec.describe "bundle remove" do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context "when --install flag is specified" do
|
context "when --install flag is specified", :bundler => "< 3" do
|
||||||
it "removes gems from .bundle" do
|
it "removes gems from .bundle" do
|
||||||
gemfile <<-G
|
gemfile <<-G
|
||||||
source "#{file_uri_for(gem_repo1)}"
|
source "#{file_uri_for(gem_repo1)}"
|
||||||
|
@ -40,6 +40,7 @@ RSpec.describe "bundle remove" do
|
||||||
bundle "remove rack"
|
bundle "remove rack"
|
||||||
|
|
||||||
expect(out).to include("rack was removed.")
|
expect(out).to include("rack was removed.")
|
||||||
|
expect(the_bundle).to_not include_gems "rack"
|
||||||
gemfile_should_be <<-G
|
gemfile_should_be <<-G
|
||||||
source "#{file_uri_for(gem_repo1)}"
|
source "#{file_uri_for(gem_repo1)}"
|
||||||
G
|
G
|
||||||
|
|
|
@ -624,6 +624,25 @@ The :gist git source is deprecated, and will be removed in the future. Add this
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context "bundle remove" do
|
||||||
|
before do
|
||||||
|
gemfile <<-G
|
||||||
|
source "#{file_uri_for(gem_repo1)}"
|
||||||
|
gem "rack"
|
||||||
|
G
|
||||||
|
end
|
||||||
|
|
||||||
|
context "with --install" do
|
||||||
|
it "shows a deprecation warning", :bundler => "< 3" do
|
||||||
|
bundle "remove rack --install"
|
||||||
|
|
||||||
|
expect(err).to include "[DEPRECATED] The `--install` flag has been deprecated. `bundle install` is triggered by default."
|
||||||
|
end
|
||||||
|
|
||||||
|
pending "fails with a helpful message", :bundler => "3"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
context "bundle console" do
|
context "bundle console" do
|
||||||
before do
|
before do
|
||||||
bundle "console", :raise_on_error => false
|
bundle "console", :raise_on_error => false
|
||||||
|
|
|
@ -35,6 +35,11 @@ module Spec
|
||||||
build_repo gem_repo1 do
|
build_repo gem_repo1 do
|
||||||
FileUtils.cp rake_path, "#{gem_repo1}/gems/"
|
FileUtils.cp rake_path, "#{gem_repo1}/gems/"
|
||||||
|
|
||||||
|
build_gem "coffee-script-source"
|
||||||
|
build_gem "git"
|
||||||
|
build_gem "puma"
|
||||||
|
build_gem "minitest"
|
||||||
|
|
||||||
build_gem "rack", %w[0.9.1 1.0.0] do |s|
|
build_gem "rack", %w[0.9.1 1.0.0] do |s|
|
||||||
s.executables = "rackup"
|
s.executables = "rackup"
|
||||||
s.post_install_message = "Rack's post install message"
|
s.post_install_message = "Rack's post install message"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue