summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDavid Rodríguez <deivid.rodriguez@riseup.net>2024-07-17 19:46:01 +0200
committergit <svn-admin@ruby-lang.org>2024-07-18 18:08:37 +0000
commit104dad3dd0de02e3282104f7c6686302c2d92194 (patch)
tree1ea80fbbc14496cd0e5a38de1444829e12b85ff6 /lib
parentd62af8e5139b33a4eced1a43b41e0e12c47a61de (diff)
[rubygems/rubygems] Small tweak to avoid making the same mistake again
We checking completeness of a SpecSet, we should always ignore dependencies not relevant for the current platform, since the resolver and the lockfile ignore those too. https://github.com/rubygems/rubygems/commit/c4b0c6d84e
Diffstat (limited to 'lib')
-rw-r--r--lib/bundler/definition.rb12
1 files changed, 8 insertions, 4 deletions
diff --git a/lib/bundler/definition.rb b/lib/bundler/definition.rb
index 61763da074..d403f2d586 100644
--- a/lib/bundler/definition.rb
+++ b/lib/bundler/definition.rb
@@ -567,7 +567,7 @@ module Bundler
def resolution_packages
@resolution_packages ||= begin
last_resolve = converge_locked_specs
- remove_invalid_platforms!(current_dependencies)
+ remove_invalid_platforms!
packages = Resolver::Base.new(source_requirements, expanded_dependencies, last_resolve, @platforms, locked_specs: @originally_locked_specs, unlock: @gems_to_unlock, prerelease: gem_version_promoter.pre?)
packages = additional_base_requirements_to_prevent_downgrades(packages, last_resolve)
packages = additional_base_requirements_to_force_updates(packages)
@@ -635,7 +635,7 @@ module Bundler
@resolved_bundler_version = result.find {|spec| spec.name == "bundler" }&.version
if @most_specific_non_local_locked_ruby_platform
- if result.incomplete_for_platform?(current_dependencies, @most_specific_non_local_locked_ruby_platform)
+ if spec_set_incomplete_for_platform?(result, @most_specific_non_local_locked_ruby_platform)
@platforms.delete(@most_specific_non_local_locked_ruby_platform)
elsif local_platform_needed_for_resolvability
@platforms.delete(local_platform)
@@ -1058,7 +1058,7 @@ module Bundler
unlocked_definition
end
- def remove_invalid_platforms!(dependencies)
+ def remove_invalid_platforms!
return if Bundler.frozen_bundle?
platforms.reverse_each do |platform|
@@ -1067,12 +1067,16 @@ module Bundler
@path_changes ||
@dependency_changes ||
@locked_spec_with_invalid_deps ||
- !@originally_locked_specs.incomplete_for_platform?(dependencies, platform)
+ !spec_set_incomplete_for_platform?(@originally_locked_specs, platform)
remove_platform(platform)
end
end
+ def spec_set_incomplete_for_platform?(spec_set, platform)
+ spec_set.incomplete_for_platform?(current_dependencies, platform)
+ end
+
def source_map
@source_map ||= SourceMap.new(sources, dependencies, @locked_specs)
end