mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* lib/rubygems: Update to RubyGems 2.4.5.
* test/rubygems: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48729 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
a0b80a4410
commit
97f80207d0
32 changed files with 458 additions and 103 deletions
|
@ -200,6 +200,8 @@ class Gem::RequestSet::Lockfile
|
|||
|
||||
platforms = @requests.map { |request| request.spec.platform }.uniq
|
||||
|
||||
platforms = platforms.sort_by { |platform| platform.to_s }
|
||||
|
||||
platforms.sort.each do |platform|
|
||||
out << " #{platform}"
|
||||
end
|
||||
|
@ -277,14 +279,7 @@ class Gem::RequestSet::Lockfile
|
|||
when :bang then
|
||||
get :bang
|
||||
|
||||
spec = @set.sets.select { |set|
|
||||
Gem::Resolver::GitSet === set or
|
||||
Gem::Resolver::VendorSet === set
|
||||
}.map { |set|
|
||||
set.specs[name]
|
||||
}.compact.first
|
||||
|
||||
requirements << spec.version
|
||||
requirements << pinned_requirement(name)
|
||||
when :l_paren then
|
||||
get :l_paren
|
||||
|
||||
|
@ -300,6 +295,13 @@ class Gem::RequestSet::Lockfile
|
|||
end
|
||||
|
||||
get :r_paren
|
||||
|
||||
if peek[0] == :bang then
|
||||
requirements.clear
|
||||
requirements << pinned_requirement(name)
|
||||
|
||||
get :bang
|
||||
end
|
||||
end
|
||||
|
||||
@set.gem name, *requirements
|
||||
|
@ -507,6 +509,17 @@ class Gem::RequestSet::Lockfile
|
|||
@tokens.first || [:EOF]
|
||||
end
|
||||
|
||||
def pinned_requirement name # :nodoc:
|
||||
spec = @set.sets.select { |set|
|
||||
Gem::Resolver::GitSet === set or
|
||||
Gem::Resolver::VendorSet === set
|
||||
}.map { |set|
|
||||
set.specs[name]
|
||||
}.compact.first
|
||||
|
||||
spec.version
|
||||
end
|
||||
|
||||
def skip type # :nodoc:
|
||||
get while not @tokens.empty? and peek.first == type
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue