Skip to content

Commit 390d035

Browse files
Align incompatibilities_for with BasicPackageSource design
1 parent aa9d86e commit 390d035

1 file changed

Lines changed: 5 additions & 6 deletions

File tree

lib/rubygems/resolver.rb

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,7 @@ def incompatibilities_for(package, version)
224224
sorted_versions = @sorted_versions[package]
225225
package_deps[version].filter_map do |dep_package_name, dep_constraint|
226226
dep_package = dep_constraint.package
227+
227228
low = high = @version_to_index[package][version]
228229

229230
# find version low such that all >= low share the same dep
@@ -255,10 +256,10 @@ def incompatibilities_for(package, version)
255256

256257
if dep_constraint.range.empty?
257258
cause = Gem::PubGrub::Incompatibility::InvalidDependency.new(dep_package, dep_constraint)
258-
next Gem::PubGrub::Incompatibility.new(
259+
return [Gem::PubGrub::Incompatibility.new(
259260
[Gem::PubGrub::Term.new(self_constraint, true)],
260261
cause: cause
261-
)
262+
)]
262263
end
263264

264265
Gem::PubGrub::Incompatibility.new(
@@ -289,8 +290,7 @@ def package_for(name)
289290
def root_dependencies
290291
deps = {}
291292
@needed.each do |dep|
292-
range = Gem::PubGrub::RubyGems.requirement_to_range(dep.requirement)
293-
constraint = Gem::PubGrub::VersionConstraint.new(package_for(dep.name), range: range)
293+
constraint = Gem::PubGrub::RubyGems.requirement_to_constraint(package_for(dep.name), dep.requirement)
294294
deps[dep.name] = deps.key?(dep.name) ? deps[dep.name].intersect(constraint) : constraint
295295
end
296296
deps
@@ -366,8 +366,7 @@ def compute_dependencies(package, version)
366366
next
367367
end
368368

369-
range = Gem::PubGrub::RubyGems.requirement_to_range(d.requirement)
370-
deps[d.name] = Gem::PubGrub::VersionConstraint.new(dep_package, range: range)
369+
deps[d.name] = Gem::PubGrub::RubyGems.requirement_to_constraint(dep_package, d.requirement)
371370
end
372371

373372
deps

0 commit comments

Comments
 (0)