rubygems-update 3.0.3 → 3.4.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (806) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +5633 -0
  3. data/CODE_OF_CONDUCT.md +62 -24
  4. data/CONTRIBUTING.md +111 -21
  5. data/MAINTAINERS.txt +1 -6
  6. data/Manifest.txt +216 -101
  7. data/POLICIES.md +70 -27
  8. data/README.md +40 -19
  9. data/UPGRADING.md +5 -81
  10. data/bin/gem +2 -16
  11. data/bin/update_rubygems +5 -5
  12. data/bundler/CHANGELOG.md +2698 -1256
  13. data/bundler/LICENSE.md +18 -19
  14. data/bundler/README.md +10 -14
  15. data/bundler/UPGRADING.md +222 -0
  16. data/bundler/bundler.gemspec +13 -33
  17. data/bundler/exe/bundle +26 -11
  18. data/bundler/exe/bundler +1 -1
  19. data/bundler/lib/bundler/.document +1 -0
  20. data/bundler/lib/bundler/build_metadata.rb +5 -13
  21. data/bundler/lib/bundler/capistrano.rb +4 -4
  22. data/bundler/lib/bundler/cli/add.rb +28 -16
  23. data/bundler/lib/bundler/cli/binstubs.rb +11 -3
  24. data/bundler/lib/bundler/cli/cache.rb +24 -17
  25. data/bundler/lib/bundler/cli/check.rb +5 -3
  26. data/bundler/lib/bundler/cli/clean.rb +1 -1
  27. data/bundler/lib/bundler/cli/common.rb +41 -13
  28. data/bundler/lib/bundler/cli/config.rb +170 -86
  29. data/bundler/lib/bundler/cli/console.rb +3 -3
  30. data/bundler/lib/bundler/cli/doctor.rb +27 -10
  31. data/bundler/lib/bundler/cli/exec.rb +8 -25
  32. data/bundler/lib/bundler/cli/fund.rb +36 -0
  33. data/bundler/lib/bundler/cli/gem.rb +261 -48
  34. data/bundler/lib/bundler/cli/info.rb +52 -8
  35. data/bundler/lib/bundler/cli/init.rb +7 -3
  36. data/bundler/lib/bundler/cli/inject.rb +1 -1
  37. data/bundler/lib/bundler/cli/install.rb +38 -66
  38. data/bundler/lib/bundler/cli/issue.rb +8 -7
  39. data/bundler/lib/bundler/cli/list.rb +19 -11
  40. data/bundler/lib/bundler/cli/lock.rb +11 -4
  41. data/bundler/lib/bundler/cli/open.rb +14 -9
  42. data/bundler/lib/bundler/cli/outdated.rb +152 -121
  43. data/bundler/lib/bundler/cli/platform.rb +2 -2
  44. data/bundler/lib/bundler/cli/plugin.rb +19 -2
  45. data/bundler/lib/bundler/cli/pristine.rb +6 -1
  46. data/bundler/lib/bundler/cli/remove.rb +1 -2
  47. data/bundler/lib/bundler/cli/show.rb +3 -3
  48. data/bundler/lib/bundler/cli/update.rb +49 -18
  49. data/bundler/lib/bundler/cli/viz.rb +1 -1
  50. data/bundler/lib/bundler/cli.rb +269 -165
  51. data/bundler/lib/bundler/compact_index_client/cache.rb +7 -24
  52. data/bundler/lib/bundler/compact_index_client/gem_parser.rb +28 -0
  53. data/bundler/lib/bundler/compact_index_client/updater.rb +58 -57
  54. data/bundler/lib/bundler/compact_index_client.rb +28 -18
  55. data/bundler/lib/bundler/constants.rb +1 -1
  56. data/bundler/lib/bundler/current_ruby.rb +26 -11
  57. data/bundler/lib/bundler/definition.rb +371 -441
  58. data/bundler/lib/bundler/dependency.rb +29 -71
  59. data/bundler/lib/bundler/deployment.rb +1 -1
  60. data/bundler/lib/bundler/digest.rb +71 -0
  61. data/bundler/lib/bundler/dsl.rb +84 -116
  62. data/bundler/lib/bundler/endpoint_specification.rb +16 -14
  63. data/bundler/lib/bundler/env.rb +10 -15
  64. data/bundler/lib/bundler/environment_preserver.rb +32 -5
  65. data/bundler/lib/bundler/errors.rb +31 -14
  66. data/bundler/lib/bundler/feature_flag.rb +13 -33
  67. data/bundler/lib/bundler/fetcher/base.rb +7 -9
  68. data/bundler/lib/bundler/fetcher/compact_index.rb +46 -39
  69. data/bundler/lib/bundler/fetcher/dependency.rb +3 -7
  70. data/bundler/lib/bundler/fetcher/downloader.rb +15 -12
  71. data/bundler/lib/bundler/fetcher/index.rb +4 -30
  72. data/bundler/lib/bundler/fetcher.rb +40 -42
  73. data/bundler/lib/bundler/force_platform.rb +18 -0
  74. data/bundler/lib/bundler/friendly_errors.rb +49 -54
  75. data/bundler/lib/bundler/gem_helper.rb +79 -43
  76. data/bundler/lib/bundler/gem_helpers.rb +44 -28
  77. data/bundler/lib/bundler/gem_tasks.rb +1 -1
  78. data/bundler/lib/bundler/gem_version_promoter.rb +54 -99
  79. data/bundler/lib/bundler/graph.rb +5 -5
  80. data/bundler/lib/bundler/index.rb +16 -54
  81. data/bundler/lib/bundler/injector.rb +51 -17
  82. data/bundler/lib/bundler/inline.rb +28 -29
  83. data/bundler/lib/bundler/installer/gem_installer.rb +22 -23
  84. data/bundler/lib/bundler/installer/parallel_installer.rb +38 -51
  85. data/bundler/lib/bundler/installer/standalone.rb +62 -12
  86. data/bundler/lib/bundler/installer.rb +46 -97
  87. data/bundler/lib/bundler/lazy_specification.rb +88 -52
  88. data/bundler/lib/bundler/lockfile_generator.rb +4 -4
  89. data/bundler/lib/bundler/lockfile_parser.rb +40 -72
  90. data/bundler/{man → lib/bundler/man}/bundle-add.1 +29 -5
  91. data/bundler/{man/bundle-add.ronn → lib/bundler/man/bundle-add.1.ronn} +22 -4
  92. data/bundler/{man → lib/bundler/man}/bundle-binstubs.1 +6 -4
  93. data/bundler/{man/bundle-binstubs.ronn → lib/bundler/man/bundle-binstubs.1.ronn} +3 -5
  94. data/bundler/lib/bundler/man/bundle-cache.1 +61 -0
  95. data/bundler/{man/bundle-package.ronn → lib/bundler/man/bundle-cache.1.ronn} +22 -15
  96. data/bundler/{man → lib/bundler/man}/bundle-check.1 +1 -1
  97. data/bundler/{man → lib/bundler/man}/bundle-clean.1 +2 -2
  98. data/bundler/{man/bundle-clean.ronn → lib/bundler/man/bundle-clean.1.ronn} +1 -1
  99. data/bundler/{man → lib/bundler/man}/bundle-config.1 +78 -60
  100. data/bundler/{man/bundle-config.ronn → lib/bundler/man/bundle-config.1.ronn} +96 -85
  101. data/bundler/lib/bundler/man/bundle-console.1 +53 -0
  102. data/bundler/lib/bundler/man/bundle-console.1.ronn +44 -0
  103. data/bundler/{man → lib/bundler/man}/bundle-doctor.1 +1 -1
  104. data/bundler/{man → lib/bundler/man}/bundle-exec.1 +6 -6
  105. data/bundler/{man/bundle-exec.ronn → lib/bundler/man/bundle-exec.1.ronn} +6 -6
  106. data/bundler/lib/bundler/man/bundle-gem.1 +105 -0
  107. data/bundler/lib/bundler/man/bundle-gem.1.ronn +117 -0
  108. data/bundler/lib/bundler/man/bundle-help.1 +13 -0
  109. data/bundler/lib/bundler/man/bundle-help.1.ronn +12 -0
  110. data/bundler/{man → lib/bundler/man}/bundle-info.1 +1 -1
  111. data/bundler/{man → lib/bundler/man}/bundle-init.1 +6 -2
  112. data/bundler/{man/bundle-init.ronn → lib/bundler/man/bundle-init.1.ronn} +3 -1
  113. data/bundler/{man → lib/bundler/man}/bundle-inject.1 +5 -2
  114. data/bundler/{man/bundle-inject.ronn → lib/bundler/man/bundle-inject.1.ronn} +3 -1
  115. data/bundler/{man → lib/bundler/man}/bundle-install.1 +42 -37
  116. data/bundler/{man/bundle-install.ronn → lib/bundler/man/bundle-install.1.ronn} +42 -38
  117. data/bundler/{man → lib/bundler/man}/bundle-list.1 +7 -7
  118. data/bundler/{man/bundle-list.ronn → lib/bundler/man/bundle-list.1.ronn} +6 -6
  119. data/bundler/{man → lib/bundler/man}/bundle-lock.1 +1 -1
  120. data/bundler/{man → lib/bundler/man}/bundle-open.1 +22 -2
  121. data/bundler/{man/bundle-open.ronn → lib/bundler/man/bundle-open.1.ronn} +9 -1
  122. data/bundler/{man → lib/bundler/man}/bundle-outdated.1 +3 -10
  123. data/bundler/{man/bundle-outdated.ronn → lib/bundler/man/bundle-outdated.1.ronn} +1 -10
  124. data/bundler/{man → lib/bundler/man}/bundle-platform.1 +16 -6
  125. data/bundler/{man/bundle-platform.ronn → lib/bundler/man/bundle-platform.1.ronn} +14 -7
  126. data/bundler/lib/bundler/man/bundle-plugin.1 +81 -0
  127. data/bundler/lib/bundler/man/bundle-plugin.1.ronn +59 -0
  128. data/bundler/{man → lib/bundler/man}/bundle-pristine.1 +1 -1
  129. data/bundler/{man → lib/bundler/man}/bundle-remove.1 +1 -1
  130. data/bundler/{man → lib/bundler/man}/bundle-show.1 +1 -1
  131. data/bundler/{man → lib/bundler/man}/bundle-update.1 +8 -8
  132. data/bundler/{man/bundle-update.ronn → lib/bundler/man/bundle-update.1.ronn} +8 -7
  133. data/bundler/lib/bundler/man/bundle-version.1 +35 -0
  134. data/bundler/lib/bundler/man/bundle-version.1.ronn +24 -0
  135. data/bundler/{man → lib/bundler/man}/bundle-viz.1 +4 -1
  136. data/bundler/{man/bundle-viz.ronn → lib/bundler/man/bundle-viz.1.ronn} +2 -0
  137. data/bundler/{man → lib/bundler/man}/bundle.1 +17 -12
  138. data/bundler/{man/bundle.ronn → lib/bundler/man/bundle.1.ronn} +14 -9
  139. data/bundler/lib/bundler/man/gemfile.5 +723 -0
  140. data/bundler/{man → lib/bundler/man}/gemfile.5.ronn +112 -95
  141. data/bundler/lib/bundler/man/index.txt +29 -0
  142. data/bundler/lib/bundler/match_metadata.rb +13 -0
  143. data/bundler/lib/bundler/match_platform.rb +1 -2
  144. data/bundler/lib/bundler/match_remote_metadata.rb +29 -0
  145. data/bundler/lib/bundler/mirror.rb +10 -12
  146. data/bundler/lib/bundler/plugin/api/source.rb +29 -15
  147. data/bundler/lib/bundler/plugin/api.rb +1 -1
  148. data/bundler/lib/bundler/plugin/dsl.rb +1 -1
  149. data/bundler/lib/bundler/plugin/index.rb +31 -8
  150. data/bundler/lib/bundler/plugin/installer/git.rb +0 -4
  151. data/bundler/lib/bundler/plugin/installer/rubygems.rb +1 -9
  152. data/bundler/lib/bundler/plugin/installer.rb +40 -24
  153. data/bundler/lib/bundler/plugin/source_list.rb +5 -1
  154. data/bundler/lib/bundler/plugin.rb +103 -43
  155. data/bundler/lib/bundler/process_lock.rb +1 -1
  156. data/bundler/lib/bundler/remote_specification.rb +12 -9
  157. data/bundler/lib/bundler/resolver/base.rb +107 -0
  158. data/bundler/lib/bundler/resolver/candidate.rb +94 -0
  159. data/bundler/lib/bundler/resolver/incompatibility.rb +15 -0
  160. data/bundler/lib/bundler/resolver/package.rb +72 -0
  161. data/bundler/lib/bundler/resolver/root.rb +25 -0
  162. data/bundler/lib/bundler/resolver/spec_group.rb +49 -73
  163. data/bundler/lib/bundler/resolver.rb +341 -301
  164. data/bundler/lib/bundler/retry.rb +4 -4
  165. data/bundler/lib/bundler/ruby_dsl.rb +1 -1
  166. data/bundler/lib/bundler/ruby_version.rb +10 -38
  167. data/bundler/lib/bundler/rubygems_ext.rb +237 -92
  168. data/bundler/lib/bundler/rubygems_gem_installer.rb +87 -21
  169. data/bundler/lib/bundler/rubygems_integration.rb +179 -515
  170. data/bundler/lib/bundler/runtime.rb +25 -40
  171. data/bundler/lib/bundler/self_manager.rb +168 -0
  172. data/bundler/lib/bundler/settings.rb +163 -119
  173. data/bundler/lib/bundler/setup.rb +14 -12
  174. data/bundler/lib/bundler/shared_helpers.rb +62 -103
  175. data/bundler/lib/bundler/similarity_detector.rb +3 -3
  176. data/bundler/lib/bundler/source/git/git_proxy.rb +274 -128
  177. data/bundler/lib/bundler/source/git.rb +86 -62
  178. data/bundler/lib/bundler/source/metadata.rb +9 -9
  179. data/bundler/lib/bundler/source/path/installer.rb +11 -32
  180. data/bundler/lib/bundler/source/path.rb +29 -18
  181. data/bundler/lib/bundler/source/rubygems/remote.rb +3 -4
  182. data/bundler/lib/bundler/source/rubygems.rb +176 -206
  183. data/bundler/lib/bundler/source/rubygems_aggregate.rb +68 -0
  184. data/bundler/lib/bundler/source.rb +30 -10
  185. data/bundler/lib/bundler/source_list.rb +112 -67
  186. data/bundler/lib/bundler/source_map.rb +71 -0
  187. data/bundler/lib/bundler/spec_set.rb +96 -72
  188. data/bundler/lib/bundler/stub_specification.rb +45 -37
  189. data/bundler/lib/bundler/templates/Executable +3 -5
  190. data/bundler/lib/bundler/templates/Executable.bundler +22 -18
  191. data/bundler/lib/bundler/templates/Executable.standalone +4 -4
  192. data/bundler/lib/bundler/templates/Gemfile +0 -2
  193. data/bundler/lib/bundler/templates/newgem/CHANGELOG.md.tt +5 -0
  194. data/bundler/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt +57 -47
  195. data/bundler/lib/bundler/templates/newgem/Cargo.toml.tt +7 -0
  196. data/bundler/lib/bundler/templates/newgem/Gemfile.tt +22 -2
  197. data/bundler/lib/bundler/templates/newgem/README.md.tt +13 -15
  198. data/bundler/lib/bundler/templates/newgem/Rakefile.tt +43 -5
  199. data/bundler/lib/bundler/templates/newgem/bin/console.tt +1 -4
  200. data/bundler/lib/bundler/templates/newgem/circleci/config.yml.tt +25 -0
  201. data/bundler/lib/bundler/templates/newgem/ext/newgem/Cargo.toml.tt +15 -0
  202. data/bundler/lib/bundler/templates/newgem/ext/newgem/extconf-c.rb.tt +10 -0
  203. data/bundler/lib/bundler/templates/newgem/ext/newgem/extconf-rust.rb.tt +6 -0
  204. data/bundler/lib/bundler/templates/newgem/ext/newgem/newgem.c.tt +1 -1
  205. data/bundler/lib/bundler/templates/newgem/ext/newgem/src/lib.rs.tt +12 -0
  206. data/bundler/lib/bundler/templates/newgem/github/workflows/main.yml.tt +37 -0
  207. data/bundler/lib/bundler/templates/newgem/gitignore.tt +3 -0
  208. data/bundler/lib/bundler/templates/newgem/gitlab-ci.yml.tt +18 -0
  209. data/bundler/lib/bundler/templates/newgem/lib/newgem/version.rb.tt +2 -0
  210. data/bundler/lib/bundler/templates/newgem/lib/newgem.rb.tt +4 -2
  211. data/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt +36 -41
  212. data/bundler/lib/bundler/templates/newgem/rubocop.yml.tt +13 -0
  213. data/bundler/lib/bundler/templates/newgem/sig/newgem.rbs.tt +8 -0
  214. data/bundler/lib/bundler/templates/newgem/spec/newgem_spec.rb.tt +2 -0
  215. data/bundler/lib/bundler/templates/newgem/spec/spec_helper.rb.tt +2 -1
  216. data/bundler/lib/bundler/templates/newgem/standard.yml.tt +3 -0
  217. data/bundler/lib/bundler/templates/newgem/test/minitest/test_helper.rb.tt +6 -0
  218. data/bundler/lib/bundler/templates/newgem/test/{newgem_test.rb.tt → minitest/test_newgem.rb.tt} +3 -1
  219. data/bundler/lib/bundler/templates/newgem/test/test-unit/newgem_test.rb.tt +15 -0
  220. data/bundler/lib/bundler/templates/newgem/test/test-unit/test_helper.rb.tt +6 -0
  221. data/bundler/lib/bundler/ui/rg_proxy.rb +1 -1
  222. data/bundler/lib/bundler/ui/shell.rb +39 -20
  223. data/bundler/lib/bundler/ui/silent.rb +21 -5
  224. data/bundler/lib/bundler/ui.rb +3 -3
  225. data/bundler/lib/bundler/uri_credentials_filter.rb +10 -4
  226. data/bundler/lib/bundler/uri_normalizer.rb +23 -0
  227. data/bundler/lib/bundler/vendor/.document +1 -0
  228. data/bundler/lib/bundler/vendor/connection_pool/LICENSE +20 -0
  229. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.rb +174 -0
  230. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/version.rb +3 -0
  231. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/wrapper.rb +56 -0
  232. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool.rb +128 -0
  233. data/bundler/lib/bundler/vendor/fileutils/LICENSE.txt +22 -0
  234. data/bundler/lib/bundler/vendor/fileutils/lib/fileutils.rb +1493 -425
  235. data/bundler/lib/bundler/vendor/net-http-persistent/README.rdoc +82 -0
  236. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/connection.rb +40 -0
  237. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/pool.rb +53 -0
  238. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/timed_stack_multi.rb +79 -0
  239. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +302 -462
  240. data/bundler/lib/bundler/vendor/pub_grub/LICENSE.txt +21 -0
  241. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/assignment.rb +20 -0
  242. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/basic_package_source.rb +189 -0
  243. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/failure_writer.rb +182 -0
  244. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/incompatibility.rb +150 -0
  245. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/package.rb +43 -0
  246. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/partial_solution.rb +121 -0
  247. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/rubygems.rb +45 -0
  248. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/solve_failure.rb +19 -0
  249. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/static_package_source.rb +60 -0
  250. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/term.rb +105 -0
  251. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version.rb +3 -0
  252. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_constraint.rb +129 -0
  253. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_range.rb +411 -0
  254. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_solver.rb +243 -0
  255. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_union.rb +178 -0
  256. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub.rb +31 -0
  257. data/bundler/lib/bundler/vendor/thor/LICENSE.md +20 -0
  258. data/bundler/lib/bundler/vendor/thor/lib/thor/actions/create_file.rb +1 -1
  259. data/bundler/lib/bundler/vendor/thor/lib/thor/actions/create_link.rb +3 -2
  260. data/bundler/lib/bundler/vendor/thor/lib/thor/actions/directory.rb +7 -17
  261. data/bundler/lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb +25 -14
  262. data/bundler/lib/bundler/vendor/thor/lib/thor/actions/inject_into_file.rb +20 -10
  263. data/bundler/lib/bundler/vendor/thor/lib/thor/actions.rb +34 -15
  264. data/bundler/lib/bundler/vendor/thor/lib/thor/base.rb +63 -43
  265. data/bundler/lib/bundler/vendor/thor/lib/thor/command.rb +21 -14
  266. data/bundler/lib/bundler/vendor/thor/lib/thor/core_ext/hash_with_indifferent_access.rb +6 -0
  267. data/bundler/lib/bundler/vendor/thor/lib/thor/error.rb +83 -0
  268. data/bundler/lib/bundler/vendor/thor/lib/thor/group.rb +3 -3
  269. data/bundler/lib/bundler/vendor/thor/lib/thor/invocation.rb +1 -0
  270. data/bundler/lib/bundler/vendor/thor/lib/thor/line_editor/basic.rb +1 -1
  271. data/bundler/lib/bundler/vendor/thor/lib/thor/line_editor/readline.rb +6 -6
  272. data/bundler/lib/bundler/vendor/thor/lib/thor/line_editor.rb +2 -2
  273. data/bundler/lib/bundler/vendor/thor/lib/thor/nested_context.rb +29 -0
  274. data/bundler/lib/bundler/vendor/thor/lib/thor/parser/arguments.rb +7 -3
  275. data/bundler/lib/bundler/vendor/thor/lib/thor/parser/option.rb +20 -7
  276. data/bundler/lib/bundler/vendor/thor/lib/thor/parser/options.rb +40 -6
  277. data/bundler/lib/bundler/vendor/thor/lib/thor/parser.rb +4 -4
  278. data/bundler/lib/bundler/vendor/thor/lib/thor/rake_compat.rb +1 -0
  279. data/bundler/lib/bundler/vendor/thor/lib/thor/runner.rb +15 -14
  280. data/bundler/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +88 -13
  281. data/bundler/lib/bundler/vendor/thor/lib/thor/shell/color.rb +10 -2
  282. data/bundler/lib/bundler/vendor/thor/lib/thor/shell/html.rb +3 -3
  283. data/bundler/lib/bundler/vendor/thor/lib/thor/shell.rb +5 -5
  284. data/bundler/lib/bundler/vendor/thor/lib/thor/util.rb +18 -2
  285. data/bundler/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
  286. data/bundler/lib/bundler/vendor/thor/lib/thor.rb +16 -9
  287. data/bundler/lib/bundler/vendor/tsort/LICENSE.txt +22 -0
  288. data/bundler/lib/bundler/vendor/tsort/lib/tsort.rb +452 -0
  289. data/bundler/lib/bundler/vendor/uri/LICENSE.txt +22 -0
  290. data/bundler/lib/bundler/vendor/uri/lib/uri/common.rb +729 -0
  291. data/bundler/lib/bundler/vendor/uri/lib/uri/file.rb +100 -0
  292. data/bundler/lib/bundler/vendor/uri/lib/uri/ftp.rb +267 -0
  293. data/bundler/lib/bundler/vendor/uri/lib/uri/generic.rb +1587 -0
  294. data/bundler/lib/bundler/vendor/uri/lib/uri/http.rb +125 -0
  295. data/bundler/lib/bundler/vendor/uri/lib/uri/https.rb +23 -0
  296. data/bundler/lib/bundler/vendor/uri/lib/uri/ldap.rb +261 -0
  297. data/bundler/lib/bundler/vendor/uri/lib/uri/ldaps.rb +22 -0
  298. data/bundler/lib/bundler/vendor/uri/lib/uri/mailto.rb +293 -0
  299. data/bundler/lib/bundler/vendor/uri/lib/uri/rfc2396_parser.rb +539 -0
  300. data/bundler/lib/bundler/vendor/uri/lib/uri/rfc3986_parser.rb +119 -0
  301. data/bundler/lib/bundler/vendor/uri/lib/uri/version.rb +6 -0
  302. data/bundler/lib/bundler/vendor/uri/lib/uri/ws.rb +83 -0
  303. data/bundler/lib/bundler/vendor/uri/lib/uri/wss.rb +23 -0
  304. data/bundler/lib/bundler/vendor/uri/lib/uri.rb +104 -0
  305. data/bundler/lib/bundler/vendored_fileutils.rb +1 -6
  306. data/bundler/lib/bundler/vendored_persistent.rb +2 -39
  307. data/bundler/lib/bundler/{vendored_molinillo.rb → vendored_pub_grub.rb} +1 -1
  308. data/bundler/lib/bundler/vendored_thor.rb +2 -2
  309. data/bundler/lib/bundler/vendored_tsort.rb +4 -0
  310. data/bundler/lib/bundler/vendored_uri.rb +4 -0
  311. data/bundler/lib/bundler/version.rb +5 -20
  312. data/bundler/lib/bundler/vlad.rb +2 -2
  313. data/bundler/lib/bundler/worker.rb +26 -15
  314. data/bundler/lib/bundler/yaml_serializer.rb +3 -4
  315. data/bundler/lib/bundler.rb +290 -187
  316. data/hide_lib_for_update/note.txt +0 -4
  317. data/lib/rubygems/available_set.rb +7 -8
  318. data/lib/rubygems/basic_specification.rb +44 -31
  319. data/lib/rubygems/bundler_version_finder.rb +29 -51
  320. data/lib/rubygems/command.rb +114 -52
  321. data/lib/rubygems/command_manager.rb +38 -18
  322. data/lib/rubygems/commands/build_command.rb +77 -26
  323. data/lib/rubygems/commands/cert_command.rb +78 -76
  324. data/lib/rubygems/commands/check_command.rb +20 -22
  325. data/lib/rubygems/commands/cleanup_command.rb +36 -32
  326. data/lib/rubygems/commands/contents_command.rb +16 -18
  327. data/lib/rubygems/commands/dependency_command.rb +39 -50
  328. data/lib/rubygems/commands/environment_command.rb +11 -13
  329. data/lib/rubygems/commands/exec_command.rb +248 -0
  330. data/lib/rubygems/commands/fetch_command.rb +33 -16
  331. data/lib/rubygems/commands/generate_index_command.rb +18 -17
  332. data/lib/rubygems/commands/help_command.rb +10 -10
  333. data/lib/rubygems/commands/info_command.rb +11 -6
  334. data/lib/rubygems/commands/install_command.rb +45 -79
  335. data/lib/rubygems/commands/list_command.rb +9 -8
  336. data/lib/rubygems/commands/lock_command.rb +7 -9
  337. data/lib/rubygems/commands/mirror_command.rb +3 -4
  338. data/lib/rubygems/commands/open_command.rb +11 -14
  339. data/lib/rubygems/commands/outdated_command.rb +5 -6
  340. data/lib/rubygems/commands/owner_command.rb +33 -24
  341. data/lib/rubygems/commands/pristine_command.rb +70 -51
  342. data/lib/rubygems/commands/push_command.rb +26 -63
  343. data/lib/rubygems/commands/query_command.rb +21 -337
  344. data/lib/rubygems/commands/rdoc_command.rb +26 -26
  345. data/lib/rubygems/commands/search_command.rb +8 -8
  346. data/lib/rubygems/commands/server_command.rb +16 -77
  347. data/lib/rubygems/commands/setup_command.rb +282 -241
  348. data/lib/rubygems/commands/signin_command.rb +9 -10
  349. data/lib/rubygems/commands/signout_command.rb +7 -9
  350. data/lib/rubygems/commands/sources_command.rb +42 -26
  351. data/lib/rubygems/commands/specification_command.rb +25 -20
  352. data/lib/rubygems/commands/stale_command.rb +3 -3
  353. data/lib/rubygems/commands/uninstall_command.rb +61 -49
  354. data/lib/rubygems/commands/unpack_command.rb +15 -44
  355. data/lib/rubygems/commands/update_command.rb +133 -81
  356. data/lib/rubygems/commands/which_command.rb +8 -11
  357. data/lib/rubygems/commands/yank_command.rb +22 -19
  358. data/lib/rubygems/compatibility.rb +7 -5
  359. data/lib/rubygems/config_file.rb +101 -47
  360. data/lib/rubygems/core_ext/kernel_gem.rb +8 -12
  361. data/lib/rubygems/core_ext/kernel_require.rb +115 -84
  362. data/lib/rubygems/core_ext/kernel_warn.rb +35 -30
  363. data/lib/rubygems/core_ext/tcpsocket_init.rb +52 -0
  364. data/lib/rubygems/defaults.rb +132 -56
  365. data/lib/rubygems/dependency.rb +44 -27
  366. data/lib/rubygems/dependency_installer.rb +49 -205
  367. data/lib/rubygems/dependency_list.rb +24 -25
  368. data/lib/rubygems/deprecate.rb +106 -12
  369. data/lib/rubygems/doctor.rb +22 -22
  370. data/lib/rubygems/errors.rb +8 -14
  371. data/lib/rubygems/exceptions.rb +45 -33
  372. data/lib/rubygems/ext/build_error.rb +2 -0
  373. data/lib/rubygems/ext/builder.rb +86 -93
  374. data/lib/rubygems/ext/cargo_builder/link_flag_converter.rb +27 -0
  375. data/lib/rubygems/ext/cargo_builder.rb +360 -0
  376. data/lib/rubygems/ext/cmake_builder.rb +6 -7
  377. data/lib/rubygems/ext/configure_builder.rb +5 -8
  378. data/lib/rubygems/ext/ext_conf_builder.rb +44 -65
  379. data/lib/rubygems/ext/rake_builder.rb +7 -10
  380. data/lib/rubygems/ext.rb +7 -6
  381. data/lib/rubygems/gem_runner.rb +15 -26
  382. data/lib/rubygems/gemcutter_utilities.rb +221 -54
  383. data/lib/rubygems/indexer.rb +38 -53
  384. data/lib/rubygems/install_default_message.rb +2 -2
  385. data/lib/rubygems/install_message.rb +2 -2
  386. data/lib/rubygems/install_update_options.rb +73 -64
  387. data/lib/rubygems/installer.rb +231 -174
  388. data/lib/rubygems/installer_uninstaller_utils.rb +29 -0
  389. data/lib/rubygems/local_remote_options.rb +22 -24
  390. data/lib/rubygems/mock_gem_ui.rb +2 -5
  391. data/lib/rubygems/name_tuple.rb +10 -14
  392. data/lib/rubygems/openssl.rb +7 -0
  393. data/lib/rubygems/optparse/.document +1 -0
  394. data/lib/rubygems/optparse/COPYING +56 -0
  395. data/lib/rubygems/optparse/lib/optionparser.rb +2 -0
  396. data/lib/rubygems/optparse/lib/optparse/ac.rb +54 -0
  397. data/lib/rubygems/optparse/lib/optparse/date.rb +18 -0
  398. data/lib/rubygems/optparse/lib/optparse/kwargs.rb +22 -0
  399. data/lib/rubygems/optparse/lib/optparse/shellwords.rb +7 -0
  400. data/lib/rubygems/optparse/lib/optparse/time.rb +11 -0
  401. data/lib/rubygems/optparse/lib/optparse/uri.rb +7 -0
  402. data/lib/rubygems/optparse/lib/optparse/version.rb +71 -0
  403. data/lib/rubygems/optparse/lib/optparse.rb +2308 -0
  404. data/lib/rubygems/optparse.rb +3 -0
  405. data/lib/rubygems/package/digest_io.rb +0 -2
  406. data/lib/rubygems/package/file_source.rb +2 -4
  407. data/lib/rubygems/package/io_source.rb +4 -2
  408. data/lib/rubygems/package/old.rb +9 -11
  409. data/lib/rubygems/package/tar_header.rb +73 -66
  410. data/lib/rubygems/package/tar_reader/entry.rb +89 -11
  411. data/lib/rubygems/package/tar_reader.rb +1 -26
  412. data/lib/rubygems/package/tar_writer.rb +12 -22
  413. data/lib/rubygems/package.rb +142 -125
  414. data/lib/rubygems/package_task.rb +5 -11
  415. data/lib/rubygems/path_support.rb +3 -8
  416. data/lib/rubygems/platform.rb +113 -73
  417. data/lib/rubygems/psych_tree.rb +1 -1
  418. data/lib/rubygems/query_utils.rb +351 -0
  419. data/lib/rubygems/rdoc.rb +4 -16
  420. data/lib/rubygems/remote_fetcher.rb +64 -136
  421. data/lib/rubygems/request/connection_pools.rb +7 -11
  422. data/lib/rubygems/request/http_pool.rb +2 -3
  423. data/lib/rubygems/request.rb +31 -32
  424. data/lib/rubygems/request_set/gem_dependency_api.rb +134 -136
  425. data/lib/rubygems/request_set/lockfile/parser.rb +28 -28
  426. data/lib/rubygems/request_set/lockfile/tokenizer.rb +5 -5
  427. data/lib/rubygems/request_set/lockfile.rb +21 -20
  428. data/lib/rubygems/request_set.rb +32 -45
  429. data/lib/rubygems/requirement.rb +43 -65
  430. data/lib/rubygems/resolver/activation_request.rb +29 -53
  431. data/lib/rubygems/resolver/api_set/gem_parser.rb +20 -0
  432. data/lib/rubygems/resolver/api_set.rb +33 -26
  433. data/lib/rubygems/resolver/api_specification.rb +30 -16
  434. data/lib/rubygems/resolver/best_set.rb +9 -11
  435. data/lib/rubygems/resolver/composed_set.rb +3 -5
  436. data/lib/rubygems/resolver/conflict.rb +12 -19
  437. data/lib/rubygems/resolver/current_set.rb +0 -2
  438. data/lib/rubygems/resolver/dependency_request.rb +3 -5
  439. data/lib/rubygems/resolver/git_set.rb +2 -4
  440. data/lib/rubygems/resolver/git_specification.rb +6 -8
  441. data/lib/rubygems/resolver/index_set.rb +4 -6
  442. data/lib/rubygems/resolver/index_specification.rb +38 -7
  443. data/lib/rubygems/resolver/installed_specification.rb +4 -6
  444. data/lib/rubygems/resolver/installer_set.rb +69 -27
  445. data/lib/rubygems/resolver/local_specification.rb +2 -4
  446. data/lib/rubygems/resolver/lock_set.rb +7 -9
  447. data/lib/rubygems/resolver/lock_specification.rb +6 -8
  448. data/lib/rubygems/resolver/molinillo/LICENSE +9 -0
  449. data/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/resolution_state.rb +7 -0
  450. data/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/specification_provider.rb +8 -0
  451. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/action.rb +1 -0
  452. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +2 -1
  453. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +2 -1
  454. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +2 -1
  455. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +2 -1
  456. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/log.rb +7 -6
  457. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/set_payload.rb +2 -1
  458. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/tag.rb +4 -3
  459. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/vertex.rb +51 -12
  460. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb +42 -9
  461. data/lib/rubygems/resolver/molinillo/lib/molinillo/errors.rb +82 -8
  462. data/lib/rubygems/resolver/molinillo/lib/molinillo/gem_metadata.rb +2 -1
  463. data/lib/rubygems/resolver/molinillo/lib/molinillo/modules/specification_provider.rb +13 -1
  464. data/lib/rubygems/resolver/molinillo/lib/molinillo/modules/ui.rb +3 -1
  465. data/lib/rubygems/resolver/molinillo/lib/molinillo/resolution.rb +510 -165
  466. data/lib/rubygems/resolver/molinillo/lib/molinillo/resolver.rb +3 -2
  467. data/lib/rubygems/resolver/molinillo/lib/molinillo/state.rb +8 -4
  468. data/lib/rubygems/resolver/molinillo/lib/molinillo.rb +6 -5
  469. data/lib/rubygems/resolver/molinillo.rb +1 -1
  470. data/lib/rubygems/resolver/requirement_list.rb +0 -1
  471. data/lib/rubygems/resolver/set.rb +0 -3
  472. data/lib/rubygems/resolver/source_set.rb +0 -2
  473. data/lib/rubygems/resolver/spec_specification.rb +14 -2
  474. data/lib/rubygems/resolver/specification.rb +14 -3
  475. data/lib/rubygems/resolver/stats.rb +1 -1
  476. data/lib/rubygems/resolver/vendor_set.rb +1 -3
  477. data/lib/rubygems/resolver/vendor_specification.rb +3 -5
  478. data/lib/rubygems/resolver.rb +58 -54
  479. data/lib/rubygems/s3_uri_signer.rb +175 -0
  480. data/lib/rubygems/safe_yaml.rb +14 -16
  481. data/lib/rubygems/security/policies.rb +47 -47
  482. data/lib/rubygems/security/policy.rb +25 -29
  483. data/lib/rubygems/security/signer.rb +16 -18
  484. data/lib/rubygems/security/trust_dir.rb +5 -6
  485. data/lib/rubygems/security.rb +90 -69
  486. data/lib/rubygems/security_option.rb +7 -8
  487. data/lib/rubygems/source/git.rb +31 -31
  488. data/lib/rubygems/source/installed.rb +1 -3
  489. data/lib/rubygems/source/local.rb +4 -6
  490. data/lib/rubygems/source/lock.rb +0 -2
  491. data/lib/rubygems/source/specific_file.rb +1 -3
  492. data/lib/rubygems/source/vendor.rb +0 -2
  493. data/lib/rubygems/source.rb +50 -38
  494. data/lib/rubygems/source_list.rb +9 -13
  495. data/lib/rubygems/spec_fetcher.rb +52 -64
  496. data/lib/rubygems/specification.rb +444 -465
  497. data/lib/rubygems/specification_policy.rb +185 -87
  498. data/lib/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA_R3.pem +21 -0
  499. data/lib/rubygems/stub_specification.rb +28 -32
  500. data/lib/rubygems/text.rb +22 -22
  501. data/lib/rubygems/tsort/.document +1 -0
  502. data/lib/rubygems/tsort/LICENSE.txt +22 -0
  503. data/lib/rubygems/tsort/lib/tsort.rb +452 -0
  504. data/lib/rubygems/tsort.rb +3 -0
  505. data/lib/rubygems/uninstaller.rb +110 -57
  506. data/lib/rubygems/unknown_command_spell_checker.rb +21 -0
  507. data/lib/rubygems/update_suggestion.rb +69 -0
  508. data/lib/rubygems/uri.rb +126 -0
  509. data/lib/rubygems/uri_formatter.rb +2 -4
  510. data/lib/rubygems/user_interaction.rb +46 -49
  511. data/lib/rubygems/util/licenses.rb +511 -404
  512. data/lib/rubygems/util.rb +40 -56
  513. data/lib/rubygems/validator.rb +15 -37
  514. data/lib/rubygems/version.rb +50 -31
  515. data/lib/rubygems/version_option.rb +11 -5
  516. data/lib/rubygems/webauthn_listener/response.rb +161 -0
  517. data/lib/rubygems/webauthn_listener.rb +92 -0
  518. data/lib/rubygems.rb +307 -334
  519. data/rubygems-update.gemspec +6 -13
  520. data/setup.rb +11 -22
  521. data/test/rubygems/alternate_cert.pem +14 -14
  522. data/test/rubygems/alternate_cert_32.pem +15 -15
  523. data/test/rubygems/alternate_key.pem +25 -25
  524. data/test/rubygems/bundler_test_gem.rb +419 -0
  525. data/test/rubygems/ca_cert.pem +74 -65
  526. data/test/rubygems/child_cert.pem +15 -16
  527. data/test/rubygems/child_cert_32.pem +15 -16
  528. data/test/rubygems/child_key.pem +25 -25
  529. data/test/rubygems/client.pem +103 -45
  530. data/test/rubygems/data/excon-0.7.7.gemspec.rz +0 -0
  531. data/test/rubygems/data/null-required-ruby-version.gemspec.rz +0 -0
  532. data/test/rubygems/data/null-required-rubygems-version.gemspec.rz +0 -0
  533. data/test/rubygems/data/pry-0.4.7.gemspec.rz +0 -0
  534. data/test/rubygems/encrypted_private_key.pem +26 -26
  535. data/test/rubygems/expired_cert.pem +15 -15
  536. data/test/rubygems/future_cert.pem +15 -15
  537. data/test/rubygems/future_cert_32.pem +15 -15
  538. data/test/rubygems/grandchild_cert.pem +15 -16
  539. data/test/rubygems/grandchild_cert_32.pem +15 -16
  540. data/test/rubygems/grandchild_key.pem +25 -25
  541. data/{lib/rubygems/test_case.rb → test/rubygems/helper.rb} +518 -507
  542. data/{lib → test}/rubygems/installer_test_case.rb +115 -53
  543. data/test/rubygems/invalid_issuer_cert.pem +16 -16
  544. data/test/rubygems/invalid_issuer_cert_32.pem +16 -16
  545. data/test/rubygems/invalid_key.pem +25 -25
  546. data/test/rubygems/invalid_signer_cert.pem +15 -15
  547. data/test/rubygems/invalid_signer_cert_32.pem +15 -15
  548. data/test/rubygems/invalidchild_cert.pem +15 -16
  549. data/test/rubygems/invalidchild_cert_32.pem +15 -16
  550. data/test/rubygems/invalidchild_key.pem +25 -25
  551. data/{lib → test}/rubygems/package/tar_test_case.rb +51 -18
  552. data/test/rubygems/packages/Bluebie-legs-0.6.2.gem +0 -0
  553. data/test/rubygems/packages/ascii_binder-0.1.10.1.gem +0 -0
  554. data/test/rubygems/packages/ill-formatted-platform-1.0.0.10.gem +0 -0
  555. data/test/rubygems/plugin/exception/rubygems_plugin.rb +1 -1
  556. data/test/rubygems/plugin/standarderror/rubygems_plugin.rb +1 -1
  557. data/test/rubygems/private_ec_key.pem +9 -0
  558. data/test/rubygems/private_key.pem +25 -25
  559. data/test/rubygems/public_cert.pem +16 -16
  560. data/test/rubygems/public_cert_32.pem +15 -15
  561. data/test/rubygems/public_key.pem +7 -7
  562. data/test/rubygems/rubygems/commands/crash_command.rb +0 -2
  563. data/test/rubygems/rubygems_plugin.rb +2 -4
  564. data/test/rubygems/simple_gem.rb +1 -1
  565. data/test/rubygems/specifications/bar-0.0.2.gemspec +0 -2
  566. data/test/rubygems/specifications/rubyforge-0.0.1.gemspec +12 -0
  567. data/test/rubygems/ssl_cert.pem +78 -17
  568. data/test/rubygems/ssl_key.pem +25 -13
  569. data/test/rubygems/test_bundled_ca.rb +44 -47
  570. data/test/rubygems/test_config.rb +6 -8
  571. data/test/rubygems/test_deprecate.rb +91 -11
  572. data/test/rubygems/test_exit.rb +17 -0
  573. data/test/rubygems/test_gem.rb +701 -878
  574. data/test/rubygems/test_gem_available_set.rb +24 -25
  575. data/test/rubygems/test_gem_bundler_version_finder.rb +42 -42
  576. data/test/rubygems/test_gem_command.rb +186 -39
  577. data/test/rubygems/test_gem_command_manager.rb +166 -36
  578. data/test/rubygems/test_gem_commands_build_command.rb +436 -52
  579. data/test/rubygems/test_gem_commands_cert_command.rb +193 -124
  580. data/test/rubygems/test_gem_commands_check_command.rb +9 -11
  581. data/test/rubygems/test_gem_commands_cleanup_command.rb +87 -62
  582. data/test/rubygems/test_gem_commands_contents_command.rb +73 -42
  583. data/test/rubygems/test_gem_commands_dependency_command.rb +39 -41
  584. data/test/rubygems/test_gem_commands_environment_command.rb +60 -48
  585. data/test/rubygems/test_gem_commands_exec_command.rb +851 -0
  586. data/test/rubygems/test_gem_commands_fetch_command.rb +163 -32
  587. data/test/rubygems/test_gem_commands_generate_index_command.rb +39 -9
  588. data/test/rubygems/test_gem_commands_help_command.rb +34 -19
  589. data/test/rubygems/test_gem_commands_info_command.rb +34 -9
  590. data/test/rubygems/test_gem_commands_install_command.rb +601 -174
  591. data/test/rubygems/test_gem_commands_list_command.rb +5 -7
  592. data/test/rubygems/test_gem_commands_lock_command.rb +11 -13
  593. data/test/rubygems/test_gem_commands_mirror.rb +3 -4
  594. data/test/rubygems/test_gem_commands_open_command.rb +16 -19
  595. data/test/rubygems/test_gem_commands_outdated_command.rb +24 -7
  596. data/test/rubygems/test_gem_commands_owner_command.rb +250 -49
  597. data/test/rubygems/test_gem_commands_pristine_command.rb +270 -89
  598. data/test/rubygems/test_gem_commands_push_command.rb +251 -69
  599. data/test/rubygems/test_gem_commands_query_command.rb +114 -89
  600. data/test/rubygems/test_gem_commands_search_command.rb +2 -4
  601. data/test/rubygems/test_gem_commands_server_command.rb +6 -46
  602. data/test/rubygems/test_gem_commands_setup_command.rb +334 -157
  603. data/test/rubygems/test_gem_commands_signin_command.rb +187 -27
  604. data/test/rubygems/test_gem_commands_signout_command.rb +3 -10
  605. data/test/rubygems/test_gem_commands_sources_command.rb +266 -33
  606. data/test/rubygems/test_gem_commands_specification_command.rb +81 -55
  607. data/test/rubygems/test_gem_commands_stale_command.rb +4 -6
  608. data/test/rubygems/test_gem_commands_uninstall_command.rb +251 -99
  609. data/test/rubygems/test_gem_commands_unpack_command.rb +32 -34
  610. data/test/rubygems/test_gem_commands_update_command.rb +412 -102
  611. data/test/rubygems/test_gem_commands_which_command.rb +12 -14
  612. data/test/rubygems/test_gem_commands_yank_command.rb +191 -26
  613. data/test/rubygems/test_gem_config_file.rb +120 -96
  614. data/test/rubygems/test_gem_dependency.rb +94 -86
  615. data/test/rubygems/test_gem_dependency_installer.rb +305 -388
  616. data/test/rubygems/test_gem_dependency_list.rb +66 -61
  617. data/test/rubygems/test_gem_dependency_resolution_error.rb +5 -7
  618. data/test/rubygems/test_gem_doctor.rb +73 -47
  619. data/test/rubygems/test_gem_ext_builder.rb +116 -108
  620. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/.gitignore +1 -0
  621. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/custom_name.gemspec +8 -0
  622. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/ext/custom_name_lib/Cargo.lock +233 -0
  623. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/ext/custom_name_lib/Cargo.toml +10 -0
  624. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/ext/custom_name_lib/src/lib.rs +27 -0
  625. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/lib/custom_name.rb +1 -0
  626. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/.gitignore +1 -0
  627. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.lock +247 -0
  628. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.toml +10 -0
  629. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/rust_ruby_example.gemspec +8 -0
  630. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/src/lib.rs +51 -0
  631. data/test/rubygems/test_gem_ext_cargo_builder.rb +167 -0
  632. data/test/rubygems/test_gem_ext_cargo_builder_link_flag_converter.rb +33 -0
  633. data/test/rubygems/test_gem_ext_cargo_builder_unit.rb +60 -0
  634. data/test/rubygems/test_gem_ext_cmake_builder.rb +32 -37
  635. data/test/rubygems/test_gem_ext_configure_builder.rb +23 -31
  636. data/test/rubygems/test_gem_ext_ext_conf_builder.rb +75 -79
  637. data/test/rubygems/test_gem_ext_rake_builder.rb +49 -30
  638. data/test/rubygems/test_gem_gem_runner.rb +58 -8
  639. data/test/rubygems/test_gem_gemcutter_utilities.rb +159 -76
  640. data/test/rubygems/test_gem_impossible_dependencies_error.rb +4 -6
  641. data/test/rubygems/test_gem_indexer.rb +120 -105
  642. data/test/rubygems/test_gem_install_update_options.rb +57 -33
  643. data/test/rubygems/test_gem_installer.rb +1230 -644
  644. data/test/rubygems/test_gem_local_remote_options.rb +11 -13
  645. data/test/rubygems/test_gem_name_tuple.rb +4 -6
  646. data/test/rubygems/test_gem_package.rb +390 -285
  647. data/test/rubygems/test_gem_package_old.rb +57 -56
  648. data/test/rubygems/test_gem_package_tar_header.rb +108 -50
  649. data/test/rubygems/test_gem_package_tar_reader.rb +54 -9
  650. data/test/rubygems/test_gem_package_tar_reader_entry.rb +168 -24
  651. data/test/rubygems/test_gem_package_tar_writer.rb +107 -101
  652. data/test/rubygems/test_gem_package_task.rb +58 -25
  653. data/test/rubygems/test_gem_path_support.rb +29 -29
  654. data/test/rubygems/test_gem_platform.rb +388 -199
  655. data/test/rubygems/test_gem_rdoc.rb +20 -155
  656. data/test/rubygems/test_gem_remote_fetcher.rb +475 -304
  657. data/test/rubygems/test_gem_request.rb +128 -85
  658. data/test/rubygems/test_gem_request_connection_pools.rb +32 -32
  659. data/test/rubygems/test_gem_request_set.rb +186 -110
  660. data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +283 -264
  661. data/test/rubygems/test_gem_request_set_lockfile.rb +93 -94
  662. data/test/rubygems/test_gem_request_set_lockfile_parser.rb +69 -70
  663. data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +136 -136
  664. data/test/rubygems/test_gem_requirement.rb +140 -55
  665. data/test/rubygems/test_gem_resolver.rb +224 -115
  666. data/test/rubygems/test_gem_resolver_activation_request.rb +9 -40
  667. data/test/rubygems/test_gem_resolver_api_set.rb +79 -78
  668. data/test/rubygems/test_gem_resolver_api_specification.rb +47 -49
  669. data/test/rubygems/test_gem_resolver_best_set.rb +43 -22
  670. data/test/rubygems/test_gem_resolver_composed_set.rb +1 -3
  671. data/test/rubygems/test_gem_resolver_conflict.rb +12 -18
  672. data/test/rubygems/test_gem_resolver_dependency_request.rb +15 -17
  673. data/test/rubygems/test_gem_resolver_git_set.rb +22 -24
  674. data/test/rubygems/test_gem_resolver_git_specification.rb +22 -22
  675. data/test/rubygems/test_gem_resolver_index_set.rb +14 -16
  676. data/test/rubygems/test_gem_resolver_index_specification.rb +21 -18
  677. data/test/rubygems/test_gem_resolver_installed_specification.rb +5 -8
  678. data/test/rubygems/test_gem_resolver_installer_set.rb +106 -44
  679. data/test/rubygems/test_gem_resolver_local_specification.rb +7 -9
  680. data/test/rubygems/test_gem_resolver_lock_set.rb +15 -17
  681. data/test/rubygems/test_gem_resolver_lock_specification.rb +17 -19
  682. data/test/rubygems/test_gem_resolver_requirement_list.rb +1 -3
  683. data/test/rubygems/test_gem_resolver_specification.rb +8 -10
  684. data/test/rubygems/test_gem_resolver_vendor_set.rb +9 -11
  685. data/test/rubygems/test_gem_resolver_vendor_specification.rb +10 -12
  686. data/test/rubygems/test_gem_security.rb +109 -79
  687. data/test/rubygems/test_gem_security_policy.rb +102 -107
  688. data/test/rubygems/test_gem_security_signer.rb +51 -52
  689. data/test/rubygems/test_gem_security_trust_dir.rb +14 -16
  690. data/test/rubygems/test_gem_silent_ui.rb +47 -42
  691. data/test/rubygems/test_gem_source.rb +66 -51
  692. data/test/rubygems/test_gem_source_fetch_problem.rb +17 -8
  693. data/test/rubygems/test_gem_source_git.rb +78 -77
  694. data/test/rubygems/test_gem_source_installed.rb +16 -18
  695. data/test/rubygems/test_gem_source_list.rb +5 -5
  696. data/test/rubygems/test_gem_source_local.rb +15 -16
  697. data/test/rubygems/test_gem_source_lock.rb +31 -33
  698. data/test/rubygems/test_gem_source_specific_file.rb +18 -19
  699. data/test/rubygems/test_gem_source_subpath_problem.rb +49 -0
  700. data/test/rubygems/test_gem_source_vendor.rb +13 -15
  701. data/test/rubygems/test_gem_spec_fetcher.rb +74 -67
  702. data/test/rubygems/test_gem_specification.rb +1070 -1073
  703. data/test/rubygems/test_gem_stream_ui.rb +25 -23
  704. data/test/rubygems/test_gem_stub_specification.rb +39 -56
  705. data/test/rubygems/test_gem_text.rb +8 -3
  706. data/test/rubygems/test_gem_uninstaller.rb +269 -100
  707. data/test/rubygems/test_gem_unsatisfiable_dependency_error.rb +3 -5
  708. data/test/rubygems/test_gem_update_suggestion.rb +208 -0
  709. data/test/rubygems/test_gem_uri.rb +39 -0
  710. data/test/rubygems/test_gem_uri_formatter.rb +14 -16
  711. data/test/rubygems/test_gem_util.rb +46 -34
  712. data/test/rubygems/test_gem_validator.rb +12 -15
  713. data/test/rubygems/test_gem_version.rb +50 -35
  714. data/test/rubygems/test_gem_version_option.rb +16 -18
  715. data/test/rubygems/test_kernel.rb +61 -61
  716. data/test/rubygems/test_project_sanity.rb +49 -0
  717. data/test/rubygems/test_remote_fetch_error.rb +8 -9
  718. data/test/rubygems/test_require.rb +415 -121
  719. data/test/rubygems/test_rubygems.rb +74 -0
  720. data/test/rubygems/test_webauthn_listener.rb +120 -0
  721. data/test/rubygems/test_webauthn_listener_response.rb +93 -0
  722. data/{lib/rubygems/test_utilities.rb → test/rubygems/utilities.rb} +115 -51
  723. data/test/rubygems/wrong_key_cert.pem +15 -15
  724. data/test/rubygems/wrong_key_cert_32.pem +15 -15
  725. data/test/test_changelog_generator.rb +17 -0
  726. metadata +225 -244
  727. data/.rubocop.yml +0 -66
  728. data/.travis.yml +0 -38
  729. data/History.txt +0 -3965
  730. data/Rakefile +0 -372
  731. data/appveyor.yml +0 -43
  732. data/bundler/CODE_OF_CONDUCT.md +0 -42
  733. data/bundler/CONTRIBUTING.md +0 -17
  734. data/bundler/exe/bundle_ruby +0 -60
  735. data/bundler/lib/bundler/cli/package.rb +0 -49
  736. data/bundler/lib/bundler/compatibility_guard.rb +0 -14
  737. data/bundler/lib/bundler/dep_proxy.rb +0 -48
  738. data/bundler/lib/bundler/gem_remote_fetcher.rb +0 -43
  739. data/bundler/lib/bundler/gemdeps.rb +0 -29
  740. data/bundler/lib/bundler/psyched_yaml.rb +0 -37
  741. data/bundler/lib/bundler/ssl_certs/certificate_manager.rb +0 -66
  742. data/bundler/lib/bundler/ssl_certs/rubygems.global.ssl.fastly.net/DigiCertHighAssuranceEVRootCA.pem +0 -23
  743. data/bundler/lib/bundler/ssl_certs/rubygems.org/AddTrustExternalCARoot.pem +0 -25
  744. data/bundler/lib/bundler/templates/gems.rb +0 -8
  745. data/bundler/lib/bundler/templates/newgem/ext/newgem/extconf.rb.tt +0 -3
  746. data/bundler/lib/bundler/templates/newgem/test/test_helper.rb.tt +0 -4
  747. data/bundler/lib/bundler/templates/newgem/travis.yml.tt +0 -7
  748. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/compatibility.rb +0 -26
  749. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/delegates/resolution_state.rb +0 -57
  750. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb +0 -81
  751. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/action.rb +0 -36
  752. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +0 -66
  753. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +0 -62
  754. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +0 -63
  755. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +0 -61
  756. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/log.rb +0 -126
  757. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/set_payload.rb +0 -46
  758. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb +0 -36
  759. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb +0 -136
  760. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +0 -223
  761. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +0 -143
  762. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb +0 -6
  763. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/modules/specification_provider.rb +0 -101
  764. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/modules/ui.rb +0 -67
  765. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb +0 -837
  766. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/resolver.rb +0 -46
  767. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/state.rb +0 -58
  768. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo.rb +0 -12
  769. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/faster.rb +0 -27
  770. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/ssl_reuse.rb +0 -129
  771. data/bundler/lib/bundler/vendor/thor/lib/thor/core_ext/io_binary_read.rb +0 -12
  772. data/bundler/lib/bundler/vendor/thor/lib/thor/core_ext/ordered_hash.rb +0 -129
  773. data/bundler/lib/bundler/version_ranges.rb +0 -76
  774. data/bundler/man/bundle-gem.1 +0 -80
  775. data/bundler/man/bundle-gem.ronn +0 -78
  776. data/bundler/man/bundle-package.1 +0 -55
  777. data/lib/rubygems/psych_additions.rb +0 -10
  778. data/lib/rubygems/server.rb +0 -878
  779. data/lib/rubygems/source_local.rb +0 -7
  780. data/lib/rubygems/source_specific_file.rb +0 -6
  781. data/lib/rubygems/ssl_certs/index.rubygems.org/GlobalSignRootCA.pem +0 -21
  782. data/lib/rubygems/ssl_certs/rubygems.global.ssl.fastly.net/DigiCertHighAssuranceEVRootCA.pem +0 -23
  783. data/lib/rubygems/ssl_certs/rubygems.org/AddTrustExternalCARoot.pem +0 -25
  784. data/lib/rubygems/syck_hack.rb +0 -77
  785. data/lib/ubygems.rb +0 -14
  786. data/test/rubygems/bogussources.rb +0 -9
  787. data/test/rubygems/data/null-type.gemspec.rz +0 -0
  788. data/test/rubygems/test_gem_server.rb +0 -607
  789. data/util/CL2notes +0 -55
  790. data/util/ci +0 -77
  791. data/util/create_certs.rb +0 -171
  792. data/util/create_encrypted_key.rb +0 -16
  793. data/util/generate_spdx_license_list.rb +0 -61
  794. data/util/patch_with_prs.rb +0 -77
  795. data/util/rubocop +0 -8
  796. data/util/update_bundled_ca_certificates.rb +0 -139
  797. data/util/update_changelog.rb +0 -67
  798. /data/bundler/lib/bundler/{ssl_certs → man}/.document +0 -0
  799. /data/bundler/{man/bundle-check.ronn → lib/bundler/man/bundle-check.1.ronn} +0 -0
  800. /data/bundler/{man/bundle-doctor.ronn → lib/bundler/man/bundle-doctor.1.ronn} +0 -0
  801. /data/bundler/{man/bundle-info.ronn → lib/bundler/man/bundle-info.1.ronn} +0 -0
  802. /data/bundler/{man/bundle-lock.ronn → lib/bundler/man/bundle-lock.1.ronn} +0 -0
  803. /data/bundler/{man/bundle-pristine.ronn → lib/bundler/man/bundle-pristine.1.ronn} +0 -0
  804. /data/bundler/{man/bundle-remove.ronn → lib/bundler/man/bundle-remove.1.ronn} +0 -0
  805. /data/bundler/{man/bundle-show.ronn → lib/bundler/man/bundle-show.1.ronn} +0 -0
  806. /data/{bundler/lib/bundler/ssl_certs/index.rubygems.org → lib/rubygems/ssl_certs/rubygems.org}/GlobalSignRootCA.pem +0 -0
data/Rakefile DELETED
@@ -1,372 +0,0 @@
1
- # -*- ruby -*-
2
-
3
- require 'rubygems'
4
- require 'rubygems/package_task'
5
- require "rake/testtask"
6
-
7
- begin
8
- require 'psych'
9
- rescue ::LoadError
10
- require 'yaml'
11
- end
12
-
13
- desc "Setup Rubygems dev environment"
14
- task :setup => ["bundler:checkout"] do
15
- gemspec = Gem::Specification.load(File.expand_path("../rubygems-update.gemspec", __FILE__))
16
-
17
- gemspec.dependencies.each do |dep|
18
- sh "gem install '#{dep.name}:#{dep.requirement.to_s}'"
19
- end
20
- end
21
-
22
- Rake::TestTask.new do |t|
23
- t.ruby_opts = %w[--disable-gems]
24
- t.ruby_opts << '-rdevkit' if Gem.win_platform?
25
-
26
- t.libs << "test"
27
- t.libs << "bundler/lib"
28
-
29
- t.test_files = FileList['test/**/test_*.rb']
30
- end
31
-
32
- task :default => :test
33
-
34
- spec = Gem::Specification.load('rubygems-update.gemspec')
35
- v = spec.version
36
-
37
- require 'rdoc/task'
38
-
39
- RDoc::Task.new :rdoc => 'docs', :clobber_rdoc => 'clobber_docs' do |doc|
40
- doc.main = 'README.md'
41
- doc.title = "RubyGems #{v} API Documentation"
42
-
43
- rdoc_files = Rake::FileList.new %w[lib bundler/lib]
44
- rdoc_files.add %w[History.txt LICENSE.txt MIT.txt CODE_OF_CONDUCT.md CONTRIBUTING.rdoc
45
- MAINTAINERS.txt Manifest.txt POLICIES.rdoc README.md UPGRADING.rdoc bundler/CHANGELOG.md
46
- bundler/CODE_OF_CONDUCT.md bundler/CONTRIBUTING.md bundler/LICENSE.md bundler/README.md
47
- hide_lib_for_update/note.txt].map(&:freeze)
48
-
49
- doc.rdoc_files = rdoc_files
50
-
51
- doc.rdoc_dir = 'doc'
52
- end
53
-
54
- desc "Install gems needed to run the tests"
55
- task :install_test_deps => :clean do
56
- sh "gem install minitest -v '~> 5.0'"
57
- end
58
-
59
- begin
60
- require "automatiek"
61
-
62
- Automatiek::RakeTask.new("molinillo") do |lib|
63
- lib.download = { :github => "https://github.com/CocoaPods/Molinillo" }
64
- lib.namespace = "Molinillo"
65
- lib.prefix = "Gem::Resolver"
66
- lib.vendor_lib = "lib/rubygems/resolver/molinillo"
67
- end
68
- rescue LoadError
69
- namespace :vendor do
70
- task(:molinillo) { abort "Install the automatiek gem to be able to vendor gems." }
71
- end
72
- end
73
-
74
- desc "Run rubocop"
75
- task(:rubocop) do
76
- sh "util/rubocop"
77
- end
78
-
79
- # --------------------------------------------------------------------
80
- # Creating a release
81
-
82
- task :prerelease => %w[clobber test bundler:build_metadata]
83
- task :postrelease => %w[bundler:build_metadata:clean upload guides:publish blog:publish]
84
-
85
- desc "Release rubygems-#{v}"
86
- task :release => :prerelease do
87
- Rake::Task["package"].invoke
88
- sh "gem push pkg/rubygems-update-#{v}.gem"
89
- end
90
- Rake::Task["release"].enhance(["postrelease"])
91
-
92
- Gem::PackageTask.new(spec) {}
93
-
94
- Rake::Task["package"].enhance ["pkg/rubygems-#{v}.tgz", "pkg/rubygems-#{v}.zip"]
95
-
96
- file "pkg/rubygems-#{v}" => "pkg/rubygems-update-#{v}" do |t|
97
- require 'find'
98
-
99
- dest_root = File.expand_path t.name
100
-
101
- cd t.source do
102
- Find.find '.' do |file|
103
- dest = File.expand_path file, dest_root
104
-
105
- if File.directory? file
106
- mkdir_p dest
107
- else
108
- rm_f dest
109
- safe_ln file, dest
110
- end
111
- end
112
- end
113
- end
114
-
115
- file "pkg/rubygems-#{v}.zip" => "pkg/rubygems-#{v}" do
116
- cd 'pkg' do
117
- sh "zip -q -r rubygems-#{v}.zip rubygems-#{v}"
118
- end
119
- end
120
-
121
- file "pkg/rubygems-#{v}.tgz" => "pkg/rubygems-#{v}" do
122
- cd 'pkg' do
123
- sh "tar -czf rubygems-#{v}.tgz rubygems-#{v}"
124
- end
125
- end
126
-
127
- desc "Upload release to S3"
128
- task :upload_to_s3 do
129
- sh "s3cmd put -P pkg/rubygems-#{v}.zip pkg/rubygems-#{v}.tgz s3://oregon.production.s3.rubygems.org/rubygems/"
130
- end
131
-
132
- desc "Upload release to rubygems.org"
133
- task :upload => %w[upload_to_s3]
134
-
135
- directory '../guides.rubygems.org' do
136
- sh 'git', 'clone',
137
- 'git@github.com:rubygems/guides.git',
138
- '../guides.rubygems.org'
139
- end
140
-
141
- namespace 'guides' do
142
- task 'pull' => %w[../guides.rubygems.org] do
143
- chdir '../guides.rubygems.org' do
144
- sh 'git', 'pull'
145
- end
146
- end
147
-
148
- task 'update' => %w[../guides.rubygems.org] do
149
- lib_dir = File.join Dir.pwd, 'lib'
150
-
151
- chdir '../guides.rubygems.org' do
152
- ruby '-I', lib_dir, '-S', 'rake', 'command_guide'
153
- ruby '-I', lib_dir, '-S', 'rake', 'spec_guide'
154
- end
155
- end
156
-
157
- task 'commit' => %w[../guides.rubygems.org] do
158
- chdir '../guides.rubygems.org' do
159
- begin
160
- sh 'git', 'diff', '--quiet'
161
- rescue
162
- sh 'git', 'commit', 'command-reference.md', 'specification-reference.md',
163
- '-m', "Rebuild for RubyGems #{v}"
164
- end
165
- end
166
- end
167
-
168
- task 'push' => %w[../guides.rubygems.org] do
169
- chdir '../guides.rubygems.org' do
170
- sh 'git', 'push'
171
- end
172
- end
173
-
174
- desc 'Updates and publishes the guides for the just-released RubyGems'
175
- task 'publish'
176
-
177
- on_master = `git branch --list master`.strip == '* master'
178
- on_master = true if ENV['FORCE']
179
-
180
- task 'publish' => %w[
181
- guides:pull
182
- guides:update
183
- guides:commit
184
- guides:push
185
- ] if on_master
186
- end
187
-
188
- directory '../blog.rubygems.org' do
189
- sh 'git', 'clone',
190
- 'git@github.com:rubygems/rubygems.github.com.git',
191
- '../blog.rubygems.org'
192
- end
193
-
194
- namespace 'blog' do
195
- date = Time.now.strftime '%Y-%m-%d'
196
- post_page = "_posts/#{date}-#{v}-released.md"
197
- checksums = ''
198
-
199
- task 'checksums' => 'package' do
200
- require 'digest'
201
- Dir['pkg/*{tgz,zip,gem}'].map do |file|
202
- digest = Digest::SHA256.new
203
-
204
- open file, 'rb' do |io|
205
- while chunk = io.read(65536) do
206
- digest.update chunk
207
- end
208
- end
209
-
210
- checksums << "* #{File.basename(file)} \n"
211
- checksums << " #{digest.hexdigest}\n"
212
- end
213
- end
214
-
215
- task 'pull' => %w[../blog.rubygems.org] do
216
- chdir '../blog.rubygems.org' do
217
- sh 'git', 'pull'
218
- end
219
- end
220
-
221
- path = File.join '../blog.rubygems.org', post_page
222
-
223
- task 'update' => [path]
224
-
225
- file path => 'checksums' do
226
- name = `git config --get user.name`.strip
227
- email = `git config --get user.email`.strip
228
-
229
- history = File.read 'History.txt'
230
-
231
- history.force_encoding Encoding::UTF_8
232
-
233
- _, change_log, = history.split %r%^===\s*\d.*%, 3
234
-
235
- change_types = []
236
-
237
- lines = change_log.strip.lines
238
- change_log = []
239
-
240
- while line = lines.shift do
241
- case line
242
- when /(^[A-Z].*)/ then
243
- change_types << $1
244
- change_log << "_#{$1}_\n"
245
- when /^\*/ then
246
- entry = [line.strip]
247
-
248
- while /^ \S/ =~ lines.first do
249
- entry << lines.shift.strip
250
- end
251
-
252
- change_log << "#{entry.join ' '}\n"
253
- else
254
- change_log << line
255
- end
256
- end
257
-
258
- change_log = change_log.join
259
-
260
- change_types = change_types.map do |change_type|
261
- change_type.downcase.tr '^a-z ', ''
262
- end
263
-
264
- last_change_type = change_types.pop
265
-
266
- if change_types.empty?
267
- change_types = ''
268
- else
269
- change_types = change_types.join(', ') << ' and '
270
- end
271
-
272
- change_types << last_change_type
273
-
274
- require 'tempfile'
275
-
276
- Tempfile.open 'blog_post' do |io|
277
- io.write <<-ANNOUNCEMENT
278
- ---
279
- title: #{v} Released
280
- layout: post
281
- author: #{name}
282
- author_email: #{email}
283
- ---
284
-
285
- RubyGems #{v} includes #{change_types}.
286
-
287
- To update to the latest RubyGems you can run:
288
-
289
- gem update --system
290
-
291
- If you need to upgrade or downgrade please follow the [how to upgrade/downgrade
292
- RubyGems][upgrading] instructions. To install RubyGems by hand see the
293
- [Download RubyGems][download] page.
294
-
295
- #{change_log}
296
-
297
- SHA256 Checksums:
298
-
299
- #{checksums}
300
-
301
- [download]: http://rubygems.org/pages/download
302
- [upgrading]: http://docs.seattlerb.org/rubygems/UPGRADING_rdoc.html
303
-
304
- ANNOUNCEMENT
305
-
306
- io.flush
307
-
308
- sh(ENV['EDITOR'] || 'vim', io.path)
309
-
310
- FileUtils.cp io.path, path
311
- end
312
- end
313
-
314
- task 'commit' => %w[../blog.rubygems.org] do
315
- chdir '../blog.rubygems.org' do
316
- sh 'git', 'add', post_page
317
- sh 'git', 'commit', post_page,
318
- '-m', "Added #{v} release announcement"
319
- end
320
- end
321
-
322
- task 'push' => %w[../blog.rubygems.org] do
323
- chdir '../blog.rubygems.org' do
324
- sh 'git', 'push'
325
- end
326
- end
327
-
328
- desc 'Updates and publishes the blog for the just-released RubyGems'
329
- task 'publish' => %w[
330
- blog:pull
331
- blog:update
332
- blog:commit
333
- blog:push
334
- ]
335
- end
336
-
337
- # Misc Tasks ---------------------------------------------------------
338
-
339
- desc "Cleanup trailing whitespace"
340
- task :whitespace do
341
- system 'find . -not \( -name .svn -prune -o -name .git -prune \) -type f -print0 | xargs -0 sed -i "" -E "s/[[:space:]]*$//"'
342
- end
343
-
344
- desc "Update the manifest to reflect what's on disk"
345
- task :update_manifest do
346
- files = []
347
- require 'find'
348
- exclude = %r[/\/tmp\/|\/pkg\/|CVS|\.DS_Store|\/doc\/|\/coverage\/|\.svn|\.git|TAGS|extconf.h|\.bundle$|\.o$|\.log$/|\./bundler/(?!lib|man|exe|[^/]+\.md|bundler.gemspec)]ox
349
- Find.find(".") do |path|
350
- next unless File.file?(path)
351
- next if path =~ exclude
352
- files << path[2..-1]
353
- end
354
- File.open('Manifest.txt', 'w') {|f| f.puts(files.sort) }
355
- end
356
-
357
- namespace :bundler do
358
- desc "Initialize bundler submodule"
359
- task :checkout do
360
- sh "git submodule update --init"
361
- end
362
-
363
- task :build_metadata do
364
- chdir('bundler') { sh "rake build_metadata" }
365
- end
366
-
367
- namespace :build_metadata do
368
- task :clean do
369
- chdir('bundler') { sh "rake build_metadata:clean" }
370
- end
371
- end
372
- end
data/appveyor.yml DELETED
@@ -1,43 +0,0 @@
1
- version: '{build}'
2
- branches:
3
- only:
4
- - master
5
- - auto
6
- - /[\d.]+/
7
- skip_tags: true
8
- clone_depth: 10
9
-
10
- environment:
11
- matrix:
12
- - ruby_version: 23-x64
13
- - ruby_version: 24-x64
14
- - ruby_version: 25-x64
15
- - ruby_version: _trunk
16
-
17
- init:
18
- - set PATH=C:/Ruby%ruby_version%/bin;C:/Program Files/7-Zip;C:/Program Files/AppVeyor/BuildAgent;C:/git/cmd;C:/Program Files (x86)/GNU/GnuPG/pub;C:/Windows/system32;C:\Windows;
19
- - mklink /j C:\git "C:\Program Files\Git"
20
- - set GIT=C:/git/cmd/git.exe
21
- - ps: >-
22
- if ($env:ruby_version -eq '_trunk') {
23
- $trunk_uri = 'https://ci.appveyor.com/api/projects/MSP-Greg/ruby-loco/artifacts/ruby_trunk.7z'
24
- (New-Object Net.WebClient).DownloadFile($trunk_uri, 'C:\ruby_trunk.7z')
25
- 7z.exe x C:\ruby_trunk.7z -oC:\Ruby_trunk
26
- }
27
-
28
- install:
29
- - git submodule update --init --recursive
30
- - gem install "rake:>=10.4.2" "minitest:>=5.4.3" --conservative --no-document
31
-
32
- test_script:
33
- - rake test
34
-
35
- on_finish:
36
- - ruby -v
37
-
38
- matrix:
39
- allow_failures:
40
- - ruby_version: _trunk
41
-
42
- build: off
43
- deploy: off
@@ -1,42 +0,0 @@
1
- # Bundler Code of Conduct
2
-
3
- The Bundler project strongly values contributors from anywhere, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, physical appearance, body size, race, ethnicity, age, religion, or nationality. As a result, the Bundler team has agreed to and enforces this code of conduct in order to provide a harassment-free experience for everyone who participates in the development of Bundler.
4
-
5
- ### Summary
6
-
7
- Harassment in code and discussion or violation of physical boundaries is completely unacceptable anywhere in the Bundler project’s codebases, issue trackers, chat rooms, mailing lists, meetups, and any other events. Violators will be warned and then blocked or banned by the core team at or before the 3rd violation.
8
-
9
- ### In detail
10
-
11
- Harassment includes offensive verbal comments related to level of experience, gender, gender identity and expression, sexual orientation, disability, physical appearance, body size, race, ethnicity, age, religion, nationality, the use of sexualized language or imagery, deliberate intimidation, stalking, sustained disruption, and unwelcome sexual attention.
12
-
13
- Individuals asked to stop any harassing behavior are expected to comply immediately.
14
-
15
- Maintainers, including the core team, are also subject to the anti-harassment policy.
16
-
17
- If anyone engages in abusive, harassing, or otherwise unacceptable behavior, including maintainers, we may take appropriate action, up to and including warning the offender, deletion of comments, removal from the project’s codebase and communication systems, and escalation to GitHub support.
18
-
19
- If you are being harassed, notice that someone else is being harassed, or have any other concerns, please contact a member of [the core team](http://bundler.io/contributors.html) or [email the core team](mailto:team@bundler.io) immediately.
20
-
21
- We expect everyone to follow these rules anywhere in the Bundler project’s codebases, issue trackers, IRC channel, group chat, and mailing lists.
22
-
23
- This code of conduct applies both within project spaces and in public spaces when an individual is representing the project or its community.
24
-
25
- Finally, don't forget that it is human to make mistakes! We all do. Let’s work together to help each other, resolve issues, and learn from the mistakes that we will all inevitably make from time to time.
26
-
27
-
28
- ### Thanks
29
-
30
- Thanks to the [JSConf Code of Conduct](http://jsconf.com/codeofconduct.html) and [Fedora Code of Conduct](http://fedoraproject.org/code-of-conduct) for inspiration and ideas. Additional thanks to [Contributor Covenant](http://contributor-covenant.org) for the [default code of conduct](https://github.com/bundler/bundler/blob/master/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt) included in generated gems.
31
-
32
-
33
- ### License
34
-
35
- <p class="license" xmlns:dct="http://purl.org/dc/terms/" xmlns:vcard="http://www.w3.org/2001/vcard-rdf/3.0#">
36
- To the extent possible under law, <a rel="dct:publisher" href="http://bundler.io">The Bundler Team</a> has waived all copyright and related or neighboring rights to the <span property="dct:title">Bundler Code of Conduct</span>. This work is published from the <span property="vcard:Country" datatype="dct:ISO3166" content="US" about="http://bundler.io">United States.</span>
37
- <br>
38
- <br>
39
- <a rel="license" href="http://creativecommons.org/publicdomain/zero/1.0/">
40
- <img src="http://i.creativecommons.org/p/zero/1.0/88x31.png" style="border-style: none;" alt="CC0">
41
- </a>
42
- </p>
@@ -1,17 +0,0 @@
1
- # Contributing to Bundler
2
-
3
- Welcome to Bundler! We are so happy that you're here. We know joining a new open source project can be daunting, so here's a quick overview of what you can expect from this documentation.
4
-
5
- Bundler welcomes contributions from *everyone*. While contributing, please follow the project [code of conduct](http://bundler.io/conduct.html), so that everyone can be included.
6
-
7
- ## Quick start
8
-
9
- Some guides you might find useful:
10
-
11
- * [Submitting pull requests](doc/development/PULL_REQUESTS.md)
12
- * [Filing an issue](doc/contributing/ISSUES.md)
13
- * [Bug triage](doc/contributing/BUG_TRIAGE.md)
14
-
15
- ## Comprehensive guides
16
-
17
- Not finding what you're looking for? More comprehensive guides are [available here](doc/README.md).
@@ -1,60 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # frozen_string_literal: true
3
-
4
- require "bundler/shared_helpers"
5
-
6
- Bundler::SharedHelpers.major_deprecation(2, "the bundle_ruby executable has been removed in favor of `bundle platform --ruby`")
7
-
8
- Signal.trap("INT") { exit 1 }
9
-
10
- require "bundler/errors"
11
- require "bundler/ruby_version"
12
- require "bundler/ruby_dsl"
13
-
14
- module Bundler
15
- class Dsl
16
- include RubyDsl
17
-
18
- attr_accessor :ruby_version
19
-
20
- def initialize
21
- @ruby_version = nil
22
- end
23
-
24
- def eval_gemfile(gemfile, contents = nil)
25
- contents ||= File.open(gemfile, "rb", &:read)
26
- instance_eval(contents, gemfile.to_s, 1)
27
- rescue SyntaxError => e
28
- bt = e.message.split("\n")[1..-1]
29
- raise GemfileError, ["Gemfile syntax error:", *bt].join("\n")
30
- rescue ScriptError, RegexpError, NameError, ArgumentError => e
31
- e.backtrace[0] = "#{e.backtrace[0]}: #{e.message} (#{e.class})"
32
- STDERR.puts e.backtrace.join("\n ")
33
- raise GemfileError, "There was an error in your Gemfile," \
34
- " and Bundler cannot continue."
35
- end
36
-
37
- def source(source, options = {})
38
- end
39
-
40
- def gem(name, *args)
41
- end
42
-
43
- def group(*args)
44
- end
45
- end
46
- end
47
-
48
- dsl = Bundler::Dsl.new
49
- begin
50
- dsl.eval_gemfile(Bundler::SharedHelpers.default_gemfile)
51
- ruby_version = dsl.ruby_version
52
- if ruby_version
53
- puts ruby_version
54
- else
55
- puts "No ruby version specified"
56
- end
57
- rescue Bundler::GemfileError => e
58
- puts e.message
59
- exit(-1)
60
- end
@@ -1,49 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Bundler
4
- class CLI::Package
5
- attr_reader :options
6
-
7
- def initialize(options)
8
- @options = options
9
- end
10
-
11
- def run
12
- Bundler.ui.level = "error" if options[:quiet]
13
- Bundler.settings.set_command_option_if_given :path, options[:path]
14
- Bundler.settings.set_command_option_if_given :cache_all_platforms, options["all-platforms"]
15
- Bundler.settings.set_command_option_if_given :cache_path, options["cache-path"]
16
-
17
- setup_cache_all
18
- install
19
-
20
- # TODO: move cache contents here now that all bundles are locked
21
- custom_path = Bundler.settings[:path] if options[:path]
22
- Bundler.load.cache(custom_path)
23
- end
24
-
25
- private
26
-
27
- def install
28
- require "bundler/cli/install"
29
- options = self.options.dup
30
- if Bundler.settings[:cache_all_platforms]
31
- options["local"] = false
32
- options["update"] = true
33
- end
34
- Bundler::CLI::Install.new(options).run
35
- end
36
-
37
- def setup_cache_all
38
- all = options.fetch(:all, Bundler.feature_flag.cache_command_is_package? || nil)
39
-
40
- Bundler.settings.set_command_option_if_given :cache_all, all
41
-
42
- if Bundler.definition.has_local_dependencies? && !Bundler.feature_flag.cache_all?
43
- Bundler.ui.warn "Your Gemfile contains path and git dependencies. If you want " \
44
- "to package them as well, please pass the --all flag. This will be the default " \
45
- "on Bundler 2.0."
46
- end
47
- end
48
- end
49
- end
@@ -1,14 +0,0 @@
1
- # frozen_string_literal: false
2
-
3
- require "rubygems"
4
- require "bundler/version"
5
-
6
- if Bundler::VERSION.split(".").first.to_i >= 2
7
- if Gem::Version.new(Object::RUBY_VERSION.dup) < Gem::Version.new("2.3")
8
- abort "Bundler 2 requires Ruby 2.3 or later. Either install bundler 1 or update to a supported Ruby version."
9
- end
10
-
11
- if Gem::Version.new(Gem::VERSION.dup) < Gem::Version.new("2.5")
12
- abort "Bundler 2 requires RubyGems 2.5 or later. Either install bundler 1 or update to a supported RubyGems version."
13
- end
14
- end
@@ -1,48 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Bundler
4
- class DepProxy
5
- attr_reader :__platform, :dep
6
-
7
- def initialize(dep, platform)
8
- @dep = dep
9
- @__platform = platform
10
- end
11
-
12
- def hash
13
- @hash ||= [dep, __platform].hash
14
- end
15
-
16
- def ==(other)
17
- return false if other.class != self.class
18
- dep == other.dep && __platform == other.__platform
19
- end
20
-
21
- alias_method :eql?, :==
22
-
23
- def type
24
- @dep.type
25
- end
26
-
27
- def name
28
- @dep.name
29
- end
30
-
31
- def requirement
32
- @dep.requirement
33
- end
34
-
35
- def to_s
36
- s = name.dup
37
- s << " (#{requirement})" unless requirement == Gem::Requirement.default
38
- s << " #{__platform}" unless __platform == Gem::Platform::RUBY
39
- s
40
- end
41
-
42
- private
43
-
44
- def method_missing(*args, &blk)
45
- @dep.send(*args, &blk)
46
- end
47
- end
48
- end
@@ -1,43 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "rubygems/remote_fetcher"
4
-
5
- module Bundler
6
- # Adds support for setting custom HTTP headers when fetching gems from the
7
- # server.
8
- #
9
- # TODO: Get rid of this when and if gemstash only supports RubyGems versions
10
- # that contain https://github.com/rubygems/rubygems/commit/3db265cc20b2f813.
11
- class GemRemoteFetcher < Gem::RemoteFetcher
12
- attr_accessor :headers
13
-
14
- # Extracted from RubyGems 2.4.
15
- def fetch_http(uri, last_modified = nil, head = false, depth = 0)
16
- fetch_type = head ? Net::HTTP::Head : Net::HTTP::Get
17
- # beginning of change
18
- response = request uri, fetch_type, last_modified do |req|
19
- headers.each {|k, v| req.add_field(k, v) } if headers
20
- end
21
- # end of change
22
-
23
- case response
24
- when Net::HTTPOK, Net::HTTPNotModified then
25
- response.uri = uri if response.respond_to? :uri
26
- head ? response : response.body
27
- when Net::HTTPMovedPermanently, Net::HTTPFound, Net::HTTPSeeOther,
28
- Net::HTTPTemporaryRedirect then
29
- raise FetchError.new("too many redirects", uri) if depth > 10
30
-
31
- location = URI.parse response["Location"]
32
-
33
- if https?(uri) && !https?(location)
34
- raise FetchError.new("redirecting to non-https resource: #{location}", uri)
35
- end
36
-
37
- fetch_http(location, last_modified, head, depth + 1)
38
- else
39
- raise FetchError.new("bad response #{response.message} #{response.code}", uri)
40
- end
41
- end
42
- end
43
- end