summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Rodríguez <[email protected]>2025-02-21 11:38:31 +0100
committerHiroshi SHIBATA <[email protected]>2025-02-25 15:36:46 +0900
commit8b952e6489e1cb9955f62e32736e8dc7ff86fa91 (patch)
treebaca75f171b7e5fb5ae55fdd28f05380c5c18df5
parent71f0c37473224580d7c67091588f1a32e64c9a53 (diff)
[rubygems/rubygems] Improve log message when resolving due to local platform not in lockfile
Current it says "you added a new platform to your gemfile", but that's not actually the case here. https://github.com/rubygems/rubygems/commit/1e39527a38
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/12804
-rw-r--r--lib/bundler/definition.rb4
-rw-r--r--spec/bundler/commands/install_spec.rb1
2 files changed, 3 insertions, 2 deletions
diff --git a/lib/bundler/definition.rb b/lib/bundler/definition.rb
index 0670b49349..1d5a0e4c15 100644
--- a/lib/bundler/definition.rb
+++ b/lib/bundler/definition.rb
@@ -625,7 +625,8 @@ module Bundler
@resolution_packages ||= begin
last_resolve = converge_locked_specs
remove_invalid_platforms!
- packages = Resolver::Base.new(source_requirements, expanded_dependencies, last_resolve, @platforms, locked_specs: @originally_locked_specs, unlock: @unlocking_all || @gems_to_unlock, prerelease: gem_version_promoter.pre?, prefer_local: @prefer_local, new_platforms: @new_platforms)
+ new_resolution_platforms = @current_platform_missing ? @new_platforms.append(local_platform) : @new_platforms
+ packages = Resolver::Base.new(source_requirements, expanded_dependencies, last_resolve, @platforms, locked_specs: @originally_locked_specs, unlock: @unlocking_all || @gems_to_unlock, prerelease: gem_version_promoter.pre?, prefer_local: @prefer_local, new_platforms: new_resolution_platforms)
packages = additional_base_requirements_to_prevent_downgrades(packages)
packages = additional_base_requirements_to_force_updates(packages)
packages
@@ -768,7 +769,6 @@ module Bundler
@most_specific_non_local_locked_platform = find_most_specific_locked_platform
return if @most_specific_non_local_locked_platform
- @new_platforms << local_platform
@platforms << local_platform
true
end
diff --git a/spec/bundler/commands/install_spec.rb b/spec/bundler/commands/install_spec.rb
index 0eafee3b12..cf69ada5ec 100644
--- a/spec/bundler/commands/install_spec.rb
+++ b/spec/bundler/commands/install_spec.rb
@@ -1369,6 +1369,7 @@ RSpec.describe "bundle install with gem sources" do
bundle "install --verbose"
expect(out).to include("re-resolving dependencies because your lockfile does not include the current platform")
+ expect(out).not_to include("you added a new platform to your gemfile")
expect(lockfile).to eq <<~L
GEM