Remove builder gem requirement for gem regenerate_index

This requirement was introduced 14 years ago in
7ce7039b390440754954df5efea619e9f57ef823, and I don't think it's
necessary anymore. I made several tests introducing UTF-8 characters in
gemspec files and generating indexes out of them, and couldn't find any
issues. Gemspecs are read with UTF-8 encoding these days.
This commit is contained in:
David Rodríguez 2020-04-25 14:09:24 +02:00 committed by Hiroshi SHIBATA
parent b5a0db8be0
commit 314d7f897c
Notes: git 2020-05-08 14:14:12 +09:00
6 changed files with 3 additions and 35 deletions

View File

@ -11,11 +11,6 @@ rescue LoadError # this rubygems + old ruby
else # this rubygems + ruby trunk with bundler
rescue_exceptions << Bundler::GemfileNotFound
end
begin
gem 'builder'
require 'builder/xchar'
rescue *rescue_exceptions
end
##
# Top level class for building the gem repository index.
@ -62,11 +57,6 @@ class Gem::Indexer
require 'tmpdir'
require 'zlib'
unless defined?(Builder::XChar)
raise "Gem::Indexer requires that the XML Builder library be installed:" +
"\n\tgem install builder"
end
options = { :build_modern => true }.merge options
@build_modern = options[:build_modern]

View File

@ -1447,13 +1447,7 @@ class Gem::Specification < Gem::BasicSpecification
# HACK the #to_s is in here because RSpec has an Array of Arrays of
# Strings for authors. Need a way to disallow bad values on gemspec
# generation. (Probably won't happen.)
string = string.to_s
begin
Builder::XChar.encode string
rescue NameError, NoMethodError
string.to_xs
end
string.to_s
end
##

View File

@ -1544,10 +1544,4 @@ begin
rescue LoadError, Gem::LoadError
end
begin
gem 'builder'
require 'builder/xchar'
rescue LoadError, Gem::LoadError
end
require 'rubygems/test_utilities'

View File

@ -3,10 +3,6 @@ require 'rubygems/test_case'
require 'rubygems/indexer'
require 'rubygems/commands/generate_index_command'
unless defined?(Builder::XChar)
warn "generate_index tests are being skipped. Install builder gem."
end
class TestGemCommandsGenerateIndexCommand < Gem::TestCase
def setup
@ -83,4 +79,4 @@ class TestGemCommandsGenerateIndexCommand < Gem::TestCase
@ui.error
end
end if defined?(Builder::XChar)
end

View File

@ -2,10 +2,6 @@
require 'rubygems/test_case'
require 'rubygems/indexer'
unless defined?(Builder::XChar)
warn "Gem::Indexer tests are being skipped. Install builder gem."
end
class TestGemIndexer < Gem::TestCase
def setup
@ -360,4 +356,4 @@ class TestGemIndexer < Gem::TestCase
refute File.exist?(file), "#{file} exists"
end
end if defined?(Builder::XChar)
end

View File

@ -55,8 +55,6 @@ class TestGemSource < Gem::TestCase
end
def test_dependency_resolver_set_file_uri
skip 'install builder gem' unless defined? Builder::XChar
Gem::Indexer.new(@tempdir).generate_index
source = Gem::Source.new "file://#{@tempdir}/"