diff options
author | David RodrÃguez <deivid.rodriguez@riseup.net> | 2022-12-10 22:05:03 +0100 |
---|---|---|
committer | git <svn-admin@ruby-lang.org> | 2022-12-11 13:35:00 +0000 |
commit | d82328ffc8b70564cb84ee8ec8c3d90884234eb7 (patch) | |
tree | 22825cdea7eb634f42738ce72370486408544b11 /lib/rubygems/resolver/molinillo/lib | |
parent | 9477ec732b680df1ffa1d17b86ba641c83dc4b74 (diff) |
[rubygems/rubygems] Bump Molinillo and tsort
And configure tsort to be vendored as a dependency of Molinillo.
https://github.com/rubygems/rubygems/commit/8ec749f891
Diffstat (limited to 'lib/rubygems/resolver/molinillo/lib')
3 files changed, 34 insertions, 28 deletions
diff --git a/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb b/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb index 95f8416b96..731a9e3e90 100644 --- a/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb +++ b/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb @@ -32,7 +32,7 @@ module Gem::Resolver::Molinillo # all belong to the same graph. # @return [Array<Vertex>] The sorted vertices. def self.tsort(vertices) - TSort.tsort( + Gem::TSort.tsort( lambda { |b| vertices.each(&b) }, lambda { |v, &b| (v.successors & vertices).each(&b) } ) diff --git a/lib/rubygems/resolver/molinillo/lib/molinillo/errors.rb b/lib/rubygems/resolver/molinillo/lib/molinillo/errors.rb index ada03a901c..4289902828 100644 --- a/lib/rubygems/resolver/molinillo/lib/molinillo/errors.rb +++ b/lib/rubygems/resolver/molinillo/lib/molinillo/errors.rb @@ -107,36 +107,42 @@ module Gem::Resolver::Molinillo end end - conflicts.sort.reduce(''.dup) do |o, (name, conflict)| - o << "\n" << incompatible_version_message_for_conflict.call(name, conflict) << "\n" - if conflict.locked_requirement - o << %( In snapshot (#{name_for_locking_dependency_source}):\n) - o << %( #{printable_requirement.call(conflict.locked_requirement)}\n) - o << %(\n) - end - o << %( In #{name_for_explicit_dependency_source}:\n) - trees = reduce_trees.call(conflict.requirement_trees) - - o << trees.map do |tree| - t = ''.dup - depth = 2 - tree.each do |req| - t << ' ' * depth << printable_requirement.call(req) - unless tree.last == req - if spec = conflict.activated_by_name[name_for(req)] - t << %( was resolved to #{version_for_spec.call(spec)}, which) + full_message_for_conflict = opts.delete(:full_message_for_conflict) do + proc do |name, conflict| + o = "\n".dup << incompatible_version_message_for_conflict.call(name, conflict) << "\n" + if conflict.locked_requirement + o << %( In snapshot (#{name_for_locking_dependency_source}):\n) + o << %( #{printable_requirement.call(conflict.locked_requirement)}\n) + o << %(\n) + end + o << %( In #{name_for_explicit_dependency_source}:\n) + trees = reduce_trees.call(conflict.requirement_trees) + + o << trees.map do |tree| + t = ''.dup + depth = 2 + tree.each do |req| + t << ' ' * depth << printable_requirement.call(req) + unless tree.last == req + if spec = conflict.activated_by_name[name_for(req)] + t << %( was resolved to #{version_for_spec.call(spec)}, which) + end + t << %( depends on) end - t << %( depends on) + t << %(\n) + depth += 1 end - t << %(\n) - depth += 1 - end - t - end.join("\n") + t + end.join("\n") - additional_message_for_conflict.call(o, name, conflict) + additional_message_for_conflict.call(o, name, conflict) - o + o + end + end + + conflicts.sort.reduce(''.dup) do |o, (name, conflict)| + o << full_message_for_conflict.call(name, conflict) end.strip end end diff --git a/lib/rubygems/resolver/molinillo/lib/molinillo/gem_metadata.rb b/lib/rubygems/resolver/molinillo/lib/molinillo/gem_metadata.rb index 6b5ada7ade..86c249c404 100644 --- a/lib/rubygems/resolver/molinillo/lib/molinillo/gem_metadata.rb +++ b/lib/rubygems/resolver/molinillo/lib/molinillo/gem_metadata.rb @@ -2,5 +2,5 @@ module Gem::Resolver::Molinillo # The version of Gem::Resolver::Molinillo. - VERSION = '0.7.0'.freeze + VERSION = '0.8.0'.freeze end |