mirror of
https://github.com/ruby/ruby.git
synced 2025-09-19 18:43:59 +02:00
Merge RubyGems 3.2.9 and Bundler 2.2.9 (#4158)
This commit is contained in:
parent
9aba46d8d8
commit
09c681ab38
60 changed files with 718 additions and 289 deletions
|
@ -827,7 +827,9 @@ class Gem::Specification < Gem::BasicSpecification
|
|||
if @@stubs
|
||||
@@stubs_by_name[name] || []
|
||||
else
|
||||
@@stubs_by_name[name] ||= stubs_for_pattern("#{name}-*.gemspec")
|
||||
@@stubs_by_name[name] ||= stubs_for_pattern("#{name}-*.gemspec").select do |s|
|
||||
s.name == name
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -848,7 +850,9 @@ class Gem::Specification < Gem::BasicSpecification
|
|||
specs.sort! do |a, b|
|
||||
names = a.name <=> b.name
|
||||
next names if names.nonzero?
|
||||
b.version <=> a.version
|
||||
versions = b.version <=> a.version
|
||||
next versions if versions.nonzero?
|
||||
b.platform == Gem::Platform::RUBY ? -1 : 1
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -1084,20 +1088,15 @@ class Gem::Specification < Gem::BasicSpecification
|
|||
end
|
||||
|
||||
def self._latest_specs(specs, prerelease = false) # :nodoc:
|
||||
result = Hash.new {|h,k| h[k] = {} }
|
||||
native = {}
|
||||
result = {}
|
||||
|
||||
specs.reverse_each do |spec|
|
||||
next if spec.version.prerelease? unless prerelease
|
||||
|
||||
native[spec.name] = spec.version if spec.platform == Gem::Platform::RUBY
|
||||
result[spec.name][spec.platform] = spec
|
||||
result[spec.name] = spec
|
||||
end
|
||||
|
||||
result.map(&:last).map(&:values).flatten.reject do |spec|
|
||||
minimum = native[spec.name]
|
||||
minimum && spec.version < minimum
|
||||
end.sort_by{|tup| tup.name }
|
||||
result.map(&:last).flatten.sort_by{|tup| tup.name }
|
||||
end
|
||||
|
||||
##
|
||||
|
@ -2552,7 +2551,7 @@ class Gem::Specification < Gem::BasicSpecification
|
|||
begin
|
||||
dependencies.each do |dep|
|
||||
next unless dep.runtime?
|
||||
dep.to_specs.each do |dep_spec|
|
||||
dep.matching_specs(true).each do |dep_spec|
|
||||
next if visited.has_key?(dep_spec)
|
||||
visited[dep_spec] = true
|
||||
trail.push(dep_spec)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue