ruby-changes:54496
From: hsbt <ko1@a...>
Date: Fri, 4 Jan 2019 22:11:08 +0900 (JST)
Subject: [ruby-changes:54496] hsbt:r66710 (trunk): Merge Bundler 2.0.1 from upstream.
hsbt 2019-01-04 22:10:58 +0900 (Fri, 04 Jan 2019) New Revision: 66710 https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=66710 Log: Merge Bundler 2.0.1 from upstream. Modified files: trunk/lib/bundler/build_metadata.rb trunk/lib/bundler/capistrano.rb trunk/lib/bundler/cli/console.rb trunk/lib/bundler/cli/install.rb trunk/lib/bundler/cli/update.rb trunk/lib/bundler/cli.rb trunk/lib/bundler/current_ruby.rb trunk/lib/bundler/definition.rb trunk/lib/bundler/deployment.rb trunk/lib/bundler/dsl.rb trunk/lib/bundler/feature_flag.rb trunk/lib/bundler/rubygems_integration.rb trunk/lib/bundler/settings.rb trunk/lib/bundler/shared_helpers.rb trunk/lib/bundler/source/metadata.rb trunk/lib/bundler/spec_set.rb trunk/lib/bundler/templates/newgem/Gemfile.tt trunk/lib/bundler/version.rb trunk/lib/bundler/vlad.rb trunk/lib/bundler.gemspec trunk/lib/bundler.rb trunk/libexec/bundle_ruby trunk/man/bundle-add.1.txt trunk/man/bundle-check.1.txt trunk/man/bundle-config.1 trunk/man/bundle-config.1.txt trunk/man/bundle-exec.1.txt trunk/man/bundle-gem.1.txt trunk/man/bundle-install.1 trunk/man/bundle-install.1.txt trunk/man/bundle-lock.1.txt trunk/man/bundle-outdated.1.txt trunk/man/bundle-package.1.txt trunk/man/bundle-pristine.1.txt trunk/man/bundle-remove.1.txt trunk/man/bundle-update.1 trunk/man/bundle-update.1.txt trunk/man/bundle.1 trunk/man/bundle.1.txt trunk/man/bundle.ronn trunk/man/gemfile.5 trunk/man/gemfile.5.ronn trunk/man/gemfile.5.txt trunk/spec/bundler/bundler/cli_spec.rb trunk/spec/bundler/bundler/definition_spec.rb trunk/spec/bundler/bundler/dsl_spec.rb trunk/spec/bundler/bundler/source_list_spec.rb trunk/spec/bundler/cache/path_spec.rb trunk/spec/bundler/commands/binstubs_spec.rb trunk/spec/bundler/commands/check_spec.rb trunk/spec/bundler/commands/clean_spec.rb trunk/spec/bundler/commands/console_spec.rb trunk/spec/bundler/commands/exec_spec.rb trunk/spec/bundler/commands/init_spec.rb trunk/spec/bundler/commands/inject_spec.rb trunk/spec/bundler/commands/install_spec.rb trunk/spec/bundler/commands/list_spec.rb trunk/spec/bundler/commands/outdated_spec.rb trunk/spec/bundler/commands/package_spec.rb trunk/spec/bundler/commands/pristine_spec.rb trunk/spec/bundler/commands/show_spec.rb trunk/spec/bundler/commands/update_spec.rb trunk/spec/bundler/commands/version_spec.rb trunk/spec/bundler/commands/viz_spec.rb trunk/spec/bundler/install/binstubs_spec.rb trunk/spec/bundler/install/deploy_spec.rb trunk/spec/bundler/install/gemfile/gemspec_spec.rb trunk/spec/bundler/install/gemfile/git_spec.rb trunk/spec/bundler/install/gemfile/groups_spec.rb trunk/spec/bundler/install/gemfile/path_spec.rb trunk/spec/bundler/install/gemfile/platform_spec.rb trunk/spec/bundler/install/gemfile/sources_spec.rb trunk/spec/bundler/install/gems/compact_index_spec.rb trunk/spec/bundler/install/gems/dependency_api_spec.rb trunk/spec/bundler/install/gems/flex_spec.rb trunk/spec/bundler/install/gems/standalone_spec.rb trunk/spec/bundler/install/git_spec.rb trunk/spec/bundler/install/path_spec.rb trunk/spec/bundler/install/post_bundle_message_spec.rb trunk/spec/bundler/install/redownload_spec.rb trunk/spec/bundler/lock/lockfile_bundler_1_spec.rb trunk/spec/bundler/lock/lockfile_spec.rb trunk/spec/bundler/other/bundle_ruby_spec.rb trunk/spec/bundler/other/major_deprecation_spec.rb trunk/spec/bundler/other/platform_spec.rb trunk/spec/bundler/plugins/source/example_spec.rb trunk/spec/bundler/quality_spec.rb trunk/spec/bundler/realworld/edgecases_spec.rb trunk/spec/bundler/runtime/executable_spec.rb trunk/spec/bundler/runtime/setup_spec.rb trunk/spec/bundler/runtime/with_clean_env_spec.rb trunk/spec/bundler/spec_helper.rb trunk/spec/bundler/support/helpers.rb trunk/spec/bundler/support/path.rb trunk/spec/bundler/support/platforms.rb trunk/spec/bundler/update/git_spec.rb trunk/spec/bundler/update/redownload_spec.rb Index: spec/bundler/commands/check_spec.rb =================================================================== --- spec/bundler/commands/check_spec.rb (revision 66709) +++ spec/bundler/commands/check_spec.rb (revision 66710) @@ -92,7 +92,7 @@ RSpec.describe "bundle check" do https://github.com/ruby/ruby/blob/trunk/spec/bundler/commands/check_spec.rb#L92 expect(out).to include("Bundler can't satisfy your Gemfile's dependencies.") end - it "remembers --without option from install", :bundler => "< 2" do + it "remembers --without option from install", :bundler => "< 3" do gemfile <<-G source "file://#{gem_repo1}" group :foo do @@ -238,7 +238,7 @@ RSpec.describe "bundle check" do https://github.com/ruby/ruby/blob/trunk/spec/bundler/commands/check_spec.rb#L238 expect(last_command).to be_failure end - context "--path", :bundler => "< 2" do + context "--path", :bundler => "< 3" do before do gemfile <<-G source "file://#{gem_repo1}" @@ -254,7 +254,7 @@ RSpec.describe "bundle check" do https://github.com/ruby/ruby/blob/trunk/spec/bundler/commands/check_spec.rb#L254 expect(out).to include("The Gemfile's dependencies are satisfied") end - it "should write to .bundle/config", :bundler => "< 2" do + it "should write to .bundle/config", :bundler => "< 3" do bundle "check --path vendor/bundle" bundle! "check" end Index: spec/bundler/commands/update_spec.rb =================================================================== --- spec/bundler/commands/update_spec.rb (revision 66709) +++ spec/bundler/commands/update_spec.rb (revision 66710) @@ -11,7 +11,7 @@ RSpec.describe "bundle update" do https://github.com/ruby/ruby/blob/trunk/spec/bundler/commands/update_spec.rb#L11 G end - describe "with no arguments", :bundler => "< 2" do + describe "with no arguments", :bundler => "< 3" do it "updates the entire bundle" do update_repo2 do build_gem "activesupport", "3.0" @@ -34,7 +34,7 @@ RSpec.describe "bundle update" do https://github.com/ruby/ruby/blob/trunk/spec/bundler/commands/update_spec.rb#L34 end end - describe "with --all", :bundler => "2" do + describe "with --all", :bundler => "3" do it "updates the entire bundle" do update_repo2 do build_gem "activesupport", "3.0" @@ -279,7 +279,7 @@ RSpec.describe "bundle update" do https://github.com/ruby/ruby/blob/trunk/spec/bundler/commands/update_spec.rb#L279 end describe "in a frozen bundle" do - it "should fail loudly", :bundler => "< 2" do + it "should fail loudly", :bundler => "< 3" do bundle! "install --deployment" bundle "update", :all => bundle_update_requires_all? @@ -288,14 +288,14 @@ RSpec.describe "bundle update" do https://github.com/ruby/ruby/blob/trunk/spec/bundler/commands/update_spec.rb#L288 expect(out).to match(/freeze \nby running `bundle install --no-deployment`./m) end - it "should suggest different command when frozen is set globally", :bundler => "< 2" do + it "should suggest different command when frozen is set globally", :bundler => "< 3" do bundle! "config --global frozen 1" bundle "update", :all => bundle_update_requires_all? expect(out).to match(/You are trying to install in deployment mode after changing.your Gemfile/m). and match(/freeze \nby running `bundle config --delete frozen`./m) end - it "should suggest different command when frozen is set globally", :bundler => "2" do + it "should suggest different command when frozen is set globally", :bundler => "3" do bundle! "config --global deployment true" bundle "update", :all => bundle_update_requires_all? expect(out).to match(/You are trying to install in deployment mode after changing.your Gemfile/m). @@ -304,7 +304,7 @@ RSpec.describe "bundle update" do https://github.com/ruby/ruby/blob/trunk/spec/bundler/commands/update_spec.rb#L304 end describe "with --source option" do - it "should not update gems not included in the source that happen to have the same name", :bundler => "< 2" do + it "should not update gems not included in the source that happen to have the same name", :bundler => "< 3" do install_gemfile! <<-G source "file://#{gem_repo2}" gem "activesupport" @@ -315,7 +315,7 @@ RSpec.describe "bundle update" do https://github.com/ruby/ruby/blob/trunk/spec/bundler/commands/update_spec.rb#L315 expect(the_bundle).to include_gem "activesupport 3.0" end - it "should not update gems not included in the source that happen to have the same name", :bundler => "2" do + it "should not update gems not included in the source that happen to have the same name", :bundler => "3" do install_gemfile! <<-G source "file://#{gem_repo2}" gem "activesupport" @@ -358,7 +358,7 @@ RSpec.describe "bundle update" do https://github.com/ruby/ruby/blob/trunk/spec/bundler/commands/update_spec.rb#L358 G end - it "should not update the child dependencies of a gem that has the same name as the source", :bundler => "< 2" do + it "should not update the child dependencies of a gem that has the same name as the source", :bundler => "< 3" do update_repo2 do build_gem "fred", "2.0" build_gem "harry", "2.0" do |s| @@ -371,7 +371,7 @@ RSpec.describe "bundle update" do https://github.com/ruby/ruby/blob/trunk/spec/bundler/commands/update_spec.rb#L371 expect(the_bundle).to include_gems "fred 1.0" end - it "should not update the child dependencies of a gem that has the same name as the source", :bundler => "2" do + it "should not update the child dependencies of a gem that has the same name as the source", :bundler => "3" do update_repo2 do build_gem "fred", "2.0" build_gem "harry", "2.0" do |s| @@ -403,7 +403,7 @@ RSpec.describe "bundle update" do https://github.com/ruby/ruby/blob/trunk/spec/bundler/commands/update_spec.rb#L403 G end - it "should not update the child dependencies of a gem that has the same name as the source", :bundler => "< 2" do + it "should not update the child dependencies of a gem that has the same name as the source", :bundler => "< 3" do update_repo2 do build_gem "george", "2.0" build_gem "harry", "2.0" do |s| @@ -417,7 +417,7 @@ RSpec.describe "bundle update" do https://github.com/ruby/ruby/blob/trunk/spec/bundler/commands/update_spec.rb#L417 expect(the_bundle).to include_gems "george 1.0" end - it "should not update the child dependencies of a gem that has the same name as the source", :bundler => "2" do + it "should not update the child dependencies of a gem that has the same name as the source", :bundler => "3" do update_repo2 do build_gem "george", "2.0" build_gem "harry", "2.0" do |s| @@ -561,14 +561,14 @@ RSpec.describe "bundle update when a gem https://github.com/ruby/ruby/blob/trunk/spec/bundler/commands/update_spec.rb#L561 G end - it "should explain that bundler conflicted", :bundler => "< 2" do + it "should explain that bundler conflicted", :bundler => "< 3" do bundle "update", :all => bundle_update_requires_all? expect(last_command.stdboth).not_to match(/in snapshot/i) expect(last_command.bundler_err).to match(/current Bundler version/i). and match(/perhaps you need to update bundler/i) end - it "should warn that the newer version of Bundler would conflict", :bundler => "2" do + it "should warn that the newer version of Bundler would conflict", :bundler => "3" do bundle! "update", :all => true expect(last_command.bundler_err).to include("rails (3.0.1) has dependency bundler"). and include("so the dependency is being ignored") @@ -577,7 +577,7 @@ RSpec.describe "bundle update when a gem https://github.com/ruby/ruby/blob/trunk/spec/bundler/commands/update_spec.rb#L577 end RSpec.describe "bundle update" do - it "shows the previous version of the gem when updated from rubygems source", :bundler => "< 2" do + it "shows the previous version of the gem when updated from rubygems source", :bundler => "< 3" do build_repo2 install_gemfile <<-G Index: spec/bundler/support/platforms.rb =================================================================== --- spec/bundler/support/platforms.rb (revision 66709) +++ spec/bundler/support/platforms.rb (revision 66710) @@ -106,7 +106,7 @@ module Spec https://github.com/ruby/ruby/blob/trunk/spec/bundler/support/platforms.rb#L106 end def local_platforms - if Bundler::VERSION.split(".").first.to_i > 1 + if Bundler::VERSION.split(".").first.to_i > 2 [local, specific_local_platform] else [local] Index: spec/bundler/commands/console_spec.rb =================================================================== --- spec/bundler/commands/console_spec.rb (revision 66709) +++ spec/bundler/commands/console_spec.rb (revision 66710) @@ -1,6 +1,6 @@ https://github.com/ruby/ruby/blob/trunk/spec/bundler/commands/console_spec.rb#L1 # frozen_string_literal: true -RSpec.describe "bundle console", :bundler => "< 2" do +RSpec.describe "bundle console", :bundler => "< 3" do before :each do install_gemfile <<-G source "file://#{gem_repo1}" Index: spec/bundler/commands/install_spec.rb =================================================================== --- spec/bundler/commands/install_spec.rb (revision 66709) +++ spec/bundler/commands/install_spec.rb (revision 66710) @@ -29,7 +29,7 @@ RSpec.describe "bundle install with gem https://github.com/ruby/ruby/blob/trunk/spec/bundler/commands/install_spec.rb#L29 expect(bundled_app("Gemfile.lock")).to exist end - it "does not create ./.bundle by default", :bundler => "< 2" do + it "does not create ./.bundle by default", :bundler => "< 3" do gemfile <<-G source "file://#{gem_repo1}" gem "rack" @@ -275,14 +275,14 @@ RSpec.describe "bundle install with gem https://github.com/ruby/ruby/blob/trunk/spec/bundler/commands/install_spec.rb#L275 expect(the_bundle).to include_gems "rack 1.0" end - it "allows running bundle install --system without deleting foo", :bundler => "< 2" do + it "allows running bundle install --system without deleting foo", :bundler => "< 3" do bundle "install", forgotten_command_line_options(:path => "vendor") bundle "install", forgotten_command_line_options(:system => true) FileUtils.rm_rf(bundled_app("vendor")) expect(the_bundle).to include_gems "rack 1.0" end - it "allows running bundle install --system after deleting foo", :bundler => "< 2" do + it "allows running bundle install --system after deleting foo", :bundler => "< 3" do bundle "install", forgotten_command_line_options(:path => "vendor") FileUtils.rm_rf(bundled_app("vendor")) bundle "install", forgotten_command_line_options(:system => true) @@ -290,7 +290,7 @@ RSpec.describe "bundle install with gem https://github.com/ruby/ruby/blob/trunk/spec/bundler/commands/install_spec.rb#L290 end end - it "finds gems in multiple sources", :bundler => "< 2" do + it "finds gems in multiple sources", :bundler => "< 3" do build_repo2 update_repo2 Index: spec/bundler/commands/outdated_spec.rb =================================================================== --- spec/bundler/commands/outdated_spec.rb (revision 66709) +++ spec/bundler/commands/outdated_spec.rb (revision 66710) @@ -407,7 +407,7 @@ RSpec.describe "bundle outdated" do https://github.com/ruby/ruby/blob/trunk/spec/bundler/commands/outdated_spec.rb#L407 expect(out).to include("Installing foo 1.0") end - context "after bundle install --deployment", :bundler => "< 2" do + context "after bundle install --deployment", :bundler => "< 3" do before do install_gemfile <<-G, forgotten_command_line_options(:deployment => true) source "file://#{gem_repo2}" Index: spec/bundler/commands/inject_spec.rb =================================================================== --- spec/bundler/commands/inject_spec.rb (revision 66709) +++ spec/bundler/commands/inject_spec.rb (revision 66710) @@ -1,6 +1,6 @@ https://github.com/ruby/ruby/blob/trunk/spec/bundler/commands/inject_spec.rb#L1 # frozen_string_literal: true -RSpec.describe "bundle inject", :bundler => "< 2" do +RSpec.describe "bundle inject", :bundler => "< 3" do before :each do gemfile <<-G source "file://#{gem_repo1}" @@ -79,7 +79,7 @@ Usage: "bundle inject GEM VERSION" https://github.com/ruby/ruby/blob/trunk/spec/bundler/commands/inject_spec.rb#L79 context "when frozen" do before do bundle "install" - if Bundler.feature_flag.bundler_2_mode? + if Bundler.feature_flag.bundler_3_mode? bundle! "config --local deployment true" else bundle! "config --local frozen true" Index: spec/bundler/commands/clean_spec.rb =================================================================== --- spec/bundler/commands/clean_spec.rb (revision 66709) +++ spec/bundler/commands/clean_spec.rb (revision 66710) @@ -142,7 +142,7 @@ RSpec.describe "bundle clean" do https://github.com/ruby/ruby/blob/trunk/spec/bundler/commands/clean_spec.rb#L142 bundle :clean digest = Digest(:SHA1).hexdigest(git_path.to_s) - cache_path = Bundler::VERSION.start_with?("1.") ? vendored_gems("cache/bundler/git/foo-1.0-#{digest}") : home(".bundle/cache/git/foo-1.0-#{digest}") + cache_path = Bundler.bundler_major_version < 3 ? vendored_gems("cache/bundler/git/foo-1.0-#{digest}") : home(".bundle/cache/git/foo-1.0-#{digest}") expect(cache_path).to exist end @@ -343,7 +343,7 @@ RSpec.describe "bundle clean" do https://github.com/ruby/ruby/blob/trunk/spec/bundler/commands/clean_spec.rb#L343 expect(out).to include("rack (1.0.0)").and include("thin (1.0)") end - it "--clean should override the bundle setting on install", :bundler => "< 2" do + it "--clean should override the bundle setting on install", :bundler => "< 3" do gemfile <<-G source "file://#{gem_repo1}" @@ -363,7 +363,7 @@ RSpec.describe "bundle clean" do https://github.com/ruby/ruby/blob/trunk/spec/bundler/commands/clean_spec.rb#L363 should_not_have_gems "thin-1.0" end - it "--clean should override the bundle setting on update", :bundler => "< 2" do + it "--clean should override the bundle setting on update", :bundler => "< 3" do build_repo2 gemfile <<-G @@ -383,7 +383,7 @@ RSpec.describe "bundle clean" do https://github.com/ruby/ruby/blob/trunk/spec/bundler/commands/clean_spec.rb#L383 should_not_have_gems "foo-1.0" end - it "automatically cleans when path has not been set", :bundler => "2" do + it "automatically cleans when path has not been set", :bundler => "3" do build_repo2 install_gemfile! <<-G Index: spec/bundler/commands/version_spec.rb =================================================================== --- spec/bundler/commands/version_spec.rb (revision 66709) +++ spec/bundler/commands/version_spec.rb (revision 66710) @@ -2,36 +2,36 @@ https://github.com/ruby/ruby/blob/trunk/spec/bundler/commands/version_spec.rb#L2 RSpec.describe "bundle version" do context "with -v" do - it "outputs the version", :bundler => "< 2" do + it "outputs the version", :bundler => "< 3" do bundle! "-v" expect(out).to eq("Bundler version #{Bundler::VERSION}") end - it "outputs the version", :bundler => "2" do + it "outputs the version", :bundler => "3" do bundle! "-v" expect(out).to eq(Bundler::VERSION) end end context "with --version" do - it "outputs the version", :bundler => "< 2" do + it "outputs the version", :bundler => "< 3" do bundle! "--version" expect(out).to eq("Bundler version #{Bundler::VERSION}") end - it "outputs the version", :bundler => "2" do + it "outputs the version", :bundler => "3" do bundle! "--version" expect(out).to eq(Bundler::VERSION) end end context "with version" do - it "outputs the version with build metadata", :bundler => "< 2" do + it "outputs the version with build metadata", :bundler => "< 3" do bundle! "version" expect(out).to match(/\ABundler version #{Regexp.escape(Bundler::VERSION)} \(\d{4}-\d{2}-\d{2} commit [a-fA-F0-9]{7,}\)\z/) end - it "outputs the version with build metadata", :bundler => "2" do + it "outputs the version with build metadata", :bundler => "3" do bundle! "version" expect(out).to match(/\A#{Regexp.escape(Bundler::VERSION)} \(\d{4}-\d{2}-\d{2} commit [a-fA-F0-9]{7,}\)\z/) end Index: spec/bundler/install/post_bundle_message_spec.rb =================================================================== --- spec/bundler/install/post_bundle_message_spec.rb (revision 66709) +++ spec/bundler/install/post_bundle_message_spec.rb (revision 66710) @@ -19,7 +19,7 @@ RSpec.describe "post bundle message" do https://github.com/ruby/ruby/blob/trunk/spec/bundler/install/post_bundle_message_spec.rb#L19 let(:bundle_complete_message) { "Bundle complete!" } let(:bundle_updated_message) { "Bundle updated!" } let(:installed_gems_stats) { "4 Gemfile dependencies, 5 gems now installed." } - let(:bundle_show_message) { Bundler::VERSION.split(".").first.to_i < 2 ? bundle_show_system_message : bundle_show_path_message } + let(:bundle_show_message) { Bundler::VERSION.split(".").first.to_i < 3 ? bundle_show_system_message : bundle_show_path_message } describe "for fresh bundle install" do it "without any options" do @@ -101,7 +101,7 @@ RSpec.describe "post bundle message" do https://github.com/ruby/ruby/blob/trunk/spec/bundler/install/post_bundle_message_spec.rb#L101 end describe "with misspelled or non-existent gem name" do - it "should report a helpful error message", :bundler => "< 2" do + it "should report a helpful error message", :bundler => "< 3" do install_gemfile <<-G source "file://localhost#{gem_repo1}" gem "rack" @@ -110,7 +110,7 @@ RSpec.describe "post bundle message" do https://github.com/ruby/ruby/blob/trunk/spec/bundler/install/post_bundle_message_spec.rb#L110 expect(out).to include("Could not find gem 'not-a-gem' in any of the gem sources listed in your Gemfile.") end - it "should report a helpful error message", :bundler => "2" do + it "should report a helpful error message", :bundler => "3" do install_gemfile <<-G source "file://localhost#{gem_repo1}" gem "rack" Index: spec/bundler/install/git_spec.rb =================================================================== --- spec/bundler/install/git_spec.rb (revision 66709) +++ spec/bundler/install/git_spec.rb (revision 66710) @@ -2,7 +2,7 @@ https://github.com/ruby/ruby/blob/trunk/spec/bundler/install/git_spec.rb#L2 RSpec.describe "bundle install" do context "git sources" do - it "displays the revision hash of the gem repository", :bundler => "< 2" do + it "displays the revision hash of the gem repository", :bundler => "< 3" do build_git "foo", "1.0", :path => lib_path("foo") install_gemfile <<-G @@ -14,7 +14,7 @@ RSpec.describe "bundle install" do https://github.com/ruby/ruby/blob/trunk/spec/bundler/install/git_spec.rb#L14 expect(the_bundle).to include_gems "foo 1.0", :source => "git@#{lib_path("foo")}" end - it "displays the ref of the gem repository when using branch~num as a ref", :bundler => "< 2" do + it "displays the ref of the gem repository when using branch~num as a ref", :bundler => "< 3" do build_git "foo", "1.0", :path => lib_path("foo") rev = revision_for(lib_path("f (... truncated) -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/