rubygems-update 3.2.26 → 3.2.30

Sign up to get free protection for your applications and to get access to all the features.
Files changed (159) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +60 -0
  3. data/Manifest.txt +12 -3
  4. data/bundler/CHANGELOG.md +50 -1
  5. data/bundler/README.md +1 -1
  6. data/bundler/lib/bundler/build_metadata.rb +2 -2
  7. data/bundler/lib/bundler/cli/check.rb +1 -1
  8. data/bundler/lib/bundler/cli/gem.rb +19 -2
  9. data/bundler/lib/bundler/cli/info.rb +11 -4
  10. data/bundler/lib/bundler/cli/issue.rb +4 -3
  11. data/bundler/lib/bundler/cli/remove.rb +1 -2
  12. data/bundler/lib/bundler/cli.rb +1 -0
  13. data/bundler/lib/bundler/compact_index_client.rb +2 -2
  14. data/bundler/lib/bundler/definition.rb +16 -6
  15. data/bundler/lib/bundler/digest.rb +71 -0
  16. data/bundler/lib/bundler/errors.rb +18 -2
  17. data/bundler/lib/bundler/fetcher.rb +2 -1
  18. data/bundler/lib/bundler/friendly_errors.rb +5 -30
  19. data/bundler/lib/bundler/gem_helper.rb +6 -17
  20. data/bundler/lib/bundler/installer.rb +0 -1
  21. data/bundler/lib/bundler/plugin/installer.rb +2 -0
  22. data/bundler/lib/bundler/plugin.rb +23 -6
  23. data/bundler/lib/bundler/rubygems_ext.rb +4 -0
  24. data/bundler/lib/bundler/rubygems_gem_installer.rb +20 -4
  25. data/bundler/lib/bundler/rubygems_integration.rb +28 -9
  26. data/bundler/lib/bundler/runtime.rb +1 -1
  27. data/bundler/lib/bundler/settings.rb +9 -1
  28. data/bundler/lib/bundler/source/git.rb +22 -4
  29. data/bundler/lib/bundler/source/rubygems.rb +43 -72
  30. data/bundler/lib/bundler/source.rb +2 -0
  31. data/bundler/lib/bundler/source_list.rb +4 -0
  32. data/bundler/lib/bundler/spec_set.rb +1 -1
  33. data/bundler/lib/bundler/templates/newgem/github/workflows/main.yml.tt +2 -1
  34. data/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt +1 -1
  35. data/bundler/lib/bundler/vendor/connection_pool/LICENSE +20 -0
  36. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.rb +19 -21
  37. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/version.rb +1 -1
  38. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/wrapper.rb +57 -0
  39. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool.rb +39 -74
  40. data/bundler/lib/bundler/vendor/fileutils/LICENSE.txt +22 -0
  41. data/bundler/lib/bundler/vendor/molinillo/LICENSE +9 -0
  42. data/bundler/lib/bundler/vendor/net-http-persistent/README.rdoc +82 -0
  43. data/bundler/lib/bundler/vendor/thor/LICENSE.md +20 -0
  44. data/bundler/lib/bundler/vendor/uri/LICENSE.txt +22 -0
  45. data/bundler/lib/bundler/version.rb +1 -1
  46. data/bundler/lib/bundler/worker.rb +2 -2
  47. data/bundler/lib/bundler.rb +13 -18
  48. data/lib/rubygems/command_manager.rb +3 -3
  49. data/lib/rubygems/commands/build_command.rb +3 -3
  50. data/lib/rubygems/commands/cert_command.rb +15 -8
  51. data/lib/rubygems/commands/check_command.rb +4 -4
  52. data/lib/rubygems/commands/cleanup_command.rb +3 -3
  53. data/lib/rubygems/commands/contents_command.rb +2 -2
  54. data/lib/rubygems/commands/dependency_command.rb +3 -3
  55. data/lib/rubygems/commands/environment_command.rb +1 -1
  56. data/lib/rubygems/commands/fetch_command.rb +3 -3
  57. data/lib/rubygems/commands/generate_index_command.rb +2 -2
  58. data/lib/rubygems/commands/help_command.rb +1 -1
  59. data/lib/rubygems/commands/info_command.rb +2 -2
  60. data/lib/rubygems/commands/install_command.rb +12 -11
  61. data/lib/rubygems/commands/list_command.rb +2 -2
  62. data/lib/rubygems/commands/lock_command.rb +1 -1
  63. data/lib/rubygems/commands/mirror_command.rb +1 -1
  64. data/lib/rubygems/commands/open_command.rb +2 -2
  65. data/lib/rubygems/commands/outdated_command.rb +4 -4
  66. data/lib/rubygems/commands/owner_command.rb +4 -4
  67. data/lib/rubygems/commands/pristine_command.rb +5 -5
  68. data/lib/rubygems/commands/push_command.rb +4 -4
  69. data/lib/rubygems/commands/query_command.rb +3 -3
  70. data/lib/rubygems/commands/rdoc_command.rb +3 -3
  71. data/lib/rubygems/commands/search_command.rb +2 -2
  72. data/lib/rubygems/commands/server_command.rb +3 -3
  73. data/lib/rubygems/commands/setup_command.rb +6 -6
  74. data/lib/rubygems/commands/signin_command.rb +2 -2
  75. data/lib/rubygems/commands/signout_command.rb +1 -1
  76. data/lib/rubygems/commands/sources_command.rb +4 -4
  77. data/lib/rubygems/commands/specification_command.rb +4 -4
  78. data/lib/rubygems/commands/stale_command.rb +1 -1
  79. data/lib/rubygems/commands/uninstall_command.rb +3 -3
  80. data/lib/rubygems/commands/unpack_command.rb +5 -5
  81. data/lib/rubygems/commands/update_command.rb +9 -9
  82. data/lib/rubygems/commands/which_command.rb +1 -1
  83. data/lib/rubygems/commands/yank_command.rb +4 -4
  84. data/lib/rubygems/config_file.rb +1 -1
  85. data/lib/rubygems/core_ext/tcpsocket_init.rb +2 -2
  86. data/lib/rubygems/defaults.rb +1 -1
  87. data/lib/rubygems/dependency_installer.rb +8 -8
  88. data/lib/rubygems/dependency_list.rb +1 -1
  89. data/lib/rubygems/doctor.rb +2 -2
  90. data/lib/rubygems/errors.rb +1 -2
  91. data/lib/rubygems/exceptions.rb +1 -1
  92. data/lib/rubygems/gem_runner.rb +3 -3
  93. data/lib/rubygems/gemcutter_utilities.rb +2 -2
  94. data/lib/rubygems/indexer.rb +2 -2
  95. data/lib/rubygems/install_default_message.rb +2 -2
  96. data/lib/rubygems/install_message.rb +2 -2
  97. data/lib/rubygems/install_update_options.rb +2 -2
  98. data/lib/rubygems/installer.rb +8 -8
  99. data/lib/rubygems/local_remote_options.rb +1 -1
  100. data/lib/rubygems/mock_gem_ui.rb +1 -1
  101. data/lib/rubygems/package/tar_reader.rb +1 -1
  102. data/lib/rubygems/package.rb +36 -46
  103. data/lib/rubygems/package_task.rb +2 -2
  104. data/lib/rubygems/platform.rb +2 -1
  105. data/lib/rubygems/query_utils.rb +4 -4
  106. data/lib/rubygems/rdoc.rb +1 -1
  107. data/lib/rubygems/remote_fetcher.rb +16 -22
  108. data/lib/rubygems/request/connection_pools.rb +1 -1
  109. data/lib/rubygems/request/http_pool.rb +1 -1
  110. data/lib/rubygems/request.rb +7 -5
  111. data/lib/rubygems/request_set/lockfile/tokenizer.rb +1 -1
  112. data/lib/rubygems/request_set/lockfile.rb +1 -1
  113. data/lib/rubygems/request_set.rb +5 -5
  114. data/lib/rubygems/requirement.rb +1 -1
  115. data/lib/rubygems/resolver/git_specification.rb +1 -1
  116. data/lib/rubygems/resolver/installer_set.rb +3 -3
  117. data/lib/rubygems/resolver/molinillo/LICENSE +9 -0
  118. data/lib/rubygems/resolver/molinillo.rb +1 -1
  119. data/lib/rubygems/resolver/set.rb +0 -1
  120. data/lib/rubygems/resolver/specification.rb +1 -1
  121. data/lib/rubygems/resolver.rb +31 -31
  122. data/lib/rubygems/s3_uri_signer.rb +4 -5
  123. data/lib/rubygems/security/policy.rb +6 -4
  124. data/lib/rubygems/security/signer.rb +4 -5
  125. data/lib/rubygems/security.rb +54 -20
  126. data/lib/rubygems/security_option.rb +2 -2
  127. data/lib/rubygems/server.rb +2 -2
  128. data/lib/rubygems/source/git.rb +2 -2
  129. data/lib/rubygems/source.rb +7 -7
  130. data/lib/rubygems/spec_fetcher.rb +5 -5
  131. data/lib/rubygems/specification.rb +12 -12
  132. data/lib/rubygems/specification_policy.rb +2 -2
  133. data/lib/rubygems/uninstaller.rb +6 -6
  134. data/lib/rubygems/uri.rb +111 -0
  135. data/lib/rubygems/user_interaction.rb +3 -3
  136. data/lib/rubygems/util/licenses.rb +1 -1
  137. data/lib/rubygems/util.rb +1 -1
  138. data/lib/rubygems/validator.rb +2 -2
  139. data/lib/rubygems/version_option.rb +1 -1
  140. data/lib/rubygems.rb +16 -16
  141. data/rubygems-update.gemspec +1 -1
  142. data/test/rubygems/helper.rb +4 -12
  143. data/test/rubygems/private_ec_key.pem +9 -0
  144. data/test/rubygems/test_gem.rb +59 -71
  145. data/test/rubygems/test_gem_commands_cert_command.rb +63 -4
  146. data/test/rubygems/test_gem_commands_install_command.rb +25 -0
  147. data/test/rubygems/test_gem_package.rb +27 -26
  148. data/test/rubygems/test_gem_platform.rb +1 -0
  149. data/test/rubygems/test_gem_remote_fetcher.rb +30 -0
  150. data/test/rubygems/test_gem_request.rb +35 -9
  151. data/test/rubygems/test_gem_resolver_installer_set.rb +18 -0
  152. data/test/rubygems/test_gem_security.rb +32 -4
  153. data/test/rubygems/test_gem_source_fetch_problem.rb +10 -0
  154. data/test/rubygems/test_gem_specification.rb +228 -232
  155. data/test/rubygems/test_gem_uri.rb +39 -0
  156. metadata +18 -9
  157. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/monotonic_time.rb +0 -66
  158. data/lib/rubygems/uri_parser.rb +0 -34
  159. data/lib/rubygems/uri_parsing.rb +0 -23
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
- require 'rubygems/command'
3
- require 'rubygems/security'
2
+ require_relative '../command'
3
+ require_relative '../security'
4
4
 
5
5
  class Gem::Commands::CertCommand < Gem::Command
6
6
  def initialize
@@ -43,6 +43,11 @@ class Gem::Commands::CertCommand < Gem::Command
43
43
  options[:key] = open_private_key(key_file)
44
44
  end
45
45
 
46
+ add_option('-A', '--key-algorithm ALGORITHM',
47
+ 'Select which key algorithm to use for --build') do |algorithm, options|
48
+ options[:key_algorithm] = algorithm
49
+ end
50
+
46
51
  add_option('-s', '--sign CERT',
47
52
  'Signs CERT with the key from -K',
48
53
  'and the certificate from -C') do |cert_file, options|
@@ -89,14 +94,14 @@ class Gem::Commands::CertCommand < Gem::Command
89
94
  def open_private_key(key_file)
90
95
  check_openssl
91
96
  passphrase = ENV['GEM_PRIVATE_KEY_PASSPHRASE']
92
- key = OpenSSL::PKey::RSA.new File.read(key_file), passphrase
97
+ key = OpenSSL::PKey.read File.read(key_file), passphrase
93
98
  raise OptionParser::InvalidArgument,
94
99
  "#{key_file}: private key not found" unless key.private?
95
100
  key
96
101
  rescue Errno::ENOENT
97
102
  raise OptionParser::InvalidArgument, "#{key_file}: does not exist"
98
- rescue OpenSSL::PKey::RSAError
99
- raise OptionParser::InvalidArgument, "#{key_file}: invalid RSA key"
103
+ rescue OpenSSL::PKey::PKeyError, ArgumentError
104
+ raise OptionParser::InvalidArgument, "#{key_file}: invalid RSA, DSA, or EC key"
100
105
  end
101
106
 
102
107
  def execute
@@ -170,7 +175,8 @@ class Gem::Commands::CertCommand < Gem::Command
170
175
  raise Gem::CommandLineError,
171
176
  "Passphrase and passphrase confirmation don't match" unless passphrase == passphrase_confirmation
172
177
 
173
- key = Gem::Security.create_key
178
+ algorithm = options[:key_algorithm] || Gem::Security::DEFAULT_KEY_ALGORITHM
179
+ key = Gem::Security.create_key(algorithm)
174
180
  key_path = Gem::Security.write key, "gem-private_key.pem", 0600, passphrase
175
181
 
176
182
  return key, key_path
@@ -255,13 +261,14 @@ For further reading on signing gems see `ri Gem::Security`.
255
261
  key_file = File.join Gem.default_key_path
256
262
  key = File.read key_file
257
263
  passphrase = ENV['GEM_PRIVATE_KEY_PASSPHRASE']
258
- options[:key] = OpenSSL::PKey::RSA.new key, passphrase
264
+ options[:key] = OpenSSL::PKey.read key, passphrase
265
+
259
266
  rescue Errno::ENOENT
260
267
  alert_error \
261
268
  "--private-key not specified and ~/.gem/gem-private_key.pem does not exist"
262
269
 
263
270
  terminate_interaction 1
264
- rescue OpenSSL::PKey::RSAError
271
+ rescue OpenSSL::PKey::PKeyError
265
272
  alert_error \
266
273
  "--private-key not specified and ~/.gem/gem-private_key.pem is not valid"
267
274
 
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
- require 'rubygems/command'
3
- require 'rubygems/version_option'
4
- require 'rubygems/validator'
5
- require 'rubygems/doctor'
2
+ require_relative '../command'
3
+ require_relative '../version_option'
4
+ require_relative '../validator'
5
+ require_relative '../doctor'
6
6
 
7
7
  class Gem::Commands::CheckCommand < Gem::Command
8
8
  include Gem::VersionOption
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
- require 'rubygems/command'
3
- require 'rubygems/dependency_list'
4
- require 'rubygems/uninstaller'
2
+ require_relative '../command'
3
+ require_relative '../dependency_list'
4
+ require_relative '../uninstaller'
5
5
 
6
6
  class Gem::Commands::CleanupCommand < Gem::Command
7
7
  def initialize
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
- require 'rubygems/command'
3
- require 'rubygems/version_option'
2
+ require_relative '../command'
3
+ require_relative '../version_option'
4
4
 
5
5
  class Gem::Commands::ContentsCommand < Gem::Command
6
6
  include Gem::VersionOption
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
- require 'rubygems/command'
3
- require 'rubygems/local_remote_options'
4
- require 'rubygems/version_option'
2
+ require_relative '../command'
3
+ require_relative '../local_remote_options'
4
+ require_relative '../version_option'
5
5
 
6
6
  class Gem::Commands::DependencyCommand < Gem::Command
7
7
  include Gem::LocalRemoteOptions
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
- require 'rubygems/command'
2
+ require_relative '../command'
3
3
 
4
4
  class Gem::Commands::EnvironmentCommand < Gem::Command
5
5
  def initialize
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
- require 'rubygems/command'
3
- require 'rubygems/local_remote_options'
4
- require 'rubygems/version_option'
2
+ require_relative '../command'
3
+ require_relative '../local_remote_options'
4
+ require_relative '../version_option'
5
5
 
6
6
  class Gem::Commands::FetchCommand < Gem::Command
7
7
  include Gem::LocalRemoteOptions
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
- require 'rubygems/command'
3
- require 'rubygems/indexer'
2
+ require_relative '../command'
3
+ require_relative '../indexer'
4
4
 
5
5
  ##
6
6
  # Generates a index files for use as a gem server.
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
- require 'rubygems/command'
2
+ require_relative '../command'
3
3
 
4
4
  class Gem::Commands::HelpCommand < Gem::Command
5
5
  # :stopdoc:
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'rubygems/command'
4
- require 'rubygems/query_utils'
3
+ require_relative '../command'
4
+ require_relative '../query_utils'
5
5
 
6
6
  class Gem::Commands::InfoCommand < Gem::Command
7
7
  include Gem::QueryUtils
@@ -1,10 +1,10 @@
1
1
  # frozen_string_literal: true
2
- require 'rubygems/command'
3
- require 'rubygems/install_update_options'
4
- require 'rubygems/dependency_installer'
5
- require 'rubygems/local_remote_options'
6
- require 'rubygems/validator'
7
- require 'rubygems/version_option'
2
+ require_relative '../command'
3
+ require_relative '../install_update_options'
4
+ require_relative '../dependency_installer'
5
+ require_relative '../local_remote_options'
6
+ require_relative '../validator'
7
+ require_relative '../version_option'
8
8
 
9
9
  ##
10
10
  # Gem installer command line tool
@@ -169,7 +169,7 @@ You can use `i` command instead of `install`.
169
169
  end
170
170
 
171
171
  def install_from_gemdeps # :nodoc:
172
- require 'rubygems/request_set'
172
+ require_relative '../request_set'
173
173
  rs = Gem::RequestSet.new
174
174
 
175
175
  specs = rs.install_from_gemdeps options do |req, inst|
@@ -244,11 +244,11 @@ You can use `i` command instead of `install`.
244
244
 
245
245
  def load_hooks # :nodoc:
246
246
  if options[:install_as_default]
247
- require 'rubygems/install_default_message'
247
+ require_relative '../install_default_message'
248
248
  else
249
- require 'rubygems/install_message'
249
+ require_relative '../install_message'
250
250
  end
251
- require 'rubygems/rdoc'
251
+ require_relative '../rdoc'
252
252
  end
253
253
 
254
254
  def show_install_errors(errors) # :nodoc:
@@ -257,7 +257,8 @@ You can use `i` command instead of `install`.
257
257
  errors.each do |x|
258
258
  return unless Gem::SourceFetchProblem === x
259
259
 
260
- msg = "Unable to pull data from '#{x.source.uri}': #{x.error.message}"
260
+ require_relative "../uri"
261
+ msg = "Unable to pull data from '#{Gem::Uri.new(x.source.uri).redacted}': #{x.error.message}"
261
262
 
262
263
  alert_warning msg
263
264
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
- require 'rubygems/command'
3
- require 'rubygems/query_utils'
2
+ require_relative '../command'
3
+ require_relative '../query_utils'
4
4
 
5
5
  ##
6
6
  # Searches for gems starting with the supplied argument.
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
- require 'rubygems/command'
2
+ require_relative '../command'
3
3
 
4
4
  class Gem::Commands::LockCommand < Gem::Command
5
5
  def initialize
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
- require 'rubygems/command'
2
+ require_relative '../command'
3
3
 
4
4
  unless defined? Gem::Commands::MirrorCommand
5
5
  class Gem::Commands::MirrorCommand < Gem::Command
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
- require 'rubygems/command'
3
- require 'rubygems/version_option'
2
+ require_relative '../command'
3
+ require_relative '../version_option'
4
4
 
5
5
  class Gem::Commands::OpenCommand < Gem::Command
6
6
  include Gem::VersionOption
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
- require 'rubygems/command'
3
- require 'rubygems/local_remote_options'
4
- require 'rubygems/spec_fetcher'
5
- require 'rubygems/version_option'
2
+ require_relative '../command'
3
+ require_relative '../local_remote_options'
4
+ require_relative '../spec_fetcher'
5
+ require_relative '../version_option'
6
6
 
7
7
  class Gem::Commands::OutdatedCommand < Gem::Command
8
8
  include Gem::LocalRemoteOptions
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
- require 'rubygems/command'
3
- require 'rubygems/local_remote_options'
4
- require 'rubygems/gemcutter_utilities'
5
- require 'rubygems/text'
2
+ require_relative '../command'
3
+ require_relative '../local_remote_options'
4
+ require_relative '../gemcutter_utilities'
5
+ require_relative '../text'
6
6
 
7
7
  class Gem::Commands::OwnerCommand < Gem::Command
8
8
  include Gem::Text
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
- require 'rubygems/command'
3
- require 'rubygems/package'
4
- require 'rubygems/installer'
5
- require 'rubygems/version_option'
2
+ require_relative '../command'
3
+ require_relative '../package'
4
+ require_relative '../installer'
5
+ require_relative '../version_option'
6
6
 
7
7
  class Gem::Commands::PristineCommand < Gem::Command
8
8
  include Gem::VersionOption
@@ -138,7 +138,7 @@ extensions will be restored.
138
138
  gem = spec.cache_file
139
139
 
140
140
  unless File.exist? gem or options[:only_executables] or options[:only_plugins]
141
- require 'rubygems/remote_fetcher'
141
+ require_relative '../remote_fetcher'
142
142
 
143
143
  say "Cached gem for #{spec.full_name} not found, attempting to fetch..."
144
144
 
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
- require 'rubygems/command'
3
- require 'rubygems/local_remote_options'
4
- require 'rubygems/gemcutter_utilities'
5
- require 'rubygems/package'
2
+ require_relative '../command'
3
+ require_relative '../local_remote_options'
4
+ require_relative '../gemcutter_utilities'
5
+ require_relative '../package'
6
6
 
7
7
  class Gem::Commands::PushCommand < Gem::Command
8
8
  include Gem::LocalRemoteOptions
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
- require 'rubygems/command'
3
- require 'rubygems/query_utils'
4
- require 'rubygems/deprecate'
2
+ require_relative '../command'
3
+ require_relative '../query_utils'
4
+ require_relative '../deprecate'
5
5
 
6
6
  class Gem::Commands::QueryCommand < Gem::Command
7
7
  extend Gem::Deprecate
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
- require 'rubygems/command'
3
- require 'rubygems/version_option'
4
- require 'rubygems/rdoc'
2
+ require_relative '../command'
3
+ require_relative '../version_option'
4
+ require_relative '../rdoc'
5
5
  require 'fileutils'
6
6
 
7
7
  class Gem::Commands::RdocCommand < Gem::Command
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
- require 'rubygems/command'
3
- require 'rubygems/query_utils'
2
+ require_relative '../command'
3
+ require_relative '../query_utils'
4
4
 
5
5
  class Gem::Commands::SearchCommand < Gem::Command
6
6
  include Gem::QueryUtils
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
- require 'rubygems/command'
3
- require 'rubygems/server'
4
- require 'rubygems/deprecate'
2
+ require_relative '../command'
3
+ require_relative '../server'
4
+ require_relative '../deprecate'
5
5
 
6
6
  class Gem::Commands::ServerCommand < Gem::Command
7
7
  extend Gem::Deprecate
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
- require 'rubygems/command'
2
+ require_relative '../command'
3
3
 
4
4
  ##
5
5
  # Installs RubyGems itself. This command is ordinarily only available from a
@@ -348,7 +348,7 @@ By default, this RubyGems will install gem as:
348
348
  rm_rf dir
349
349
  end
350
350
 
351
- require 'rubygems/rdoc'
351
+ require_relative '../rdoc'
352
352
 
353
353
  fake_spec = Gem::Specification.new 'rubygems', Gem::VERSION
354
354
  def fake_spec.full_gem_path
@@ -407,7 +407,7 @@ By default, this RubyGems will install gem as:
407
407
  cp File.join("bundler", bundler_spec.bindir, e), File.join(bundler_bin_dir, e)
408
408
  end
409
409
 
410
- require 'rubygems/installer'
410
+ require_relative '../installer'
411
411
 
412
412
  Dir.chdir("bundler") do
413
413
  built_gem = Gem::Package.build(bundler_spec)
@@ -596,7 +596,7 @@ abort "#{deprecation_message}"
596
596
  end
597
597
 
598
598
  def uninstall_old_gemcutter
599
- require 'rubygems/uninstaller'
599
+ require_relative '../uninstaller'
600
600
 
601
601
  ui = Gem::Uninstaller.new('gemcutter', :all => true, :ignore => true,
602
602
  :version => '< 0.4')
@@ -605,7 +605,7 @@ abort "#{deprecation_message}"
605
605
  end
606
606
 
607
607
  def regenerate_binstubs
608
- require "rubygems/commands/pristine_command"
608
+ require_relative "pristine_command"
609
609
  say "Regenerating binstubs"
610
610
 
611
611
  args = %w[--all --only-executables --silent]
@@ -618,7 +618,7 @@ abort "#{deprecation_message}"
618
618
  end
619
619
 
620
620
  def regenerate_plugins
621
- require "rubygems/commands/pristine_command"
621
+ require_relative "pristine_command"
622
622
  say "Regenerating plugins"
623
623
 
624
624
  args = %w[--all --only-plugins --silent]
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
- require 'rubygems/command'
3
- require 'rubygems/gemcutter_utilities'
2
+ require_relative '../command'
3
+ require_relative '../gemcutter_utilities'
4
4
 
5
5
  class Gem::Commands::SigninCommand < Gem::Command
6
6
  include Gem::GemcutterUtilities
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
- require 'rubygems/command'
2
+ require_relative '../command'
3
3
 
4
4
  class Gem::Commands::SignoutCommand < Gem::Command
5
5
  def initialize
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
- require 'rubygems/command'
3
- require 'rubygems/remote_fetcher'
4
- require 'rubygems/spec_fetcher'
5
- require 'rubygems/local_remote_options'
2
+ require_relative '../command'
3
+ require_relative '../remote_fetcher'
4
+ require_relative '../spec_fetcher'
5
+ require_relative '../local_remote_options'
6
6
 
7
7
  class Gem::Commands::SourcesCommand < Gem::Command
8
8
  include Gem::LocalRemoteOptions
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
- require 'rubygems/command'
3
- require 'rubygems/local_remote_options'
4
- require 'rubygems/version_option'
5
- require 'rubygems/package'
2
+ require_relative '../command'
3
+ require_relative '../local_remote_options'
4
+ require_relative '../version_option'
5
+ require_relative '../package'
6
6
 
7
7
  class Gem::Commands::SpecificationCommand < Gem::Command
8
8
  include Gem::LocalRemoteOptions
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
- require 'rubygems/command'
2
+ require_relative '../command'
3
3
 
4
4
  class Gem::Commands::StaleCommand < Gem::Command
5
5
  def initialize
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
- require 'rubygems/command'
3
- require 'rubygems/version_option'
4
- require 'rubygems/uninstaller'
2
+ require_relative '../command'
3
+ require_relative '../version_option'
4
+ require_relative '../uninstaller'
5
5
  require 'fileutils'
6
6
 
7
7
  ##
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
- require 'rubygems/command'
3
- require 'rubygems/version_option'
4
- require 'rubygems/security_option'
5
- require 'rubygems/remote_fetcher'
6
- require 'rubygems/package'
2
+ require_relative '../command'
3
+ require_relative '../version_option'
4
+ require_relative '../security_option'
5
+ require_relative '../remote_fetcher'
6
+ require_relative '../package'
7
7
 
8
8
  # forward-declare
9
9
 
@@ -1,13 +1,13 @@
1
1
  # frozen_string_literal: true
2
- require 'rubygems/command'
3
- require 'rubygems/command_manager'
4
- require 'rubygems/dependency_installer'
5
- require 'rubygems/install_update_options'
6
- require 'rubygems/local_remote_options'
7
- require 'rubygems/spec_fetcher'
8
- require 'rubygems/version_option'
9
- require 'rubygems/install_message' # must come before rdoc for messaging
10
- require 'rubygems/rdoc'
2
+ require_relative '../command'
3
+ require_relative '../command_manager'
4
+ require_relative '../dependency_installer'
5
+ require_relative '../install_update_options'
6
+ require_relative '../local_remote_options'
7
+ require_relative '../spec_fetcher'
8
+ require_relative '../version_option'
9
+ require_relative '../install_message' # must come before rdoc for messaging
10
+ require_relative '../rdoc'
11
11
 
12
12
  class Gem::Commands::UpdateCommand < Gem::Command
13
13
  include Gem::InstallUpdateOptions
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
- require 'rubygems/command'
2
+ require_relative '../command'
3
3
 
4
4
  class Gem::Commands::WhichCommand < Gem::Command
5
5
  def initialize
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
- require 'rubygems/command'
3
- require 'rubygems/local_remote_options'
4
- require 'rubygems/version_option'
5
- require 'rubygems/gemcutter_utilities'
2
+ require_relative '../command'
3
+ require_relative '../local_remote_options'
4
+ require_relative '../version_option'
5
+ require_relative '../gemcutter_utilities'
6
6
 
7
7
  class Gem::Commands::YankCommand < Gem::Command
8
8
  include Gem::LocalRemoteOptions
@@ -5,7 +5,7 @@
5
5
  # See LICENSE.txt for permissions.
6
6
  #++
7
7
 
8
- require 'rubygems/user_interaction'
8
+ require_relative 'user_interaction'
9
9
  require 'rbconfig'
10
10
 
11
11
  ##
@@ -11,10 +11,10 @@ module CoreExtensions
11
11
  IPV4_DELAY_SECONDS = 0.1
12
12
 
13
13
  def initialize(host, serv, *rest)
14
- mutex = Mutex.new
14
+ mutex = Thread::Mutex.new
15
15
  addrs = []
16
16
  threads = []
17
- cond_var = ConditionVariable.new
17
+ cond_var = Thread::ConditionVariable.new
18
18
 
19
19
  Addrinfo.foreach(host, serv, nil, :STREAM) do |addr|
20
20
  Thread.report_on_exception = false if defined? Thread.report_on_exception = ()
@@ -73,7 +73,7 @@ module Gem
73
73
  # Path to specification files of default gems.
74
74
 
75
75
  def self.default_specifications_dir
76
- File.join(Gem.default_dir, "specifications", "default")
76
+ @default_specifications_dir ||= File.join(Gem.default_dir, "specifications", "default")
77
77
  end
78
78
 
79
79
  ##
@@ -1,12 +1,12 @@
1
1
  # frozen_string_literal: true
2
- require 'rubygems'
3
- require 'rubygems/dependency_list'
4
- require 'rubygems/package'
5
- require 'rubygems/installer'
6
- require 'rubygems/spec_fetcher'
7
- require 'rubygems/user_interaction'
8
- require 'rubygems/available_set'
9
- require 'rubygems/deprecate'
2
+ require_relative '../rubygems'
3
+ require_relative 'dependency_list'
4
+ require_relative 'package'
5
+ require_relative 'installer'
6
+ require_relative 'spec_fetcher'
7
+ require_relative 'user_interaction'
8
+ require_relative 'available_set'
9
+ require_relative 'deprecate'
10
10
 
11
11
  ##
12
12
  # Installs a gem along with all its dependencies from local and remote gems.
@@ -6,7 +6,7 @@
6
6
  #++
7
7
 
8
8
  require 'tsort'
9
- require 'rubygems/deprecate'
9
+ require_relative 'deprecate'
10
10
 
11
11
  ##
12
12
  # Gem::DependencyList is used for installing and uninstalling gems in the
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
- require 'rubygems'
3
- require 'rubygems/user_interaction'
2
+ require_relative '../rubygems'
3
+ require_relative 'user_interaction'
4
4
 
5
5
  ##
6
6
  # Cleans up after a partially-failed uninstall or for an invalid
@@ -171,8 +171,7 @@ module Gem
171
171
  # An English description of the error.
172
172
 
173
173
  def wordy
174
- @source.uri.password = 'REDACTED' unless @source.uri.password.nil?
175
- "Unable to download data from #{@source.uri} - #{@error.message}"
174
+ "Unable to download data from #{Gem::Uri.new(@source.uri).redacted} - #{@error.message}"
176
175
  end
177
176
 
178
177
  ##