Skip to content

Commit cdbadaf

Browse files
deivid-rodriguezhsbt
authored andcommitted
[rubygems/rubygems] Fix resolver issue due to ill-defined version ranges being created
ruby/rubygems@f2f2ac9680
1 parent bf6c106 commit cdbadaf

File tree

2 files changed

+41
-1
lines changed

2 files changed

+41
-1
lines changed

lib/bundler/resolver.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,7 @@ def incompatibilities_for(package, version)
237237
sorted_versions[high]
238238
end
239239

240-
range = PubGrub::VersionRange.new(min: low, max: high, include_min: true)
240+
range = PubGrub::VersionRange.new(min: low, max: high, include_min: !low.nil?)
241241

242242
self_constraint = PubGrub::VersionConstraint.new(package, range: range)
243243

spec/bundler/resolver/basic_spec.rb

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -379,4 +379,44 @@
379379

380380
should_resolve_without_dependency_api %w[myrack-3.0.0 standalone_migrations-2.0.4]
381381
end
382+
383+
it "resolves fine cases that need joining unbounded disjoint ranges" do
384+
@index = build_index do
385+
gem "inspec", "5.22.3" do
386+
dep "ruby", ">= 3.2.2"
387+
dep "train-kubernetes", ">= 0.1.7"
388+
end
389+
390+
gem "ruby", "3.2.2"
391+
392+
gem "train-kubernetes", "0.1.12" do
393+
dep "k8s-ruby", ">= 0.14.0"
394+
end
395+
396+
gem "train-kubernetes", "0.1.10" do
397+
dep "k8s-ruby", "= 0.10.5"
398+
end
399+
400+
gem "train-kubernetes", "0.1.7" do
401+
dep "k8s-ruby", ">= 0.10.5"
402+
end
403+
404+
gem "k8s-ruby", "0.10.5" do
405+
dep "ruby","< 3.2.2"
406+
end
407+
408+
gem "k8s-ruby", "0.11.0" do
409+
dep "ruby", ">= 3.2.2"
410+
end
411+
412+
gem "k8s-ruby", "0.14.0" do
413+
dep "ruby", "< 3.2.2"
414+
end
415+
end
416+
417+
dep "inspec", "5.22.3"
418+
dep "ruby", "3.2.2"
419+
420+
should_resolve_as %w[inspec-5.22.3 ruby-3.2.2 train-kubernetes-0.1.7 k8s-ruby-0.11.0]
421+
end
382422
end

0 commit comments

Comments
 (0)