Skip to content

Commit

Permalink
Remove non-transparent requirement added to prerelease gems
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
deivid-rodriguez committed Dec 11, 2023
1 parent fb1819b commit b165e6d
Show file tree
Hide file tree
Showing 2 changed files with 1 addition and 14 deletions.
9 changes: 1 addition & 8 deletions lib/rubygems/specification.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2674,19 +2674,12 @@ def validate_permissions
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

Expand Down
6 changes: 0 additions & 6 deletions test/rubygems/test_gem_specification.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2005,12 +2005,6 @@ def test_platform_equals_legacy
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
Expand Down

0 comments on commit b165e6d

Please sign in to comment.