rubygems-update 3.1.2 → 3.2.6

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 (562) hide show
  1. checksums.yaml +4 -4
  2. data/{History.txt → CHANGELOG.md} +756 -489
  3. data/CODE_OF_CONDUCT.md +55 -19
  4. data/CONTRIBUTING.md +25 -11
  5. data/Manifest.txt +75 -104
  6. data/POLICIES.md +6 -12
  7. data/README.md +5 -5
  8. data/Rakefile +64 -92
  9. data/bin/update_rubygems +1 -1
  10. data/bundler/CHANGELOG.md +1636 -1422
  11. data/bundler/README.md +6 -8
  12. data/bundler/UPGRADING.md +18 -32
  13. data/bundler/bundler.gemspec +4 -4
  14. data/bundler/exe/bundle +3 -0
  15. data/bundler/lib/bundler.rb +32 -8
  16. data/bundler/lib/bundler/build_metadata.rb +4 -12
  17. data/bundler/lib/bundler/cli.rb +55 -21
  18. data/bundler/lib/bundler/cli/add.rb +1 -1
  19. data/bundler/lib/bundler/cli/binstubs.rb +6 -2
  20. data/bundler/lib/bundler/cli/cache.rb +1 -7
  21. data/bundler/lib/bundler/cli/clean.rb +1 -1
  22. data/bundler/lib/bundler/cli/common.rb +14 -0
  23. data/bundler/lib/bundler/cli/console.rb +1 -1
  24. data/bundler/lib/bundler/cli/doctor.rb +1 -1
  25. data/bundler/lib/bundler/cli/exec.rb +4 -4
  26. data/bundler/lib/bundler/cli/fund.rb +36 -0
  27. data/bundler/lib/bundler/cli/gem.rb +86 -11
  28. data/bundler/lib/bundler/cli/info.rb +15 -4
  29. data/bundler/lib/bundler/cli/init.rb +2 -2
  30. data/bundler/lib/bundler/cli/inject.rb +1 -1
  31. data/bundler/lib/bundler/cli/install.rb +16 -13
  32. data/bundler/lib/bundler/cli/issue.rb +2 -2
  33. data/bundler/lib/bundler/cli/list.rb +12 -10
  34. data/bundler/lib/bundler/cli/outdated.rb +87 -66
  35. data/bundler/lib/bundler/cli/plugin.rb +10 -0
  36. data/bundler/lib/bundler/cli/pristine.rb +5 -0
  37. data/bundler/lib/bundler/cli/show.rb +1 -1
  38. data/bundler/lib/bundler/cli/update.rb +3 -1
  39. data/bundler/lib/bundler/compact_index_client.rb +1 -1
  40. data/bundler/lib/bundler/compact_index_client/cache.rb +6 -14
  41. data/bundler/lib/bundler/compact_index_client/gem_parser.rb +28 -0
  42. data/bundler/lib/bundler/compact_index_client/updater.rb +5 -13
  43. data/bundler/lib/bundler/definition.rb +66 -82
  44. data/bundler/lib/bundler/dep_proxy.rb +16 -9
  45. data/bundler/lib/bundler/dependency.rb +3 -10
  46. data/bundler/lib/bundler/dsl.rb +5 -9
  47. data/bundler/lib/bundler/endpoint_specification.rb +1 -1
  48. data/bundler/lib/bundler/env.rb +1 -1
  49. data/bundler/lib/bundler/environment_preserver.rb +26 -2
  50. data/bundler/lib/bundler/errors.rb +1 -0
  51. data/bundler/lib/bundler/feature_flag.rb +0 -3
  52. data/bundler/lib/bundler/fetcher.rb +4 -3
  53. data/bundler/lib/bundler/fetcher/base.rb +1 -1
  54. data/bundler/lib/bundler/fetcher/compact_index.rb +1 -1
  55. data/bundler/lib/bundler/fetcher/downloader.rb +1 -1
  56. data/bundler/lib/bundler/fetcher/index.rb +3 -4
  57. data/bundler/lib/bundler/friendly_errors.rb +22 -13
  58. data/bundler/lib/bundler/gem_helper.rb +33 -19
  59. data/bundler/lib/bundler/gem_helpers.rb +36 -25
  60. data/bundler/lib/bundler/gem_version_promoter.rb +4 -4
  61. data/bundler/lib/bundler/graph.rb +1 -1
  62. data/bundler/lib/bundler/index.rb +6 -2
  63. data/bundler/lib/bundler/injector.rb +22 -4
  64. data/bundler/lib/bundler/inline.rb +2 -2
  65. data/bundler/lib/bundler/installer.rb +35 -32
  66. data/bundler/lib/bundler/installer/gem_installer.rb +3 -3
  67. data/bundler/lib/bundler/installer/parallel_installer.rb +10 -10
  68. data/bundler/lib/bundler/installer/standalone.rb +2 -2
  69. data/bundler/lib/bundler/lazy_specification.rb +35 -11
  70. data/bundler/lib/bundler/lockfile_generator.rb +1 -1
  71. data/bundler/lib/bundler/lockfile_parser.rb +1 -1
  72. data/bundler/lib/bundler/man/.document +1 -0
  73. data/bundler/{man → lib/bundler/man}/bundle-add.1 +1 -1
  74. data/bundler/{man/bundle-add.ronn → lib/bundler/man/bundle-add.1.ronn} +0 -0
  75. data/bundler/{man → lib/bundler/man}/bundle-binstubs.1 +5 -3
  76. data/bundler/{man/bundle-binstubs.ronn → lib/bundler/man/bundle-binstubs.1.ronn} +2 -4
  77. data/bundler/{man → lib/bundler/man}/bundle-cache.1 +1 -1
  78. data/bundler/{man/bundle-cache.ronn → lib/bundler/man/bundle-cache.1.ronn} +0 -0
  79. data/bundler/{man → lib/bundler/man}/bundle-check.1 +1 -1
  80. data/bundler/{man/bundle-check.ronn → lib/bundler/man/bundle-check.1.ronn} +0 -0
  81. data/bundler/{man → lib/bundler/man}/bundle-clean.1 +1 -1
  82. data/bundler/{man/bundle-clean.ronn → lib/bundler/man/bundle-clean.1.ronn} +0 -0
  83. data/bundler/{man → lib/bundler/man}/bundle-config.1 +16 -25
  84. data/bundler/{man/bundle-config.ronn → lib/bundler/man/bundle-config.1.ronn} +19 -30
  85. data/bundler/{man → lib/bundler/man}/bundle-doctor.1 +1 -1
  86. data/bundler/{man/bundle-doctor.ronn → lib/bundler/man/bundle-doctor.1.ronn} +0 -0
  87. data/bundler/{man → lib/bundler/man}/bundle-exec.1 +1 -1
  88. data/bundler/{man/bundle-exec.ronn → lib/bundler/man/bundle-exec.1.ronn} +0 -0
  89. data/bundler/{man → lib/bundler/man}/bundle-gem.1 +25 -3
  90. data/bundler/{man/bundle-gem.ronn → lib/bundler/man/bundle-gem.1.ronn} +30 -7
  91. data/bundler/{man → lib/bundler/man}/bundle-info.1 +1 -1
  92. data/bundler/{man/bundle-info.ronn → lib/bundler/man/bundle-info.1.ronn} +0 -0
  93. data/bundler/{man → lib/bundler/man}/bundle-init.1 +1 -1
  94. data/bundler/{man/bundle-init.ronn → lib/bundler/man/bundle-init.1.ronn} +0 -0
  95. data/bundler/{man → lib/bundler/man}/bundle-inject.1 +1 -1
  96. data/bundler/{man/bundle-inject.ronn → lib/bundler/man/bundle-inject.1.ronn} +0 -0
  97. data/bundler/{man → lib/bundler/man}/bundle-install.1 +30 -3
  98. data/bundler/{man/bundle-install.ronn → lib/bundler/man/bundle-install.1.ronn} +25 -3
  99. data/bundler/{man → lib/bundler/man}/bundle-list.1 +7 -7
  100. data/bundler/{man/bundle-list.ronn → lib/bundler/man/bundle-list.1.ronn} +6 -6
  101. data/bundler/{man → lib/bundler/man}/bundle-lock.1 +1 -1
  102. data/bundler/{man/bundle-lock.ronn → lib/bundler/man/bundle-lock.1.ronn} +0 -0
  103. data/bundler/{man → lib/bundler/man}/bundle-open.1 +1 -1
  104. data/bundler/{man/bundle-open.ronn → lib/bundler/man/bundle-open.1.ronn} +0 -0
  105. data/bundler/{man → lib/bundler/man}/bundle-outdated.1 +1 -1
  106. data/bundler/{man/bundle-outdated.ronn → lib/bundler/man/bundle-outdated.1.ronn} +0 -0
  107. data/bundler/{man → lib/bundler/man}/bundle-platform.1 +1 -1
  108. data/bundler/{man/bundle-platform.ronn → lib/bundler/man/bundle-platform.1.ronn} +0 -0
  109. data/bundler/{man → lib/bundler/man}/bundle-pristine.1 +1 -1
  110. data/bundler/{man/bundle-pristine.ronn → lib/bundler/man/bundle-pristine.1.ronn} +0 -0
  111. data/bundler/{man → lib/bundler/man}/bundle-remove.1 +1 -1
  112. data/bundler/{man/bundle-remove.ronn → lib/bundler/man/bundle-remove.1.ronn} +0 -0
  113. data/bundler/{man → lib/bundler/man}/bundle-show.1 +1 -1
  114. data/bundler/{man/bundle-show.ronn → lib/bundler/man/bundle-show.1.ronn} +0 -0
  115. data/bundler/{man → lib/bundler/man}/bundle-update.1 +1 -1
  116. data/bundler/{man/bundle-update.ronn → lib/bundler/man/bundle-update.1.ronn} +0 -0
  117. data/bundler/{man → lib/bundler/man}/bundle-viz.1 +1 -1
  118. data/bundler/{man/bundle-viz.ronn → lib/bundler/man/bundle-viz.1.ronn} +0 -0
  119. data/bundler/{man → lib/bundler/man}/bundle.1 +1 -1
  120. data/bundler/{man/bundle.ronn → lib/bundler/man/bundle.1.ronn} +0 -0
  121. data/bundler/{man → lib/bundler/man}/gemfile.5 +4 -4
  122. data/bundler/{man → lib/bundler/man}/gemfile.5.ronn +4 -4
  123. data/bundler/{man → lib/bundler/man}/index.txt +0 -0
  124. data/bundler/lib/bundler/mirror.rb +2 -2
  125. data/bundler/lib/bundler/plugin.rb +30 -5
  126. data/bundler/lib/bundler/plugin/api/source.rb +1 -1
  127. data/bundler/lib/bundler/plugin/dsl.rb +1 -1
  128. data/bundler/lib/bundler/plugin/index.rb +10 -1
  129. data/bundler/lib/bundler/plugin/installer.rb +1 -1
  130. data/bundler/lib/bundler/plugin/installer/rubygems.rb +1 -1
  131. data/bundler/lib/bundler/plugin/source_list.rb +1 -1
  132. data/bundler/lib/bundler/psyched_yaml.rb +0 -15
  133. data/bundler/lib/bundler/remote_specification.rb +5 -2
  134. data/bundler/lib/bundler/resolver.rb +43 -19
  135. data/bundler/lib/bundler/resolver/spec_group.rb +39 -24
  136. data/bundler/lib/bundler/retry.rb +1 -1
  137. data/bundler/lib/bundler/ruby_version.rb +1 -1
  138. data/bundler/lib/bundler/rubygems_ext.rb +69 -9
  139. data/bundler/lib/bundler/rubygems_gem_installer.rb +3 -9
  140. data/bundler/lib/bundler/rubygems_integration.rb +26 -61
  141. data/bundler/lib/bundler/runtime.rb +4 -14
  142. data/bundler/lib/bundler/settings.rb +49 -46
  143. data/bundler/lib/bundler/shared_helpers.rb +2 -2
  144. data/bundler/lib/bundler/similarity_detector.rb +1 -1
  145. data/bundler/lib/bundler/source.rb +1 -1
  146. data/bundler/lib/bundler/source/git.rb +23 -21
  147. data/bundler/lib/bundler/source/git/git_proxy.rb +82 -80
  148. data/bundler/lib/bundler/source/path.rb +7 -3
  149. data/bundler/lib/bundler/source/path/installer.rb +10 -10
  150. data/bundler/lib/bundler/source/rubygems.rb +23 -17
  151. data/bundler/lib/bundler/source/rubygems/remote.rb +1 -1
  152. data/bundler/lib/bundler/source_list.rb +2 -2
  153. data/bundler/lib/bundler/spec_set.rb +8 -10
  154. data/bundler/lib/bundler/stub_specification.rb +17 -7
  155. data/bundler/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt +57 -47
  156. data/bundler/lib/bundler/templates/newgem/Gemfile.tt +9 -1
  157. data/bundler/lib/bundler/templates/newgem/README.md.tt +1 -2
  158. data/bundler/lib/bundler/templates/newgem/Rakefile.tt +19 -5
  159. data/bundler/lib/bundler/templates/newgem/bin/console.tt +1 -0
  160. data/bundler/lib/bundler/templates/newgem/circleci/config.yml.tt +13 -0
  161. data/bundler/lib/bundler/templates/newgem/ext/newgem/extconf.rb.tt +2 -0
  162. data/bundler/lib/bundler/templates/newgem/github/workflows/main.yml.tt +18 -0
  163. data/bundler/lib/bundler/templates/newgem/gitlab-ci.yml.tt +9 -0
  164. data/bundler/lib/bundler/templates/newgem/lib/newgem.rb.tt +4 -2
  165. data/bundler/lib/bundler/templates/newgem/lib/newgem/version.rb.tt +2 -0
  166. data/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt +15 -7
  167. data/bundler/lib/bundler/templates/newgem/rubocop.yml.tt +13 -0
  168. data/bundler/lib/bundler/templates/newgem/spec/newgem_spec.rb.tt +2 -0
  169. data/bundler/lib/bundler/templates/newgem/spec/spec_helper.rb.tt +2 -1
  170. data/bundler/lib/bundler/templates/newgem/test/{newgem_test.rb.tt → minitest/newgem_test.rb.tt} +2 -0
  171. data/bundler/lib/bundler/templates/newgem/test/{test_helper.rb.tt → minitest/test_helper.rb.tt} +2 -0
  172. data/bundler/lib/bundler/templates/newgem/test/test-unit/newgem_test.rb.tt +15 -0
  173. data/bundler/lib/bundler/templates/newgem/test/test-unit/test_helper.rb.tt +6 -0
  174. data/bundler/lib/bundler/ui/shell.rb +5 -5
  175. data/bundler/lib/bundler/uri_credentials_filter.rb +3 -1
  176. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo.rb +0 -1
  177. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +34 -1
  178. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb +2 -2
  179. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +1 -1
  180. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb +1 -1
  181. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb +48 -46
  182. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +79 -208
  183. data/bundler/lib/bundler/vendor/thor/lib/thor.rb +0 -7
  184. data/bundler/lib/bundler/vendor/thor/lib/thor/actions/create_link.rb +2 -1
  185. data/bundler/lib/bundler/vendor/thor/lib/thor/base.rb +9 -0
  186. data/bundler/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
  187. data/bundler/lib/bundler/vendor/tmpdir/lib/tmpdir.rb +154 -0
  188. data/bundler/lib/bundler/vendored_persistent.rb +0 -7
  189. data/bundler/lib/bundler/vendored_tmpdir.rb +4 -0
  190. data/bundler/lib/bundler/version.rb +1 -1
  191. data/bundler/lib/bundler/worker.rb +1 -1
  192. data/bundler/lib/bundler/yaml_serializer.rb +1 -1
  193. data/lib/rubygems.rb +138 -187
  194. data/lib/rubygems/available_set.rb +4 -6
  195. data/lib/rubygems/basic_specification.rb +12 -10
  196. data/lib/rubygems/bundler_version_finder.rb +14 -9
  197. data/lib/rubygems/command.rb +17 -17
  198. data/lib/rubygems/command_manager.rb +5 -6
  199. data/lib/rubygems/commands/build_command.rb +40 -20
  200. data/lib/rubygems/commands/cert_command.rb +2 -10
  201. data/lib/rubygems/commands/check_command.rb +0 -2
  202. data/lib/rubygems/commands/cleanup_command.rb +11 -7
  203. data/lib/rubygems/commands/contents_command.rb +4 -6
  204. data/lib/rubygems/commands/dependency_command.rb +6 -8
  205. data/lib/rubygems/commands/environment_command.rb +1 -3
  206. data/lib/rubygems/commands/fetch_command.rb +2 -4
  207. data/lib/rubygems/commands/generate_index_command.rb +0 -2
  208. data/lib/rubygems/commands/help_command.rb +4 -4
  209. data/lib/rubygems/commands/info_command.rb +8 -5
  210. data/lib/rubygems/commands/install_command.rb +3 -5
  211. data/lib/rubygems/commands/list_command.rb +8 -7
  212. data/lib/rubygems/commands/lock_command.rb +1 -3
  213. data/lib/rubygems/commands/mirror_command.rb +0 -2
  214. data/lib/rubygems/commands/open_command.rb +0 -4
  215. data/lib/rubygems/commands/outdated_command.rb +0 -2
  216. data/lib/rubygems/commands/owner_command.rb +9 -4
  217. data/lib/rubygems/commands/pristine_command.rb +11 -5
  218. data/lib/rubygems/commands/push_command.rb +10 -47
  219. data/lib/rubygems/commands/query_command.rb +14 -344
  220. data/lib/rubygems/commands/rdoc_command.rb +0 -2
  221. data/lib/rubygems/commands/search_command.rb +7 -7
  222. data/lib/rubygems/commands/server_command.rb +3 -1
  223. data/lib/rubygems/commands/setup_command.rb +101 -74
  224. data/lib/rubygems/commands/signin_command.rb +0 -2
  225. data/lib/rubygems/commands/signout_command.rb +0 -2
  226. data/lib/rubygems/commands/sources_command.rb +9 -7
  227. data/lib/rubygems/commands/specification_command.rb +8 -4
  228. data/lib/rubygems/commands/stale_command.rb +1 -3
  229. data/lib/rubygems/commands/uninstall_command.rb +2 -4
  230. data/lib/rubygems/commands/unpack_command.rb +1 -3
  231. data/lib/rubygems/commands/update_command.rb +59 -14
  232. data/lib/rubygems/commands/which_command.rb +0 -2
  233. data/lib/rubygems/commands/yank_command.rb +4 -7
  234. data/lib/rubygems/config_file.rb +11 -4
  235. data/lib/rubygems/core_ext/kernel_require.rb +29 -36
  236. data/lib/rubygems/core_ext/kernel_warn.rb +12 -13
  237. data/lib/rubygems/defaults.rb +101 -7
  238. data/lib/rubygems/dependency.rb +3 -8
  239. data/lib/rubygems/dependency_installer.rb +6 -78
  240. data/lib/rubygems/dependency_list.rb +7 -9
  241. data/lib/rubygems/deprecate.rb +46 -1
  242. data/lib/rubygems/doctor.rb +4 -4
  243. data/lib/rubygems/errors.rb +3 -14
  244. data/lib/rubygems/exceptions.rb +2 -33
  245. data/lib/rubygems/ext.rb +6 -6
  246. data/lib/rubygems/ext/build_error.rb +2 -0
  247. data/lib/rubygems/ext/builder.rb +21 -39
  248. data/lib/rubygems/ext/cmake_builder.rb +6 -9
  249. data/lib/rubygems/ext/configure_builder.rb +5 -8
  250. data/lib/rubygems/ext/ext_conf_builder.rb +21 -19
  251. data/lib/rubygems/ext/rake_builder.rb +4 -6
  252. data/lib/rubygems/gem_runner.rb +3 -10
  253. data/lib/rubygems/gemcutter_utilities.rb +102 -21
  254. data/lib/rubygems/indexer.rb +1 -22
  255. data/lib/rubygems/install_update_options.rb +7 -7
  256. data/lib/rubygems/installer.rb +59 -80
  257. data/lib/rubygems/installer_test_case.rb +25 -11
  258. data/lib/rubygems/installer_uninstaller_utils.rb +24 -0
  259. data/lib/rubygems/local_remote_options.rb +1 -1
  260. data/lib/rubygems/mock_gem_ui.rb +0 -6
  261. data/lib/rubygems/name_tuple.rb +3 -7
  262. data/lib/rubygems/openssl.rb +7 -0
  263. data/lib/rubygems/package.rb +14 -25
  264. data/lib/rubygems/package/digest_io.rb +0 -2
  265. data/lib/rubygems/package/file_source.rb +0 -2
  266. data/lib/rubygems/package/io_source.rb +0 -2
  267. data/lib/rubygems/package/old.rb +1 -3
  268. data/lib/rubygems/package/tar_header.rb +4 -6
  269. data/lib/rubygems/package/tar_reader.rb +0 -3
  270. data/lib/rubygems/package/tar_reader/entry.rb +0 -3
  271. data/lib/rubygems/package/tar_test_case.rb +2 -4
  272. data/lib/rubygems/package/tar_writer.rb +2 -12
  273. data/lib/rubygems/package_task.rb +1 -7
  274. data/lib/rubygems/path_support.rb +1 -3
  275. data/lib/rubygems/platform.rb +21 -16
  276. data/lib/rubygems/psych_tree.rb +0 -2
  277. data/lib/rubygems/query_utils.rb +353 -0
  278. data/lib/rubygems/rdoc.rb +0 -12
  279. data/lib/rubygems/remote_fetcher.rb +14 -29
  280. data/lib/rubygems/request.rb +4 -11
  281. data/lib/rubygems/request/connection_pools.rb +1 -5
  282. data/lib/rubygems/request/http_pool.rb +0 -2
  283. data/lib/rubygems/request/https_pool.rb +0 -2
  284. data/lib/rubygems/request_set.rb +7 -20
  285. data/lib/rubygems/request_set/gem_dependency_api.rb +6 -8
  286. data/lib/rubygems/request_set/lockfile.rb +8 -12
  287. data/lib/rubygems/request_set/lockfile/parser.rb +0 -2
  288. data/lib/rubygems/request_set/lockfile/tokenizer.rb +1 -3
  289. data/lib/rubygems/requirement.rb +21 -22
  290. data/lib/rubygems/resolver.rb +14 -12
  291. data/lib/rubygems/resolver/activation_request.rb +9 -3
  292. data/lib/rubygems/resolver/api_set.rb +31 -24
  293. data/lib/rubygems/resolver/api_set/gem_parser.rb +20 -0
  294. data/lib/rubygems/resolver/api_specification.rb +24 -10
  295. data/lib/rubygems/resolver/best_set.rb +2 -4
  296. data/lib/rubygems/resolver/composed_set.rb +3 -5
  297. data/lib/rubygems/resolver/conflict.rb +2 -4
  298. data/lib/rubygems/resolver/current_set.rb +0 -2
  299. data/lib/rubygems/resolver/dependency_request.rb +1 -3
  300. data/lib/rubygems/resolver/git_set.rb +0 -2
  301. data/lib/rubygems/resolver/git_specification.rb +0 -2
  302. data/lib/rubygems/resolver/index_set.rb +1 -3
  303. data/lib/rubygems/resolver/index_specification.rb +29 -2
  304. data/lib/rubygems/resolver/installed_specification.rb +0 -2
  305. data/lib/rubygems/resolver/installer_set.rb +60 -13
  306. data/lib/rubygems/resolver/local_specification.rb +0 -2
  307. data/lib/rubygems/resolver/lock_set.rb +2 -4
  308. data/lib/rubygems/resolver/lock_specification.rb +0 -2
  309. data/lib/rubygems/resolver/molinillo/lib/molinillo.rb +6 -5
  310. data/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/resolution_state.rb +7 -0
  311. data/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/specification_provider.rb +1 -0
  312. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb +39 -5
  313. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/action.rb +1 -0
  314. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +2 -1
  315. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +2 -1
  316. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +2 -1
  317. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +2 -1
  318. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/log.rb +7 -6
  319. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/set_payload.rb +2 -1
  320. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/tag.rb +4 -3
  321. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/vertex.rb +43 -10
  322. data/lib/rubygems/resolver/molinillo/lib/molinillo/errors.rb +75 -7
  323. data/lib/rubygems/resolver/molinillo/lib/molinillo/gem_metadata.rb +2 -1
  324. data/lib/rubygems/resolver/molinillo/lib/molinillo/modules/specification_provider.rb +1 -0
  325. data/lib/rubygems/resolver/molinillo/lib/molinillo/modules/ui.rb +3 -1
  326. data/lib/rubygems/resolver/molinillo/lib/molinillo/resolution.rb +506 -165
  327. data/lib/rubygems/resolver/molinillo/lib/molinillo/resolver.rb +3 -2
  328. data/lib/rubygems/resolver/molinillo/lib/molinillo/state.rb +8 -4
  329. data/lib/rubygems/resolver/requirement_list.rb +0 -2
  330. data/lib/rubygems/resolver/set.rb +0 -2
  331. data/lib/rubygems/resolver/source_set.rb +0 -2
  332. data/lib/rubygems/resolver/spec_specification.rb +14 -2
  333. data/lib/rubygems/resolver/specification.rb +13 -3
  334. data/lib/rubygems/resolver/stats.rb +0 -2
  335. data/lib/rubygems/resolver/vendor_set.rb +0 -2
  336. data/lib/rubygems/resolver/vendor_specification.rb +0 -2
  337. data/lib/rubygems/s3_uri_signer.rb +2 -8
  338. data/lib/rubygems/safe_yaml.rb +4 -4
  339. data/lib/rubygems/security.rb +27 -34
  340. data/lib/rubygems/security/policy.rb +4 -8
  341. data/lib/rubygems/security/signer.rb +5 -7
  342. data/lib/rubygems/security/trust_dir.rb +1 -3
  343. data/lib/rubygems/server.rb +16 -13
  344. data/lib/rubygems/source.rb +23 -12
  345. data/lib/rubygems/source/git.rb +7 -8
  346. data/lib/rubygems/source/installed.rb +0 -2
  347. data/lib/rubygems/source/local.rb +2 -4
  348. data/lib/rubygems/source/lock.rb +0 -2
  349. data/lib/rubygems/source/specific_file.rb +0 -2
  350. data/lib/rubygems/source/vendor.rb +0 -2
  351. data/lib/rubygems/source_list.rb +4 -7
  352. data/lib/rubygems/spec_fetcher.rb +19 -18
  353. data/lib/rubygems/specification.rb +122 -131
  354. data/lib/rubygems/specification_policy.rb +88 -30
  355. data/lib/rubygems/ssl_certs/{index.rubygems.org → rubygems.org}/GlobalSignRootCA.pem +0 -0
  356. data/lib/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA_R3.pem +21 -0
  357. data/lib/rubygems/stub_specification.rb +1 -5
  358. data/lib/rubygems/syck_hack.rb +0 -2
  359. data/lib/rubygems/test_case.rb +120 -134
  360. data/lib/rubygems/test_utilities.rb +12 -19
  361. data/lib/rubygems/uninstaller.rb +35 -16
  362. data/lib/rubygems/uri_formatter.rb +2 -3
  363. data/lib/rubygems/uri_parser.rb +0 -2
  364. data/lib/rubygems/user_interaction.rb +1 -26
  365. data/lib/rubygems/util.rb +15 -3
  366. data/lib/rubygems/util/licenses.rb +4 -6
  367. data/lib/rubygems/util/list.rb +0 -2
  368. data/lib/rubygems/validator.rb +1 -3
  369. data/lib/rubygems/version.rb +5 -7
  370. data/lib/rubygems/version_option.rb +6 -0
  371. data/rubygems-update.gemspec +3 -3
  372. data/setup.rb +2 -7
  373. data/test/rubygems/data/null-required-rubygems-version.gemspec.rz +0 -0
  374. data/test/rubygems/plugin/load/rubygems_plugin.rb +0 -2
  375. data/test/rubygems/rubygems/commands/crash_command.rb +0 -2
  376. data/test/rubygems/rubygems_plugin.rb +0 -2
  377. data/test/rubygems/specifications/bar-0.0.2.gemspec +0 -2
  378. data/test/rubygems/specifications/rubyforge-0.0.1.gemspec +12 -0
  379. data/test/rubygems/test_bundled_ca.rb +42 -45
  380. data/test/rubygems/test_config.rb +0 -2
  381. data/test/rubygems/test_deprecate.rb +40 -7
  382. data/test/rubygems/test_gem.rb +156 -99
  383. data/test/rubygems/test_gem_available_set.rb +3 -5
  384. data/test/rubygems/test_gem_bundler_version_finder.rb +19 -3
  385. data/test/rubygems/test_gem_command.rb +24 -7
  386. data/test/rubygems/test_gem_command_manager.rb +36 -5
  387. data/test/rubygems/test_gem_commands_build_command.rb +250 -15
  388. data/test/rubygems/test_gem_commands_cert_command.rb +4 -6
  389. data/test/rubygems/test_gem_commands_check_command.rb +0 -2
  390. data/test/rubygems/test_gem_commands_cleanup_command.rb +14 -5
  391. data/test/rubygems/test_gem_commands_contents_command.rb +50 -19
  392. data/test/rubygems/test_gem_commands_dependency_command.rb +0 -2
  393. data/test/rubygems/test_gem_commands_environment_command.rb +21 -23
  394. data/test/rubygems/test_gem_commands_fetch_command.rb +0 -2
  395. data/test/rubygems/test_gem_commands_generate_index_command.rb +1 -7
  396. data/test/rubygems/test_gem_commands_help_command.rb +15 -4
  397. data/test/rubygems/test_gem_commands_info_command.rb +6 -8
  398. data/test/rubygems/test_gem_commands_install_command.rb +163 -34
  399. data/test/rubygems/test_gem_commands_list_command.rb +0 -2
  400. data/test/rubygems/test_gem_commands_lock_command.rb +0 -2
  401. data/test/rubygems/test_gem_commands_mirror.rb +1 -3
  402. data/test/rubygems/test_gem_commands_open_command.rb +4 -6
  403. data/test/rubygems/test_gem_commands_outdated_command.rb +0 -2
  404. data/test/rubygems/test_gem_commands_owner_command.rb +59 -5
  405. data/test/rubygems/test_gem_commands_pristine_command.rb +43 -12
  406. data/test/rubygems/test_gem_commands_push_command.rb +77 -9
  407. data/test/rubygems/test_gem_commands_query_command.rb +12 -12
  408. data/test/rubygems/test_gem_commands_search_command.rb +0 -2
  409. data/test/rubygems/test_gem_commands_server_command.rb +0 -2
  410. data/test/rubygems/test_gem_commands_setup_command.rb +160 -135
  411. data/test/rubygems/test_gem_commands_signin_command.rb +33 -9
  412. data/test/rubygems/test_gem_commands_signout_command.rb +0 -7
  413. data/test/rubygems/test_gem_commands_sources_command.rb +99 -3
  414. data/test/rubygems/test_gem_commands_specification_command.rb +46 -20
  415. data/test/rubygems/test_gem_commands_stale_command.rb +0 -2
  416. data/test/rubygems/test_gem_commands_uninstall_command.rb +2 -3
  417. data/test/rubygems/test_gem_commands_unpack_command.rb +0 -2
  418. data/test/rubygems/test_gem_commands_update_command.rb +116 -7
  419. data/test/rubygems/test_gem_commands_which_command.rb +3 -5
  420. data/test/rubygems/test_gem_commands_yank_command.rb +44 -8
  421. data/test/rubygems/test_gem_config_file.rb +7 -12
  422. data/test/rubygems/test_gem_dependency.rb +0 -2
  423. data/test/rubygems/test_gem_dependency_installer.rb +116 -239
  424. data/test/rubygems/test_gem_dependency_list.rb +10 -12
  425. data/test/rubygems/test_gem_dependency_resolution_error.rb +1 -3
  426. data/test/rubygems/test_gem_doctor.rb +28 -2
  427. data/test/rubygems/test_gem_ext_builder.rb +50 -47
  428. data/test/rubygems/test_gem_ext_cmake_builder.rb +16 -25
  429. data/test/rubygems/test_gem_ext_configure_builder.rb +6 -22
  430. data/test/rubygems/test_gem_ext_ext_conf_builder.rb +9 -29
  431. data/test/rubygems/test_gem_ext_rake_builder.rb +39 -24
  432. data/test/rubygems/test_gem_gem_runner.rb +44 -1
  433. data/test/rubygems/test_gem_gemcutter_utilities.rb +8 -5
  434. data/test/rubygems/test_gem_impossible_dependencies_error.rb +0 -2
  435. data/test/rubygems/test_gem_indexer.rb +9 -15
  436. data/test/rubygems/test_gem_install_update_options.rb +14 -4
  437. data/test/rubygems/test_gem_installer.rb +258 -115
  438. data/test/rubygems/test_gem_local_remote_options.rb +0 -2
  439. data/test/rubygems/test_gem_name_tuple.rb +0 -2
  440. data/test/rubygems/test_gem_package.rb +41 -39
  441. data/test/rubygems/test_gem_package_old.rb +4 -6
  442. data/test/rubygems/test_gem_package_tar_header.rb +18 -1
  443. data/test/rubygems/test_gem_package_tar_reader.rb +0 -2
  444. data/test/rubygems/test_gem_package_tar_reader_entry.rb +0 -2
  445. data/test/rubygems/test_gem_package_tar_writer.rb +9 -6
  446. data/test/rubygems/test_gem_package_task.rb +46 -13
  447. data/test/rubygems/test_gem_path_support.rb +0 -2
  448. data/test/rubygems/test_gem_platform.rb +71 -6
  449. data/test/rubygems/test_gem_rdoc.rb +0 -2
  450. data/test/rubygems/test_gem_remote_fetcher.rb +169 -212
  451. data/test/rubygems/test_gem_request.rb +13 -17
  452. data/test/rubygems/test_gem_request_connection_pools.rb +0 -4
  453. data/test/rubygems/test_gem_request_set.rb +72 -22
  454. data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +3 -5
  455. data/test/rubygems/test_gem_request_set_lockfile.rb +4 -6
  456. data/test/rubygems/test_gem_request_set_lockfile_parser.rb +9 -11
  457. data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +118 -120
  458. data/test/rubygems/test_gem_requirement.rb +43 -3
  459. data/test/rubygems/test_gem_resolver.rb +6 -8
  460. data/test/rubygems/test_gem_resolver_activation_request.rb +0 -2
  461. data/test/rubygems/test_gem_resolver_api_set.rb +60 -59
  462. data/test/rubygems/test_gem_resolver_api_specification.rb +3 -5
  463. data/test/rubygems/test_gem_resolver_best_set.rb +27 -6
  464. data/test/rubygems/test_gem_resolver_composed_set.rb +0 -2
  465. data/test/rubygems/test_gem_resolver_conflict.rb +1 -3
  466. data/test/rubygems/test_gem_resolver_dependency_request.rb +0 -2
  467. data/test/rubygems/test_gem_resolver_git_set.rb +0 -2
  468. data/test/rubygems/test_gem_resolver_git_specification.rb +0 -2
  469. data/test/rubygems/test_gem_resolver_index_set.rb +2 -4
  470. data/test/rubygems/test_gem_resolver_index_specification.rb +0 -2
  471. data/test/rubygems/test_gem_resolver_installed_specification.rb +0 -2
  472. data/test/rubygems/test_gem_resolver_installer_set.rb +7 -9
  473. data/test/rubygems/test_gem_resolver_local_specification.rb +0 -2
  474. data/test/rubygems/test_gem_resolver_lock_set.rb +3 -5
  475. data/test/rubygems/test_gem_resolver_lock_specification.rb +0 -2
  476. data/test/rubygems/test_gem_resolver_requirement_list.rb +0 -2
  477. data/test/rubygems/test_gem_resolver_specification.rb +0 -4
  478. data/test/rubygems/test_gem_resolver_vendor_set.rb +1 -3
  479. data/test/rubygems/test_gem_resolver_vendor_specification.rb +0 -2
  480. data/test/rubygems/test_gem_security.rb +22 -24
  481. data/test/rubygems/test_gem_security_policy.rb +7 -12
  482. data/test/rubygems/test_gem_security_signer.rb +10 -12
  483. data/test/rubygems/test_gem_security_trust_dir.rb +4 -6
  484. data/test/rubygems/test_gem_server.rb +10 -14
  485. data/test/rubygems/test_gem_silent_ui.rb +0 -2
  486. data/test/rubygems/test_gem_source.rb +19 -18
  487. data/test/rubygems/test_gem_source_fetch_problem.rb +0 -2
  488. data/test/rubygems/test_gem_source_git.rb +12 -13
  489. data/test/rubygems/test_gem_source_installed.rb +7 -9
  490. data/test/rubygems/test_gem_source_list.rb +1 -2
  491. data/test/rubygems/test_gem_source_local.rb +8 -10
  492. data/test/rubygems/test_gem_source_lock.rb +10 -12
  493. data/test/rubygems/test_gem_source_specific_file.rb +7 -9
  494. data/test/rubygems/test_gem_source_subpath_problem.rb +49 -0
  495. data/test/rubygems/test_gem_source_vendor.rb +7 -9
  496. data/test/rubygems/test_gem_spec_fetcher.rb +11 -4
  497. data/test/rubygems/test_gem_specification.rb +188 -131
  498. data/test/rubygems/test_gem_stream_ui.rb +3 -3
  499. data/test/rubygems/test_gem_stub_specification.rb +4 -7
  500. data/test/rubygems/test_gem_text.rb +1 -3
  501. data/test/rubygems/test_gem_uninstaller.rb +134 -12
  502. data/test/rubygems/test_gem_unsatisfiable_dependency_error.rb +0 -2
  503. data/test/rubygems/test_gem_uri_formatter.rb +0 -2
  504. data/test/rubygems/test_gem_util.rb +7 -7
  505. data/test/rubygems/test_gem_validator.rb +1 -3
  506. data/test/rubygems/test_gem_version.rb +1 -3
  507. data/test/rubygems/test_gem_version_option.rb +1 -3
  508. data/test/rubygems/test_kernel.rb +25 -10
  509. data/test/rubygems/test_project_sanity.rb +7 -2
  510. data/test/rubygems/test_remote_fetch_error.rb +0 -2
  511. data/test/rubygems/test_require.rb +291 -56
  512. data/test/test_changelog_generator.rb +17 -0
  513. metadata +79 -133
  514. data/.bundle/config +0 -2
  515. data/.rubocop.yml +0 -91
  516. data/Gemfile +0 -8
  517. data/Gemfile.lock +0 -43
  518. data/bundler/CODE_OF_CONDUCT.md +0 -136
  519. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/compatibility.rb +0 -26
  520. data/bundler/man/bundle-add.1.txt +0 -58
  521. data/bundler/man/bundle-binstubs.1.txt +0 -48
  522. data/bundler/man/bundle-cache.1.txt +0 -78
  523. data/bundler/man/bundle-check.1.txt +0 -33
  524. data/bundler/man/bundle-clean.1.txt +0 -26
  525. data/bundler/man/bundle-config.1.txt +0 -528
  526. data/bundler/man/bundle-doctor.1.txt +0 -44
  527. data/bundler/man/bundle-exec.1.txt +0 -178
  528. data/bundler/man/bundle-gem.1.txt +0 -91
  529. data/bundler/man/bundle-info.1.txt +0 -21
  530. data/bundler/man/bundle-init.1.txt +0 -34
  531. data/bundler/man/bundle-inject.1.txt +0 -32
  532. data/bundler/man/bundle-install.1.txt +0 -401
  533. data/bundler/man/bundle-list.1.txt +0 -43
  534. data/bundler/man/bundle-lock.1.txt +0 -93
  535. data/bundler/man/bundle-open.1.txt +0 -29
  536. data/bundler/man/bundle-outdated.1.txt +0 -131
  537. data/bundler/man/bundle-platform.1.txt +0 -57
  538. data/bundler/man/bundle-pristine.1.txt +0 -44
  539. data/bundler/man/bundle-remove.1.txt +0 -34
  540. data/bundler/man/bundle-show.1.txt +0 -27
  541. data/bundler/man/bundle-update.1.txt +0 -390
  542. data/bundler/man/bundle-viz.1.txt +0 -39
  543. data/bundler/man/bundle.1.txt +0 -116
  544. data/bundler/man/gemfile.5.txt +0 -649
  545. data/lib/rubygems/source_local.rb +0 -7
  546. data/lib/rubygems/source_specific_file.rb +0 -6
  547. data/lib/rubygems/ssl_certs/rubygems.global.ssl.fastly.net/DigiCertHighAssuranceEVRootCA.pem +0 -23
  548. data/lib/rubygems/ssl_certs/rubygems.org/AddTrustExternalCARoot.pem +0 -25
  549. data/lib/ubygems.rb +0 -14
  550. data/tmp/.keep +0 -0
  551. data/util/CL2notes +0 -55
  552. data/util/bisect +0 -10
  553. data/util/ci.sh +0 -62
  554. data/util/cops/deprecations.rb +0 -52
  555. data/util/create_certs.rb +0 -171
  556. data/util/create_certs.sh +0 -27
  557. data/util/create_encrypted_key.rb +0 -16
  558. data/util/generate_spdx_license_list.rb +0 -63
  559. data/util/patch_with_prs.rb +0 -77
  560. data/util/rubocop +0 -8
  561. data/util/update_bundled_ca_certificates.rb +0 -139
  562. data/util/update_changelog.rb +0 -67
@@ -1,7 +0,0 @@
1
- # frozen_string_literal: true
2
- require 'rubygems/source'
3
- require 'rubygems/source_local'
4
-
5
- unless Gem::Deprecate.skip
6
- Kernel.warn "#{Gem.location_of_caller(3).join(':')}: Warning: Requiring rubygems/source_local is deprecated; please use rubygems/source/local instead."
7
- end
@@ -1,6 +0,0 @@
1
- # frozen_string_literal: true
2
- require 'rubygems/source/specific_file'
3
-
4
- unless Gem::Deprecate.skip
5
- Kernel.warn "#{Gem.location_of_caller(3).join(':')}: Warning: Requiring rubygems/source_specific_file is deprecated; please use rubygems/source/specific_file instead."
6
- end
@@ -1,23 +0,0 @@
1
- -----BEGIN CERTIFICATE-----
2
- MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBs
3
- MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
4
- d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j
5
- ZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAwMFoXDTMxMTExMDAwMDAwMFowbDEL
6
- MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3
7
- LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug
8
- RVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm
9
- +9S75S0tMqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTW
10
- PNt0OKRKzE0lgvdKpVMSOO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEM
11
- xChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFB
12
- Ik5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQNAQTXKFx01p8VdteZOE3
13
- hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUeh10aUAsg
14
- EsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQF
15
- MAMBAf8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaA
16
- FLE+w2kD+L9HAdSYJhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3Nec
17
- nzyIZgYIVyHbIUf4KmeqvxgydkAQV8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6z
18
- eM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFpmyPInngiK3BD41VHMWEZ71jF
19
- hS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkKmNEVX58Svnw2
20
- Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe
21
- vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep
22
- +OkuE6N36B9K
23
- -----END CERTIFICATE-----
@@ -1,25 +0,0 @@
1
- -----BEGIN CERTIFICATE-----
2
- MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEU
3
- MBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFs
4
- IFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290
5
- MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFowbzELMAkGA1UEBhMCU0Ux
6
- FDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRUcnVzdCBFeHRlcm5h
7
- bCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0EgUm9v
8
- dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvt
9
- H7xsD821+iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9
10
- uMq/NzgtHj6RQa1wVsfwTz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzX
11
- mk6vBbOmcZSccbNQYArHE504B4YCqOmoaSYYkKtMsE8jqzpPhNjfzp/haW+710LX
12
- a0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy2xSoRcRdKn23tNbE7qzN
13
- E0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv77+ldU9U0
14
- WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYD
15
- VR0PBAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0
16
- Jvf6xCZU7wO94CTLVBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRU
17
- cnVzdCBBQjEmMCQGA1UECxMdQWRkVHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsx
18
- IjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENBIFJvb3SCAQEwDQYJKoZIhvcN
19
- AQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZlj7DYd7usQWxH
20
- YINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5
21
- 6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvC
22
- Nr4TDea9Y355e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEX
23
- c4g/VhsxOBi0cQ+azcgOno4uG+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5a
24
- mnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ=
25
- -----END CERTIFICATE-----
@@ -1,14 +0,0 @@
1
- # frozen_string_literal: true
2
- # This file allows for the running of rubygems with a nice
3
- # command line look-and-feel: ruby -rubygems foo.rb
4
- #--
5
- # Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others.
6
- # All rights reserved.
7
- # See LICENSE.txt for permissions.
8
- #++
9
-
10
- # TODO: Remove this file at RubyGems 4.0
11
- # Based by https://bugs.ruby-lang.org/issues/14322#note-4
12
- warn "`ubygems.rb' is deprecated, and will be removed on or after 2018-12-01. Remove `-rubygems' from your command-line, or use `-r rubygems' instead"
13
-
14
- require 'rubygems'
data/tmp/.keep DELETED
File without changes
@@ -1,55 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- $:.unshift 'lib'
4
-
5
- require 'rubygems'
6
-
7
- def format_text(text, wrap, indent=0)
8
- result = []
9
- work = text.dup
10
-
11
- while work.length > wrap
12
- if work =~ /^(.{0,#{wrap}})[ \n]/o
13
- result << $1
14
- work.slice!(0, $&.length)
15
- else
16
- result << work.slice!(0, wrap)
17
- end
18
- end
19
-
20
- result << work if work.length.nonzero?
21
- result.join("\n").gsub(/^/, " " * indent)
22
- end
23
-
24
- version = ARGV.shift || Gem::VERSION
25
-
26
- entries = Hash.new { |h,file| h[file] = [] }
27
- entry = []
28
- file = nil
29
-
30
- IO.foreach 'ChangeLog' do |line|
31
- case line
32
- when /^\s*$/,
33
- /^#/,
34
- /^\d{4}-\d{2}-\d{2}/ then
35
- next
36
- when /^\s+\*\s+([^:]+?):\s+#{version}/ then
37
- entries[file] << entry.join(' ') unless entry.empty?
38
- break
39
- when /^\s+\*\s+([^:]+?):\s+/ then
40
- entries[file] << entry.join(' ') unless entry.empty?
41
- file = $1
42
- entry = [$'.strip]
43
- when /^\s+/ then
44
- entry << $'.strip
45
- end
46
- end
47
-
48
- entries.sort_by { |file, | file }.each do |file, file_entries|
49
- puts "* #{file}"
50
- file_entries.each do |file_entry|
51
- file_entry = format_text file_entry, 74, 4
52
- file_entry.sub! ' ', ' * '
53
- puts file_entry
54
- end
55
- end
@@ -1,10 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # frozen_string_literal: true
3
-
4
- begin
5
- minitest_bisect = Gem.bin_path("minitest-bisect", "minitest_bisect")
6
- rescue Gem::GemNotFoundException
7
- abort "Install minitest-bisect gem to run a rubygems test suite bisection"
8
- end
9
-
10
- load minitest_bisect
data/util/ci.sh DELETED
@@ -1,62 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- set -eo pipefail
4
-
5
- if [ -z "$TEST_TOOL" ]
6
- then
7
- echo "You must specify a TEST_TOOL"
8
- exit 1
9
- fi
10
-
11
- case $1 in
12
- before_script)
13
- if [ -d "$HOME/.rvm" ]
14
- then
15
- gemhome=$(gem env home)
16
- ruby -I lib bin/gem uninstall executable-hooks gem-wrappers bundler-unload -x --force -i "$gemhome@global"
17
- fi
18
-
19
- if [ "$TEST_TOOL" = "rubygems" ]
20
- then
21
- exec rake setup
22
- else
23
- cd bundler
24
-
25
- export RGV=..
26
-
27
- if [ -n "$BDV" ]
28
- then
29
- git reset --hard "origin/$BDV"
30
- fi
31
-
32
- gem install rake -v "~>12.0"
33
- exec bin/rake spec:deps
34
- fi
35
-
36
- ;;
37
-
38
- rubocop)
39
- gem install rubocop -v "~>0.74.0"
40
- exec util/rubocop
41
-
42
- ;;
43
-
44
- script)
45
- if [ "$TEST_TOOL" = "rubygems" ]
46
- then
47
- exec rake test
48
- else
49
- cd bundler
50
-
51
- export RGV=..
52
-
53
- exec bin/rake spec -t
54
- fi
55
-
56
- ;;
57
-
58
- *)
59
- echo "unknown args $*"
60
- exit 1
61
- ;;
62
- esac
@@ -1,52 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module RuboCop
4
- module Cop
5
- module Rubygems
6
- # This cop enforces that no outdated deprecations are present on RubyGems
7
- # code base.
8
- #
9
- # @example
10
- #
11
- # As of March, 2019
12
- #
13
- # # bad
14
- # deprecate :safdfa, nil, 2018, 12
15
- # deprecate :safdfa, nil, 2019, 03
16
- #
17
- # # good
18
- # deprecate :safdfa, nil, 2019, 04
19
- #
20
- class Deprecations < Cop
21
-
22
- MSG = "Remove `deprecate` calls with dates in the past, along with " \
23
- "the methods they deprecate, or expand the deprecation horizons to " \
24
- "a future date"
25
-
26
- def on_send(node)
27
- _receiver, method_name, *args = *node
28
- return unless method_name == :deprecate
29
-
30
- scheduled_year = args[2].children.last
31
- scheduled_month = args[3].children.last
32
-
33
- current_time = Time.now
34
-
35
- current_year = current_time.year
36
- current_month = current_time.month
37
-
38
- if current_year >= scheduled_year || (current_year == scheduled_year && current_month >= scheduled_month)
39
- add_offense(node)
40
- end
41
- end
42
-
43
- private
44
-
45
- def message(node)
46
- format(MSG, method: node.method_name)
47
- end
48
-
49
- end
50
- end
51
- end
52
- end
@@ -1,171 +0,0 @@
1
- # frozen_string_literal: true
2
- require 'openssl'
3
- require 'time'
4
-
5
- class CertificateBuilder
6
-
7
- attr_reader :start
8
-
9
- def initialize(key_size = 2048)
10
- @start = Time.utc 2012, 01, 01, 00, 00, 00
11
- @end_of_time = Time.utc 9999, 12, 31, 23, 59, 59
12
- @end_of_time_32 = Time.utc 2038, 01, 19, 03, 14, 07
13
-
14
- @key_size = key_size
15
- @serial = 0
16
- end
17
-
18
- def create_certificates(key, subject, issuer_key = key, issuer_cert = nil,
19
- not_before: @start, not_after: :end_of_time,
20
- is_ca: false)
21
- certificates = []
22
-
23
- not_before, not_before_32 = validity_for not_before
24
- not_after, not_after_32 = validity_for not_after
25
- issuer_cert, issuer_cert_32 = issuer_cert
26
-
27
- certificates <<
28
- create_certificate(key, subject, issuer_key, issuer_cert,
29
- not_before, not_after, is_ca)
30
- certificates <<
31
- create_certificate(key, subject, issuer_key, issuer_cert_32,
32
- not_before_32, not_after_32, is_ca)
33
-
34
- certificates
35
- end
36
-
37
- def create_certificate(key, subject, issuer_key, issuer_cert,
38
- not_before, not_after, is_ca)
39
- cert = OpenSSL::X509::Certificate.new
40
- issuer_cert ||= cert # if not specified, create self signing cert
41
-
42
- cert.version = 2
43
- cert.serial = 0
44
-
45
- cert.not_before = not_before
46
- cert.not_after = not_after
47
-
48
- cert.serial = next_serial
49
-
50
- cert.public_key = key.public_key
51
-
52
- cert.subject = OpenSSL::X509::Name.new [%W[CN #{subject}], %w[DC example]]
53
- cert.issuer = issuer_cert.subject
54
-
55
- ef = OpenSSL::X509::ExtensionFactory.new issuer_cert, cert
56
-
57
- cert.extensions = [
58
- ef.create_extension('subjectAltName', "email:#{subject}@example"),
59
- ef.create_extension('subjectKeyIdentifier', 'hash')
60
- ]
61
-
62
- if cert != issuer_cert # not self-signed cert
63
- cert.add_extension ef.create_extension('authorityKeyIdentifier', 'keyid:always')
64
- end
65
-
66
- if is_ca
67
- cert.add_extension ef.create_extension('basicConstraints', 'CA:TRUE', true)
68
- cert.add_extension ef.create_extension('keyUsage', 'keyCertSign', true)
69
- end
70
-
71
- cert.sign issuer_key, OpenSSL::Digest::SHA1.new
72
-
73
- puts "created cert - subject: #{cert.subject}, issuer: #{cert.issuer}"
74
- cert
75
- end
76
-
77
- def create_key
78
- puts "creating key"
79
- OpenSSL::PKey::RSA.new @key_size
80
- end
81
-
82
- def create_keys(names)
83
- keys = {}
84
-
85
- names.each do |name|
86
- keys[name] = create_key
87
- end
88
-
89
- keys
90
- end
91
-
92
- def next_serial
93
- serial = @serial
94
- @serial += 1
95
- serial
96
- end
97
-
98
- def validity_for(time)
99
- if time == :end_of_time
100
- validity = @end_of_time
101
- validity_32 = @end_of_time_32
102
- else
103
- validity = validity_32 = time
104
- end
105
-
106
- [validity, validity_32]
107
- end
108
-
109
- end
110
-
111
- cb = CertificateBuilder.new
112
-
113
- keys = cb.create_keys [
114
- :alternate,
115
- :child,
116
- :grandchild,
117
- :invalid,
118
- :invalidchild,
119
- :private,
120
- ]
121
-
122
- keys[:public] = keys[:private].public_key
123
-
124
- certs = {}
125
- certs[:public] =
126
- cb.create_certificates(keys[:private], 'nobody',
127
- is_ca: true)
128
- certs[:child] =
129
- cb.create_certificates(keys[:child], 'child',
130
- keys[:private], certs[:public],
131
- is_ca: true)
132
- certs[:alternate] =
133
- cb.create_certificates(keys[:alternate], 'alternate')
134
- certs[:expired] =
135
- cb.create_certificates(keys[:private], 'nobody',
136
- not_before: Time.at(0),
137
- not_after: Time.at(0))
138
- certs[:future] =
139
- cb.create_certificates(keys[:private], 'nobody',
140
- not_before: :end_of_time,
141
- not_after: :end_of_time)
142
- certs[:invalid_issuer] =
143
- cb.create_certificates(keys[:invalid], 'invalid',
144
- keys[:invalid], certs[:public],
145
- is_ca: true)
146
- certs[:grandchild] =
147
- cb.create_certificates(keys[:grandchild], 'grandchild',
148
- keys[:child], certs[:child])
149
- certs[:invalid_signer] =
150
- cb.create_certificates(keys[:invalid], 'invalid',
151
- keys[:private], certs[:invalid])
152
- certs[:invalidchild] =
153
- cb.create_certificates(keys[:invalidchild], 'invalidchild',
154
- keys[:invalid], certs[:child])
155
- certs[:wrong_key] =
156
- cb.create_certificates(keys[:alternate], 'nobody')
157
-
158
- base_dir = 'test/rubygems'
159
-
160
- keys.each do |name, key|
161
- dest = File.join base_dir, "#{name}_key.pem"
162
- File.write dest, key.to_pem
163
- end
164
-
165
- certs.each do |name, (cert, cert_32)|
166
- dest = File.join base_dir, "#{name}_cert.pem"
167
- File.write dest, cert.to_pem
168
-
169
- dest = File.join base_dir, "#{name}_cert_32.pem"
170
- File.write dest, cert_32.to_pem
171
- end
@@ -1,27 +0,0 @@
1
- #!/bin/sh
2
-
3
- # cp /etc/ssl/openssl.cnf . # copied from OpenSSL 1.1.1b source
4
-
5
- rm -rf demoCA/ server/ client/
6
-
7
- mkdir demoCA demoCA/private demoCA/newcerts
8
- touch demoCA/index.txt
9
- echo 00 > demoCA/serial
10
- openssl genrsa -out demoCA/private/cakey.pem 2048
11
- openssl req -new -key demoCA/private/cakey.pem -out demoCA/careq.pem -subj "/C=JP/ST=Tokyo/O=RubyGemsTest/CN=CA"
12
- openssl ca -batch -config openssl.cnf -extensions v3_ca -out demoCA/cacert.pem -startdate 090101000000Z -enddate 491231235959Z -batch -keyfile demoCA/private/cakey.pem -selfsign -infiles demoCA/careq.pem
13
-
14
- mkdir server
15
- openssl genrsa -out server/server.key 2048
16
- openssl req -new -key server/server.key -out server/csr.pem -subj "/C=JP/ST=Tokyo/O=RubyGemsTest/CN=localhost"
17
- openssl ca -batch -config openssl.cnf -startdate 090101000000Z -enddate 491231235959Z -in server/csr.pem -keyfile demoCA/private/cakey.pem -cert demoCA/cacert.pem -out server/cert.pem
18
-
19
- mkdir client
20
- openssl genrsa -out client/client.key 2048
21
- openssl req -config openssl.cnf -new -key client/client.key -out client/csr.pem -subj "/C=JP/ST=Tokyo/O=RubyGemsTest/CN=client"
22
- openssl ca -batch -config openssl.cnf -startdate 090101000000Z -enddate 491231235959Z -in client/csr.pem -keyfile demoCA/private/cakey.pem -cert demoCA/cacert.pem -out client/cert.pem
23
-
24
- cp demoCA/cacert.pem $(git rev-parse --show-toplevel)/test/rubygems/ca_cert.pem
25
- cp server/cert.pem $(git rev-parse --show-toplevel)/test/rubygems/ssl_cert.pem
26
- cp server/server.key $(git rev-parse --show-toplevel)/test/rubygems/ssl_key.pem
27
- cat client/cert.pem client/client.key > $(git rev-parse --show-toplevel)/test/rubygems/client.pem