summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDavid Rodríguez <[email protected]>2024-07-04 22:09:34 +0200
committergit <[email protected]>2024-07-09 16:34:07 +0000
commit5fdfdc30f155ac41f865d4a0ae9ee37f1371fd7f (patch)
tree2b58ade6cbc0f757cdbb684d08062a38490be8fd /lib
parenta333e867aa24a37bf962e7d1b941078790a75efd (diff)
[rubygems/rubygems] Let resolver consider unique specs from the beginning
It results in more consistent error messages. https://github.com/rubygems/rubygems/commit/a4b34361cc
Diffstat (limited to 'lib')
-rw-r--r--lib/bundler/resolver.rb3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/bundler/resolver.rb b/lib/bundler/resolver.rb
index 1a6711ea6f..ba52712d15 100644
--- a/lib/bundler/resolver.rb
+++ b/lib/bundler/resolver.rb
@@ -79,7 +79,7 @@ module Bundler
def solve_versions(root:, logger:)
solver = PubGrub::VersionSolver.new(source: self, root: root, logger: logger)
result = solver.solve
- result.map {|package, version| version.to_specs(package) }.flatten.uniq
+ result.map {|package, version| version.to_specs(package) }.flatten
rescue PubGrub::SolveFailure => e
incompatibility = e.incompatibility
@@ -270,6 +270,7 @@ module Bundler
end
platform_specs.flatten!
+ platform_specs.uniq!
ruby_specs = select_best_platform_match(specs, Gem::Platform::RUBY)
groups << Resolver::Candidate.new(version, specs: ruby_specs) if ruby_specs.any?