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
@@ -1,10 +1,8 @@
1
1
  # frozen_string_literal: true
2
- require 'English'
3
2
  require 'rubygems/command'
4
3
  require 'rubygems/version_option'
5
4
 
6
5
  class Gem::Commands::ContentsCommand < Gem::Command
7
-
8
6
  include Gem::VersionOption
9
7
 
10
8
  def initialize
@@ -106,7 +104,8 @@ prefix or only the files that are requireable.
106
104
  spec.files.map do |file|
107
105
  case file
108
106
  when /\A#{spec.bindir}\//
109
- [RbConfig::CONFIG['bindir'], $POSTMATCH]
107
+ # $' is POSTMATCH
108
+ [RbConfig::CONFIG['bindir'], $']
110
109
  when /\.so\z/
111
110
  [RbConfig::CONFIG['archdir'], file]
112
111
  else
@@ -167,7 +166,7 @@ prefix or only the files that are requireable.
167
166
  end
168
167
 
169
168
  def spec_for(name)
170
- spec = Gem::Specification.find_all_by_name(name, @version).last
169
+ spec = Gem::Specification.find_all_by_name(name, @version).first
171
170
 
172
171
  return spec if spec
173
172
 
@@ -175,7 +174,7 @@ prefix or only the files that are requireable.
175
174
 
176
175
  if Gem.configuration.verbose
177
176
  say "\nDirectories searched:"
178
- @spec_dirs.sort.each { |dir| say dir }
177
+ @spec_dirs.sort.each {|dir| say dir }
179
178
  end
180
179
 
181
180
  return nil
@@ -186,5 +185,4 @@ prefix or only the files that are requireable.
186
185
  [i, File.join(i, "specifications")]
187
186
  end.flatten
188
187
  end
189
-
190
188
  end
@@ -4,7 +4,6 @@ require 'rubygems/local_remote_options'
4
4
  require 'rubygems/version_option'
5
5
 
6
6
  class Gem::Commands::DependencyCommand < Gem::Command
7
-
8
7
  include Gem::LocalRemoteOptions
9
8
  include Gem::VersionOption
10
9
 
@@ -59,14 +58,14 @@ use with other commands.
59
58
 
60
59
  ss, = fetcher.spec_for_dependency dependency
61
60
 
62
- ss.map { |spec, _| spec }
61
+ ss.map {|spec, _| spec }
63
62
  end
64
63
 
65
64
  def fetch_specs(name_pattern, dependency) # :nodoc:
66
65
  specs = []
67
66
 
68
67
  if local?
69
- specs.concat Gem::Specification.stubs.find_all { |spec|
68
+ specs.concat Gem::Specification.stubs.find_all {|spec|
70
69
  name_pattern =~ spec.name and
71
70
  dependency.requirement.satisfied_by? spec.version
72
71
  }.map(&:to_spec)
@@ -92,7 +91,7 @@ use with other commands.
92
91
  def display_pipe(specs) # :nodoc:
93
92
  specs.each do |spec|
94
93
  unless spec.dependencies.empty?
95
- spec.dependencies.sort_by { |dep| dep.name }.each do |dep|
94
+ spec.dependencies.sort_by {|dep| dep.name }.each do |dep|
96
95
  say "#{dep.name} --version '#{dep.requirement}'"
97
96
  end
98
97
  end
@@ -156,7 +155,7 @@ use with other commands.
156
155
  response = String.new
157
156
  response << ' ' * level + "Gem #{spec.full_name}\n"
158
157
  unless spec.dependencies.empty?
159
- spec.dependencies.sort_by { |dep| dep.name }.each do |dep|
158
+ spec.dependencies.sort_by {|dep| dep.name }.each do |dep|
160
159
  response << ' ' * level + " #{dep}\n"
161
160
  end
162
161
  end
@@ -168,11 +167,11 @@ use with other commands.
168
167
 
169
168
  ss, _ = fetcher.spec_for_dependency dependency
170
169
 
171
- ss.map { |s,o| s }
170
+ ss.map {|s,o| s }
172
171
  end
173
172
 
174
173
  def reverse_dependencies(specs) # :nodoc:
175
- reverse = Hash.new { |h, k| h[k] = [] }
174
+ reverse = Hash.new {|h, k| h[k] = [] }
176
175
 
177
176
  return reverse unless options[:reverse_dependencies]
178
177
 
@@ -215,5 +214,4 @@ use with other commands.
215
214
  /\A#{Regexp.union(*args)}/
216
215
  end
217
216
  end
218
-
219
217
  end
@@ -2,7 +2,6 @@
2
2
  require 'rubygems/command'
3
3
 
4
4
  class Gem::Commands::EnvironmentCommand < Gem::Command
5
-
6
5
  def initialize
7
6
  super 'environment', 'Display information about the RubyGems environment'
8
7
  end
@@ -127,7 +126,7 @@ lib/rubygems/defaults/operating_system.rb
127
126
 
128
127
  out << " - RUBYGEMS PLATFORMS:\n"
129
128
  Gem.platforms.each do |platform|
130
- out << " - #{platform}\n"
129
+ out << " - #{platform}\n"
131
130
  end
132
131
 
133
132
  out << " - GEM PATHS:\n"
@@ -172,5 +171,4 @@ lib/rubygems/defaults/operating_system.rb
172
171
 
173
172
  return nil
174
173
  end
175
-
176
174
  end
@@ -4,7 +4,6 @@ require 'rubygems/local_remote_options'
4
4
  require 'rubygems/version_option'
5
5
 
6
6
  class Gem::Commands::FetchCommand < Gem::Command
7
-
8
7
  include Gem::LocalRemoteOptions
9
8
  include Gem::VersionOption
10
9
 
@@ -57,11 +56,11 @@ then repackaging it.
57
56
  Gem::SpecFetcher.fetcher.spec_for_dependency dep
58
57
 
59
58
  if platform
60
- filtered = specs_and_sources.select { |s,| s.platform == platform }
59
+ filtered = specs_and_sources.select {|s,| s.platform == platform }
61
60
  specs_and_sources = filtered unless filtered.empty?
62
61
  end
63
62
 
64
- spec, source = specs_and_sources.max_by { |s,| s.version }
63
+ spec, source = specs_and_sources.max_by {|s,| s.version }
65
64
 
66
65
  if spec.nil?
67
66
  show_lookup_failure gem_name, version, errors, options[:domain]
@@ -73,5 +72,4 @@ then repackaging it.
73
72
  say "Downloaded #{spec.full_name}"
74
73
  end
75
74
  end
76
-
77
75
  end
@@ -8,7 +8,6 @@ require 'rubygems/indexer'
8
8
  # See `gem help generate_index`
9
9
 
10
10
  class Gem::Commands::GenerateIndexCommand < Gem::Command
11
-
12
11
  def initialize
13
12
  super 'generate_index',
14
13
  'Generates the index files for a gem server directory',
@@ -83,5 +82,4 @@ Marshal::MINOR_VERSION constants. It is used to ensure compatibility.
83
82
  end
84
83
  end
85
84
  end
86
-
87
85
  end
@@ -2,7 +2,6 @@
2
2
  require 'rubygems/command'
3
3
 
4
4
  class Gem::Commands::HelpCommand < Gem::Command
5
-
6
5
  # :stopdoc:
7
6
  EXAMPLES = <<-EOF.freeze
8
7
  Some examples of 'gem' usage.
@@ -38,7 +37,7 @@ Some examples of 'gem' usage.
38
37
 
39
38
  * Create a gem:
40
39
 
41
- See http://guides.rubygems.org/make-your-own-gem/
40
+ See https://guides.rubygems.org/make-your-own-gem/
42
41
 
43
42
  * See information about RubyGems:
44
43
 
@@ -324,7 +323,7 @@ platform.
324
323
 
325
324
  margin_width = 4
326
325
 
327
- desc_width = @command_manager.command_names.map { |n| n.size }.max + 4
326
+ desc_width = @command_manager.command_names.map {|n| n.size }.max + 4
328
327
 
329
328
  summary_width = 80 - margin_width - desc_width
330
329
  wrap_indent = ' ' * (margin_width + desc_width)
@@ -370,5 +369,4 @@ platform.
370
369
  alert_warning "Unknown command #{command_name}. Try: gem help commands"
371
370
  end
372
371
  end
373
-
374
372
  end
@@ -1,14 +1,18 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'rubygems/command'
4
- require 'rubygems/commands/query_command'
4
+ require 'rubygems/query_utils'
5
5
 
6
- class Gem::Commands::InfoCommand < Gem::Commands::QueryCommand
6
+ class Gem::Commands::InfoCommand < Gem::Command
7
+ include Gem::QueryUtils
7
8
 
8
9
  def initialize
9
- super "info", "Show information for the given gem"
10
+ super "info", "Show information for the given gem",
11
+ :name => //, :domain => :local, :details => false, :versions => true,
12
+ :installed => nil, :version => Gem::Requirement.default
13
+
14
+ add_query_options
10
15
 
11
- remove_option('--name-matches')
12
16
  remove_option('-d')
13
17
 
14
18
  defaults[:details] = true
@@ -31,5 +35,4 @@ class Gem::Commands::InfoCommand < Gem::Commands::QueryCommand
31
35
  def defaults_str
32
36
  "--local"
33
37
  end
34
-
35
38
  end
@@ -12,7 +12,6 @@ require 'rubygems/version_option'
12
12
  # See `gem help install`
13
13
 
14
14
  class Gem::Commands::InstallCommand < Gem::Command
15
-
16
15
  attr_reader :installed_specs # :nodoc:
17
16
 
18
17
  include Gem::VersionOption
@@ -218,7 +217,7 @@ You can use `i` command instead of `install`.
218
217
  gem_version ||= options[:version]
219
218
  domain = options[:domain]
220
219
  domain = :local unless options[:suggest_alternate]
221
- supress_suggestions = (domain == :local)
220
+ suppress_suggestions = (domain == :local)
222
221
 
223
222
  begin
224
223
  install_gem gem_name, gem_version
@@ -226,11 +225,11 @@ You can use `i` command instead of `install`.
226
225
  alert_error "Error installing #{gem_name}:\n\t#{e.message}"
227
226
  exit_code |= 1
228
227
  rescue Gem::GemNotFoundException => e
229
- show_lookup_failure e.name, e.version, e.errors, supress_suggestions
228
+ show_lookup_failure e.name, e.version, e.errors, suppress_suggestions
230
229
 
231
230
  exit_code |= 2
232
231
  rescue Gem::UnsatisfiableDependencyError => e
233
- show_lookup_failure e.name, e.version, e.errors, supress_suggestions,
232
+ show_lookup_failure e.name, e.version, e.errors, suppress_suggestions,
234
233
  "'#{gem_name}' (#{gem_version})"
235
234
 
236
235
  exit_code |= 2
@@ -270,5 +269,4 @@ You can use `i` command instead of `install`.
270
269
  gems = @installed_specs.length == 1 ? 'gem' : 'gems'
271
270
  say "#{@installed_specs.length} #{gems} installed"
272
271
  end
273
-
274
272
  end
@@ -1,17 +1,19 @@
1
1
  # frozen_string_literal: true
2
2
  require 'rubygems/command'
3
- require 'rubygems/commands/query_command'
3
+ require 'rubygems/query_utils'
4
4
 
5
5
  ##
6
- # An alternate to Gem::Commands::QueryCommand that searches for gems starting
7
- # with the supplied argument.
6
+ # Searches for gems starting with the supplied argument.
8
7
 
9
- class Gem::Commands::ListCommand < Gem::Commands::QueryCommand
8
+ class Gem::Commands::ListCommand < Gem::Command
9
+ include Gem::QueryUtils
10
10
 
11
11
  def initialize
12
- super 'list', 'Display local gems whose name matches REGEXP'
12
+ super 'list', 'Display local gems whose name matches REGEXP',
13
+ :name => //, :domain => :local, :details => false, :versions => true,
14
+ :installed => nil, :version => Gem::Requirement.default
13
15
 
14
- remove_option('--name-matches')
16
+ add_query_options
15
17
  end
16
18
 
17
19
  def arguments # :nodoc:
@@ -36,5 +38,4 @@ To search for remote gems use the search command.
36
38
  def usage # :nodoc:
37
39
  "#{program_name} [REGEXP ...]"
38
40
  end
39
-
40
41
  end
@@ -2,7 +2,6 @@
2
2
  require 'rubygems/command'
3
3
 
4
4
  class Gem::Commands::LockCommand < Gem::Command
5
-
6
5
  def initialize
7
6
  super 'lock', 'Generate a lockdown list of gems',
8
7
  :strict => false
@@ -104,7 +103,6 @@ lock it down to the exact version.
104
103
  File.join path, "specifications", "#{gem_full_name}.gemspec"
105
104
  end
106
105
 
107
- gemspecs.find { |path| File.exist? path }
106
+ gemspecs.find {|path| File.exist? path }
108
107
  end
109
-
110
108
  end
@@ -3,7 +3,6 @@ require 'rubygems/command'
3
3
 
4
4
  unless defined? Gem::Commands::MirrorCommand
5
5
  class Gem::Commands::MirrorCommand < Gem::Command
6
-
7
6
  def initialize
8
7
  super('mirror', 'Mirror all gem files (requires rubygems-mirror)')
9
8
  begin
@@ -22,6 +21,5 @@ The mirror command has been moved to the rubygems-mirror gem.
22
21
  def execute
23
22
  alert_error "Install the rubygems-mirror gem for the mirror command"
24
23
  end
25
-
26
24
  end
27
25
  end
@@ -1,11 +1,8 @@
1
1
  # frozen_string_literal: true
2
- require 'English'
3
2
  require 'rubygems/command'
4
3
  require 'rubygems/version_option'
5
- require 'rubygems/util'
6
4
 
7
5
  class Gem::Commands::OpenCommand < Gem::Command
8
-
9
6
  include Gem::VersionOption
10
7
 
11
8
  def initialize
@@ -84,5 +81,4 @@ class Gem::Commands::OpenCommand < Gem::Command
84
81
 
85
82
  say "Unable to find gem '#{name}'"
86
83
  end
87
-
88
84
  end
@@ -5,7 +5,6 @@ require 'rubygems/spec_fetcher'
5
5
  require 'rubygems/version_option'
6
6
 
7
7
  class Gem::Commands::OutdatedCommand < Gem::Command
8
-
9
8
  include Gem::LocalRemoteOptions
10
9
  include Gem::VersionOption
11
10
 
@@ -30,5 +29,4 @@ update the gems with the update or install commands.
30
29
  say "#{spec.name} (#{spec.version} < #{remote_version})"
31
30
  end
32
31
  end
33
-
34
32
  end
@@ -5,7 +5,6 @@ require 'rubygems/gemcutter_utilities'
5
5
  require 'rubygems/text'
6
6
 
7
7
  class Gem::Commands::OwnerCommand < Gem::Command
8
-
9
8
  include Gem::Text
10
9
  include Gem::LocalRemoteOptions
11
10
  include Gem::GemcutterUtilities
@@ -109,5 +108,4 @@ permission to.
109
108
  request.add_field "OTP", options[:otp] if options[:otp]
110
109
  end
111
110
  end
112
-
113
111
  end
@@ -5,7 +5,6 @@ require 'rubygems/installer'
5
5
  require 'rubygems/version_option'
6
6
 
7
7
  class Gem::Commands::PristineCommand < Gem::Command
8
-
9
8
  include Gem::VersionOption
10
9
 
11
10
  def initialize
@@ -40,6 +39,11 @@ class Gem::Commands::PristineCommand < Gem::Command
40
39
  options[:only_executables] = value
41
40
  end
42
41
 
42
+ add_option('--only-plugins',
43
+ 'Only restore plugins') do |value, options|
44
+ options[:only_plugins] = value
45
+ end
46
+
43
47
  add_option('-E', '--[no-]env-shebang',
44
48
  'Rewrite executables with a shebang',
45
49
  'of /usr/bin/env') do |value, options|
@@ -126,14 +130,14 @@ extensions will be restored.
126
130
  end
127
131
  end
128
132
 
129
- unless spec.extensions.empty? or options[:extensions] or options[:only_executables]
133
+ unless spec.extensions.empty? or options[:extensions] or options[:only_executables] or options[:only_plugins]
130
134
  say "Skipped #{spec.full_name}, it needs to compile an extension"
131
135
  next
132
136
  end
133
137
 
134
138
  gem = spec.cache_file
135
139
 
136
- unless File.exist? gem or options[:only_executables]
140
+ unless File.exist? gem or options[:only_executables] or options[:only_plugins]
137
141
  require 'rubygems/remote_fetcher'
138
142
 
139
143
  say "Cached gem for #{spec.full_name} not found, attempting to fetch..."
@@ -172,6 +176,9 @@ extensions will be restored.
172
176
  if options[:only_executables]
173
177
  installer = Gem::Installer.for_spec(spec, installer_options)
174
178
  installer.generate_bin
179
+ elsif options[:only_plugins]
180
+ installer = Gem::Installer.for_spec(spec)
181
+ installer.generate_plugins
175
182
  else
176
183
  installer = Gem::Installer.at(gem, installer_options)
177
184
  installer.install
@@ -180,5 +187,4 @@ extensions will be restored.
180
187
  say "Restored #{spec.full_name}"
181
188
  end
182
189
  end
183
-
184
190
  end
@@ -5,7 +5,6 @@ require 'rubygems/gemcutter_utilities'
5
5
  require 'rubygems/package'
6
6
 
7
7
  class Gem::Commands::PushCommand < Gem::Command
8
-
9
8
  include Gem::LocalRemoteOptions
10
9
  include Gem::GemcutterUtilities
11
10
 
@@ -52,23 +51,14 @@ The push command will use ~/.gem/credentials to authenticate to a server, but yo
52
51
  gem_name = get_one_gem_name
53
52
  default_gem_server, push_host = get_hosts_for(gem_name)
54
53
 
55
- default_host = nil
56
- user_defined_host = nil
57
-
58
- if @user_defined_host
59
- user_defined_host = options[:host]
60
- else
61
- default_host = options[:host]
62
- end
63
-
64
- @host = if user_defined_host
65
- user_defined_host
54
+ @host = if @user_defined_host
55
+ options[:host]
66
56
  elsif default_gem_server
67
57
  default_gem_server
68
58
  elsif push_host
69
59
  push_host
70
60
  else
71
- default_host
61
+ options[:host]
72
62
  end
73
63
 
74
64
  sign_in @host
@@ -79,36 +69,7 @@ The push command will use ~/.gem/credentials to authenticate to a server, but yo
79
69
  def send_gem(name)
80
70
  args = [:post, "api/v1/gems"]
81
71
 
82
- latest_rubygems_version = Gem.latest_rubygems_version
83
-
84
- if latest_rubygems_version < Gem.rubygems_version and
85
- Gem.rubygems_version.prerelease? and
86
- Gem::Version.new('2.0.0.rc.2') != Gem.rubygems_version
87
- alert_error <<-ERROR
88
- You are using a beta release of RubyGems (#{Gem::VERSION}) which is not
89
- allowed to push gems. Please downgrade or upgrade to a release version.
90
-
91
- The latest released RubyGems version is #{latest_rubygems_version}
92
-
93
- You can upgrade or downgrade to the latest release version with:
94
-
95
- gem update --system=#{latest_rubygems_version}
96
-
97
- ERROR
98
- terminate_interaction 1
99
- end
100
-
101
- gem_data = Gem::Package.new(name)
102
-
103
- unless @host
104
- @host = gem_data.spec.metadata['default_gem_server']
105
- end
106
-
107
- push_host = nil
108
-
109
- if gem_data.spec.metadata.has_key?('allowed_push_host')
110
- push_host = gem_data.spec.metadata['allowed_push_host']
111
- end
72
+ _, push_host = get_hosts_for(name)
112
73
 
113
74
  @host ||= push_host
114
75
 
@@ -142,5 +103,4 @@ You can upgrade or downgrade to the latest release version with:
142
103
  gem_metadata["allowed_push_host"]
143
104
  ]
144
105
  end
145
-
146
106
  end