diff options
author | Samuel Giddins <segiddins@segiddins.me> | 2017-08-31 17:57:28 -0500 |
---|---|---|
committer | Samuel Giddins <segiddins@segiddins.me> | 2017-09-05 12:30:09 -0500 |
commit | 41049f78412e2371a40cd677e34a7113e4885d01 (patch) | |
tree | 394716034b5ad21aa94c450250ea066d7da4c91e | |
parent | f81b8ddaefa0528105c9e2dcb33e045b20588f42 (diff) | |
download | bundler-41049f78412e2371a40cd677e34a7113e4885d01.tar.gz |
[Resolver] Use the GVP for major updates in 2.0
-rw-r--r-- | lib/bundler/feature_flag.rb | 1 | ||||
-rw-r--r-- | lib/bundler/resolver.rb | 3 | ||||
-rw-r--r-- | lib/bundler/settings.rb | 1 | ||||
-rw-r--r-- | spec/quality_spec.rb | 1 |
4 files changed, 5 insertions, 1 deletions
diff --git a/lib/bundler/feature_flag.rb b/lib/bundler/feature_flag.rb index 6a1809cd40..921be055b1 100644 --- a/lib/bundler/feature_flag.rb +++ b/lib/bundler/feature_flag.rb @@ -52,6 +52,7 @@ module Bundler settings_flag(:suppress_install_using_messages) { bundler_2_mode? } settings_flag(:unlock_source_unlocks_spec) { !bundler_2_mode? } settings_flag(:update_requires_all_flag) { bundler_2_mode? } + settings_flag(:use_gem_version_promoter_for_major_updates) { bundler_2_mode? } settings_option(:default_cli_command) { bundler_2_mode? ? :cli_help : :install } diff --git a/lib/bundler/resolver.rb b/lib/bundler/resolver.rb index 0cf2da007a..cc87bcb0cb 100644 --- a/lib/bundler/resolver.rb +++ b/lib/bundler/resolver.rb @@ -38,6 +38,7 @@ module Bundler @platforms = platforms @gem_version_promoter = gem_version_promoter @allow_bundler_dependency_conflicts = Bundler.feature_flag.allow_bundler_dependency_conflicts? + @use_gvp = Bundler.feature_flag.use_gem_version_promoter_for_major_updates? || !@gem_version_promoter.major? end def start(requirements) @@ -123,7 +124,7 @@ module Bundler end # GVP handles major itself, but it's still a bit risky to trust it with it # until we get it settled with new behavior. For 2.x it can take over all cases. - if @gem_version_promoter.major? + if !@use_gvp spec_groups else @gem_version_promoter.sort_versions(dependency, spec_groups) diff --git a/lib/bundler/settings.rb b/lib/bundler/settings.rb index dee7c14ca1..0c62e808cb 100644 --- a/lib/bundler/settings.rb +++ b/lib/bundler/settings.rb @@ -53,6 +53,7 @@ module Bundler suppress_install_using_messages unlock_source_unlocks_spec update_requires_all_flag + use_gem_version_promoter_for_major_updates ].freeze NUMBER_KEYS = %w[ diff --git a/spec/quality_spec.rb b/spec/quality_spec.rb index d4f3ddaf9b..25956c63bf 100644 --- a/spec/quality_spec.rb +++ b/spec/quality_spec.rb @@ -178,6 +178,7 @@ RSpec.describe "The library itself" do gem.mit inline lockfile_uses_separate_rubygems_sources + use_gem_version_promoter_for_major_updates warned_version ] |