Skip to content

Commit

Permalink
[rubygems/rubygems] Allow setting metadata on LazySpecification
Browse files Browse the repository at this point in the history
This is a step forward towards eventually including metadata in the
lockfile.

rubygems/rubygems@56fc02b251
  • Loading branch information
deivid-rodriguez authored and hsbt committed Nov 13, 2023
1 parent ea7cde6 commit 636b70d
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 5 deletions.
2 changes: 0 additions & 2 deletions lib/bundler/gem_helpers.rb
Expand Up @@ -114,8 +114,6 @@ def same_specificity(platform, spec, exemplary_spec)

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
Expand Down
4 changes: 3 additions & 1 deletion lib/bundler/lazy_specification.rb
Expand Up @@ -8,12 +8,14 @@ class LazySpecification
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
Expand Down
4 changes: 2 additions & 2 deletions lib/bundler/resolver/spec_group.rb
Expand Up @@ -28,6 +28,8 @@ def to_specs(force_ruby_platform)
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
Expand Down Expand Up @@ -64,8 +66,6 @@ def __dependencies(spec)
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),
Expand Down

0 comments on commit 636b70d

Please sign in to comment.