[rubygems/rubygems] Remove non-transparent requirement added to prerelease gems

I think we can safely assume these days that all RubyGems and Bundler
versions that will ever bundle a new gem created in 2023 support
prereleases.

So this non transparent requirement is not necessary.

In my opinion, it should be the gem author to explicitly add this
constraint, not RubyGems.

https://github.com/rubygems/rubygems/commit/b165e6d725
This commit is contained in:
David Rodríguez 2023-12-07 14:51:22 +01:00 committed by Hiroshi SHIBATA
parent b37288c047
commit a06bf001b2
No known key found for this signature in database
GPG Key ID: F9CF13417264FAC2
2 changed files with 1 additions and 14 deletions

View File

@ -2674,19 +2674,12 @@ class Gem::Specification < Gem::BasicSpecification
rubygems_deprecate :validate_permissions
##
# Set the version to +version+, potentially also setting
# required_rubygems_version if +version+ indicates it is a
# prerelease.
# Set the version to +version+.
def version=(version)
@version = Gem::Version.create(version)
return if @version.nil?
# skip to set required_ruby_version when pre-released rubygems.
# It caused to raise CircularDependencyError
if @version.prerelease? && (@name.nil? || @name.strip != "rubygems")
self.required_rubygems_version = "> 1.3.1"
end
invalidate_memoized_attributes
end

View File

@ -2005,12 +2005,6 @@ dependencies: []
assert_equal Gem::Platform.new("ppc-darwin"), @a1.platform
end
def test_prerelease_spec_adds_required_rubygems_version
@prerelease = util_spec("tardis", "2.2.0.a")
refute @prerelease.required_rubygems_version.satisfied_by?(Gem::Version.new("1.3.1"))
assert @prerelease.required_rubygems_version.satisfied_by?(Gem::Version.new("1.4.0"))
end
def test_require_paths
enable_shared "no" do
ext_spec