diff options
| author | David Rodriguez <deivid.rodriguez@riseup.net> | 2024-02-05 20:19:40 +0100 |
|---|---|---|
| committer | git <svn-admin@ruby-lang.org> | 2024-05-03 15:12:55 +0000 |
| commit | 281df1e495eeb8533b963c63a14c614fcab97859 (patch) | |
| tree | ebd8a8865249b34eafd83873fd6f6917894aebc9 /lib | |
| parent | 0948b6a592eb74f1ca4aae158f8bca6034ccb708 (diff) | |
[rubygems/rubygems] Remove `Gem::Specification#mark_version`
This gets in the middle if we ever start allowing to build as if using a
different RubyGems version than the one being run.
This could be useful to make `gem rebuild` a little more usable, and
it's already done by Bundler specs which already make this method a noop
when they need this.
I'm not sure forcefully setting this, even if user explicitly specified
something else is helpful.
Since this could potentially prevent gems explicitly setting a constant
RubyGems version from building, I changed the error of incorrect
RubyGems version from a hard error to a warning, since it will start
happening in those cases if we stop overwriting the version.
https://github.com/rubygems/rubygems/commit/45676af80d
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/rubygems/package.rb | 1 | ||||
| -rw-r--r-- | lib/rubygems/specification.rb | 12 | ||||
| -rw-r--r-- | lib/rubygems/specification_policy.rb | 4 |
3 files changed, 4 insertions, 13 deletions
diff --git a/lib/rubygems/package.rb b/lib/rubygems/package.rb index 9b2829c894..c855423ed7 100644 --- a/lib/rubygems/package.rb +++ b/lib/rubygems/package.rb @@ -294,7 +294,6 @@ class Gem::Package Gem.load_yaml - @spec.mark_version @spec.validate true, strict_validation unless skip_validation setup_signer( diff --git a/lib/rubygems/specification.rb b/lib/rubygems/specification.rb index 29139cf725..a1eaf1248e 100644 --- a/lib/rubygems/specification.rb +++ b/lib/rubygems/specification.rb @@ -194,7 +194,7 @@ class Gem::Specification < Gem::BasicSpecification NOT_FOUND = Struct.new(:to_spec, :this).new # :nodoc: # Tracking removed method calls to warn users during build time. - REMOVED_METHODS = [:rubyforge_project=].freeze # :nodoc: + REMOVED_METHODS = [:rubyforge_project=, :mark_version].freeze # :nodoc: def removed_method_calls @removed_method_calls ||= [] end @@ -1874,8 +1874,6 @@ class Gem::Specification < Gem::BasicSpecification end def encode_with(coder) # :nodoc: - mark_version - coder.add "name", @name coder.add "version", @version platform = case @original_platform @@ -2171,13 +2169,6 @@ class Gem::Specification < Gem::BasicSpecification end ## - # Sets the rubygems_version to the current RubyGems version. - - def mark_version - @rubygems_version = Gem::VERSION - end - - ## # Track removed method calls to warn about during build time. # Warn about unknown attributes while loading a spec. @@ -2494,7 +2485,6 @@ class Gem::Specification < Gem::BasicSpecification # still have their default values are omitted. def to_ruby - mark_version result = [] result << "# -*- encoding: utf-8 -*-" result << "#{Gem::StubSpecification::PREFIX}#{name} #{version} #{platform} #{raw_require_paths.join("\0")}" diff --git a/lib/rubygems/specification_policy.rb b/lib/rubygems/specification_policy.rb index 516c26f53c..812b0f889e 100644 --- a/lib/rubygems/specification_policy.rb +++ b/lib/rubygems/specification_policy.rb @@ -274,7 +274,9 @@ duplicate dependency on #{dep}, (#{prev.requirement}) use: return if rubygems_version == Gem::VERSION - error "expected RubyGems version #{Gem::VERSION}, was #{rubygems_version}" + warning "expected RubyGems version #{Gem::VERSION}, was #{rubygems_version}" + + @specification.rubygems_version = Gem::VERSION end def validate_required_attributes |
