[rubygems/rubygems] Allow setting metadata on LazySpecification

This is a step forward towards eventually including metadata in the
lockfile.

56fc02b251
This commit is contained in:
David Rodríguez 2022-02-09 19:31:49 +01:00 committed by Hiroshi SHIBATA
parent ea7cde64fb
commit 636b70d2a6
3 changed files with 5 additions and 5 deletions

View file

@ -114,8 +114,6 @@ module Bundler
def same_deps(spec, exemplary_spec)
same_runtime_deps = spec.dependencies.sort == exemplary_spec.dependencies.sort
return same_runtime_deps unless spec.is_a?(Gem::Specification) && exemplary_spec.is_a?(Gem::Specification)
same_metadata_deps = spec.required_ruby_version == exemplary_spec.required_ruby_version && spec.required_rubygems_version == exemplary_spec.required_rubygems_version
same_runtime_deps && same_metadata_deps
end

View file

@ -8,12 +8,14 @@ module Bundler
include ForcePlatform
attr_reader :name, :version, :platform
attr_accessor :source, :remote, :force_ruby_platform, :dependencies
attr_accessor :source, :remote, :force_ruby_platform, :dependencies, :required_ruby_version, :required_rubygems_version
def initialize(name, version, platform, source = nil)
@name = name
@version = version
@dependencies = []
@required_ruby_version = Gem::Requirement.default
@required_rubygems_version = Gem::Requirement.default
@platform = platform || Gem::Platform::RUBY
@source = source
@force_ruby_platform = default_force_ruby_platform

View file

@ -28,6 +28,8 @@ module Bundler
lazy_spec = LazySpecification.new(name, version, s.platform, source)
lazy_spec.force_ruby_platform = force_ruby_platform
lazy_spec.dependencies = s.dependencies
lazy_spec.required_ruby_version = s.required_ruby_version
lazy_spec.required_rubygems_version = s.required_rubygems_version
lazy_spec
end
end
@ -64,8 +66,6 @@ module Bundler
end
def metadata_dependencies(spec)
return [] if spec.is_a?(LazySpecification)
[
metadata_dependency("Ruby", spec.required_ruby_version),
metadata_dependency("RubyGems", spec.required_rubygems_version),