aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorDavid Rodríguez <deivid.rodriguez@riseup.net>2022-02-09 19:31:49 +0100
committerHiroshi SHIBATA <hsbt@ruby-lang.org>2023-11-13 11:06:10 +0900
commit636b70d2a6cd2cb7dba0087ca9f9fd424eb6250b (patch)
tree2629f9558ec0317f55aa9436084b9902485307f3 /lib
parentea7cde64fbb02f10a40ce0979f8f8c1151f8f9c9 (diff)
downloadruby-636b70d2a6cd2cb7dba0087ca9f9fd424eb6250b.tar.gz
[rubygems/rubygems] Allow setting metadata on LazySpecification
This is a step forward towards eventually including metadata in the lockfile. https://github.com/rubygems/rubygems/commit/56fc02b251
Diffstat (limited to 'lib')
-rw-r--r--lib/bundler/gem_helpers.rb2
-rw-r--r--lib/bundler/lazy_specification.rb4
-rw-r--r--lib/bundler/resolver/spec_group.rb4
3 files changed, 5 insertions, 5 deletions
diff --git a/lib/bundler/gem_helpers.rb b/lib/bundler/gem_helpers.rb
index f0d5ce135a..e85a93c64a 100644
--- a/lib/bundler/gem_helpers.rb
+++ b/lib/bundler/gem_helpers.rb
@@ -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
diff --git a/lib/bundler/lazy_specification.rb b/lib/bundler/lazy_specification.rb
index 067bd2f49f..62d028356e 100644
--- a/lib/bundler/lazy_specification.rb
+++ b/lib/bundler/lazy_specification.rb
@@ -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
diff --git a/lib/bundler/resolver/spec_group.rb b/lib/bundler/resolver/spec_group.rb
index 352105b651..f956ec0968 100644
--- a/lib/bundler/resolver/spec_group.rb
+++ b/lib/bundler/resolver/spec_group.rb
@@ -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),