rubygems-update 3.1.1 → 3.2.0.rc.2

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 (518) hide show
  1. checksums.yaml +4 -4
  2. data/CODE_OF_CONDUCT.md +55 -19
  3. data/CONTRIBUTING.md +25 -11
  4. data/History.txt +389 -144
  5. data/Manifest.txt +37 -73
  6. data/POLICIES.md +2 -9
  7. data/README.md +5 -5
  8. data/Rakefile +47 -82
  9. data/bin/update_rubygems +2 -2
  10. data/bundler/CHANGELOG.md +1546 -1414
  11. data/bundler/README.md +6 -8
  12. data/bundler/UPGRADING.md +18 -32
  13. data/bundler/bundler.gemspec +3 -3
  14. data/bundler/exe/bundle +3 -0
  15. data/bundler/lib/bundler.rb +21 -7
  16. data/bundler/lib/bundler/build_metadata.rb +4 -12
  17. data/bundler/lib/bundler/cli.rb +54 -20
  18. data/bundler/lib/bundler/cli/add.rb +1 -1
  19. data/bundler/lib/bundler/cli/cache.rb +1 -7
  20. data/bundler/lib/bundler/cli/clean.rb +1 -1
  21. data/bundler/lib/bundler/cli/common.rb +14 -0
  22. data/bundler/lib/bundler/cli/console.rb +1 -1
  23. data/bundler/lib/bundler/cli/doctor.rb +1 -1
  24. data/bundler/lib/bundler/cli/exec.rb +4 -13
  25. data/bundler/lib/bundler/cli/fund.rb +36 -0
  26. data/bundler/lib/bundler/cli/gem.rb +84 -11
  27. data/bundler/lib/bundler/cli/info.rb +15 -4
  28. data/bundler/lib/bundler/cli/init.rb +2 -2
  29. data/bundler/lib/bundler/cli/inject.rb +1 -1
  30. data/bundler/lib/bundler/cli/install.rb +12 -18
  31. data/bundler/lib/bundler/cli/issue.rb +2 -2
  32. data/bundler/lib/bundler/cli/list.rb +12 -10
  33. data/bundler/lib/bundler/cli/outdated.rb +89 -66
  34. data/bundler/lib/bundler/cli/plugin.rb +10 -0
  35. data/bundler/lib/bundler/cli/pristine.rb +5 -0
  36. data/bundler/lib/bundler/cli/show.rb +1 -1
  37. data/bundler/lib/bundler/cli/update.rb +2 -0
  38. data/bundler/lib/bundler/compact_index_client.rb +1 -1
  39. data/bundler/lib/bundler/compact_index_client/cache.rb +1 -1
  40. data/bundler/lib/bundler/definition.rb +51 -60
  41. data/bundler/lib/bundler/dep_proxy.rb +1 -1
  42. data/bundler/lib/bundler/dependency.rb +0 -9
  43. data/bundler/lib/bundler/dsl.rb +5 -9
  44. data/bundler/lib/bundler/endpoint_specification.rb +1 -1
  45. data/bundler/lib/bundler/environment_preserver.rb +26 -2
  46. data/bundler/lib/bundler/errors.rb +1 -0
  47. data/bundler/lib/bundler/feature_flag.rb +0 -2
  48. data/bundler/lib/bundler/fetcher.rb +4 -3
  49. data/bundler/lib/bundler/fetcher/base.rb +1 -1
  50. data/bundler/lib/bundler/fetcher/compact_index.rb +1 -1
  51. data/bundler/lib/bundler/fetcher/downloader.rb +1 -1
  52. data/bundler/lib/bundler/fetcher/index.rb +1 -1
  53. data/bundler/lib/bundler/friendly_errors.rb +7 -13
  54. data/bundler/lib/bundler/gem_helper.rb +33 -19
  55. data/bundler/lib/bundler/gem_helpers.rb +6 -1
  56. data/bundler/lib/bundler/gem_version_promoter.rb +2 -2
  57. data/bundler/lib/bundler/graph.rb +1 -1
  58. data/bundler/lib/bundler/index.rb +1 -1
  59. data/bundler/lib/bundler/injector.rb +15 -4
  60. data/bundler/lib/bundler/inline.rb +2 -2
  61. data/bundler/lib/bundler/installer.rb +30 -29
  62. data/bundler/lib/bundler/installer/gem_installer.rb +3 -3
  63. data/bundler/lib/bundler/installer/parallel_installer.rb +10 -10
  64. data/bundler/lib/bundler/installer/standalone.rb +2 -2
  65. data/bundler/lib/bundler/lazy_specification.rb +19 -6
  66. data/bundler/lib/bundler/lockfile_generator.rb +1 -1
  67. data/bundler/lib/bundler/lockfile_parser.rb +1 -1
  68. data/bundler/lib/bundler/mirror.rb +2 -2
  69. data/bundler/lib/bundler/plugin.rb +30 -5
  70. data/bundler/lib/bundler/plugin/index.rb +10 -1
  71. data/bundler/lib/bundler/plugin/installer.rb +1 -1
  72. data/bundler/lib/bundler/plugin/installer/rubygems.rb +1 -1
  73. data/bundler/lib/bundler/plugin/source_list.rb +1 -1
  74. data/bundler/lib/bundler/psyched_yaml.rb +0 -15
  75. data/bundler/lib/bundler/remote_specification.rb +5 -2
  76. data/bundler/lib/bundler/resolver.rb +32 -9
  77. data/bundler/lib/bundler/resolver/spec_group.rb +27 -6
  78. data/bundler/lib/bundler/retry.rb +1 -1
  79. data/bundler/lib/bundler/ruby_version.rb +1 -1
  80. data/bundler/lib/bundler/rubygems_ext.rb +53 -9
  81. data/bundler/lib/bundler/rubygems_gem_installer.rb +3 -9
  82. data/bundler/lib/bundler/rubygems_integration.rb +31 -54
  83. data/bundler/lib/bundler/runtime.rb +4 -14
  84. data/bundler/lib/bundler/settings.rb +49 -45
  85. data/bundler/lib/bundler/setup.rb +5 -0
  86. data/bundler/lib/bundler/shared_helpers.rb +2 -2
  87. data/bundler/lib/bundler/similarity_detector.rb +1 -1
  88. data/bundler/lib/bundler/source.rb +1 -1
  89. data/bundler/lib/bundler/source/git.rb +5 -5
  90. data/bundler/lib/bundler/source/git/git_proxy.rb +56 -59
  91. data/bundler/lib/bundler/source/path.rb +7 -3
  92. data/bundler/lib/bundler/source/path/installer.rb +8 -10
  93. data/bundler/lib/bundler/source/rubygems.rb +13 -16
  94. data/bundler/lib/bundler/source/rubygems/remote.rb +1 -1
  95. data/bundler/lib/bundler/source_list.rb +2 -2
  96. data/bundler/lib/bundler/spec_set.rb +1 -1
  97. data/bundler/lib/bundler/stub_specification.rb +17 -5
  98. data/bundler/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt +57 -47
  99. data/bundler/lib/bundler/templates/newgem/Gemfile.tt +9 -1
  100. data/bundler/lib/bundler/templates/newgem/README.md.tt +1 -1
  101. data/bundler/lib/bundler/templates/newgem/Rakefile.tt +19 -5
  102. data/bundler/lib/bundler/templates/newgem/bin/console.tt +1 -0
  103. data/bundler/lib/bundler/templates/newgem/circleci/config.yml.tt +13 -0
  104. data/bundler/lib/bundler/templates/newgem/ext/newgem/extconf.rb.tt +2 -0
  105. data/bundler/lib/bundler/templates/newgem/github/workflows/main.yml.tt +18 -0
  106. data/bundler/lib/bundler/templates/newgem/gitlab-ci.yml.tt +9 -0
  107. data/bundler/lib/bundler/templates/newgem/lib/newgem.rb.tt +2 -0
  108. data/bundler/lib/bundler/templates/newgem/lib/newgem/version.rb.tt +2 -0
  109. data/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt +8 -6
  110. data/bundler/lib/bundler/templates/newgem/rubocop.yml.tt +10 -0
  111. data/bundler/lib/bundler/templates/newgem/spec/newgem_spec.rb.tt +2 -0
  112. data/bundler/lib/bundler/templates/newgem/spec/spec_helper.rb.tt +2 -1
  113. data/bundler/lib/bundler/templates/newgem/test/{newgem_test.rb.tt → minitest/newgem_test.rb.tt} +2 -0
  114. data/bundler/lib/bundler/templates/newgem/test/{test_helper.rb.tt → minitest/test_helper.rb.tt} +2 -0
  115. data/bundler/lib/bundler/templates/newgem/test/test-unit/newgem_test.rb.tt +15 -0
  116. data/bundler/lib/bundler/templates/newgem/test/test-unit/test_helper.rb.tt +6 -0
  117. data/bundler/lib/bundler/ui/shell.rb +5 -5
  118. data/bundler/lib/bundler/uri_credentials_filter.rb +1 -1
  119. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +79 -212
  120. data/bundler/lib/bundler/vendor/thor/lib/thor.rb +0 -7
  121. data/bundler/lib/bundler/vendor/thor/lib/thor/actions/create_link.rb +2 -1
  122. data/bundler/lib/bundler/vendor/thor/lib/thor/base.rb +9 -0
  123. data/bundler/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
  124. data/bundler/lib/bundler/vendored_persistent.rb +0 -7
  125. data/bundler/lib/bundler/version.rb +1 -1
  126. data/bundler/lib/bundler/worker.rb +1 -1
  127. data/bundler/lib/bundler/yaml_serializer.rb +1 -1
  128. data/bundler/man/bundle-add.1 +1 -1
  129. data/bundler/man/{bundle-add.ronn → bundle-add.1.ronn} +0 -0
  130. data/bundler/man/bundle-binstubs.1 +5 -3
  131. data/bundler/man/{bundle-binstubs.ronn → bundle-binstubs.1.ronn} +2 -4
  132. data/bundler/man/bundle-cache.1 +1 -1
  133. data/bundler/man/{bundle-cache.ronn → bundle-cache.1.ronn} +0 -0
  134. data/bundler/man/bundle-check.1 +1 -1
  135. data/bundler/man/{bundle-check.ronn → bundle-check.1.ronn} +0 -0
  136. data/bundler/man/bundle-clean.1 +1 -1
  137. data/bundler/man/{bundle-clean.ronn → bundle-clean.1.ronn} +0 -0
  138. data/bundler/man/bundle-config.1 +16 -22
  139. data/bundler/man/{bundle-config.ronn → bundle-config.1.ronn} +19 -22
  140. data/bundler/man/bundle-doctor.1 +1 -1
  141. data/bundler/man/{bundle-doctor.ronn → bundle-doctor.1.ronn} +0 -0
  142. data/bundler/man/bundle-exec.1 +1 -1
  143. data/bundler/man/{bundle-exec.ronn → bundle-exec.1.ronn} +0 -0
  144. data/bundler/man/bundle-gem.1 +25 -3
  145. data/bundler/man/{bundle-gem.ronn → bundle-gem.1.ronn} +30 -7
  146. data/bundler/man/bundle-info.1 +1 -1
  147. data/bundler/man/{bundle-info.ronn → bundle-info.1.ronn} +0 -0
  148. data/bundler/man/bundle-init.1 +1 -1
  149. data/bundler/man/{bundle-init.ronn → bundle-init.1.ronn} +0 -0
  150. data/bundler/man/bundle-inject.1 +1 -1
  151. data/bundler/man/{bundle-inject.ronn → bundle-inject.1.ronn} +0 -0
  152. data/bundler/man/bundle-install.1 +29 -2
  153. data/bundler/man/{bundle-install.ronn → bundle-install.1.ronn} +24 -2
  154. data/bundler/man/bundle-list.1 +7 -7
  155. data/bundler/man/{bundle-list.ronn → bundle-list.1.ronn} +6 -6
  156. data/bundler/man/bundle-lock.1 +1 -1
  157. data/bundler/man/{bundle-lock.ronn → bundle-lock.1.ronn} +0 -0
  158. data/bundler/man/bundle-open.1 +1 -1
  159. data/bundler/man/{bundle-open.ronn → bundle-open.1.ronn} +0 -0
  160. data/bundler/man/bundle-outdated.1 +1 -1
  161. data/bundler/man/{bundle-outdated.ronn → bundle-outdated.1.ronn} +0 -0
  162. data/bundler/man/bundle-platform.1 +1 -1
  163. data/bundler/man/{bundle-platform.ronn → bundle-platform.1.ronn} +0 -0
  164. data/bundler/man/bundle-pristine.1 +1 -1
  165. data/bundler/man/{bundle-pristine.ronn → bundle-pristine.1.ronn} +0 -0
  166. data/bundler/man/bundle-remove.1 +1 -1
  167. data/bundler/man/{bundle-remove.ronn → bundle-remove.1.ronn} +0 -0
  168. data/bundler/man/bundle-show.1 +1 -1
  169. data/bundler/man/{bundle-show.ronn → bundle-show.1.ronn} +0 -0
  170. data/bundler/man/bundle-update.1 +1 -1
  171. data/bundler/man/{bundle-update.ronn → bundle-update.1.ronn} +0 -0
  172. data/bundler/man/bundle-viz.1 +1 -1
  173. data/bundler/man/{bundle-viz.ronn → bundle-viz.1.ronn} +0 -0
  174. data/bundler/man/bundle.1 +1 -1
  175. data/bundler/man/{bundle.ronn → bundle.1.ronn} +0 -0
  176. data/bundler/man/gemfile.5 +4 -4
  177. data/bundler/man/gemfile.5.ronn +4 -4
  178. data/lib/rubygems.rb +133 -186
  179. data/lib/rubygems/available_set.rb +4 -6
  180. data/lib/rubygems/basic_specification.rb +12 -10
  181. data/lib/rubygems/bundler_version_finder.rb +14 -9
  182. data/lib/rubygems/command.rb +17 -17
  183. data/lib/rubygems/command_manager.rb +4 -5
  184. data/lib/rubygems/commands/build_command.rb +4 -1
  185. data/lib/rubygems/commands/cert_command.rb +1 -9
  186. data/lib/rubygems/commands/check_command.rb +0 -2
  187. data/lib/rubygems/commands/cleanup_command.rb +11 -7
  188. data/lib/rubygems/commands/contents_command.rb +4 -6
  189. data/lib/rubygems/commands/dependency_command.rb +6 -8
  190. data/lib/rubygems/commands/environment_command.rb +1 -3
  191. data/lib/rubygems/commands/fetch_command.rb +2 -4
  192. data/lib/rubygems/commands/generate_index_command.rb +0 -2
  193. data/lib/rubygems/commands/help_command.rb +2 -4
  194. data/lib/rubygems/commands/info_command.rb +8 -5
  195. data/lib/rubygems/commands/install_command.rb +3 -5
  196. data/lib/rubygems/commands/list_command.rb +8 -7
  197. data/lib/rubygems/commands/lock_command.rb +1 -3
  198. data/lib/rubygems/commands/mirror_command.rb +0 -2
  199. data/lib/rubygems/commands/open_command.rb +0 -4
  200. data/lib/rubygems/commands/outdated_command.rb +0 -2
  201. data/lib/rubygems/commands/owner_command.rb +0 -2
  202. data/lib/rubygems/commands/pristine_command.rb +10 -4
  203. data/lib/rubygems/commands/push_command.rb +4 -44
  204. data/lib/rubygems/commands/query_command.rb +6 -353
  205. data/lib/rubygems/commands/rdoc_command.rb +0 -2
  206. data/lib/rubygems/commands/search_command.rb +7 -7
  207. data/lib/rubygems/commands/server_command.rb +0 -2
  208. data/lib/rubygems/commands/setup_command.rb +156 -48
  209. data/lib/rubygems/commands/signin_command.rb +0 -2
  210. data/lib/rubygems/commands/signout_command.rb +0 -2
  211. data/lib/rubygems/commands/sources_command.rb +3 -5
  212. data/lib/rubygems/commands/specification_command.rb +2 -4
  213. data/lib/rubygems/commands/stale_command.rb +1 -3
  214. data/lib/rubygems/commands/uninstall_command.rb +2 -4
  215. data/lib/rubygems/commands/unpack_command.rb +1 -3
  216. data/lib/rubygems/commands/update_command.rb +59 -14
  217. data/lib/rubygems/commands/which_command.rb +0 -2
  218. data/lib/rubygems/commands/yank_command.rb +0 -2
  219. data/lib/rubygems/config_file.rb +11 -4
  220. data/lib/rubygems/core_ext/kernel_require.rb +26 -36
  221. data/lib/rubygems/core_ext/kernel_warn.rb +6 -6
  222. data/lib/rubygems/defaults.rb +99 -5
  223. data/lib/rubygems/dependency.rb +2 -7
  224. data/lib/rubygems/dependency_installer.rb +1 -75
  225. data/lib/rubygems/dependency_list.rb +7 -9
  226. data/lib/rubygems/deprecate.rb +46 -1
  227. data/lib/rubygems/doctor.rb +4 -4
  228. data/lib/rubygems/errors.rb +3 -14
  229. data/lib/rubygems/exceptions.rb +2 -33
  230. data/lib/rubygems/ext.rb +6 -6
  231. data/lib/rubygems/ext/build_error.rb +2 -0
  232. data/lib/rubygems/ext/builder.rb +4 -4
  233. data/lib/rubygems/ext/cmake_builder.rb +1 -3
  234. data/lib/rubygems/ext/configure_builder.rb +0 -2
  235. data/lib/rubygems/ext/ext_conf_builder.rb +6 -9
  236. data/lib/rubygems/ext/rake_builder.rb +0 -2
  237. data/lib/rubygems/gem_runner.rb +3 -10
  238. data/lib/rubygems/gemcutter_utilities.rb +1 -1
  239. data/lib/rubygems/indexer.rb +1 -21
  240. data/lib/rubygems/install_update_options.rb +5 -5
  241. data/lib/rubygems/installer.rb +47 -48
  242. data/lib/rubygems/installer_test_case.rb +18 -5
  243. data/lib/rubygems/installer_uninstaller_utils.rb +24 -0
  244. data/lib/rubygems/local_remote_options.rb +1 -1
  245. data/lib/rubygems/mock_gem_ui.rb +0 -6
  246. data/lib/rubygems/name_tuple.rb +2 -6
  247. data/lib/rubygems/openssl.rb +7 -0
  248. data/lib/rubygems/package.rb +11 -23
  249. data/lib/rubygems/package/digest_io.rb +0 -2
  250. data/lib/rubygems/package/file_source.rb +0 -2
  251. data/lib/rubygems/package/io_source.rb +0 -2
  252. data/lib/rubygems/package/old.rb +1 -3
  253. data/lib/rubygems/package/tar_header.rb +3 -5
  254. data/lib/rubygems/package/tar_reader.rb +0 -3
  255. data/lib/rubygems/package/tar_reader/entry.rb +0 -3
  256. data/lib/rubygems/package/tar_test_case.rb +1 -3
  257. data/lib/rubygems/package/tar_writer.rb +2 -12
  258. data/lib/rubygems/package_task.rb +1 -7
  259. data/lib/rubygems/path_support.rb +1 -3
  260. data/lib/rubygems/platform.rb +3 -5
  261. data/lib/rubygems/psych_tree.rb +0 -2
  262. data/lib/rubygems/query_utils.rb +362 -0
  263. data/lib/rubygems/rdoc.rb +0 -12
  264. data/lib/rubygems/remote_fetcher.rb +9 -25
  265. data/lib/rubygems/request.rb +1 -9
  266. data/lib/rubygems/request/connection_pools.rb +1 -5
  267. data/lib/rubygems/request/http_pool.rb +0 -2
  268. data/lib/rubygems/request/https_pool.rb +0 -2
  269. data/lib/rubygems/request_set.rb +5 -7
  270. data/lib/rubygems/request_set/gem_dependency_api.rb +2 -4
  271. data/lib/rubygems/request_set/lockfile.rb +8 -12
  272. data/lib/rubygems/request_set/lockfile/parser.rb +0 -2
  273. data/lib/rubygems/request_set/lockfile/tokenizer.rb +1 -3
  274. data/lib/rubygems/requirement.rb +20 -21
  275. data/lib/rubygems/resolver.rb +7 -10
  276. data/lib/rubygems/resolver/activation_request.rb +0 -2
  277. data/lib/rubygems/resolver/api_set.rb +4 -6
  278. data/lib/rubygems/resolver/api_specification.rb +16 -7
  279. data/lib/rubygems/resolver/best_set.rb +0 -2
  280. data/lib/rubygems/resolver/composed_set.rb +3 -5
  281. data/lib/rubygems/resolver/conflict.rb +1 -3
  282. data/lib/rubygems/resolver/current_set.rb +0 -2
  283. data/lib/rubygems/resolver/dependency_request.rb +0 -2
  284. data/lib/rubygems/resolver/git_set.rb +0 -2
  285. data/lib/rubygems/resolver/git_specification.rb +0 -2
  286. data/lib/rubygems/resolver/index_set.rb +1 -3
  287. data/lib/rubygems/resolver/index_specification.rb +0 -2
  288. data/lib/rubygems/resolver/installed_specification.rb +0 -2
  289. data/lib/rubygems/resolver/installer_set.rb +3 -5
  290. data/lib/rubygems/resolver/local_specification.rb +0 -2
  291. data/lib/rubygems/resolver/lock_set.rb +1 -3
  292. data/lib/rubygems/resolver/lock_specification.rb +0 -2
  293. data/lib/rubygems/resolver/requirement_list.rb +0 -2
  294. data/lib/rubygems/resolver/set.rb +0 -2
  295. data/lib/rubygems/resolver/source_set.rb +0 -2
  296. data/lib/rubygems/resolver/spec_specification.rb +0 -2
  297. data/lib/rubygems/resolver/specification.rb +0 -2
  298. data/lib/rubygems/resolver/stats.rb +0 -2
  299. data/lib/rubygems/resolver/vendor_set.rb +0 -2
  300. data/lib/rubygems/resolver/vendor_specification.rb +0 -2
  301. data/lib/rubygems/s3_uri_signer.rb +1 -7
  302. data/lib/rubygems/safe_yaml.rb +4 -4
  303. data/lib/rubygems/security.rb +26 -32
  304. data/lib/rubygems/security/policy.rb +3 -7
  305. data/lib/rubygems/security/signer.rb +4 -6
  306. data/lib/rubygems/security/trust_dir.rb +1 -3
  307. data/lib/rubygems/server.rb +9 -11
  308. data/lib/rubygems/source.rb +4 -4
  309. data/lib/rubygems/source/git.rb +7 -8
  310. data/lib/rubygems/source/installed.rb +0 -2
  311. data/lib/rubygems/source/local.rb +2 -4
  312. data/lib/rubygems/source/lock.rb +0 -2
  313. data/lib/rubygems/source/specific_file.rb +0 -2
  314. data/lib/rubygems/source/vendor.rb +0 -2
  315. data/lib/rubygems/source_list.rb +6 -7
  316. data/lib/rubygems/spec_fetcher.rb +18 -17
  317. data/lib/rubygems/specification.rb +107 -120
  318. data/lib/rubygems/specification_policy.rb +88 -30
  319. data/lib/rubygems/stub_specification.rb +0 -4
  320. data/lib/rubygems/syck_hack.rb +0 -2
  321. data/lib/rubygems/test_case.rb +122 -92
  322. data/lib/rubygems/test_utilities.rb +6 -14
  323. data/lib/rubygems/uninstaller.rb +35 -16
  324. data/lib/rubygems/uri_formatter.rb +0 -2
  325. data/lib/rubygems/uri_parser.rb +0 -2
  326. data/lib/rubygems/user_interaction.rb +1 -26
  327. data/lib/rubygems/util.rb +15 -3
  328. data/lib/rubygems/util/licenses.rb +4 -6
  329. data/lib/rubygems/util/list.rb +0 -2
  330. data/lib/rubygems/validator.rb +1 -3
  331. data/lib/rubygems/version.rb +5 -7
  332. data/rubygems-update.gemspec +2 -2
  333. data/setup.rb +2 -7
  334. data/test/rubygems/plugin/load/rubygems_plugin.rb +0 -2
  335. data/test/rubygems/rubygems/commands/crash_command.rb +0 -2
  336. data/test/rubygems/rubygems_plugin.rb +0 -2
  337. data/test/rubygems/specifications/bar-0.0.2.gemspec +0 -2
  338. data/test/rubygems/specifications/rubyforge-0.0.1.gemspec +12 -0
  339. data/test/rubygems/test_bundled_ca.rb +38 -45
  340. data/test/rubygems/test_config.rb +0 -2
  341. data/test/rubygems/test_deprecate.rb +40 -7
  342. data/test/rubygems/test_gem.rb +150 -103
  343. data/test/rubygems/test_gem_available_set.rb +3 -5
  344. data/test/rubygems/test_gem_bundler_version_finder.rb +19 -3
  345. data/test/rubygems/test_gem_command.rb +24 -7
  346. data/test/rubygems/test_gem_command_manager.rb +36 -5
  347. data/test/rubygems/test_gem_commands_build_command.rb +53 -10
  348. data/test/rubygems/test_gem_commands_cert_command.rb +2 -4
  349. data/test/rubygems/test_gem_commands_check_command.rb +0 -2
  350. data/test/rubygems/test_gem_commands_cleanup_command.rb +13 -4
  351. data/test/rubygems/test_gem_commands_contents_command.rb +48 -17
  352. data/test/rubygems/test_gem_commands_dependency_command.rb +0 -2
  353. data/test/rubygems/test_gem_commands_environment_command.rb +21 -23
  354. data/test/rubygems/test_gem_commands_fetch_command.rb +0 -2
  355. data/test/rubygems/test_gem_commands_generate_index_command.rb +1 -7
  356. data/test/rubygems/test_gem_commands_help_command.rb +0 -2
  357. data/test/rubygems/test_gem_commands_info_command.rb +6 -8
  358. data/test/rubygems/test_gem_commands_install_command.rb +31 -33
  359. data/test/rubygems/test_gem_commands_list_command.rb +0 -2
  360. data/test/rubygems/test_gem_commands_lock_command.rb +0 -2
  361. data/test/rubygems/test_gem_commands_mirror.rb +1 -3
  362. data/test/rubygems/test_gem_commands_open_command.rb +4 -6
  363. data/test/rubygems/test_gem_commands_outdated_command.rb +0 -2
  364. data/test/rubygems/test_gem_commands_owner_command.rb +11 -5
  365. data/test/rubygems/test_gem_commands_pristine_command.rb +41 -10
  366. data/test/rubygems/test_gem_commands_push_command.rb +7 -4
  367. data/test/rubygems/test_gem_commands_query_command.rb +9 -9
  368. data/test/rubygems/test_gem_commands_search_command.rb +0 -2
  369. data/test/rubygems/test_gem_commands_server_command.rb +0 -2
  370. data/test/rubygems/test_gem_commands_setup_command.rb +210 -118
  371. data/test/rubygems/test_gem_commands_signin_command.rb +6 -6
  372. data/test/rubygems/test_gem_commands_signout_command.rb +0 -7
  373. data/test/rubygems/test_gem_commands_sources_command.rb +39 -3
  374. data/test/rubygems/test_gem_commands_specification_command.rb +18 -20
  375. data/test/rubygems/test_gem_commands_stale_command.rb +0 -2
  376. data/test/rubygems/test_gem_commands_uninstall_command.rb +2 -3
  377. data/test/rubygems/test_gem_commands_unpack_command.rb +0 -2
  378. data/test/rubygems/test_gem_commands_update_command.rb +116 -7
  379. data/test/rubygems/test_gem_commands_which_command.rb +3 -5
  380. data/test/rubygems/test_gem_commands_yank_command.rb +14 -8
  381. data/test/rubygems/test_gem_config_file.rb +7 -12
  382. data/test/rubygems/test_gem_dependency.rb +0 -2
  383. data/test/rubygems/test_gem_dependency_installer.rb +54 -191
  384. data/test/rubygems/test_gem_dependency_list.rb +8 -10
  385. data/test/rubygems/test_gem_dependency_resolution_error.rb +1 -3
  386. data/test/rubygems/test_gem_doctor.rb +28 -2
  387. data/test/rubygems/test_gem_ext_builder.rb +16 -33
  388. data/test/rubygems/test_gem_ext_cmake_builder.rb +13 -14
  389. data/test/rubygems/test_gem_ext_configure_builder.rb +1 -11
  390. data/test/rubygems/test_gem_ext_ext_conf_builder.rb +0 -3
  391. data/test/rubygems/test_gem_ext_rake_builder.rb +9 -11
  392. data/test/rubygems/test_gem_gem_runner.rb +43 -1
  393. data/test/rubygems/test_gem_gemcutter_utilities.rb +5 -2
  394. data/test/rubygems/test_gem_impossible_dependencies_error.rb +0 -2
  395. data/test/rubygems/test_gem_indexer.rb +9 -15
  396. data/test/rubygems/test_gem_install_update_options.rb +0 -2
  397. data/test/rubygems/test_gem_installer.rb +192 -71
  398. data/test/rubygems/test_gem_local_remote_options.rb +0 -2
  399. data/test/rubygems/test_gem_name_tuple.rb +0 -2
  400. data/test/rubygems/test_gem_package.rb +33 -31
  401. data/test/rubygems/test_gem_package_old.rb +0 -2
  402. data/test/rubygems/test_gem_package_tar_header.rb +18 -1
  403. data/test/rubygems/test_gem_package_tar_reader.rb +0 -2
  404. data/test/rubygems/test_gem_package_tar_reader_entry.rb +0 -2
  405. data/test/rubygems/test_gem_package_tar_writer.rb +8 -5
  406. data/test/rubygems/test_gem_package_task.rb +46 -13
  407. data/test/rubygems/test_gem_path_support.rb +0 -2
  408. data/test/rubygems/test_gem_platform.rb +0 -2
  409. data/test/rubygems/test_gem_rdoc.rb +0 -2
  410. data/test/rubygems/test_gem_remote_fetcher.rb +156 -195
  411. data/test/rubygems/test_gem_request.rb +11 -15
  412. data/test/rubygems/test_gem_request_connection_pools.rb +0 -4
  413. data/test/rubygems/test_gem_request_set.rb +72 -22
  414. data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +3 -5
  415. data/test/rubygems/test_gem_request_set_lockfile.rb +0 -2
  416. data/test/rubygems/test_gem_request_set_lockfile_parser.rb +9 -11
  417. data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +118 -120
  418. data/test/rubygems/test_gem_requirement.rb +10 -4
  419. data/test/rubygems/test_gem_resolver.rb +6 -8
  420. data/test/rubygems/test_gem_resolver_activation_request.rb +0 -2
  421. data/test/rubygems/test_gem_resolver_api_set.rb +3 -5
  422. data/test/rubygems/test_gem_resolver_api_specification.rb +0 -2
  423. data/test/rubygems/test_gem_resolver_best_set.rb +2 -4
  424. data/test/rubygems/test_gem_resolver_composed_set.rb +0 -2
  425. data/test/rubygems/test_gem_resolver_conflict.rb +0 -2
  426. data/test/rubygems/test_gem_resolver_dependency_request.rb +0 -2
  427. data/test/rubygems/test_gem_resolver_git_set.rb +0 -2
  428. data/test/rubygems/test_gem_resolver_git_specification.rb +0 -2
  429. data/test/rubygems/test_gem_resolver_index_set.rb +2 -4
  430. data/test/rubygems/test_gem_resolver_index_specification.rb +0 -2
  431. data/test/rubygems/test_gem_resolver_installed_specification.rb +0 -2
  432. data/test/rubygems/test_gem_resolver_installer_set.rb +7 -9
  433. data/test/rubygems/test_gem_resolver_local_specification.rb +0 -2
  434. data/test/rubygems/test_gem_resolver_lock_set.rb +3 -5
  435. data/test/rubygems/test_gem_resolver_lock_specification.rb +0 -2
  436. data/test/rubygems/test_gem_resolver_requirement_list.rb +0 -2
  437. data/test/rubygems/test_gem_resolver_specification.rb +0 -4
  438. data/test/rubygems/test_gem_resolver_vendor_set.rb +0 -2
  439. data/test/rubygems/test_gem_resolver_vendor_specification.rb +0 -2
  440. data/test/rubygems/test_gem_security.rb +20 -22
  441. data/test/rubygems/test_gem_security_policy.rb +5 -10
  442. data/test/rubygems/test_gem_security_signer.rb +8 -10
  443. data/test/rubygems/test_gem_security_trust_dir.rb +2 -4
  444. data/test/rubygems/test_gem_server.rb +10 -14
  445. data/test/rubygems/test_gem_silent_ui.rb +0 -2
  446. data/test/rubygems/test_gem_source.rb +12 -16
  447. data/test/rubygems/test_gem_source_fetch_problem.rb +0 -2
  448. data/test/rubygems/test_gem_source_git.rb +12 -13
  449. data/test/rubygems/test_gem_source_installed.rb +7 -9
  450. data/test/rubygems/test_gem_source_list.rb +1 -2
  451. data/test/rubygems/test_gem_source_local.rb +8 -10
  452. data/test/rubygems/test_gem_source_lock.rb +10 -12
  453. data/test/rubygems/test_gem_source_specific_file.rb +7 -9
  454. data/test/rubygems/test_gem_source_vendor.rb +7 -9
  455. data/test/rubygems/test_gem_spec_fetcher.rb +11 -4
  456. data/test/rubygems/test_gem_specification.rb +179 -129
  457. data/test/rubygems/test_gem_stream_ui.rb +3 -3
  458. data/test/rubygems/test_gem_stub_specification.rb +4 -7
  459. data/test/rubygems/test_gem_text.rb +1 -3
  460. data/test/rubygems/test_gem_uninstaller.rb +133 -11
  461. data/test/rubygems/test_gem_unsatisfiable_dependency_error.rb +0 -2
  462. data/test/rubygems/test_gem_uri_formatter.rb +0 -2
  463. data/test/rubygems/test_gem_util.rb +7 -7
  464. data/test/rubygems/test_gem_validator.rb +0 -2
  465. data/test/rubygems/test_gem_version.rb +1 -3
  466. data/test/rubygems/test_gem_version_option.rb +0 -2
  467. data/test/rubygems/test_kernel.rb +25 -10
  468. data/test/rubygems/test_project_sanity.rb +7 -2
  469. data/test/rubygems/test_remote_fetch_error.rb +0 -2
  470. data/test/rubygems/test_require.rb +241 -47
  471. metadata +59 -96
  472. data/.bundle/config +0 -2
  473. data/.rubocop.yml +0 -91
  474. data/Gemfile +0 -8
  475. data/Gemfile.lock +0 -43
  476. data/bundler/CODE_OF_CONDUCT.md +0 -136
  477. data/bundler/man/bundle-add.1.txt +0 -58
  478. data/bundler/man/bundle-binstubs.1.txt +0 -48
  479. data/bundler/man/bundle-cache.1.txt +0 -78
  480. data/bundler/man/bundle-check.1.txt +0 -33
  481. data/bundler/man/bundle-clean.1.txt +0 -26
  482. data/bundler/man/bundle-config.1.txt +0 -528
  483. data/bundler/man/bundle-doctor.1.txt +0 -44
  484. data/bundler/man/bundle-exec.1.txt +0 -178
  485. data/bundler/man/bundle-gem.1.txt +0 -91
  486. data/bundler/man/bundle-info.1.txt +0 -21
  487. data/bundler/man/bundle-init.1.txt +0 -34
  488. data/bundler/man/bundle-inject.1.txt +0 -32
  489. data/bundler/man/bundle-install.1.txt +0 -401
  490. data/bundler/man/bundle-list.1.txt +0 -43
  491. data/bundler/man/bundle-lock.1.txt +0 -93
  492. data/bundler/man/bundle-open.1.txt +0 -29
  493. data/bundler/man/bundle-outdated.1.txt +0 -131
  494. data/bundler/man/bundle-platform.1.txt +0 -57
  495. data/bundler/man/bundle-pristine.1.txt +0 -44
  496. data/bundler/man/bundle-remove.1.txt +0 -34
  497. data/bundler/man/bundle-show.1.txt +0 -27
  498. data/bundler/man/bundle-update.1.txt +0 -390
  499. data/bundler/man/bundle-viz.1.txt +0 -39
  500. data/bundler/man/bundle.1.txt +0 -116
  501. data/bundler/man/gemfile.5.txt +0 -649
  502. data/bundler/man/index.txt +0 -25
  503. data/lib/rubygems/source_local.rb +0 -7
  504. data/lib/rubygems/source_specific_file.rb +0 -6
  505. data/lib/ubygems.rb +0 -14
  506. data/tmp/.keep +0 -0
  507. data/util/CL2notes +0 -55
  508. data/util/bisect +0 -10
  509. data/util/ci.sh +0 -62
  510. data/util/cops/deprecations.rb +0 -52
  511. data/util/create_certs.rb +0 -171
  512. data/util/create_certs.sh +0 -27
  513. data/util/create_encrypted_key.rb +0 -16
  514. data/util/generate_spdx_license_list.rb +0 -63
  515. data/util/patch_with_prs.rb +0 -77
  516. data/util/rubocop +0 -8
  517. data/util/update_bundled_ca_certificates.rb +0 -139
  518. data/util/update_changelog.rb +0 -67
@@ -13,13 +13,11 @@ module Gem
13
13
  # already activated gems or that RubyGems is otherwise unable to activate.
14
14
 
15
15
  class LoadError < ::LoadError
16
-
17
16
  # Name of gem
18
17
  attr_accessor :name
19
18
 
20
19
  # Version requirement of gem
21
20
  attr_accessor :requirement
22
-
23
21
  end
24
22
 
25
23
  ##
@@ -27,15 +25,15 @@ module Gem
27
25
  # system. Instead of rescuing from this class, make sure to rescue from the
28
26
  # superclass Gem::LoadError to catch all types of load errors.
29
27
  class MissingSpecError < Gem::LoadError
30
-
31
- def initialize(name, requirement)
28
+ def initialize(name, requirement, extra_message=nil)
32
29
  @name = name
33
30
  @requirement = requirement
31
+ @extra_message = extra_message
34
32
  end
35
33
 
36
34
  def message # :nodoc:
37
35
  build_message +
38
- "Checked in 'GEM_PATH=#{Gem.path.join(File::PATH_SEPARATOR)}', execute `gem env` for more information"
36
+ "Checked in 'GEM_PATH=#{Gem.path.join(File::PATH_SEPARATOR)}' #{@extra_message}, execute `gem env` for more information"
39
37
  end
40
38
 
41
39
  private
@@ -44,7 +42,6 @@ module Gem
44
42
  total = Gem::Specification.stubs.size
45
43
  "Could not find '#{name}' (#{requirement}) among #{total} total gem(s)\n"
46
44
  end
47
-
48
45
  end
49
46
 
50
47
  ##
@@ -52,7 +49,6 @@ module Gem
52
49
  # not the requested version. Instead of rescuing from this class, make sure to
53
50
  # rescue from the superclass Gem::LoadError to catch all types of load errors.
54
51
  class MissingSpecVersionError < MissingSpecError
55
-
56
52
  attr_reader :specs
57
53
 
58
54
  def initialize(name, requirement, specs)
@@ -69,13 +65,11 @@ module Gem
69
65
  names = specs.map(&:full_name)
70
66
  "Could not find '#{name}' (#{requirement}) - did find: [#{names.join ','}]\n"
71
67
  end
72
-
73
68
  end
74
69
 
75
70
  # Raised when there are conflicting gem specs loaded
76
71
 
77
72
  class ConflictError < LoadError
78
-
79
73
  ##
80
74
  # A Hash mapping conflicting specifications to the dependencies that
81
75
  # caused the conflict
@@ -100,7 +94,6 @@ module Gem
100
94
 
101
95
  super("Unable to activate #{target.full_name}, because #{reason}")
102
96
  end
103
-
104
97
  end
105
98
 
106
99
  class ErrorReason; end
@@ -112,7 +105,6 @@ module Gem
112
105
  # in figuring out why a gem couldn't be installed.
113
106
  #
114
107
  class PlatformMismatch < ErrorReason
115
-
116
108
  ##
117
109
  # the name of the gem
118
110
  attr_reader :name
@@ -150,7 +142,6 @@ module Gem
150
142
  @platforms.size == 1 ? '' : 's',
151
143
  @platforms.join(' ,')]
152
144
  end
153
-
154
145
  end
155
146
 
156
147
  ##
@@ -158,7 +149,6 @@ module Gem
158
149
  # data from a source
159
150
 
160
151
  class SourceFetchProblem < ErrorReason
161
-
162
152
  ##
163
153
  # Creates a new SourceFetchProblem for the given +source+ and +error+.
164
154
 
@@ -189,6 +179,5 @@ module Gem
189
179
  # The "exception" alias allows you to call raise on a SourceFetchProblem.
190
180
 
191
181
  alias exception error
192
-
193
182
  end
194
183
  end
@@ -5,18 +5,7 @@ require 'rubygems/deprecate'
5
5
  ##
6
6
  # Base exception class for RubyGems. All exception raised by RubyGems are a
7
7
  # subclass of this one.
8
- class Gem::Exception < RuntimeError
9
-
10
- ##
11
- #--
12
- # TODO: remove in RubyGems 4, nobody sets this
13
-
14
- attr_accessor :source_exception # :nodoc:
15
-
16
- extend Gem::Deprecate
17
- deprecate :source_exception, :none, 2018, 12
18
-
19
- end
8
+ class Gem::Exception < RuntimeError; end
20
9
 
21
10
  class Gem::CommandLineError < Gem::Exception; end
22
11
 
@@ -30,7 +19,6 @@ class Gem::DependencyRemovalException < Gem::Exception; end
30
19
  # and #conflicting_dependencies
31
20
 
32
21
  class Gem::DependencyResolutionError < Gem::DependencyError
33
-
34
22
  attr_reader :conflict
35
23
 
36
24
  def initialize(conflict)
@@ -43,25 +31,20 @@ class Gem::DependencyResolutionError < Gem::DependencyError
43
31
  def conflicting_dependencies
44
32
  @conflict.conflicting_dependencies
45
33
  end
46
-
47
34
  end
48
35
 
49
36
  ##
50
37
  # Raised when attempting to uninstall a gem that isn't in GEM_HOME.
51
38
 
52
39
  class Gem::GemNotInHomeException < Gem::Exception
53
-
54
40
  attr_accessor :spec
55
-
56
41
  end
57
42
 
58
43
  ###
59
44
  # Raised when removing a gem with the uninstall command fails
60
45
 
61
46
  class Gem::UninstallError < Gem::Exception
62
-
63
47
  attr_accessor :spec
64
-
65
48
  end
66
49
 
67
50
  class Gem::DocumentError < Gem::Exception; end
@@ -75,7 +58,6 @@ class Gem::EndOfYAMLException < Gem::Exception; end
75
58
  # operating on the given directory.
76
59
 
77
60
  class Gem::FilePermissionError < Gem::Exception
78
-
79
61
  attr_reader :directory
80
62
 
81
63
  def initialize(directory)
@@ -83,15 +65,12 @@ class Gem::FilePermissionError < Gem::Exception
83
65
 
84
66
  super "You don't have write permissions for the #{directory} directory."
85
67
  end
86
-
87
68
  end
88
69
 
89
70
  ##
90
71
  # Used to raise parsing and loading errors
91
72
  class Gem::FormatException < Gem::Exception
92
-
93
73
  attr_accessor :file_path
94
-
95
74
  end
96
75
 
97
76
  class Gem::GemNotFoundException < Gem::Exception; end
@@ -100,7 +79,6 @@ class Gem::GemNotFoundException < Gem::Exception; end
100
79
  # Raised by the DependencyInstaller when a specific gem cannot be found
101
80
 
102
81
  class Gem::SpecificGemNotFoundException < Gem::GemNotFoundException
103
-
104
82
  ##
105
83
  # Creates a new SpecificGemNotFoundException for a gem with the given +name+
106
84
  # and +version+. Any +errors+ encountered when attempting to find the gem
@@ -128,7 +106,6 @@ class Gem::SpecificGemNotFoundException < Gem::GemNotFoundException
128
106
  # Errors encountered attempting to find the gem.
129
107
 
130
108
  attr_reader :errors
131
-
132
109
  end
133
110
 
134
111
  ##
@@ -136,7 +113,6 @@ end
136
113
  # inability to find a valid possible spec for a request.
137
114
 
138
115
  class Gem::ImpossibleDependenciesError < Gem::Exception
139
-
140
116
  attr_reader :conflicts
141
117
  attr_reader :request
142
118
 
@@ -164,17 +140,14 @@ class Gem::ImpossibleDependenciesError < Gem::Exception
164
140
  def dependency
165
141
  @request.dependency
166
142
  end
167
-
168
143
  end
169
144
 
170
145
  class Gem::InstallError < Gem::Exception; end
171
146
  class Gem::RuntimeRequirementNotMetError < Gem::InstallError
172
-
173
147
  attr_accessor :suggestion
174
148
  def message
175
149
  [suggestion, super].compact.join("\n\t")
176
150
  end
177
-
178
151
  end
179
152
 
180
153
  ##
@@ -216,7 +189,6 @@ class Gem::VerificationError < Gem::Exception; end
216
189
  # exit_code
217
190
 
218
191
  class Gem::SystemExitException < SystemExit
219
-
220
192
  ##
221
193
  # The exit code for the process
222
194
 
@@ -230,7 +202,6 @@ class Gem::SystemExitException < SystemExit
230
202
 
231
203
  super "Exiting RubyGems with exit_code #{exit_code}"
232
204
  end
233
-
234
205
  end
235
206
 
236
207
  ##
@@ -238,7 +209,6 @@ end
238
209
  # there is no spec.
239
210
 
240
211
  class Gem::UnsatisfiableDependencyError < Gem::DependencyError
241
-
242
212
  ##
243
213
  # The unsatisfiable dependency. This is a
244
214
  # Gem::Resolver::DependencyRequest, not a Gem::Dependency
@@ -256,7 +226,7 @@ class Gem::UnsatisfiableDependencyError < Gem::DependencyError
256
226
 
257
227
  def initialize(dep, platform_mismatch=nil)
258
228
  if platform_mismatch and !platform_mismatch.empty?
259
- plats = platform_mismatch.map { |x| x.platform.to_s }.sort.uniq
229
+ plats = platform_mismatch.map {|x| x.platform.to_s }.sort.uniq
260
230
  super "Unable to resolve dependency: No match for '#{dep}' on this platform. Found: #{plats.join(', ')}"
261
231
  else
262
232
  if dep.explicit?
@@ -283,7 +253,6 @@ class Gem::UnsatisfiableDependencyError < Gem::DependencyError
283
253
  def version
284
254
  @dependency.requirement
285
255
  end
286
-
287
256
  end
288
257
 
289
258
  ##
@@ -10,9 +10,9 @@
10
10
 
11
11
  module Gem::Ext; end
12
12
 
13
- require 'rubygems/ext/build_error'
14
- require 'rubygems/ext/builder'
15
- require 'rubygems/ext/configure_builder'
16
- require 'rubygems/ext/ext_conf_builder'
17
- require 'rubygems/ext/rake_builder'
18
- require 'rubygems/ext/cmake_builder'
13
+ require_relative 'ext/build_error'
14
+ require_relative 'ext/builder'
15
+ require_relative 'ext/configure_builder'
16
+ require_relative 'ext/ext_conf_builder'
17
+ require_relative 'ext/rake_builder'
18
+ require_relative 'ext/cmake_builder'
@@ -2,5 +2,7 @@
2
2
  ##
3
3
  # Raised when there is an error while building extensions.
4
4
 
5
+ require_relative '../exceptions'
6
+
5
7
  class Gem::Ext::BuildError < Gem::InstallError
6
8
  end
@@ -5,10 +5,9 @@
5
5
  # See LICENSE.txt for permissions.
6
6
  #++
7
7
 
8
- require 'rubygems/user_interaction'
8
+ require_relative '../user_interaction'
9
9
 
10
10
  class Gem::Ext::Builder
11
-
12
11
  include Gem::UserInteraction
13
12
 
14
13
  ##
@@ -68,7 +67,9 @@ class Gem::Ext::Builder
68
67
  results << (command.respond_to?(:shelljoin) ? command.shelljoin : command)
69
68
 
70
69
  require "open3"
71
- output, status = Open3.capture2e(*command)
70
+ # Set $SOURCE_DATE_EPOCH for the subprocess.
71
+ env = {'SOURCE_DATE_EPOCH' => Gem.source_date_epoch_string}
72
+ output, status = Open3.capture2e(env, *command)
72
73
  if verbose
73
74
  puts output
74
75
  else
@@ -225,5 +226,4 @@ EOF
225
226
 
226
227
  destination
227
228
  end
228
-
229
229
  end
@@ -1,8 +1,7 @@
1
1
  # frozen_string_literal: true
2
- require 'rubygems/command'
2
+ require_relative '../command'
3
3
 
4
4
  class Gem::Ext::CmakeBuilder < Gem::Ext::Builder
5
-
6
5
  def self.build(extension, dest_path, results, args=[], lib_dir=nil)
7
6
  unless File.exist?('Makefile')
8
7
  cmd = "cmake . -DCMAKE_INSTALL_PREFIX=#{dest_path}"
@@ -15,5 +14,4 @@ class Gem::Ext::CmakeBuilder < Gem::Ext::Builder
15
14
 
16
15
  results
17
16
  end
18
-
19
17
  end
@@ -6,7 +6,6 @@
6
6
  #++
7
7
 
8
8
  class Gem::Ext::ConfigureBuilder < Gem::Ext::Builder
9
-
10
9
  def self.build(extension, dest_path, results, args=[], lib_dir=nil)
11
10
  unless File.exist?('Makefile')
12
11
  cmd = "sh ./configure --prefix=#{dest_path}"
@@ -19,5 +18,4 @@ class Gem::Ext::ConfigureBuilder < Gem::Ext::Builder
19
18
 
20
19
  results
21
20
  end
22
-
23
21
  end
@@ -5,15 +5,13 @@
5
5
  # See LICENSE.txt for permissions.
6
6
  #++
7
7
 
8
- require 'fileutils'
9
- require 'tempfile'
10
8
  require 'shellwords'
11
9
 
12
10
  class Gem::Ext::ExtConfBuilder < Gem::Ext::Builder
13
-
14
- FileEntry = FileUtils::Entry_ # :nodoc:
15
-
16
11
  def self.build(extension, dest_path, results, args=[], lib_dir=nil)
12
+ require 'fileutils'
13
+ require 'tempfile'
14
+
17
15
  tmp_dest = Dir.mktmpdir(".gem.", ".")
18
16
 
19
17
  # Some versions of `mktmpdir` return absolute paths, which will break make
@@ -27,7 +25,7 @@ class Gem::Ext::ExtConfBuilder < Gem::Ext::Builder
27
25
  # Details: https://github.com/rubygems/rubygems/issues/977#issuecomment-171544940
28
26
  tmp_dest = get_relative_path(tmp_dest)
29
27
 
30
- Tempfile.open %w"siteconf .rb", "." do |siteconf|
28
+ Tempfile.open %w[siteconf .rb], "." do |siteconf|
31
29
  siteconf.puts "require 'rbconfig'"
32
30
  siteconf.puts "dest_path = #{tmp_dest.dump}"
33
31
  %w[sitearchdir sitelibdir].each do |dir|
@@ -67,11 +65,11 @@ class Gem::Ext::ExtConfBuilder < Gem::Ext::Builder
67
65
  if Gem.install_extension_in_lib and lib_dir
68
66
  FileUtils.mkdir_p lib_dir
69
67
  entries = Dir.entries(tmp_dest) - %w[. ..]
70
- entries = entries.map { |entry| File.join tmp_dest, entry }
68
+ entries = entries.map {|entry| File.join tmp_dest, entry }
71
69
  FileUtils.cp_r entries, lib_dir, :remove_destination => true
72
70
  end
73
71
 
74
- FileEntry.new(tmp_dest).traverse do |ent|
72
+ FileUtils::Entry_.new(tmp_dest).traverse do |ent|
75
73
  destent = ent.class.new(dest_path, ent.rel)
76
74
  destent.exist? or FileUtils.mv(ent.path, destent.path)
77
75
  end
@@ -93,5 +91,4 @@ class Gem::Ext::ExtConfBuilder < Gem::Ext::Builder
93
91
  path[0..Dir.pwd.length - 1] = '.' if path.start_with?(Dir.pwd)
94
92
  path
95
93
  end
96
-
97
94
  end
@@ -8,7 +8,6 @@
8
8
  require "shellwords"
9
9
 
10
10
  class Gem::Ext::RakeBuilder < Gem::Ext::Builder
11
-
12
11
  def self.build(extension, dest_path, results, args=[], lib_dir=nil)
13
12
  if File.basename(extension) =~ /mkrf_conf/i
14
13
  run([Gem.ruby, File.basename(extension), *args], results)
@@ -31,5 +30,4 @@ class Gem::Ext::RakeBuilder < Gem::Ext::Builder
31
30
 
32
31
  results
33
32
  end
34
-
35
33
  end
@@ -7,7 +7,6 @@
7
7
 
8
8
  require 'rubygems'
9
9
  require 'rubygems/command_manager'
10
- require 'rubygems/config_file'
11
10
  require 'rubygems/deprecate'
12
11
 
13
12
  ##
@@ -25,14 +24,9 @@ Gem.load_env_plugins rescue nil
25
24
  # classes they call directly.
26
25
 
27
26
  class Gem::GemRunner
28
-
29
- def initialize(options={})
30
- if !options.empty? && !Gem::Deprecate.skip
31
- Kernel.warn "NOTE: passing options to Gem::GemRunner.new is deprecated with no replacement. It will be removed on or after 2016-10-01."
32
- end
33
-
34
- @command_manager_class = options[:command_manager] || Gem::CommandManager
35
- @config_file_class = options[:config_file] || Gem::ConfigFile
27
+ def initialize
28
+ @command_manager_class = Gem::CommandManager
29
+ @config_file_class = Gem::ConfigFile
36
30
  end
37
31
 
38
32
  ##
@@ -80,7 +74,6 @@ class Gem::GemRunner
80
74
  Gem.use_paths Gem.configuration[:gemhome], Gem.configuration[:gempath]
81
75
  Gem::Command.extra_args = Gem.configuration[:gem]
82
76
  end
83
-
84
77
  end
85
78
 
86
79
  Gem.load_plugins
@@ -19,7 +19,7 @@ module Gem::GemcutterUtilities
19
19
  def add_key_option
20
20
  add_option('-k', '--key KEYNAME', Symbol,
21
21
  'Use the given API key',
22
- 'from ~/.gem/credentials') do |value,options|
22
+ "from #{Gem.configuration.credentials_path}") do |value,options|
23
23
  options[:key] = value
24
24
  end
25
25
  end
@@ -4,24 +4,10 @@ require 'rubygems/package'
4
4
  require 'time'
5
5
  require 'tmpdir'
6
6
 
7
- rescue_exceptions = [LoadError]
8
- begin
9
- require 'bundler/errors'
10
- rescue LoadError # this rubygems + old ruby
11
- else # this rubygems + ruby trunk with bundler
12
- rescue_exceptions << Bundler::GemfileNotFound
13
- end
14
- begin
15
- gem 'builder'
16
- require 'builder/xchar'
17
- rescue *rescue_exceptions
18
- end
19
-
20
7
  ##
21
8
  # Top level class for building the gem repository index.
22
9
 
23
10
  class Gem::Indexer
24
-
25
11
  include Gem::UserInteraction
26
12
 
27
13
  ##
@@ -62,11 +48,6 @@ class Gem::Indexer
62
48
  require 'tmpdir'
63
49
  require 'zlib'
64
50
 
65
- unless defined?(Builder::XChar)
66
- raise "Gem::Indexer requires that the XML Builder library be installed:" +
67
- "\n\tgem install builder"
68
- end
69
-
70
51
  options = { :build_modern => true }.merge options
71
52
 
72
53
  @build_modern = options[:build_modern]
@@ -383,7 +364,7 @@ class Gem::Indexer
383
364
  end
384
365
 
385
366
  specs = map_gems_to_specs updated_gems
386
- prerelease, released = specs.partition { |s| s.version.prerelease? }
367
+ prerelease, released = specs.partition {|s| s.version.prerelease? }
387
368
 
388
369
  files = build_marshal_gemspecs specs
389
370
 
@@ -442,5 +423,4 @@ class Gem::Indexer
442
423
  Marshal.dump specs_index, io
443
424
  end
444
425
  end
445
-
446
426
  end