rubygems-update 3.3.18 → 3.3.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (388) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +65 -0
  3. data/Manifest.txt +11 -0
  4. data/bin/gem +2 -2
  5. data/bin/update_rubygems +4 -4
  6. data/bundler/CHANGELOG.md +100 -0
  7. data/bundler/UPGRADING.md +11 -4
  8. data/bundler/bundler.gemspec +6 -8
  9. data/bundler/lib/bundler/build_metadata.rb +2 -2
  10. data/bundler/lib/bundler/cli/common.rb +1 -0
  11. data/bundler/lib/bundler/cli/install.rb +5 -2
  12. data/bundler/lib/bundler/cli/outdated.rb +12 -3
  13. data/bundler/lib/bundler/cli/platform.rb +1 -1
  14. data/bundler/lib/bundler/cli.rb +7 -4
  15. data/bundler/lib/bundler/current_ruby.rb +14 -5
  16. data/bundler/lib/bundler/definition.rb +102 -31
  17. data/bundler/lib/bundler/dependency.rb +18 -85
  18. data/bundler/lib/bundler/dsl.rb +2 -2
  19. data/bundler/lib/bundler/endpoint_specification.rb +2 -13
  20. data/bundler/lib/bundler/feature_flag.rb +0 -1
  21. data/bundler/lib/bundler/fetcher.rb +6 -6
  22. data/bundler/lib/bundler/gem_helpers.rb +7 -1
  23. data/bundler/lib/bundler/gem_version_promoter.rb +8 -18
  24. data/bundler/lib/bundler/index.rb +10 -12
  25. data/bundler/lib/bundler/injector.rb +2 -1
  26. data/bundler/lib/bundler/inline.rb +1 -1
  27. data/bundler/lib/bundler/installer/standalone.rb +1 -1
  28. data/bundler/lib/bundler/installer.rb +14 -12
  29. data/bundler/lib/bundler/lazy_specification.rb +30 -23
  30. data/bundler/lib/bundler/lockfile_generator.rb +1 -1
  31. data/bundler/lib/bundler/man/bundle-add.1 +6 -2
  32. data/bundler/lib/bundler/man/bundle-add.1.ronn +4 -1
  33. data/bundler/lib/bundler/man/bundle-binstubs.1 +1 -1
  34. data/bundler/lib/bundler/man/bundle-cache.1 +7 -1
  35. data/bundler/lib/bundler/man/bundle-cache.1.ronn +7 -0
  36. data/bundler/lib/bundler/man/bundle-check.1 +1 -1
  37. data/bundler/lib/bundler/man/bundle-clean.1 +1 -1
  38. data/bundler/lib/bundler/man/bundle-config.1 +25 -6
  39. data/bundler/lib/bundler/man/bundle-config.1.ronn +16 -6
  40. data/bundler/lib/bundler/man/bundle-console.1 +53 -0
  41. data/bundler/lib/bundler/man/bundle-console.1.ronn +44 -0
  42. data/bundler/lib/bundler/man/bundle-doctor.1 +1 -1
  43. data/bundler/lib/bundler/man/bundle-exec.1 +2 -2
  44. data/bundler/lib/bundler/man/bundle-exec.1.ronn +1 -1
  45. data/bundler/lib/bundler/man/bundle-gem.1 +1 -1
  46. data/bundler/lib/bundler/man/bundle-help.1 +13 -0
  47. data/bundler/lib/bundler/man/bundle-help.1.ronn +12 -0
  48. data/bundler/lib/bundler/man/bundle-info.1 +1 -1
  49. data/bundler/lib/bundler/man/bundle-init.1 +1 -1
  50. data/bundler/lib/bundler/man/bundle-inject.1 +5 -2
  51. data/bundler/lib/bundler/man/bundle-inject.1.ronn +3 -1
  52. data/bundler/lib/bundler/man/bundle-install.1 +5 -1
  53. data/bundler/lib/bundler/man/bundle-install.1.ronn +6 -0
  54. data/bundler/lib/bundler/man/bundle-list.1 +1 -1
  55. data/bundler/lib/bundler/man/bundle-lock.1 +1 -1
  56. data/bundler/lib/bundler/man/bundle-open.1 +1 -1
  57. data/bundler/lib/bundler/man/bundle-outdated.1 +1 -1
  58. data/bundler/lib/bundler/man/bundle-platform.1 +16 -6
  59. data/bundler/lib/bundler/man/bundle-platform.1.ronn +14 -7
  60. data/bundler/lib/bundler/man/bundle-plugin.1 +81 -0
  61. data/bundler/lib/bundler/man/bundle-plugin.1.ronn +59 -0
  62. data/bundler/lib/bundler/man/bundle-pristine.1 +1 -1
  63. data/bundler/lib/bundler/man/bundle-remove.1 +1 -1
  64. data/bundler/lib/bundler/man/bundle-show.1 +1 -1
  65. data/bundler/lib/bundler/man/bundle-update.1 +1 -1
  66. data/bundler/lib/bundler/man/bundle-version.1 +35 -0
  67. data/bundler/lib/bundler/man/bundle-version.1.ronn +24 -0
  68. data/bundler/lib/bundler/man/bundle-viz.1 +4 -1
  69. data/bundler/lib/bundler/man/bundle-viz.1.ronn +2 -0
  70. data/bundler/lib/bundler/man/bundle.1 +15 -10
  71. data/bundler/lib/bundler/man/bundle.1.ronn +12 -7
  72. data/bundler/lib/bundler/man/gemfile.5 +23 -47
  73. data/bundler/lib/bundler/man/gemfile.5.ronn +32 -43
  74. data/bundler/lib/bundler/man/index.txt +4 -0
  75. data/bundler/lib/bundler/match_metadata.rb +13 -0
  76. data/bundler/lib/bundler/match_remote_metadata.rb +29 -0
  77. data/bundler/lib/bundler/plugin.rb +2 -0
  78. data/bundler/lib/bundler/remote_specification.rb +6 -11
  79. data/bundler/lib/bundler/resolver/base.rb +50 -0
  80. data/bundler/lib/bundler/resolver/spec_group.rb +11 -8
  81. data/bundler/lib/bundler/resolver.rb +95 -90
  82. data/bundler/lib/bundler/ruby_dsl.rb +1 -1
  83. data/bundler/lib/bundler/ruby_version.rb +5 -5
  84. data/bundler/lib/bundler/rubygems_ext.rb +52 -1
  85. data/bundler/lib/bundler/rubygems_gem_installer.rb +19 -12
  86. data/bundler/lib/bundler/settings.rb +1 -1
  87. data/bundler/lib/bundler/source/metadata.rb +1 -1
  88. data/bundler/lib/bundler/source_list.rb +4 -0
  89. data/bundler/lib/bundler/spec_set.rb +48 -33
  90. data/bundler/lib/bundler/version.rb +1 -1
  91. data/bundler/lib/bundler.rb +3 -3
  92. data/lib/rubygems/available_set.rb +3 -3
  93. data/lib/rubygems/basic_specification.rb +4 -4
  94. data/lib/rubygems/command.rb +25 -25
  95. data/lib/rubygems/command_manager.rb +9 -9
  96. data/lib/rubygems/commands/build_command.rb +8 -8
  97. data/lib/rubygems/commands/cert_command.rb +33 -33
  98. data/lib/rubygems/commands/check_command.rb +20 -20
  99. data/lib/rubygems/commands/cleanup_command.rb +17 -17
  100. data/lib/rubygems/commands/contents_command.rb +13 -13
  101. data/lib/rubygems/commands/dependency_command.rb +16 -16
  102. data/lib/rubygems/commands/environment_command.rb +5 -5
  103. data/lib/rubygems/commands/fetch_command.rb +8 -8
  104. data/lib/rubygems/commands/generate_index_command.rb +17 -17
  105. data/lib/rubygems/commands/help_command.rb +3 -3
  106. data/lib/rubygems/commands/info_command.rb +3 -3
  107. data/lib/rubygems/commands/install_command.rb +20 -20
  108. data/lib/rubygems/commands/list_command.rb +3 -3
  109. data/lib/rubygems/commands/lock_command.rb +4 -4
  110. data/lib/rubygems/commands/mirror_command.rb +3 -3
  111. data/lib/rubygems/commands/open_command.rb +9 -9
  112. data/lib/rubygems/commands/outdated_command.rb +5 -5
  113. data/lib/rubygems/commands/owner_command.rb +11 -11
  114. data/lib/rubygems/commands/pristine_command.rb +36 -36
  115. data/lib/rubygems/commands/push_command.rb +8 -8
  116. data/lib/rubygems/commands/query_command.rb +8 -8
  117. data/lib/rubygems/commands/rdoc_command.rb +17 -17
  118. data/lib/rubygems/commands/search_command.rb +3 -3
  119. data/lib/rubygems/commands/server_command.rb +3 -3
  120. data/lib/rubygems/commands/setup_command.rb +96 -106
  121. data/lib/rubygems/commands/signin_command.rb +9 -9
  122. data/lib/rubygems/commands/signout_command.rb +7 -7
  123. data/lib/rubygems/commands/sources_command.rb +21 -21
  124. data/lib/rubygems/commands/specification_command.rb +13 -13
  125. data/lib/rubygems/commands/stale_command.rb +2 -2
  126. data/lib/rubygems/commands/uninstall_command.rb +40 -40
  127. data/lib/rubygems/commands/unpack_command.rb +12 -12
  128. data/lib/rubygems/commands/update_command.rb +40 -56
  129. data/lib/rubygems/commands/which_command.rb +7 -7
  130. data/lib/rubygems/commands/yank_command.rb +11 -11
  131. data/lib/rubygems/config_file.rb +21 -21
  132. data/lib/rubygems/core_ext/kernel_gem.rb +1 -1
  133. data/lib/rubygems/core_ext/kernel_require.rb +1 -1
  134. data/lib/rubygems/core_ext/kernel_warn.rb +1 -1
  135. data/lib/rubygems/core_ext/tcpsocket_init.rb +1 -1
  136. data/lib/rubygems/defaults.rb +16 -16
  137. data/lib/rubygems/dependency.rb +9 -9
  138. data/lib/rubygems/dependency_installer.rb +13 -13
  139. data/lib/rubygems/dependency_list.rb +6 -6
  140. data/lib/rubygems/doctor.rb +18 -18
  141. data/lib/rubygems/errors.rb +2 -2
  142. data/lib/rubygems/exceptions.rb +5 -5
  143. data/lib/rubygems/ext/build_error.rb +1 -1
  144. data/lib/rubygems/ext/builder.rb +16 -16
  145. data/lib/rubygems/ext/cargo_builder.rb +7 -7
  146. data/lib/rubygems/ext/cmake_builder.rb +2 -2
  147. data/lib/rubygems/ext/configure_builder.rb +1 -1
  148. data/lib/rubygems/ext/ext_conf_builder.rb +8 -8
  149. data/lib/rubygems/ext/rake_builder.rb +3 -3
  150. data/lib/rubygems/ext.rb +7 -7
  151. data/lib/rubygems/gem_runner.rb +5 -5
  152. data/lib/rubygems/gemcutter_utilities.rb +31 -28
  153. data/lib/rubygems/indexer.rb +27 -27
  154. data/lib/rubygems/install_default_message.rb +2 -2
  155. data/lib/rubygems/install_message.rb +2 -2
  156. data/lib/rubygems/install_update_options.rb +55 -55
  157. data/lib/rubygems/installer.rb +32 -40
  158. data/lib/rubygems/installer_uninstaller_utils.rb +2 -2
  159. data/lib/rubygems/local_remote_options.rb +18 -20
  160. data/lib/rubygems/mock_gem_ui.rb +2 -2
  161. data/lib/rubygems/name_tuple.rb +4 -4
  162. data/lib/rubygems/optparse.rb +1 -1
  163. data/lib/rubygems/package/file_source.rb +2 -2
  164. data/lib/rubygems/package/old.rb +8 -8
  165. data/lib/rubygems/package/tar_header.rb +50 -50
  166. data/lib/rubygems/package/tar_reader/entry.rb +2 -2
  167. data/lib/rubygems/package/tar_reader.rb +1 -1
  168. data/lib/rubygems/package/tar_writer.rb +7 -7
  169. data/lib/rubygems/package.rb +54 -43
  170. data/lib/rubygems/package_task.rb +4 -4
  171. data/lib/rubygems/platform.rb +66 -55
  172. data/lib/rubygems/psych_tree.rb +1 -1
  173. data/lib/rubygems/query_utils.rb +35 -35
  174. data/lib/rubygems/rdoc.rb +2 -2
  175. data/lib/rubygems/remote_fetcher.rb +22 -22
  176. data/lib/rubygems/request/connection_pools.rb +4 -4
  177. data/lib/rubygems/request/http_pool.rb +1 -1
  178. data/lib/rubygems/request.rb +22 -22
  179. data/lib/rubygems/request_set/gem_dependency_api.rb +18 -18
  180. data/lib/rubygems/request_set/lockfile/parser.rb +26 -26
  181. data/lib/rubygems/request_set/lockfile/tokenizer.rb +4 -4
  182. data/lib/rubygems/request_set/lockfile.rb +5 -5
  183. data/lib/rubygems/request_set.rb +17 -17
  184. data/lib/rubygems/requirement.rb +6 -6
  185. data/lib/rubygems/resolver/activation_request.rb +3 -3
  186. data/lib/rubygems/resolver/api_set.rb +4 -4
  187. data/lib/rubygems/resolver/api_specification.rb +6 -6
  188. data/lib/rubygems/resolver/best_set.rb +5 -5
  189. data/lib/rubygems/resolver/conflict.rb +10 -10
  190. data/lib/rubygems/resolver/dependency_request.rb +2 -2
  191. data/lib/rubygems/resolver/git_set.rb +2 -2
  192. data/lib/rubygems/resolver/git_specification.rb +6 -6
  193. data/lib/rubygems/resolver/index_set.rb +3 -3
  194. data/lib/rubygems/resolver/index_specification.rb +6 -5
  195. data/lib/rubygems/resolver/installed_specification.rb +4 -4
  196. data/lib/rubygems/resolver/installer_set.rb +11 -16
  197. data/lib/rubygems/resolver/local_specification.rb +2 -2
  198. data/lib/rubygems/resolver/lock_set.rb +4 -4
  199. data/lib/rubygems/resolver/lock_specification.rb +4 -4
  200. data/lib/rubygems/resolver/molinillo.rb +1 -1
  201. data/lib/rubygems/resolver/specification.rb +1 -1
  202. data/lib/rubygems/resolver/vendor_set.rb +1 -1
  203. data/lib/rubygems/resolver/vendor_specification.rb +3 -3
  204. data/lib/rubygems/resolver.rb +39 -39
  205. data/lib/rubygems/s3_uri_signer.rb +6 -6
  206. data/lib/rubygems/safe_yaml.rb +2 -2
  207. data/lib/rubygems/security/policies.rb +11 -11
  208. data/lib/rubygems/security/policy.rb +18 -18
  209. data/lib/rubygems/security/signer.rb +5 -5
  210. data/lib/rubygems/security/trust_dir.rb +3 -3
  211. data/lib/rubygems/security.rb +28 -28
  212. data/lib/rubygems/security_option.rb +5 -5
  213. data/lib/rubygems/source/git.rb +21 -21
  214. data/lib/rubygems/source/installed.rb +1 -1
  215. data/lib/rubygems/source/local.rb +2 -2
  216. data/lib/rubygems/source/specific_file.rb +1 -1
  217. data/lib/rubygems/source.rb +16 -16
  218. data/lib/rubygems/spec_fetcher.rb +9 -9
  219. data/lib/rubygems/specification.rb +63 -62
  220. data/lib/rubygems/specification_policy.rb +15 -15
  221. data/lib/rubygems/stub_specification.rb +5 -5
  222. data/lib/rubygems/tsort.rb +1 -1
  223. data/lib/rubygems/uninstaller.rb +18 -18
  224. data/lib/rubygems/uri.rb +4 -4
  225. data/lib/rubygems/uri_formatter.rb +1 -1
  226. data/lib/rubygems/user_interaction.rb +33 -19
  227. data/lib/rubygems/util/licenses.rb +3 -3
  228. data/lib/rubygems/util.rb +10 -10
  229. data/lib/rubygems/validator.rb +5 -5
  230. data/lib/rubygems/version.rb +15 -9
  231. data/lib/rubygems/version_option.rb +3 -3
  232. data/lib/rubygems.rb +62 -61
  233. data/rubygems-update.gemspec +2 -2
  234. data/setup.rb +9 -9
  235. data/test/rubygems/helper.rb +132 -134
  236. data/test/rubygems/installer_test_case.rb +13 -13
  237. data/test/rubygems/package/tar_test_case.rb +2 -2
  238. data/test/rubygems/plugin/exception/rubygems_plugin.rb +1 -1
  239. data/test/rubygems/plugin/standarderror/rubygems_plugin.rb +1 -1
  240. data/test/rubygems/rubygems_plugin.rb +2 -2
  241. data/test/rubygems/specifications/rubyforge-0.0.1.gemspec +4 -4
  242. data/test/rubygems/test_bundled_ca.rb +10 -10
  243. data/test/rubygems/test_config.rb +3 -3
  244. data/test/rubygems/test_deprecate.rb +3 -3
  245. data/test/rubygems/test_exit.rb +2 -2
  246. data/test/rubygems/test_gem.rb +342 -342
  247. data/test/rubygems/test_gem_available_set.rb +21 -21
  248. data/test/rubygems/test_gem_bundler_version_finder.rb +1 -1
  249. data/test/rubygems/test_gem_command.rb +44 -44
  250. data/test/rubygems/test_gem_command_manager.rb +29 -29
  251. data/test/rubygems/test_gem_commands_build_command.rb +63 -63
  252. data/test/rubygems/test_gem_commands_cert_command.rb +97 -99
  253. data/test/rubygems/test_gem_commands_check_command.rb +4 -4
  254. data/test/rubygems/test_gem_commands_cleanup_command.rb +40 -40
  255. data/test/rubygems/test_gem_commands_contents_command.rb +27 -27
  256. data/test/rubygems/test_gem_commands_dependency_command.rb +36 -36
  257. data/test/rubygems/test_gem_commands_environment_command.rb +16 -16
  258. data/test/rubygems/test_gem_commands_fetch_command.rb +37 -37
  259. data/test/rubygems/test_gem_commands_generate_index_command.rb +7 -7
  260. data/test/rubygems/test_gem_commands_help_command.rb +13 -13
  261. data/test/rubygems/test_gem_commands_info_command.rb +28 -2
  262. data/test/rubygems/test_gem_commands_install_command.rb +131 -131
  263. data/test/rubygems/test_gem_commands_list_command.rb +4 -4
  264. data/test/rubygems/test_gem_commands_lock_command.rb +10 -10
  265. data/test/rubygems/test_gem_commands_mirror.rb +2 -2
  266. data/test/rubygems/test_gem_commands_open_command.rb +4 -4
  267. data/test/rubygems/test_gem_commands_outdated_command.rb +9 -9
  268. data/test/rubygems/test_gem_commands_owner_command.rb +41 -41
  269. data/test/rubygems/test_gem_commands_pristine_command.rb +92 -92
  270. data/test/rubygems/test_gem_commands_push_command.rb +54 -54
  271. data/test/rubygems/test_gem_commands_query_command.rb +73 -73
  272. data/test/rubygems/test_gem_commands_search_command.rb +2 -2
  273. data/test/rubygems/test_gem_commands_server_command.rb +2 -2
  274. data/test/rubygems/test_gem_commands_setup_command.rb +119 -85
  275. data/test/rubygems/test_gem_commands_signin_command.rb +45 -31
  276. data/test/rubygems/test_gem_commands_signout_command.rb +3 -3
  277. data/test/rubygems/test_gem_commands_sources_command.rb +28 -29
  278. data/test/rubygems/test_gem_commands_specification_command.rb +32 -32
  279. data/test/rubygems/test_gem_commands_stale_command.rb +4 -4
  280. data/test/rubygems/test_gem_commands_uninstall_command.rb +75 -75
  281. data/test/rubygems/test_gem_commands_unpack_command.rb +31 -31
  282. data/test/rubygems/test_gem_commands_update_command.rb +89 -89
  283. data/test/rubygems/test_gem_commands_which_command.rb +6 -6
  284. data/test/rubygems/test_gem_commands_yank_command.rb +40 -40
  285. data/test/rubygems/test_gem_config_file.rb +93 -81
  286. data/test/rubygems/test_gem_dependency.rb +73 -73
  287. data/test/rubygems/test_gem_dependency_installer.rb +165 -165
  288. data/test/rubygems/test_gem_dependency_list.rb +47 -47
  289. data/test/rubygems/test_gem_dependency_resolution_error.rb +4 -4
  290. data/test/rubygems/test_gem_doctor.rb +26 -26
  291. data/test/rubygems/test_gem_ext_builder.rb +59 -59
  292. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/Cargo.lock +6 -6
  293. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/Cargo.toml +1 -1
  294. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/build.rb +8 -8
  295. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/custom_name.gemspec +1 -1
  296. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.lock +6 -6
  297. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.toml +1 -1
  298. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/build.rb +8 -8
  299. data/test/rubygems/test_gem_ext_cargo_builder.rb +26 -26
  300. data/test/rubygems/test_gem_ext_cargo_builder_link_flag_converter.rb +3 -3
  301. data/test/rubygems/test_gem_ext_cargo_builder_unit.rb +23 -23
  302. data/test/rubygems/test_gem_ext_cmake_builder.rb +15 -15
  303. data/test/rubygems/test_gem_ext_configure_builder.rb +13 -13
  304. data/test/rubygems/test_gem_ext_ext_conf_builder.rb +51 -52
  305. data/test/rubygems/test_gem_ext_rake_builder.rb +15 -15
  306. data/test/rubygems/test_gem_gem_runner.rb +7 -7
  307. data/test/rubygems/test_gem_gemcutter_utilities.rb +66 -66
  308. data/test/rubygems/test_gem_impossible_dependencies_error.rb +4 -4
  309. data/test/rubygems/test_gem_indexer.rb +48 -48
  310. data/test/rubygems/test_gem_install_update_options.rb +16 -16
  311. data/test/rubygems/test_gem_installer.rb +303 -300
  312. data/test/rubygems/test_gem_local_remote_options.rb +10 -10
  313. data/test/rubygems/test_gem_name_tuple.rb +4 -4
  314. data/test/rubygems/test_gem_package.rb +228 -206
  315. data/test/rubygems/test_gem_package_old.rb +13 -13
  316. data/test/rubygems/test_gem_package_tar_header.rb +42 -42
  317. data/test/rubygems/test_gem_package_tar_reader.rb +8 -8
  318. data/test/rubygems/test_gem_package_tar_reader_entry.rb +10 -10
  319. data/test/rubygems/test_gem_package_tar_writer.rb +76 -76
  320. data/test/rubygems/test_gem_package_task.rb +18 -18
  321. data/test/rubygems/test_gem_path_support.rb +14 -14
  322. data/test/rubygems/test_gem_platform.rb +298 -227
  323. data/test/rubygems/test_gem_rdoc.rb +14 -14
  324. data/test/rubygems/test_gem_remote_fetcher.rb +149 -149
  325. data/test/rubygems/test_gem_request.rb +55 -55
  326. data/test/rubygems/test_gem_request_connection_pools.rb +29 -29
  327. data/test/rubygems/test_gem_request_set.rb +99 -99
  328. data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +204 -206
  329. data/test/rubygems/test_gem_request_set_lockfile.rb +86 -86
  330. data/test/rubygems/test_gem_request_set_lockfile_parser.rb +56 -56
  331. data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +62 -62
  332. data/test/rubygems/test_gem_requirement.rb +47 -41
  333. data/test/rubygems/test_gem_resolver.rb +133 -99
  334. data/test/rubygems/test_gem_resolver_activation_request.rb +6 -6
  335. data/test/rubygems/test_gem_resolver_api_set.rb +33 -33
  336. data/test/rubygems/test_gem_resolver_api_specification.rb +47 -47
  337. data/test/rubygems/test_gem_resolver_best_set.rb +22 -22
  338. data/test/rubygems/test_gem_resolver_composed_set.rb +1 -1
  339. data/test/rubygems/test_gem_resolver_conflict.rb +12 -12
  340. data/test/rubygems/test_gem_resolver_dependency_request.rb +15 -15
  341. data/test/rubygems/test_gem_resolver_git_set.rb +21 -21
  342. data/test/rubygems/test_gem_resolver_git_specification.rb +21 -21
  343. data/test/rubygems/test_gem_resolver_index_set.rb +12 -12
  344. data/test/rubygems/test_gem_resolver_index_specification.rb +16 -16
  345. data/test/rubygems/test_gem_resolver_installed_specification.rb +5 -5
  346. data/test/rubygems/test_gem_resolver_installer_set.rb +78 -34
  347. data/test/rubygems/test_gem_resolver_local_specification.rb +7 -7
  348. data/test/rubygems/test_gem_resolver_lock_set.rb +12 -12
  349. data/test/rubygems/test_gem_resolver_lock_specification.rb +17 -17
  350. data/test/rubygems/test_gem_resolver_requirement_list.rb +1 -1
  351. data/test/rubygems/test_gem_resolver_specification.rb +8 -8
  352. data/test/rubygems/test_gem_resolver_vendor_set.rb +6 -6
  353. data/test/rubygems/test_gem_resolver_vendor_specification.rb +10 -10
  354. data/test/rubygems/test_gem_security.rb +67 -67
  355. data/test/rubygems/test_gem_security_policy.rb +62 -62
  356. data/test/rubygems/test_gem_security_signer.rb +28 -28
  357. data/test/rubygems/test_gem_security_trust_dir.rb +4 -4
  358. data/test/rubygems/test_gem_silent_ui.rb +38 -32
  359. data/test/rubygems/test_gem_source.rb +44 -44
  360. data/test/rubygems/test_gem_source_fetch_problem.rb +9 -9
  361. data/test/rubygems/test_gem_source_git.rb +59 -59
  362. data/test/rubygems/test_gem_source_installed.rb +16 -16
  363. data/test/rubygems/test_gem_source_list.rb +5 -5
  364. data/test/rubygems/test_gem_source_local.rb +14 -14
  365. data/test/rubygems/test_gem_source_lock.rb +31 -31
  366. data/test/rubygems/test_gem_source_specific_file.rb +17 -17
  367. data/test/rubygems/test_gem_source_subpath_problem.rb +7 -7
  368. data/test/rubygems/test_gem_source_vendor.rb +13 -13
  369. data/test/rubygems/test_gem_spec_fetcher.rb +72 -72
  370. data/test/rubygems/test_gem_specification.rb +444 -436
  371. data/test/rubygems/test_gem_stream_ui.rb +19 -19
  372. data/test/rubygems/test_gem_stub_specification.rb +32 -32
  373. data/test/rubygems/test_gem_text.rb +1 -1
  374. data/test/rubygems/test_gem_uninstaller.rb +112 -112
  375. data/test/rubygems/test_gem_unsatisfiable_dependency_error.rb +3 -3
  376. data/test/rubygems/test_gem_uri.rb +4 -4
  377. data/test/rubygems/test_gem_uri_formatter.rb +14 -14
  378. data/test/rubygems/test_gem_util.rb +23 -23
  379. data/test/rubygems/test_gem_validator.rb +8 -8
  380. data/test/rubygems/test_gem_version.rb +22 -15
  381. data/test/rubygems/test_gem_version_option.rb +15 -15
  382. data/test/rubygems/test_kernel.rb +31 -31
  383. data/test/rubygems/test_project_sanity.rb +1 -1
  384. data/test/rubygems/test_remote_fetch_error.rb +6 -6
  385. data/test/rubygems/test_require.rb +43 -43
  386. data/test/rubygems/test_rubygems.rb +8 -8
  387. data/test/rubygems/utilities.rb +19 -19
  388. metadata +14 -3
data/lib/rubygems.rb CHANGED
@@ -5,18 +5,18 @@
5
5
  # See LICENSE.txt for permissions.
6
6
  #++
7
7
 
8
- require 'rbconfig'
8
+ require "rbconfig"
9
9
 
10
10
  module Gem
11
- VERSION = "3.3.18".freeze
11
+ VERSION = "3.3.22".freeze
12
12
  end
13
13
 
14
14
  # Must be first since it unloads the prelude from 1.9.2
15
- require_relative 'rubygems/compatibility'
15
+ require_relative "rubygems/compatibility"
16
16
 
17
- require_relative 'rubygems/defaults'
18
- require_relative 'rubygems/deprecate'
19
- require_relative 'rubygems/errors'
17
+ require_relative "rubygems/defaults"
18
+ require_relative "rubygems/deprecate"
19
+ require_relative "rubygems/errors"
20
20
 
21
21
  ##
22
22
  # RubyGems is the Ruby standard for publishing and managing third party
@@ -117,11 +117,11 @@ module Gem
117
117
  # Taint support is deprecated in Ruby 2.7.
118
118
  # This allows switching ".untaint" to ".tap(&Gem::UNTAINT)",
119
119
  # to avoid deprecation warnings in Ruby 2.7.
120
- UNTAINT = RUBY_VERSION < '2.7' ? :untaint.to_sym : proc {}
120
+ UNTAINT = RUBY_VERSION < "2.7" ? :untaint.to_sym : proc {}
121
121
 
122
122
  # When https://bugs.ruby-lang.org/issues/17259 is available, there is no need to override Kernel#warn
123
123
  KERNEL_WARN_IGNORES_INTERNAL_ENTRIES = RUBY_ENGINE == "truffleruby" ||
124
- (RUBY_ENGINE == "ruby" && RUBY_VERSION >= '3.0')
124
+ (RUBY_ENGINE == "ruby" && RUBY_VERSION >= "3.0")
125
125
 
126
126
  ##
127
127
  # An Array of Regexps that match windows Ruby platforms.
@@ -293,14 +293,14 @@ module Gem
293
293
  # The mode needed to read a file as straight binary.
294
294
 
295
295
  def self.binary_mode
296
- 'rb'
296
+ "rb"
297
297
  end
298
298
 
299
299
  ##
300
300
  # The path where gem executables are to be installed.
301
301
 
302
302
  def self.bindir(install_dir=Gem.dir)
303
- return File.join install_dir, 'bin' unless
303
+ return File.join install_dir, "bin" unless
304
304
  install_dir.to_s == Gem.default_dir.to_s
305
305
  Gem.default_bindir
306
306
  end
@@ -309,7 +309,7 @@ module Gem
309
309
  # The path were rubygems plugins are to be installed.
310
310
 
311
311
  def self.plugindir(install_dir=Gem.dir)
312
- File.join install_dir, 'plugins'
312
+ File.join install_dir, "plugins"
313
313
  end
314
314
 
315
315
  ##
@@ -353,7 +353,7 @@ module Gem
353
353
  # A Zlib::Deflate.deflate wrapper
354
354
 
355
355
  def self.deflate(data)
356
- require 'zlib'
356
+ require "zlib"
357
357
  Zlib::Deflate.deflate data
358
358
  end
359
359
 
@@ -375,7 +375,7 @@ module Gem
375
375
  target = {}
376
376
  env.each_pair do |k,v|
377
377
  case k
378
- when 'GEM_HOME', 'GEM_PATH', 'GEM_SPEC_CACHE'
378
+ when "GEM_HOME", "GEM_PATH", "GEM_SPEC_CACHE"
379
379
  case v
380
380
  when nil, String
381
381
  target[k] = v
@@ -442,8 +442,6 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
442
442
  old_umask = File.umask
443
443
  File.umask old_umask | 002
444
444
 
445
- require 'fileutils'
446
-
447
445
  options = {}
448
446
 
449
447
  options[:mode] = mode if mode
@@ -451,6 +449,9 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
451
449
  subdirs.each do |name|
452
450
  subdir = File.join dir, name
453
451
  next if File.exist? subdir
452
+
453
+ require "fileutils"
454
+
454
455
  begin
455
456
  FileUtils.mkdir_p subdir, **options
456
457
  rescue SystemCallError
@@ -465,7 +466,7 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
465
466
  # distinction as extensions cannot be shared between the two.
466
467
 
467
468
  def self.extension_api_version # :nodoc:
468
- if 'no' == RbConfig::CONFIG['ENABLE_SHARED']
469
+ if "no" == RbConfig::CONFIG["ENABLE_SHARED"]
469
470
  "#{ruby_api_version}-static"
470
471
  else
471
472
  ruby_api_version
@@ -575,7 +576,7 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
575
576
  return i if path.instance_variable_defined?(:@gem_prelude_index)
576
577
  end
577
578
 
578
- index = $LOAD_PATH.index RbConfig::CONFIG['sitelibdir']
579
+ index = $LOAD_PATH.index RbConfig::CONFIG["sitelibdir"]
579
580
 
580
581
  index || 0
581
582
  end
@@ -606,10 +607,10 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
606
607
  def self.load_yaml
607
608
  return if @yaml_loaded
608
609
 
609
- require 'psych'
610
- require_relative 'rubygems/psych_tree'
610
+ require "psych"
611
+ require_relative "rubygems/psych_tree"
611
612
 
612
- require_relative 'rubygems/safe_yaml'
613
+ require_relative "rubygems/safe_yaml"
613
614
 
614
615
  @yaml_loaded = true
615
616
  end
@@ -740,9 +741,9 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
740
741
  def self.prefix
741
742
  prefix = File.dirname RUBYGEMS_DIR
742
743
 
743
- if prefix != File.expand_path(RbConfig::CONFIG['sitelibdir']) and
744
- prefix != File.expand_path(RbConfig::CONFIG['libdir']) and
745
- 'lib' == File.basename(RUBYGEMS_DIR)
744
+ if prefix != File.expand_path(RbConfig::CONFIG["sitelibdir"]) &&
745
+ prefix != File.expand_path(RbConfig::CONFIG["libdir"]) &&
746
+ "lib" == File.basename(RUBYGEMS_DIR)
746
747
  prefix
747
748
  end
748
749
  end
@@ -758,11 +759,11 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
758
759
  # Safely read a file in binary mode on all platforms.
759
760
 
760
761
  def self.read_binary(path)
761
- open_file(path, 'rb+') do |io|
762
+ open_file(path, "rb+") do |io|
762
763
  io.read
763
764
  end
764
765
  rescue Errno::EACCES, Errno::EROFS
765
- open_file(path, 'rb') do |io|
766
+ open_file(path, "rb") do |io|
766
767
  io.read
767
768
  end
768
769
  end
@@ -770,7 +771,7 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
770
771
  ##
771
772
  # Safely write a file in binary mode on all platforms.
772
773
  def self.write_binary(path, data)
773
- open_file(path, 'wb') do |io|
774
+ open_file(path, "wb") do |io|
774
775
  io.write data
775
776
  end
776
777
  end
@@ -815,13 +816,13 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
815
816
  # Returns a String containing the API compatibility version of Ruby
816
817
 
817
818
  def self.ruby_api_version
818
- @ruby_api_version ||= RbConfig::CONFIG['ruby_version'].dup
819
+ @ruby_api_version ||= RbConfig::CONFIG["ruby_version"].dup
819
820
  end
820
821
 
821
822
  def self.env_requirement(gem_name)
822
823
  @env_requirements_by_name ||= {}
823
824
  @env_requirements_by_name[gem_name] ||= begin
824
- req = ENV["GEM_REQUIREMENT_#{gem_name.upcase}"] || '>= 0'.freeze
825
+ req = ENV["GEM_REQUIREMENT_#{gem_name.upcase}"] || ">= 0".freeze
825
826
  Gem::Requirement.create(req)
826
827
  end
827
828
  end
@@ -844,8 +845,8 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
844
845
  # Returns the latest release version of RubyGems.
845
846
 
846
847
  def self.latest_rubygems_version
847
- latest_version_for('rubygems-update') or
848
- raise "Can't find 'rubygems-update' in any repo. Check `gem source list`."
848
+ latest_version_for("rubygems-update") ||
849
+ raise("Can't find 'rubygems-update' in any repo. Check `gem source list`.")
849
850
  end
850
851
 
851
852
  ##
@@ -853,7 +854,7 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
853
854
 
854
855
  def self.latest_version_for(name)
855
856
  spec = latest_spec_for name
856
- spec and spec.version
857
+ spec && spec.version
857
858
  end
858
859
 
859
860
  ##
@@ -939,11 +940,11 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
939
940
  # Suffixes for require-able paths.
940
941
 
941
942
  def self.suffixes
942
- @suffixes ||= ['',
943
- '.rb',
943
+ @suffixes ||= ["",
944
+ ".rb",
944
945
  *%w[DLEXT DLEXT2].map do |key|
945
946
  val = RbConfig::CONFIG[key]
946
- next unless val and not val.empty?
947
+ next unless val && !val.empty?
947
948
  ".#{val}"
948
949
  end,
949
950
  ].compact.uniq
@@ -969,7 +970,7 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
969
970
  # Lazily loads DefaultUserInteraction and returns the default UI.
970
971
 
971
972
  def self.ui
972
- require_relative 'rubygems/user_interaction'
973
+ require_relative "rubygems/user_interaction"
973
974
 
974
975
  Gem::DefaultUserInteraction.ui
975
976
  end
@@ -991,7 +992,7 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
991
992
 
992
993
  def self.win_platform?
993
994
  if @@win_platform.nil?
994
- ruby_platform = RbConfig::CONFIG['host_os']
995
+ ruby_platform = RbConfig::CONFIG["host_os"]
995
996
  @@win_platform = !!WIN_PATTERNS.find {|r| ruby_platform =~ r }
996
997
  end
997
998
 
@@ -1017,7 +1018,6 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
1017
1018
 
1018
1019
  def self.load_plugin_files(plugins) # :nodoc:
1019
1020
  plugins.each do |plugin|
1020
-
1021
1021
  # Skip older versions of the GemCutter plugin: Its commands are in
1022
1022
  # RubyGems proper now.
1023
1023
 
@@ -1071,7 +1071,7 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
1071
1071
  def self.use_gemdeps(path = nil)
1072
1072
  raise_exception = path
1073
1073
 
1074
- path ||= ENV['RUBYGEMS_GEMDEPS']
1074
+ path ||= ENV["RUBYGEMS_GEMDEPS"]
1075
1075
  return unless path
1076
1076
 
1077
1077
  path = path.dup
@@ -1096,7 +1096,7 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
1096
1096
  end
1097
1097
 
1098
1098
  ENV["BUNDLE_GEMFILE"] ||= File.expand_path(path)
1099
- require_relative 'rubygems/user_interaction'
1099
+ require_relative "rubygems/user_interaction"
1100
1100
  require "bundler"
1101
1101
  begin
1102
1102
  Gem::DefaultUserInteraction.use_ui(ui) do
@@ -1293,33 +1293,34 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
1293
1293
 
1294
1294
  MARSHAL_SPEC_DIR = "quick/Marshal.#{Gem.marshal_version}/".freeze
1295
1295
 
1296
- autoload :BundlerVersionFinder, File.expand_path('rubygems/bundler_version_finder', __dir__)
1297
- autoload :ConfigFile, File.expand_path('rubygems/config_file', __dir__)
1298
- autoload :Dependency, File.expand_path('rubygems/dependency', __dir__)
1299
- autoload :DependencyList, File.expand_path('rubygems/dependency_list', __dir__)
1300
- autoload :Installer, File.expand_path('rubygems/installer', __dir__)
1301
- autoload :Licenses, File.expand_path('rubygems/util/licenses', __dir__)
1302
- autoload :NameTuple, File.expand_path('rubygems/name_tuple', __dir__)
1303
- autoload :PathSupport, File.expand_path('rubygems/path_support', __dir__)
1304
- autoload :RequestSet, File.expand_path('rubygems/request_set', __dir__)
1305
- autoload :Resolver, File.expand_path('rubygems/resolver', __dir__)
1306
- autoload :Source, File.expand_path('rubygems/source', __dir__)
1307
- autoload :SourceList, File.expand_path('rubygems/source_list', __dir__)
1308
- autoload :SpecFetcher, File.expand_path('rubygems/spec_fetcher', __dir__)
1309
- autoload :SpecificationPolicy, File.expand_path('rubygems/specification_policy', __dir__)
1310
- autoload :Util, File.expand_path('rubygems/util', __dir__)
1311
- autoload :Version, File.expand_path('rubygems/version', __dir__)
1296
+ autoload :BundlerVersionFinder, File.expand_path("rubygems/bundler_version_finder", __dir__)
1297
+ autoload :ConfigFile, File.expand_path("rubygems/config_file", __dir__)
1298
+ autoload :Dependency, File.expand_path("rubygems/dependency", __dir__)
1299
+ autoload :DependencyList, File.expand_path("rubygems/dependency_list", __dir__)
1300
+ autoload :Installer, File.expand_path("rubygems/installer", __dir__)
1301
+ autoload :Licenses, File.expand_path("rubygems/util/licenses", __dir__)
1302
+ autoload :NameTuple, File.expand_path("rubygems/name_tuple", __dir__)
1303
+ autoload :PathSupport, File.expand_path("rubygems/path_support", __dir__)
1304
+ autoload :RequestSet, File.expand_path("rubygems/request_set", __dir__)
1305
+ autoload :Requirement, File.expand_path("rubygems/requirement", __dir__)
1306
+ autoload :Resolver, File.expand_path("rubygems/resolver", __dir__)
1307
+ autoload :Source, File.expand_path("rubygems/source", __dir__)
1308
+ autoload :SourceList, File.expand_path("rubygems/source_list", __dir__)
1309
+ autoload :SpecFetcher, File.expand_path("rubygems/spec_fetcher", __dir__)
1310
+ autoload :SpecificationPolicy, File.expand_path("rubygems/specification_policy", __dir__)
1311
+ autoload :Util, File.expand_path("rubygems/util", __dir__)
1312
+ autoload :Version, File.expand_path("rubygems/version", __dir__)
1312
1313
  end
1313
1314
 
1314
- require_relative 'rubygems/exceptions'
1315
- require_relative 'rubygems/specification'
1315
+ require_relative "rubygems/exceptions"
1316
+ require_relative "rubygems/specification"
1316
1317
 
1317
1318
  # REFACTOR: This should be pulled out into some kind of hacks file.
1318
1319
  begin
1319
1320
  ##
1320
1321
  # Defaults the operating system (or packager) wants to provide for RubyGems.
1321
1322
 
1322
- require 'rubygems/defaults/operating_system'
1323
+ require "rubygems/defaults/operating_system"
1323
1324
  rescue LoadError
1324
1325
  # Ignored
1325
1326
  rescue StandardError => e
@@ -1344,6 +1345,6 @@ end
1344
1345
  # Loads the default specs.
1345
1346
  Gem::Specification.load_defaults
1346
1347
 
1347
- require_relative 'rubygems/core_ext/kernel_gem'
1348
- require_relative 'rubygems/core_ext/kernel_require'
1349
- require_relative 'rubygems/core_ext/kernel_warn'
1348
+ require_relative "rubygems/core_ext/kernel_gem"
1349
+ require_relative "rubygems/core_ext/kernel_require"
1350
+ require_relative "rubygems/core_ext/kernel_warn"
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = "rubygems-update"
5
- s.version = "3.3.18"
5
+ s.version = "3.3.22"
6
6
  s.authors = ["Jim Weirich", "Chad Fowler", "Eric Hodel", "Luis Lavena", "Aaron Patterson", "Samuel Giddins", "André Arko", "Evan Phoenix", "Hiroshi SHIBATA"]
7
7
  s.email = ["", "", "drbrain@segment7.net", "luislavena@gmail.com", "aaron@tenderlovemaking.com", "segiddins@segiddins.me", "andre@arko.net", "evan@phx.io", "hsbt@ruby-lang.org"]
8
8
 
@@ -16,7 +16,7 @@ Gem::Specification.new do |s|
16
16
  s.homepage = "https://rubygems.org"
17
17
  s.licenses = ["Ruby", "MIT"]
18
18
 
19
- s.files = File.read('Manifest.txt').split
19
+ s.files = File.read("Manifest.txt").split
20
20
  s.executables = ["update_rubygems"]
21
21
  s.require_paths = ["hide_lib_for_update"]
22
22
  s.rdoc_options = ["--main", "README.md", "--title=RubyGems Update Documentation"]
data/setup.rb CHANGED
@@ -7,27 +7,27 @@
7
7
  #++
8
8
 
9
9
  # Make sure rubygems isn't already loaded.
10
- if ENV['RUBYOPT'] or defined? Gem
11
- ENV.delete 'RUBYOPT'
10
+ if ENV["RUBYOPT"] || defined? Gem
11
+ ENV.delete "RUBYOPT"
12
12
 
13
- require 'rbconfig'
14
- cmd = [RbConfig.ruby, '--disable-gems', 'setup.rb', *ARGV]
13
+ require "rbconfig"
14
+ cmd = [RbConfig.ruby, "--disable-gems", "setup.rb", *ARGV]
15
15
 
16
16
  exec(*cmd)
17
17
  end
18
18
 
19
19
  Dir.chdir __dir__
20
20
 
21
- $:.unshift File.expand_path('lib')
22
- require 'rubygems'
23
- require 'rubygems/gem_runner'
21
+ $:.unshift File.expand_path("lib")
22
+ require "rubygems"
23
+ require "rubygems/gem_runner"
24
24
 
25
25
  Gem::CommandManager.instance.register_command :setup
26
26
 
27
27
  args = ARGV.clone
28
28
  if ENV["GEM_PREV_VER"]
29
- args = [ '--previous-version', ENV["GEM_PREV_VER"] ] + args
29
+ args = [ "--previous-version", ENV["GEM_PREV_VER"] ] + args
30
30
  end
31
- args.unshift 'setup'
31
+ args.unshift "setup"
32
32
 
33
33
  Gem::GemRunner.new.run args