rubygems-update 3.1.6 → 3.3.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (703) hide show
  1. checksums.yaml +4 -4
  2. data/{History.txt → CHANGELOG.md} +1452 -514
  3. data/CODE_OF_CONDUCT.md +55 -19
  4. data/CONTRIBUTING.md +74 -27
  5. data/Manifest.txt +154 -117
  6. data/POLICIES.md +27 -19
  7. data/README.md +10 -8
  8. data/UPGRADING.md +5 -81
  9. data/bin/gem +3 -8
  10. data/bin/update_rubygems +5 -5
  11. data/bundler/CHANGELOG.md +2358 -1430
  12. data/bundler/README.md +7 -9
  13. data/bundler/UPGRADING.md +27 -34
  14. data/bundler/bundler.gemspec +8 -11
  15. data/bundler/exe/bundle +10 -8
  16. data/bundler/exe/bundler +1 -1
  17. data/bundler/lib/bundler/.document +1 -0
  18. data/bundler/lib/bundler/build_metadata.rb +4 -12
  19. data/bundler/lib/bundler/cli/add.rb +1 -1
  20. data/bundler/lib/bundler/cli/binstubs.rb +6 -2
  21. data/bundler/lib/bundler/cli/cache.rb +3 -8
  22. data/bundler/lib/bundler/cli/check.rb +4 -2
  23. data/bundler/lib/bundler/cli/clean.rb +1 -1
  24. data/bundler/lib/bundler/cli/common.rb +31 -3
  25. data/bundler/lib/bundler/cli/config.rb +10 -1
  26. data/bundler/lib/bundler/cli/console.rb +1 -1
  27. data/bundler/lib/bundler/cli/doctor.rb +25 -6
  28. data/bundler/lib/bundler/cli/exec.rb +5 -10
  29. data/bundler/lib/bundler/cli/fund.rb +36 -0
  30. data/bundler/lib/bundler/cli/gem.rb +219 -28
  31. data/bundler/lib/bundler/cli/info.rb +38 -6
  32. data/bundler/lib/bundler/cli/init.rb +3 -3
  33. data/bundler/lib/bundler/cli/inject.rb +1 -1
  34. data/bundler/lib/bundler/cli/install.rb +25 -54
  35. data/bundler/lib/bundler/cli/issue.rb +5 -4
  36. data/bundler/lib/bundler/cli/list.rb +19 -11
  37. data/bundler/lib/bundler/cli/lock.rb +5 -1
  38. data/bundler/lib/bundler/cli/open.rb +1 -2
  39. data/bundler/lib/bundler/cli/outdated.rb +105 -76
  40. data/bundler/lib/bundler/cli/platform.rb +2 -2
  41. data/bundler/lib/bundler/cli/plugin.rb +10 -0
  42. data/bundler/lib/bundler/cli/pristine.rb +5 -0
  43. data/bundler/lib/bundler/cli/remove.rb +1 -2
  44. data/bundler/lib/bundler/cli/show.rb +2 -2
  45. data/bundler/lib/bundler/cli/update.rb +20 -9
  46. data/bundler/lib/bundler/cli.rb +106 -83
  47. data/bundler/lib/bundler/compact_index_client/cache.rb +6 -23
  48. data/bundler/lib/bundler/compact_index_client/gem_parser.rb +28 -0
  49. data/bundler/lib/bundler/compact_index_client/updater.rb +29 -25
  50. data/bundler/lib/bundler/compact_index_client.rb +3 -9
  51. data/bundler/lib/bundler/current_ruby.rb +17 -6
  52. data/bundler/lib/bundler/definition.rb +297 -396
  53. data/bundler/lib/bundler/dep_proxy.rb +16 -9
  54. data/bundler/lib/bundler/dependency.rb +22 -77
  55. data/bundler/lib/bundler/digest.rb +71 -0
  56. data/bundler/lib/bundler/dsl.rb +76 -83
  57. data/bundler/lib/bundler/endpoint_specification.rb +16 -14
  58. data/bundler/lib/bundler/env.rb +2 -2
  59. data/bundler/lib/bundler/environment_preserver.rb +29 -2
  60. data/bundler/lib/bundler/errors.rb +30 -3
  61. data/bundler/lib/bundler/feature_flag.rb +0 -9
  62. data/bundler/lib/bundler/fetcher/base.rb +7 -9
  63. data/bundler/lib/bundler/fetcher/compact_index.rb +11 -16
  64. data/bundler/lib/bundler/fetcher/downloader.rb +10 -7
  65. data/bundler/lib/bundler/fetcher/index.rb +2 -30
  66. data/bundler/lib/bundler/fetcher.rb +24 -25
  67. data/bundler/lib/bundler/friendly_errors.rb +46 -47
  68. data/bundler/lib/bundler/gem_helper.rb +53 -31
  69. data/bundler/lib/bundler/gem_helpers.rb +43 -24
  70. data/bundler/lib/bundler/gem_version_promoter.rb +10 -20
  71. data/bundler/lib/bundler/graph.rb +1 -1
  72. data/bundler/lib/bundler/index.rb +19 -25
  73. data/bundler/lib/bundler/injector.rb +38 -6
  74. data/bundler/lib/bundler/inline.rb +4 -13
  75. data/bundler/lib/bundler/installer/gem_installer.rb +19 -24
  76. data/bundler/lib/bundler/installer/parallel_installer.rb +46 -25
  77. data/bundler/lib/bundler/installer/standalone.rb +58 -11
  78. data/bundler/lib/bundler/installer.rb +51 -81
  79. data/bundler/lib/bundler/lazy_specification.rb +79 -36
  80. data/bundler/lib/bundler/lockfile_generator.rb +3 -3
  81. data/bundler/lib/bundler/lockfile_parser.rb +19 -44
  82. data/bundler/lib/bundler/man/.document +1 -0
  83. data/bundler/{man → lib/bundler/man}/bundle-add.1 +21 -5
  84. data/bundler/{man/bundle-add.ronn → lib/bundler/man/bundle-add.1.ronn} +16 -4
  85. data/bundler/{man → lib/bundler/man}/bundle-binstubs.1 +5 -3
  86. data/bundler/{man/bundle-binstubs.ronn → lib/bundler/man/bundle-binstubs.1.ronn} +2 -4
  87. data/bundler/{man → lib/bundler/man}/bundle-cache.1 +7 -1
  88. data/bundler/{man/bundle-cache.ronn → lib/bundler/man/bundle-cache.1.ronn} +7 -0
  89. data/bundler/{man → lib/bundler/man}/bundle-check.1 +1 -1
  90. data/bundler/{man → lib/bundler/man}/bundle-clean.1 +1 -1
  91. data/bundler/{man → lib/bundler/man}/bundle-config.1 +65 -47
  92. data/bundler/{man/bundle-config.ronn → lib/bundler/man/bundle-config.1.ronn} +74 -65
  93. data/bundler/lib/bundler/man/bundle-console.1 +53 -0
  94. data/bundler/lib/bundler/man/bundle-console.1.ronn +44 -0
  95. data/bundler/{man → lib/bundler/man}/bundle-doctor.1 +1 -1
  96. data/bundler/{man → lib/bundler/man}/bundle-exec.1 +2 -2
  97. data/bundler/{man/bundle-exec.ronn → lib/bundler/man/bundle-exec.1.ronn} +1 -1
  98. data/bundler/{man → lib/bundler/man}/bundle-gem.1 +38 -3
  99. data/bundler/{man/bundle-gem.ronn → lib/bundler/man/bundle-gem.1.ronn} +46 -7
  100. data/bundler/lib/bundler/man/bundle-help.1 +13 -0
  101. data/bundler/lib/bundler/man/bundle-help.1.ronn +12 -0
  102. data/bundler/{man → lib/bundler/man}/bundle-info.1 +1 -1
  103. data/bundler/{man → lib/bundler/man}/bundle-init.1 +1 -1
  104. data/bundler/{man → lib/bundler/man}/bundle-inject.1 +5 -2
  105. data/bundler/{man/bundle-inject.ronn → lib/bundler/man/bundle-inject.1.ronn} +3 -1
  106. data/bundler/{man → lib/bundler/man}/bundle-install.1 +35 -4
  107. data/bundler/{man/bundle-install.ronn → lib/bundler/man/bundle-install.1.ronn} +33 -5
  108. data/bundler/{man → lib/bundler/man}/bundle-list.1 +7 -7
  109. data/bundler/{man/bundle-list.ronn → lib/bundler/man/bundle-list.1.ronn} +6 -6
  110. data/bundler/{man → lib/bundler/man}/bundle-lock.1 +1 -1
  111. data/bundler/{man → lib/bundler/man}/bundle-open.1 +1 -1
  112. data/bundler/{man → lib/bundler/man}/bundle-outdated.1 +3 -10
  113. data/bundler/{man/bundle-outdated.ronn → lib/bundler/man/bundle-outdated.1.ronn} +1 -10
  114. data/bundler/{man → lib/bundler/man}/bundle-platform.1 +16 -6
  115. data/bundler/{man/bundle-platform.ronn → lib/bundler/man/bundle-platform.1.ronn} +14 -7
  116. data/bundler/lib/bundler/man/bundle-plugin.1 +81 -0
  117. data/bundler/lib/bundler/man/bundle-plugin.1.ronn +59 -0
  118. data/bundler/{man → lib/bundler/man}/bundle-pristine.1 +1 -1
  119. data/bundler/{man → lib/bundler/man}/bundle-remove.1 +1 -1
  120. data/bundler/{man → lib/bundler/man}/bundle-show.1 +1 -1
  121. data/bundler/{man → lib/bundler/man}/bundle-update.1 +5 -5
  122. data/bundler/{man/bundle-update.ronn → lib/bundler/man/bundle-update.1.ronn} +5 -4
  123. data/bundler/lib/bundler/man/bundle-version.1 +35 -0
  124. data/bundler/lib/bundler/man/bundle-version.1.ronn +24 -0
  125. data/bundler/{man → lib/bundler/man}/bundle-viz.1 +4 -1
  126. data/bundler/{man/bundle-viz.ronn → lib/bundler/man/bundle-viz.1.ronn} +2 -0
  127. data/bundler/{man → lib/bundler/man}/bundle.1 +15 -10
  128. data/bundler/{man/bundle.ronn → lib/bundler/man/bundle.1.ronn} +12 -7
  129. data/bundler/{man → lib/bundler/man}/gemfile.5 +106 -80
  130. data/bundler/{man → lib/bundler/man}/gemfile.5.ronn +94 -83
  131. data/bundler/{man → lib/bundler/man}/index.txt +4 -0
  132. data/bundler/lib/bundler/match_metadata.rb +13 -0
  133. data/bundler/lib/bundler/match_platform.rb +0 -1
  134. data/bundler/lib/bundler/match_remote_metadata.rb +29 -0
  135. data/bundler/lib/bundler/mirror.rb +2 -2
  136. data/bundler/lib/bundler/plugin/api/source.rb +25 -9
  137. data/bundler/lib/bundler/plugin/dsl.rb +1 -1
  138. data/bundler/lib/bundler/plugin/index.rb +13 -1
  139. data/bundler/lib/bundler/plugin/installer/git.rb +0 -4
  140. data/bundler/lib/bundler/plugin/installer/rubygems.rb +1 -5
  141. data/bundler/lib/bundler/plugin/installer.rb +11 -11
  142. data/bundler/lib/bundler/plugin/source_list.rb +5 -1
  143. data/bundler/lib/bundler/plugin.rb +58 -11
  144. data/bundler/lib/bundler/process_lock.rb +1 -1
  145. data/bundler/lib/bundler/remote_specification.rb +11 -6
  146. data/bundler/lib/bundler/resolver/base.rb +50 -0
  147. data/bundler/lib/bundler/resolver/spec_group.rb +64 -57
  148. data/bundler/lib/bundler/resolver.rb +234 -230
  149. data/bundler/lib/bundler/retry.rb +2 -2
  150. data/bundler/lib/bundler/ruby_dsl.rb +1 -1
  151. data/bundler/lib/bundler/ruby_version.rb +6 -19
  152. data/bundler/lib/bundler/rubygems_ext.rb +194 -33
  153. data/bundler/lib/bundler/rubygems_gem_installer.rb +87 -16
  154. data/bundler/lib/bundler/rubygems_integration.rb +71 -153
  155. data/bundler/lib/bundler/runtime.rb +22 -26
  156. data/bundler/lib/bundler/self_manager.rb +168 -0
  157. data/bundler/lib/bundler/settings.rb +145 -66
  158. data/bundler/lib/bundler/setup.rb +2 -2
  159. data/bundler/lib/bundler/shared_helpers.rb +17 -32
  160. data/bundler/lib/bundler/similarity_detector.rb +1 -1
  161. data/bundler/lib/bundler/source/git/git_proxy.rb +88 -84
  162. data/bundler/lib/bundler/source/git.rb +50 -32
  163. data/bundler/lib/bundler/source/metadata.rb +3 -7
  164. data/bundler/lib/bundler/source/path/installer.rb +10 -10
  165. data/bundler/lib/bundler/source/path.rb +10 -4
  166. data/bundler/lib/bundler/source/rubygems/remote.rb +1 -1
  167. data/bundler/lib/bundler/source/rubygems.rb +201 -179
  168. data/bundler/lib/bundler/source/rubygems_aggregate.rb +68 -0
  169. data/bundler/lib/bundler/source.rb +25 -5
  170. data/bundler/lib/bundler/source_list.rb +105 -63
  171. data/bundler/lib/bundler/source_map.rb +71 -0
  172. data/bundler/lib/bundler/spec_set.rb +62 -57
  173. data/bundler/lib/bundler/stub_specification.rb +30 -10
  174. data/bundler/lib/bundler/templates/Executable +2 -4
  175. data/bundler/lib/bundler/templates/Executable.bundler +8 -8
  176. data/bundler/lib/bundler/templates/Executable.standalone +2 -4
  177. data/bundler/lib/bundler/templates/Gemfile +0 -2
  178. data/bundler/lib/bundler/templates/gems.rb +0 -3
  179. data/bundler/lib/bundler/templates/newgem/CHANGELOG.md.tt +5 -0
  180. data/bundler/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt +57 -47
  181. data/bundler/lib/bundler/templates/newgem/Gemfile.tt +12 -1
  182. data/bundler/lib/bundler/templates/newgem/README.md.tt +9 -14
  183. data/bundler/lib/bundler/templates/newgem/Rakefile.tt +32 -5
  184. data/bundler/lib/bundler/templates/newgem/bin/console.tt +1 -0
  185. data/bundler/lib/bundler/templates/newgem/circleci/config.yml.tt +13 -0
  186. data/bundler/lib/bundler/templates/newgem/ext/newgem/extconf.rb.tt +2 -0
  187. data/bundler/lib/bundler/templates/newgem/github/workflows/main.yml.tt +27 -0
  188. data/bundler/lib/bundler/templates/newgem/gitlab-ci.yml.tt +9 -0
  189. data/bundler/lib/bundler/templates/newgem/lib/newgem/version.rb.tt +2 -0
  190. data/bundler/lib/bundler/templates/newgem/lib/newgem.rb.tt +4 -2
  191. data/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt +27 -17
  192. data/bundler/lib/bundler/templates/newgem/rubocop.yml.tt +13 -0
  193. data/bundler/lib/bundler/templates/newgem/sig/newgem.rbs.tt +8 -0
  194. data/bundler/lib/bundler/templates/newgem/spec/newgem_spec.rb.tt +2 -0
  195. data/bundler/lib/bundler/templates/newgem/spec/spec_helper.rb.tt +2 -1
  196. data/bundler/lib/bundler/templates/newgem/standard.yml.tt +3 -0
  197. data/bundler/lib/bundler/templates/newgem/test/{test_helper.rb.tt → minitest/test_helper.rb.tt} +2 -0
  198. data/bundler/lib/bundler/templates/newgem/test/{newgem_test.rb.tt → minitest/test_newgem.rb.tt} +3 -1
  199. data/bundler/lib/bundler/templates/newgem/test/test-unit/newgem_test.rb.tt +15 -0
  200. data/bundler/lib/bundler/templates/newgem/test/test-unit/test_helper.rb.tt +6 -0
  201. data/bundler/lib/bundler/ui/shell.rb +6 -6
  202. data/bundler/lib/bundler/uri_credentials_filter.rb +3 -1
  203. data/bundler/lib/bundler/vendor/.document +1 -0
  204. data/bundler/lib/bundler/vendor/connection_pool/LICENSE +20 -0
  205. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.rb +19 -21
  206. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/version.rb +1 -1
  207. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/wrapper.rb +57 -0
  208. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool.rb +39 -74
  209. data/bundler/lib/bundler/vendor/fileutils/LICENSE.txt +22 -0
  210. data/bundler/lib/bundler/vendor/molinillo/LICENSE +9 -0
  211. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb +7 -0
  212. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb +2 -2
  213. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb +11 -5
  214. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +37 -5
  215. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +34 -28
  216. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb +1 -1
  217. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/modules/specification_provider.rb +12 -1
  218. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb +49 -47
  219. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo.rb +0 -1
  220. data/bundler/lib/bundler/vendor/net-http-persistent/README.rdoc +82 -0
  221. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +82 -189
  222. data/bundler/lib/bundler/vendor/thor/LICENSE.md +20 -0
  223. data/bundler/lib/bundler/vendor/thor/lib/thor/actions/create_link.rb +2 -1
  224. data/bundler/lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb +9 -7
  225. data/bundler/lib/bundler/vendor/thor/lib/thor/actions/inject_into_file.rb +1 -2
  226. data/bundler/lib/bundler/vendor/thor/lib/thor/actions.rb +7 -3
  227. data/bundler/lib/bundler/vendor/thor/lib/thor/base.rb +9 -0
  228. data/bundler/lib/bundler/vendor/thor/lib/thor/core_ext/hash_with_indifferent_access.rb +6 -0
  229. data/bundler/lib/bundler/vendor/thor/lib/thor/error.rb +10 -5
  230. data/bundler/lib/bundler/vendor/thor/lib/thor/parser/arguments.rb +5 -1
  231. data/bundler/lib/bundler/vendor/thor/lib/thor/parser/options.rb +28 -9
  232. data/bundler/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +27 -6
  233. data/bundler/lib/bundler/vendor/thor/lib/thor/shell/color.rb +5 -1
  234. data/bundler/lib/bundler/vendor/thor/lib/thor/shell.rb +1 -1
  235. data/bundler/lib/bundler/vendor/thor/lib/thor/util.rb +1 -1
  236. data/bundler/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
  237. data/bundler/lib/bundler/vendor/thor/lib/thor.rb +5 -13
  238. data/bundler/lib/bundler/vendor/tmpdir/lib/tmpdir.rb +154 -0
  239. data/bundler/lib/bundler/vendor/tsort/LICENSE.txt +22 -0
  240. data/bundler/lib/bundler/vendor/tsort/lib/tsort.rb +452 -0
  241. data/bundler/lib/bundler/vendor/uri/LICENSE.txt +22 -0
  242. data/bundler/lib/bundler/vendor/uri/lib/uri/common.rb +17 -80
  243. data/bundler/lib/bundler/vendor/uri/lib/uri/ftp.rb +0 -1
  244. data/bundler/lib/bundler/vendor/uri/lib/uri/generic.rb +5 -6
  245. data/bundler/lib/bundler/vendor/uri/lib/uri/http.rb +0 -1
  246. data/bundler/lib/bundler/vendor/uri/lib/uri/https.rb +0 -1
  247. data/bundler/lib/bundler/vendor/uri/lib/uri/ldap.rb +1 -1
  248. data/bundler/lib/bundler/vendor/uri/lib/uri/mailto.rb +0 -1
  249. data/bundler/lib/bundler/vendor/uri/lib/uri/rfc2396_parser.rb +1 -14
  250. data/bundler/lib/bundler/vendor/uri/lib/uri/rfc3986_parser.rb +1 -12
  251. data/bundler/lib/bundler/vendor/uri/lib/uri/version.rb +1 -1
  252. data/bundler/lib/bundler/vendor/uri/lib/uri/ws.rb +84 -0
  253. data/bundler/lib/bundler/vendor/uri/lib/uri/wss.rb +22 -0
  254. data/bundler/lib/bundler/vendor/uri/lib/uri.rb +0 -1
  255. data/bundler/lib/bundler/vendored_persistent.rb +0 -7
  256. data/bundler/lib/bundler/vendored_tmpdir.rb +4 -0
  257. data/bundler/lib/bundler/vendored_tsort.rb +4 -0
  258. data/bundler/lib/bundler/version.rb +1 -1
  259. data/bundler/lib/bundler/worker.rb +20 -5
  260. data/bundler/lib/bundler/yaml_serializer.rb +1 -1
  261. data/bundler/lib/bundler.rb +79 -47
  262. data/hide_lib_for_update/note.txt +0 -4
  263. data/lib/rubygems/available_set.rb +7 -9
  264. data/lib/rubygems/basic_specification.rb +23 -21
  265. data/lib/rubygems/bundler_version_finder.rb +26 -53
  266. data/lib/rubygems/command.rb +48 -45
  267. data/lib/rubygems/command_manager.rb +20 -14
  268. data/lib/rubygems/commands/build_command.rb +47 -27
  269. data/lib/rubygems/commands/cert_command.rb +78 -75
  270. data/lib/rubygems/commands/check_command.rb +20 -22
  271. data/lib/rubygems/commands/cleanup_command.rb +30 -26
  272. data/lib/rubygems/commands/contents_command.rb +16 -18
  273. data/lib/rubygems/commands/dependency_command.rb +39 -51
  274. data/lib/rubygems/commands/environment_command.rb +11 -10
  275. data/lib/rubygems/commands/fetch_command.rb +33 -16
  276. data/lib/rubygems/commands/generate_index_command.rb +17 -19
  277. data/lib/rubygems/commands/help_command.rb +6 -6
  278. data/lib/rubygems/commands/info_command.rb +10 -7
  279. data/lib/rubygems/commands/install_command.rb +29 -27
  280. data/lib/rubygems/commands/list_command.rb +9 -8
  281. data/lib/rubygems/commands/lock_command.rb +5 -7
  282. data/lib/rubygems/commands/mirror_command.rb +3 -5
  283. data/lib/rubygems/commands/open_command.rb +10 -14
  284. data/lib/rubygems/commands/outdated_command.rb +5 -7
  285. data/lib/rubygems/commands/owner_command.rb +26 -16
  286. data/lib/rubygems/commands/pristine_command.rb +61 -49
  287. data/lib/rubygems/commands/push_command.rb +22 -59
  288. data/lib/rubygems/commands/query_command.rb +21 -351
  289. data/lib/rubygems/commands/rdoc_command.rb +23 -25
  290. data/lib/rubygems/commands/search_command.rb +8 -8
  291. data/lib/rubygems/commands/server_command.rb +16 -77
  292. data/lib/rubygems/commands/setup_command.rb +255 -229
  293. data/lib/rubygems/commands/signin_command.rb +9 -11
  294. data/lib/rubygems/commands/signout_command.rb +7 -9
  295. data/lib/rubygems/commands/sources_command.rb +27 -25
  296. data/lib/rubygems/commands/specification_command.rb +25 -21
  297. data/lib/rubygems/commands/stale_command.rb +3 -5
  298. data/lib/rubygems/commands/uninstall_command.rb +41 -43
  299. data/lib/rubygems/commands/unpack_command.rb +13 -15
  300. data/lib/rubygems/commands/update_command.rb +132 -74
  301. data/lib/rubygems/commands/which_command.rb +7 -9
  302. data/lib/rubygems/commands/yank_command.rb +16 -19
  303. data/lib/rubygems/compatibility.rb +4 -2
  304. data/lib/rubygems/config_file.rb +42 -26
  305. data/lib/rubygems/core_ext/kernel_gem.rb +1 -1
  306. data/lib/rubygems/core_ext/kernel_require.rb +6 -3
  307. data/lib/rubygems/core_ext/kernel_warn.rb +12 -13
  308. data/lib/rubygems/core_ext/tcpsocket_init.rb +52 -0
  309. data/lib/rubygems/defaults.rb +108 -32
  310. data/lib/rubygems/dependency.rb +21 -22
  311. data/lib/rubygems/dependency_installer.rb +19 -91
  312. data/lib/rubygems/dependency_list.rb +13 -15
  313. data/lib/rubygems/deprecate.rb +102 -8
  314. data/lib/rubygems/doctor.rb +22 -22
  315. data/lib/rubygems/errors.rb +6 -21
  316. data/lib/rubygems/exceptions.rb +33 -34
  317. data/lib/rubygems/ext/build_error.rb +2 -0
  318. data/lib/rubygems/ext/builder.rb +48 -54
  319. data/lib/rubygems/ext/cargo_builder/link_flag_converter.rb +23 -0
  320. data/lib/rubygems/ext/cargo_builder.rb +321 -0
  321. data/lib/rubygems/ext/cmake_builder.rb +6 -9
  322. data/lib/rubygems/ext/configure_builder.rb +5 -8
  323. data/lib/rubygems/ext/ext_conf_builder.rb +42 -66
  324. data/lib/rubygems/ext/rake_builder.rb +7 -10
  325. data/lib/rubygems/ext.rb +7 -6
  326. data/lib/rubygems/gem_runner.rb +15 -26
  327. data/lib/rubygems/gemcutter_utilities.rb +153 -32
  328. data/lib/rubygems/indexer.rb +30 -49
  329. data/lib/rubygems/install_default_message.rb +2 -2
  330. data/lib/rubygems/install_message.rb +2 -2
  331. data/lib/rubygems/install_update_options.rb +73 -64
  332. data/lib/rubygems/installer.rb +194 -151
  333. data/lib/rubygems/installer_uninstaller_utils.rb +29 -0
  334. data/lib/rubygems/local_remote_options.rb +22 -24
  335. data/lib/rubygems/mock_gem_ui.rb +2 -8
  336. data/lib/rubygems/name_tuple.rb +9 -14
  337. data/lib/rubygems/openssl.rb +7 -0
  338. data/lib/rubygems/optparse/.document +1 -0
  339. data/lib/rubygems/optparse/COPYING +56 -0
  340. data/lib/rubygems/optparse/lib/optionparser.rb +2 -0
  341. data/lib/rubygems/optparse/lib/optparse/ac.rb +54 -0
  342. data/lib/rubygems/optparse/lib/optparse/date.rb +18 -0
  343. data/lib/rubygems/optparse/lib/optparse/kwargs.rb +22 -0
  344. data/lib/rubygems/optparse/lib/optparse/shellwords.rb +7 -0
  345. data/lib/rubygems/optparse/lib/optparse/time.rb +11 -0
  346. data/lib/rubygems/optparse/lib/optparse/uri.rb +7 -0
  347. data/lib/rubygems/optparse/lib/optparse/version.rb +71 -0
  348. data/lib/rubygems/optparse/lib/optparse.rb +2303 -0
  349. data/lib/rubygems/optparse.rb +3 -0
  350. data/lib/rubygems/package/digest_io.rb +0 -2
  351. data/lib/rubygems/package/file_source.rb +2 -4
  352. data/lib/rubygems/package/io_source.rb +4 -2
  353. data/lib/rubygems/package/old.rb +9 -11
  354. data/lib/rubygems/package/tar_header.rb +54 -56
  355. data/lib/rubygems/package/tar_reader/entry.rb +2 -5
  356. data/lib/rubygems/package/tar_reader.rb +1 -4
  357. data/lib/rubygems/package/tar_writer.rb +8 -18
  358. data/lib/rubygems/package.rb +101 -117
  359. data/lib/rubygems/package_task.rb +5 -11
  360. data/lib/rubygems/path_support.rb +2 -9
  361. data/lib/rubygems/platform.rb +101 -76
  362. data/lib/rubygems/psych_tree.rb +1 -3
  363. data/lib/rubygems/query_utils.rb +351 -0
  364. data/lib/rubygems/rdoc.rb +2 -14
  365. data/lib/rubygems/remote_fetcher.rb +48 -74
  366. data/lib/rubygems/request/connection_pools.rb +6 -10
  367. data/lib/rubygems/request/http_pool.rb +2 -4
  368. data/lib/rubygems/request/https_pool.rb +0 -2
  369. data/lib/rubygems/request.rb +26 -31
  370. data/lib/rubygems/request_set/gem_dependency_api.rb +23 -25
  371. data/lib/rubygems/request_set/lockfile/parser.rb +26 -28
  372. data/lib/rubygems/request_set/lockfile/tokenizer.rb +5 -7
  373. data/lib/rubygems/request_set/lockfile.rb +17 -21
  374. data/lib/rubygems/request_set.rb +27 -40
  375. data/lib/rubygems/requirement.rb +28 -48
  376. data/lib/rubygems/resolver/activation_request.rb +12 -6
  377. data/lib/rubygems/resolver/api_set/gem_parser.rb +20 -0
  378. data/lib/rubygems/resolver/api_set.rb +32 -25
  379. data/lib/rubygems/resolver/api_specification.rb +29 -15
  380. data/lib/rubygems/resolver/best_set.rb +7 -9
  381. data/lib/rubygems/resolver/composed_set.rb +3 -5
  382. data/lib/rubygems/resolver/conflict.rb +12 -14
  383. data/lib/rubygems/resolver/current_set.rb +0 -2
  384. data/lib/rubygems/resolver/dependency_request.rb +3 -5
  385. data/lib/rubygems/resolver/git_set.rb +2 -4
  386. data/lib/rubygems/resolver/git_specification.rb +6 -8
  387. data/lib/rubygems/resolver/index_set.rb +4 -6
  388. data/lib/rubygems/resolver/index_specification.rb +38 -7
  389. data/lib/rubygems/resolver/installed_specification.rb +4 -6
  390. data/lib/rubygems/resolver/installer_set.rb +66 -24
  391. data/lib/rubygems/resolver/local_specification.rb +2 -4
  392. data/lib/rubygems/resolver/lock_set.rb +6 -8
  393. data/lib/rubygems/resolver/lock_specification.rb +4 -6
  394. data/lib/rubygems/resolver/molinillo/LICENSE +9 -0
  395. data/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/resolution_state.rb +7 -0
  396. data/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/specification_provider.rb +8 -0
  397. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/action.rb +1 -0
  398. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +2 -1
  399. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +2 -1
  400. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +2 -1
  401. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +2 -1
  402. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/log.rb +7 -6
  403. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/set_payload.rb +2 -1
  404. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/tag.rb +4 -3
  405. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/vertex.rb +51 -12
  406. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb +41 -8
  407. data/lib/rubygems/resolver/molinillo/lib/molinillo/errors.rb +76 -8
  408. data/lib/rubygems/resolver/molinillo/lib/molinillo/gem_metadata.rb +2 -1
  409. data/lib/rubygems/resolver/molinillo/lib/molinillo/modules/specification_provider.rb +13 -1
  410. data/lib/rubygems/resolver/molinillo/lib/molinillo/modules/ui.rb +3 -1
  411. data/lib/rubygems/resolver/molinillo/lib/molinillo/resolution.rb +510 -165
  412. data/lib/rubygems/resolver/molinillo/lib/molinillo/resolver.rb +3 -2
  413. data/lib/rubygems/resolver/molinillo/lib/molinillo/state.rb +8 -4
  414. data/lib/rubygems/resolver/molinillo/lib/molinillo.rb +6 -5
  415. data/lib/rubygems/resolver/molinillo.rb +1 -1
  416. data/lib/rubygems/resolver/requirement_list.rb +0 -2
  417. data/lib/rubygems/resolver/set.rb +0 -3
  418. data/lib/rubygems/resolver/source_set.rb +0 -2
  419. data/lib/rubygems/resolver/spec_specification.rb +14 -2
  420. data/lib/rubygems/resolver/specification.rb +14 -4
  421. data/lib/rubygems/resolver/stats.rb +0 -2
  422. data/lib/rubygems/resolver/vendor_set.rb +1 -3
  423. data/lib/rubygems/resolver/vendor_specification.rb +3 -5
  424. data/lib/rubygems/resolver.rb +53 -51
  425. data/lib/rubygems/s3_uri_signer.rb +7 -15
  426. data/lib/rubygems/safe_yaml.rb +14 -16
  427. data/lib/rubygems/security/policies.rb +11 -11
  428. data/lib/rubygems/security/policy.rb +25 -29
  429. data/lib/rubygems/security/signer.rb +13 -16
  430. data/lib/rubygems/security/trust_dir.rb +4 -5
  431. data/lib/rubygems/security.rb +103 -69
  432. data/lib/rubygems/security_option.rb +7 -7
  433. data/lib/rubygems/source/git.rb +30 -30
  434. data/lib/rubygems/source/installed.rb +1 -3
  435. data/lib/rubygems/source/local.rb +4 -6
  436. data/lib/rubygems/source/lock.rb +0 -2
  437. data/lib/rubygems/source/specific_file.rb +1 -3
  438. data/lib/rubygems/source/vendor.rb +0 -2
  439. data/lib/rubygems/source.rb +44 -38
  440. data/lib/rubygems/source_list.rb +9 -16
  441. data/lib/rubygems/spec_fetcher.rb +49 -48
  442. data/lib/rubygems/specification.rb +338 -295
  443. data/lib/rubygems/specification_policy.rb +112 -61
  444. data/lib/rubygems/stub_specification.rb +21 -28
  445. data/lib/rubygems/text.rb +21 -20
  446. data/lib/rubygems/tsort/.document +1 -0
  447. data/lib/rubygems/tsort/LICENSE.txt +22 -0
  448. data/lib/rubygems/tsort/lib/tsort.rb +454 -0
  449. data/lib/rubygems/tsort.rb +3 -0
  450. data/lib/rubygems/uninstaller.rb +98 -45
  451. data/lib/rubygems/unknown_command_spell_checker.rb +21 -0
  452. data/lib/rubygems/uri.rb +126 -0
  453. data/lib/rubygems/uri_formatter.rb +2 -3
  454. data/lib/rubygems/user_interaction.rb +43 -54
  455. data/lib/rubygems/util/licenses.rb +115 -10
  456. data/lib/rubygems/util/list.rb +0 -2
  457. data/lib/rubygems/util.rb +18 -12
  458. data/lib/rubygems/validator.rb +6 -8
  459. data/lib/rubygems/version.rb +29 -20
  460. data/lib/rubygems/version_option.rb +11 -5
  461. data/lib/rubygems.rb +192 -289
  462. data/rubygems-update.gemspec +4 -4
  463. data/setup.rb +11 -22
  464. data/test/rubygems/data/excon-0.7.7.gemspec.rz +0 -0
  465. data/test/rubygems/data/null-required-ruby-version.gemspec.rz +0 -0
  466. data/test/rubygems/data/null-required-rubygems-version.gemspec.rz +0 -0
  467. data/test/rubygems/data/pry-0.4.7.gemspec.rz +0 -0
  468. data/test/rubygems/encrypted_private_key.pem +26 -26
  469. data/{lib/rubygems/test_case.rb → test/rubygems/helper.rb} +380 -314
  470. data/{lib → test}/rubygems/installer_test_case.rb +38 -24
  471. data/{lib → test}/rubygems/package/tar_test_case.rb +4 -6
  472. data/test/rubygems/packages/ascii_binder-0.1.10.1.gem +0 -0
  473. data/test/rubygems/packages/ill-formatted-platform-1.0.0.10.gem +0 -0
  474. data/test/rubygems/plugin/exception/rubygems_plugin.rb +1 -1
  475. data/test/rubygems/plugin/load/rubygems_plugin.rb +0 -2
  476. data/test/rubygems/plugin/standarderror/rubygems_plugin.rb +1 -1
  477. data/test/rubygems/private_ec_key.pem +9 -0
  478. data/test/rubygems/rubygems/commands/crash_command.rb +0 -2
  479. data/test/rubygems/rubygems_plugin.rb +2 -4
  480. data/test/rubygems/specifications/bar-0.0.2.gemspec +0 -2
  481. data/test/rubygems/specifications/rubyforge-0.0.1.gemspec +4 -6
  482. data/test/rubygems/test_bundled_ca.rb +43 -50
  483. data/test/rubygems/test_config.rb +5 -7
  484. data/test/rubygems/test_deprecate.rb +87 -10
  485. data/test/rubygems/test_exit.rb +11 -0
  486. data/test/rubygems/test_gem.rb +719 -639
  487. data/test/rubygems/test_gem_available_set.rb +24 -26
  488. data/test/rubygems/test_gem_bundler_version_finder.rb +37 -44
  489. data/test/rubygems/test_gem_command.rb +78 -49
  490. data/test/rubygems/test_gem_command_manager.rb +98 -35
  491. data/test/rubygems/test_gem_commands_build_command.rb +275 -57
  492. data/test/rubygems/test_gem_commands_cert_command.rb +180 -125
  493. data/test/rubygems/test_gem_commands_check_command.rb +9 -11
  494. data/test/rubygems/test_gem_commands_cleanup_command.rb +78 -69
  495. data/test/rubygems/test_gem_commands_contents_command.rb +73 -42
  496. data/test/rubygems/test_gem_commands_dependency_command.rb +38 -40
  497. data/test/rubygems/test_gem_commands_environment_command.rb +60 -38
  498. data/test/rubygems/test_gem_commands_fetch_command.rb +163 -32
  499. data/test/rubygems/test_gem_commands_generate_index_command.rb +8 -14
  500. data/test/rubygems/test_gem_commands_help_command.rb +34 -16
  501. data/test/rubygems/test_gem_commands_info_command.rb +33 -9
  502. data/test/rubygems/test_gem_commands_install_command.rb +401 -198
  503. data/test/rubygems/test_gem_commands_list_command.rb +5 -7
  504. data/test/rubygems/test_gem_commands_lock_command.rb +11 -13
  505. data/test/rubygems/test_gem_commands_mirror.rb +3 -5
  506. data/test/rubygems/test_gem_commands_open_command.rb +16 -19
  507. data/test/rubygems/test_gem_commands_outdated_command.rb +23 -7
  508. data/test/rubygems/test_gem_commands_owner_command.rb +100 -46
  509. data/test/rubygems/test_gem_commands_pristine_command.rb +131 -99
  510. data/test/rubygems/test_gem_commands_push_command.rb +134 -66
  511. data/test/rubygems/test_gem_commands_query_command.rb +91 -91
  512. data/test/rubygems/test_gem_commands_search_command.rb +2 -4
  513. data/test/rubygems/test_gem_commands_server_command.rb +6 -50
  514. data/test/rubygems/test_gem_commands_setup_command.rb +288 -179
  515. data/test/rubygems/test_gem_commands_signin_command.rb +162 -28
  516. data/test/rubygems/test_gem_commands_signout_command.rb +3 -10
  517. data/test/rubygems/test_gem_commands_sources_command.rb +139 -32
  518. data/test/rubygems/test_gem_commands_specification_command.rb +81 -55
  519. data/test/rubygems/test_gem_commands_stale_command.rb +4 -6
  520. data/test/rubygems/test_gem_commands_uninstall_command.rb +80 -82
  521. data/test/rubygems/test_gem_commands_unpack_command.rb +32 -34
  522. data/test/rubygems/test_gem_commands_update_command.rb +335 -88
  523. data/test/rubygems/test_gem_commands_which_command.rb +12 -14
  524. data/test/rubygems/test_gem_commands_yank_command.rb +80 -44
  525. data/test/rubygems/test_gem_config_file.rb +114 -97
  526. data/test/rubygems/test_gem_dependency.rb +87 -87
  527. data/test/rubygems/test_gem_dependency_installer.rb +277 -391
  528. data/test/rubygems/test_gem_dependency_list.rb +57 -59
  529. data/test/rubygems/test_gem_dependency_resolution_error.rb +5 -7
  530. data/test/rubygems/test_gem_doctor.rb +73 -47
  531. data/test/rubygems/test_gem_ext_builder.rb +115 -109
  532. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/.gitignore +1 -0
  533. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/Cargo.lock +243 -0
  534. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/Cargo.toml +10 -0
  535. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/build.rb +21 -0
  536. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/custom_name.gemspec +10 -0
  537. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/src/lib.rs +27 -0
  538. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/.gitignore +1 -0
  539. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.lock +243 -0
  540. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.toml +10 -0
  541. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/build.rb +21 -0
  542. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/rust_ruby_example.gemspec +8 -0
  543. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/src/lib.rs +39 -0
  544. data/test/rubygems/test_gem_ext_cargo_builder.rb +178 -0
  545. data/test/rubygems/test_gem_ext_cargo_builder_link_flag_converter.rb +33 -0
  546. data/test/rubygems/test_gem_ext_cargo_builder_unit.rb +75 -0
  547. data/test/rubygems/test_gem_ext_cmake_builder.rb +31 -38
  548. data/test/rubygems/test_gem_ext_configure_builder.rb +23 -39
  549. data/test/rubygems/test_gem_ext_ext_conf_builder.rb +66 -82
  550. data/test/rubygems/test_gem_ext_rake_builder.rb +49 -32
  551. data/test/rubygems/test_gem_gem_runner.rb +51 -8
  552. data/test/rubygems/test_gem_gemcutter_utilities.rb +87 -76
  553. data/test/rubygems/test_gem_impossible_dependencies_error.rb +4 -6
  554. data/test/rubygems/test_gem_indexer.rb +62 -64
  555. data/test/rubygems/test_gem_install_update_options.rb +31 -21
  556. data/test/rubygems/test_gem_installer.rb +798 -491
  557. data/test/rubygems/test_gem_local_remote_options.rb +11 -13
  558. data/test/rubygems/test_gem_name_tuple.rb +4 -6
  559. data/test/rubygems/test_gem_package.rb +318 -283
  560. data/test/rubygems/test_gem_package_old.rb +18 -20
  561. data/test/rubygems/test_gem_package_tar_header.rb +64 -47
  562. data/test/rubygems/test_gem_package_tar_reader.rb +8 -10
  563. data/test/rubygems/test_gem_package_tar_reader_entry.rb +18 -20
  564. data/test/rubygems/test_gem_package_tar_writer.rb +96 -100
  565. data/test/rubygems/test_gem_package_task.rb +58 -25
  566. data/test/rubygems/test_gem_path_support.rb +15 -21
  567. data/test/rubygems/test_gem_platform.rb +354 -201
  568. data/test/rubygems/test_gem_rdoc.rb +19 -21
  569. data/test/rubygems/test_gem_remote_fetcher.rb +376 -337
  570. data/test/rubygems/test_gem_request.rb +114 -86
  571. data/test/rubygems/test_gem_request_connection_pools.rb +30 -34
  572. data/test/rubygems/test_gem_request_set.rb +123 -124
  573. data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +222 -226
  574. data/test/rubygems/test_gem_request_set_lockfile.rb +93 -95
  575. data/test/rubygems/test_gem_request_set_lockfile_parser.rb +68 -70
  576. data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +136 -138
  577. data/test/rubygems/test_gem_requirement.rb +133 -54
  578. data/test/rubygems/test_gem_resolver.rb +149 -117
  579. data/test/rubygems/test_gem_resolver_activation_request.rb +6 -8
  580. data/test/rubygems/test_gem_resolver_api_set.rb +79 -78
  581. data/test/rubygems/test_gem_resolver_api_specification.rb +47 -49
  582. data/test/rubygems/test_gem_resolver_best_set.rb +43 -22
  583. data/test/rubygems/test_gem_resolver_composed_set.rb +1 -3
  584. data/test/rubygems/test_gem_resolver_conflict.rb +12 -14
  585. data/test/rubygems/test_gem_resolver_dependency_request.rb +15 -17
  586. data/test/rubygems/test_gem_resolver_git_set.rb +22 -24
  587. data/test/rubygems/test_gem_resolver_git_specification.rb +22 -23
  588. data/test/rubygems/test_gem_resolver_index_set.rb +14 -16
  589. data/test/rubygems/test_gem_resolver_index_specification.rb +16 -18
  590. data/test/rubygems/test_gem_resolver_installed_specification.rb +5 -7
  591. data/test/rubygems/test_gem_resolver_installer_set.rb +104 -44
  592. data/test/rubygems/test_gem_resolver_local_specification.rb +7 -9
  593. data/test/rubygems/test_gem_resolver_lock_set.rb +15 -17
  594. data/test/rubygems/test_gem_resolver_lock_specification.rb +17 -19
  595. data/test/rubygems/test_gem_resolver_requirement_list.rb +1 -3
  596. data/test/rubygems/test_gem_resolver_specification.rb +8 -12
  597. data/test/rubygems/test_gem_resolver_vendor_set.rb +9 -11
  598. data/test/rubygems/test_gem_resolver_vendor_specification.rb +10 -12
  599. data/test/rubygems/test_gem_security.rb +104 -78
  600. data/test/rubygems/test_gem_security_policy.rb +92 -97
  601. data/test/rubygems/test_gem_security_signer.rb +45 -47
  602. data/test/rubygems/test_gem_security_trust_dir.rb +12 -14
  603. data/test/rubygems/test_gem_silent_ui.rb +46 -42
  604. data/test/rubygems/test_gem_source.rb +53 -52
  605. data/test/rubygems/test_gem_source_fetch_problem.rb +16 -8
  606. data/test/rubygems/test_gem_source_git.rb +69 -69
  607. data/test/rubygems/test_gem_source_installed.rb +16 -18
  608. data/test/rubygems/test_gem_source_list.rb +5 -6
  609. data/test/rubygems/test_gem_source_local.rb +15 -17
  610. data/test/rubygems/test_gem_source_lock.rb +31 -33
  611. data/test/rubygems/test_gem_source_specific_file.rb +18 -20
  612. data/test/rubygems/test_gem_source_subpath_problem.rb +49 -0
  613. data/test/rubygems/test_gem_source_vendor.rb +13 -15
  614. data/test/rubygems/test_gem_spec_fetcher.rb +74 -67
  615. data/test/rubygems/test_gem_specification.rb +888 -1024
  616. data/test/rubygems/test_gem_stream_ui.rb +23 -23
  617. data/test/rubygems/test_gem_stub_specification.rb +39 -57
  618. data/test/rubygems/test_gem_text.rb +8 -4
  619. data/test/rubygems/test_gem_uninstaller.rb +233 -104
  620. data/test/rubygems/test_gem_unsatisfiable_dependency_error.rb +3 -5
  621. data/test/rubygems/test_gem_uri.rb +39 -0
  622. data/test/rubygems/test_gem_uri_formatter.rb +14 -16
  623. data/test/rubygems/test_gem_util.rb +37 -35
  624. data/test/rubygems/test_gem_validator.rb +10 -12
  625. data/test/rubygems/test_gem_version.rb +31 -31
  626. data/test/rubygems/test_gem_version_option.rb +16 -18
  627. data/test/rubygems/test_kernel.rb +46 -60
  628. data/test/rubygems/test_project_sanity.rb +8 -3
  629. data/test/rubygems/test_remote_fetch_error.rb +7 -9
  630. data/test/rubygems/test_require.rb +240 -167
  631. data/test/rubygems/test_rubygems.rb +74 -0
  632. data/{lib/rubygems/test_utilities.rb → test/rubygems/utilities.rb} +30 -39
  633. data/test/test_changelog_generator.rb +17 -0
  634. metadata +158 -146
  635. data/.bundle/config +0 -2
  636. data/.rubocop.yml +0 -91
  637. data/Gemfile +0 -8
  638. data/Gemfile.lock +0 -43
  639. data/Rakefile +0 -428
  640. data/bundler/CODE_OF_CONDUCT.md +0 -136
  641. data/bundler/lib/bundler/gemdeps.rb +0 -29
  642. data/bundler/lib/bundler/psyched_yaml.rb +0 -37
  643. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/monotonic_time.rb +0 -66
  644. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/compatibility.rb +0 -26
  645. data/bundler/man/bundle-add.1.txt +0 -58
  646. data/bundler/man/bundle-binstubs.1.txt +0 -48
  647. data/bundler/man/bundle-cache.1.txt +0 -78
  648. data/bundler/man/bundle-check.1.txt +0 -33
  649. data/bundler/man/bundle-clean.1.txt +0 -26
  650. data/bundler/man/bundle-config.1.txt +0 -528
  651. data/bundler/man/bundle-doctor.1.txt +0 -44
  652. data/bundler/man/bundle-exec.1.txt +0 -178
  653. data/bundler/man/bundle-gem.1.txt +0 -91
  654. data/bundler/man/bundle-info.1.txt +0 -21
  655. data/bundler/man/bundle-init.1.txt +0 -34
  656. data/bundler/man/bundle-inject.1.txt +0 -32
  657. data/bundler/man/bundle-install.1.txt +0 -401
  658. data/bundler/man/bundle-list.1.txt +0 -43
  659. data/bundler/man/bundle-lock.1.txt +0 -93
  660. data/bundler/man/bundle-open.1.txt +0 -29
  661. data/bundler/man/bundle-outdated.1.txt +0 -131
  662. data/bundler/man/bundle-platform.1.txt +0 -57
  663. data/bundler/man/bundle-pristine.1.txt +0 -44
  664. data/bundler/man/bundle-remove.1.txt +0 -34
  665. data/bundler/man/bundle-show.1.txt +0 -27
  666. data/bundler/man/bundle-update.1.txt +0 -390
  667. data/bundler/man/bundle-viz.1.txt +0 -39
  668. data/bundler/man/bundle.1.txt +0 -116
  669. data/bundler/man/gemfile.5.txt +0 -649
  670. data/lib/rubygems/psych_additions.rb +0 -10
  671. data/lib/rubygems/server.rb +0 -879
  672. data/lib/rubygems/source_local.rb +0 -7
  673. data/lib/rubygems/source_specific_file.rb +0 -6
  674. data/lib/rubygems/syck_hack.rb +0 -79
  675. data/lib/rubygems/uri_parser.rb +0 -36
  676. data/lib/rubygems/uri_parsing.rb +0 -23
  677. data/lib/ubygems.rb +0 -14
  678. data/test/rubygems/bogussources.rb +0 -9
  679. data/test/rubygems/data/null-type.gemspec.rz +0 -0
  680. data/test/rubygems/test_gem_server.rb +0 -612
  681. data/tmp/.keep +0 -0
  682. data/util/CL2notes +0 -55
  683. data/util/bisect +0 -10
  684. data/util/ci.sh +0 -62
  685. data/util/cops/deprecations.rb +0 -52
  686. data/util/create_certs.rb +0 -171
  687. data/util/create_certs.sh +0 -27
  688. data/util/create_encrypted_key.rb +0 -16
  689. data/util/generate_spdx_license_list.rb +0 -63
  690. data/util/patch_with_prs.rb +0 -77
  691. data/util/rubocop +0 -8
  692. data/util/update_bundled_ca_certificates.rb +0 -137
  693. data/util/update_changelog.rb +0 -64
  694. /data/bundler/{man/bundle-check.ronn → lib/bundler/man/bundle-check.1.ronn} +0 -0
  695. /data/bundler/{man/bundle-clean.ronn → lib/bundler/man/bundle-clean.1.ronn} +0 -0
  696. /data/bundler/{man/bundle-doctor.ronn → lib/bundler/man/bundle-doctor.1.ronn} +0 -0
  697. /data/bundler/{man/bundle-info.ronn → lib/bundler/man/bundle-info.1.ronn} +0 -0
  698. /data/bundler/{man/bundle-init.ronn → lib/bundler/man/bundle-init.1.ronn} +0 -0
  699. /data/bundler/{man/bundle-lock.ronn → lib/bundler/man/bundle-lock.1.ronn} +0 -0
  700. /data/bundler/{man/bundle-open.ronn → lib/bundler/man/bundle-open.1.ronn} +0 -0
  701. /data/bundler/{man/bundle-pristine.ronn → lib/bundler/man/bundle-pristine.1.ronn} +0 -0
  702. /data/bundler/{man/bundle-remove.ronn → lib/bundler/man/bundle-remove.1.ronn} +0 -0
  703. /data/bundler/{man/bundle-show.ronn → lib/bundler/man/bundle-show.1.ronn} +0 -0
@@ -1,17 +1,16 @@
1
1
  # frozen_string_literal: true
2
- require 'rubygems/test_case'
2
+ require_relative "helper"
3
3
 
4
4
  class TestGemResolverConflict < Gem::TestCase
5
-
6
5
  def test_explanation
7
6
  root =
8
- dependency_request dep('net-ssh', '>= 2.0.13'), 'rye', '0.9.8'
7
+ dependency_request dep("net-ssh", ">= 2.0.13"), "rye", "0.9.8"
9
8
  child =
10
- dependency_request dep('net-ssh', '>= 2.6.5'), 'net-ssh', '2.2.2', root
9
+ dependency_request dep("net-ssh", ">= 2.6.5"), "net-ssh", "2.2.2", root
11
10
 
12
- dep = Gem::Resolver::DependencyRequest.new dep('net-ssh', '>= 2.0.13'), nil
11
+ dep = Gem::Resolver::DependencyRequest.new dep("net-ssh", ">= 2.0.13"), nil
13
12
 
14
- spec = util_spec 'net-ssh', '2.2.2'
13
+ spec = util_spec "net-ssh", "2.2.2"
15
14
  active =
16
15
  Gem::Resolver::ActivationRequest.new spec, dep
17
16
 
@@ -38,10 +37,10 @@ class TestGemResolverConflict < Gem::TestCase
38
37
  def test_explanation_user_request
39
38
  @DR = Gem::Resolver
40
39
 
41
- spec = util_spec 'a', 2
40
+ spec = util_spec "a", 2
42
41
 
43
- a1_req = @DR::DependencyRequest.new dep('a', '= 1'), nil
44
- a2_req = @DR::DependencyRequest.new dep('a', '= 2'), nil
42
+ a1_req = @DR::DependencyRequest.new dep("a", "= 1"), nil
43
+ a2_req = @DR::DependencyRequest.new dep("a", "= 2"), nil
45
44
 
46
45
  activated = @DR::ActivationRequest.new spec, a2_req
47
46
 
@@ -64,20 +63,19 @@ class TestGemResolverConflict < Gem::TestCase
64
63
 
65
64
  def test_request_path
66
65
  root =
67
- dependency_request dep('net-ssh', '>= 2.0.13'), 'rye', '0.9.8'
66
+ dependency_request dep("net-ssh", ">= 2.0.13"), "rye", "0.9.8"
68
67
 
69
68
  child =
70
- dependency_request dep('other', '>= 1.0'), 'net-ssh', '2.2.2', root
69
+ dependency_request dep("other", ">= 1.0"), "net-ssh", "2.2.2", root
71
70
 
72
71
  conflict =
73
72
  Gem::Resolver::Conflict.new nil, nil
74
73
 
75
74
  expected = [
76
- 'net-ssh (>= 2.0.13), 2.2.2 activated',
77
- 'rye (= 0.9.8), 0.9.8 activated'
75
+ "net-ssh (>= 2.0.13), 2.2.2 activated",
76
+ "rye (= 0.9.8), 0.9.8 activated",
78
77
  ]
79
78
 
80
79
  assert_equal expected, conflict.request_path(child.requester)
81
80
  end
82
-
83
81
  end
@@ -1,8 +1,7 @@
1
1
  # frozen_string_literal: true
2
- require 'rubygems/test_case'
2
+ require_relative "helper"
3
3
 
4
4
  class TestGemResolverDependencyRequest < Gem::TestCase
5
-
6
5
  def setup
7
6
  super
8
7
 
@@ -10,13 +9,13 @@ class TestGemResolverDependencyRequest < Gem::TestCase
10
9
  end
11
10
 
12
11
  def test_development_eh
13
- a_dep = dep 'a', '>= 1'
12
+ a_dep = dep "a", ">= 1"
14
13
 
15
14
  a_dep_req = @DR.new a_dep, nil
16
15
 
17
16
  refute a_dep_req.development?
18
17
 
19
- b_dep = dep 'b', '>= 1', :development
18
+ b_dep = dep "b", ">= 1", :development
20
19
 
21
20
  b_dep_req = @DR.new b_dep, nil
22
21
 
@@ -24,8 +23,8 @@ class TestGemResolverDependencyRequest < Gem::TestCase
24
23
  end
25
24
 
26
25
  def test_match_eh
27
- spec = util_spec 'a', 1
28
- dependency = dep 'a', '>= 1'
26
+ spec = util_spec "a", 1
27
+ dependency = dep "a", ">= 1"
29
28
 
30
29
  dr = @DR.new dependency, nil
31
30
 
@@ -33,31 +32,31 @@ class TestGemResolverDependencyRequest < Gem::TestCase
33
32
  end
34
33
 
35
34
  def test_match_eh_prerelease
36
- spec = util_spec 'a', '1.a'
35
+ spec = util_spec "a", "1.a"
37
36
 
38
- a_dep = dep 'a', '>= 1'
37
+ a_dep = dep "a", ">= 1"
39
38
  a_dr = @DR.new a_dep, nil
40
39
 
41
40
  refute a_dr.match? spec
42
41
 
43
- a_pre_dep = dep 'a', '>= 1.a'
42
+ a_pre_dep = dep "a", ">= 1.a"
44
43
  a_pre_dr = @DR.new a_pre_dep, nil
45
44
 
46
45
  assert a_pre_dr.match? spec
47
46
  end
48
47
 
49
48
  def test_match_eh_prerelease_allow_prerelease
50
- spec = util_spec 'a', '2.a'
49
+ spec = util_spec "a", "2.a"
51
50
 
52
- a_dep = dep 'a', '>= 1'
51
+ a_dep = dep "a", ">= 1"
53
52
  a_dr = @DR.new a_dep, nil
54
53
 
55
54
  assert a_dr.match? spec, true
56
55
  end
57
56
 
58
57
  def test_matches_spec_eh
59
- spec = util_spec 'a', 1
60
- dependency = dep 'a', '>= 1'
58
+ spec = util_spec "a", 1
59
+ dependency = dep "a", ">= 1"
61
60
 
62
61
  dr = @DR.new dependency, nil
63
62
 
@@ -65,20 +64,19 @@ class TestGemResolverDependencyRequest < Gem::TestCase
65
64
  end
66
65
 
67
66
  def test_matches_spec_eh_prerelease
68
- spec = util_spec 'a', '1.a'
67
+ spec = util_spec "a", "1.a"
69
68
 
70
- dependency = dep 'a', '>= 0'
69
+ dependency = dep "a", ">= 0"
71
70
  dr = @DR.new dependency, nil
72
71
 
73
72
  assert dr.matches_spec? spec
74
73
  end
75
74
 
76
75
  def test_requirement
77
- dependency = dep 'a', '>= 1'
76
+ dependency = dep "a", ">= 1"
78
77
 
79
78
  dr = @DR.new dependency, nil
80
79
 
81
80
  assert_equal dependency, dr.dependency
82
81
  end
83
-
84
82
  end
@@ -1,8 +1,7 @@
1
1
  # frozen_string_literal: true
2
- require 'rubygems/test_case'
2
+ require_relative "helper"
3
3
 
4
4
  class TestGemResolverGitSet < Gem::TestCase
5
-
6
5
  def setup
7
6
  super
8
7
 
@@ -14,9 +13,9 @@ class TestGemResolverGitSet < Gem::TestCase
14
13
  def test_add_git_gem
15
14
  name, version, repository, = git_gem
16
15
 
17
- @set.add_git_gem name, repository, 'master', false
16
+ @set.add_git_gem name, repository, "master", false
18
17
 
19
- dependency = dep 'a'
18
+ dependency = dep "a"
20
19
 
21
20
  specs = @set.find_all dependency
22
21
 
@@ -28,9 +27,9 @@ class TestGemResolverGitSet < Gem::TestCase
28
27
  def test_add_git_gem_submodules
29
28
  name, _, repository, = git_gem
30
29
 
31
- @set.add_git_gem name, repository, 'master', true
30
+ @set.add_git_gem name, repository, "master", true
32
31
 
33
- dependency = dep 'a'
32
+ dependency = dep "a"
34
33
 
35
34
  refute_empty @set.find_all dependency
36
35
 
@@ -42,7 +41,7 @@ class TestGemResolverGitSet < Gem::TestCase
42
41
 
43
42
  @set.add_git_spec name, version, repository, revision, true
44
43
 
45
- dependency = dep 'a'
44
+ dependency = dep "a"
46
45
 
47
46
  specs = @set.find_all dependency
48
47
 
@@ -52,15 +51,15 @@ class TestGemResolverGitSet < Gem::TestCase
52
51
 
53
52
  assert @set.need_submodules[repository]
54
53
 
55
- refute_path_exists spec.source.repo_cache_dir
54
+ assert_path_not_exist spec.source.repo_cache_dir
56
55
  end
57
56
 
58
57
  def test_find_all
59
58
  name, _, repository, = git_gem
60
59
 
61
- @set.add_git_gem name, repository, 'master', false
60
+ @set.add_git_gem name, repository, "master", false
62
61
 
63
- dependency = dep 'a', '~> 1.0'
62
+ dependency = dep "a", "~> 1.0"
64
63
  req = Gem::Resolver::DependencyRequest.new dependency, nil
65
64
  @reqs.add req
66
65
 
@@ -68,16 +67,16 @@ class TestGemResolverGitSet < Gem::TestCase
68
67
 
69
68
  found = @set.find_all dependency
70
69
 
71
- assert_equal [@set.specs['a']], found
70
+ assert_equal [@set.specs["a"]], found
72
71
  end
73
72
 
74
73
  def test_find_all_local
75
74
  name, _, repository, = git_gem
76
75
 
77
- @set.add_git_gem name, repository, 'master', false
76
+ @set.add_git_gem name, repository, "master", false
78
77
  @set.remote = false
79
78
 
80
- dependency = dep 'a', '~> 1.0'
79
+ dependency = dep "a", "~> 1.0"
81
80
  req = Gem::Resolver::DependencyRequest.new dependency, nil
82
81
  @reqs.add req
83
82
 
@@ -87,11 +86,11 @@ class TestGemResolverGitSet < Gem::TestCase
87
86
  end
88
87
 
89
88
  def test_find_all_prerelease
90
- name, _, repository, = git_gem 'a', '1.a'
89
+ name, _, repository, = git_gem "a", "1.a"
91
90
 
92
- @set.add_git_gem name, repository, 'master', false
91
+ @set.add_git_gem name, repository, "master", false
93
92
 
94
- dependency = dep 'a', '>= 0'
93
+ dependency = dep "a", ">= 0"
95
94
  req = Gem::Resolver::DependencyRequest.new dependency, nil
96
95
  @reqs.add req
97
96
 
@@ -101,7 +100,7 @@ class TestGemResolverGitSet < Gem::TestCase
101
100
 
102
101
  assert_empty found
103
102
 
104
- dependency = dep 'a', '>= 0.a'
103
+ dependency = dep "a", ">= 0.a"
105
104
  req = Gem::Resolver::DependencyRequest.new dependency, nil
106
105
  @reqs.add req
107
106
 
@@ -123,7 +122,7 @@ class TestGemResolverGitSet < Gem::TestCase
123
122
  def test_prefetch
124
123
  name, _, repository, = git_gem
125
124
 
126
- @set.add_git_gem name, repository, 'master', false
125
+ @set.add_git_gem name, repository, "master", false
127
126
 
128
127
  dependency = dep name
129
128
  req = Gem::Resolver::DependencyRequest.new dependency, nil
@@ -137,7 +136,7 @@ class TestGemResolverGitSet < Gem::TestCase
137
136
  def test_prefetch_cache
138
137
  name, _, repository, = git_gem
139
138
 
140
- @set.add_git_gem name, repository, 'master', false
139
+ @set.add_git_gem name, repository, "master", false
141
140
 
142
141
  dependency = dep name
143
142
  req = Gem::Resolver::DependencyRequest.new dependency, nil
@@ -155,21 +154,21 @@ class TestGemResolverGitSet < Gem::TestCase
155
154
  def test_prefetch_filter
156
155
  name, _, repository, = git_gem
157
156
 
158
- @set.add_git_gem name, repository, 'master', false
157
+ @set.add_git_gem name, repository, "master", false
159
158
 
160
- dependency = dep 'b'
159
+ dependency = dep "b"
161
160
  req = Gem::Resolver::DependencyRequest.new dependency, nil
162
161
  @reqs.add req
163
162
 
164
163
  @set.prefetch @reqs
165
164
 
166
- refute_empty @set.specs, 'the git source does not filter'
165
+ refute_empty @set.specs, "the git source does not filter"
167
166
  end
168
167
 
169
168
  def test_prefetch_root_dir
170
169
  name, _, repository, = git_gem
171
170
 
172
- @set.add_git_gem name, repository, 'master', false
171
+ @set.add_git_gem name, repository, "master", false
173
172
 
174
173
  dependency = dep name
175
174
  req = Gem::Resolver::DependencyRequest.new dependency, nil
@@ -185,5 +184,4 @@ class TestGemResolverGitSet < Gem::TestCase
185
184
 
186
185
  assert_equal "#{@gemhome}2", spec.source.root_dir
187
186
  end
188
-
189
187
  end
@@ -1,14 +1,13 @@
1
1
  # frozen_string_literal: true
2
- require 'rubygems/test_case'
3
- require 'rubygems/installer'
2
+ require_relative "helper"
3
+ require "rubygems/installer"
4
4
 
5
5
  class TestGemResolverGitSpecification < Gem::TestCase
6
-
7
6
  def setup
8
7
  super
9
8
 
10
9
  @set = Gem::Resolver::GitSet.new
11
- @spec = Gem::Specification.new 'a', 1
10
+ @spec = Gem::Specification.new "a", 1
12
11
  end
13
12
 
14
13
  def test_equals2
@@ -16,7 +15,7 @@ class TestGemResolverGitSpecification < Gem::TestCase
16
15
 
17
16
  assert_equal g_spec_a, g_spec_a
18
17
 
19
- spec_b = Gem::Specification.new 'b', 1
18
+ spec_b = Gem::Specification.new "b", 1
20
19
  g_spec_b = Gem::Resolver::GitSpecification.new @set, spec_b
21
20
 
22
21
  refute_equal g_spec_a, g_spec_b
@@ -29,17 +28,17 @@ class TestGemResolverGitSpecification < Gem::TestCase
29
28
  i_set = Gem::Resolver::IndexSet.new
30
29
  source = Gem::Source.new @gem_repo
31
30
  i_spec = Gem::Resolver::IndexSpecification.new(
32
- i_set, 'a', v(1), source, Gem::Platform::RUBY)
31
+ i_set, "a", v(1), source, Gem::Platform::RUBY)
33
32
 
34
33
  refute_equal g_spec_a, i_spec
35
34
  end
36
35
 
37
36
  def test_add_dependency
38
- git_gem 'a', 1
37
+ git_gem "a", 1
39
38
 
40
39
  git_spec = Gem::Resolver::GitSpecification.new @set, @spec
41
40
 
42
- b_dep = dep 'b'
41
+ b_dep = dep "b"
43
42
 
44
43
  git_spec.add_dependency b_dep
45
44
 
@@ -47,7 +46,7 @@ class TestGemResolverGitSpecification < Gem::TestCase
47
46
  end
48
47
 
49
48
  def test_install
50
- git_gem 'a', 1
49
+ git_gem "a", 1
51
50
 
52
51
  git_spec = Gem::Resolver::GitSpecification.new @set, @spec
53
52
 
@@ -63,28 +62,29 @@ class TestGemResolverGitSpecification < Gem::TestCase
63
62
  # functional test for Gem::Ext::Builder
64
63
 
65
64
  def test_install_extension
66
- skip if Gem.java_platform?
67
- name, _, repository, = git_gem 'a', 1 do |s|
68
- s.extensions << 'ext/extconf.rb'
65
+ pend if Gem.java_platform?
66
+ pend if /mswin/ =~ RUBY_PLATFORM && ENV.key?("GITHUB_ACTIONS") # not working from the beginning
67
+ name, _, repository, = git_gem "a", 1 do |s|
68
+ s.extensions << "ext/extconf.rb"
69
69
  end
70
70
 
71
- Dir.chdir 'git/a' do
72
- FileUtils.mkdir_p 'ext/lib'
71
+ Dir.chdir "git/a" do
72
+ FileUtils.mkdir_p "ext/lib"
73
73
 
74
- File.open 'ext/extconf.rb', 'w' do |io|
74
+ File.open "ext/extconf.rb", "w" do |io|
75
75
  io.puts 'require "mkmf"'
76
76
  io.puts 'create_makefile "a"'
77
77
  end
78
78
 
79
- FileUtils.touch 'ext/lib/b.rb'
79
+ FileUtils.touch "ext/lib/b.rb"
80
80
 
81
- system @git, 'add', 'ext/extconf.rb'
82
- system @git, 'add', 'ext/lib/b.rb'
81
+ system @git, "add", "ext/extconf.rb"
82
+ system @git, "add", "ext/lib/b.rb"
83
83
 
84
- system @git, 'commit', '--quiet', '-m', 'Add extension files'
84
+ system @git, "commit", "--quiet", "-m", "Add extension files"
85
85
  end
86
86
 
87
- source = Gem::Source::Git.new name, repository, 'master', true
87
+ source = Gem::Source::Git.new name, repository, "master", true
88
88
 
89
89
  spec = source.specs.first
90
90
 
@@ -92,11 +92,11 @@ class TestGemResolverGitSpecification < Gem::TestCase
92
92
 
93
93
  git_spec.install({})
94
94
 
95
- assert_path_exists File.join git_spec.spec.extension_dir, 'b.rb'
95
+ assert_path_exist File.join git_spec.spec.extension_dir, "b.rb"
96
96
  end
97
97
 
98
98
  def test_install_installed
99
- git_gem 'a', 1
99
+ git_gem "a", 1
100
100
 
101
101
  git_spec = Gem::Resolver::GitSpecification.new @set, @spec
102
102
 
@@ -110,5 +110,4 @@ class TestGemResolverGitSpecification < Gem::TestCase
110
110
 
111
111
  assert called
112
112
  end
113
-
114
113
  end
@@ -1,8 +1,7 @@
1
1
  # frozen_string_literal: true
2
- require 'rubygems/test_case'
2
+ require_relative "helper"
3
3
 
4
4
  class TestGemResolverIndexSet < Gem::TestCase
5
-
6
5
  def setup
7
6
  super
8
7
 
@@ -18,7 +17,7 @@ class TestGemResolverIndexSet < Gem::TestCase
18
17
  end
19
18
 
20
19
  def test_initialize_source
21
- set = @DR::IndexSet.new 'http://alternate.example'
20
+ set = @DR::IndexSet.new "http://alternate.example"
22
21
 
23
22
  fetcher = set.instance_variable_get :@f
24
23
 
@@ -29,33 +28,33 @@ class TestGemResolverIndexSet < Gem::TestCase
29
28
 
30
29
  def test_find_all
31
30
  spec_fetcher do |fetcher|
32
- fetcher.spec 'a', 1
33
- fetcher.spec 'a', 2
34
- fetcher.spec 'b', 1
31
+ fetcher.spec "a", 1
32
+ fetcher.spec "a", 2
33
+ fetcher.spec "b", 1
35
34
  end
36
35
 
37
36
  set = @DR::IndexSet.new
38
37
 
39
- dependency = dep 'a', '~> 1'
38
+ dependency = dep "a", "~> 1"
40
39
 
41
40
  req = @DR::DependencyRequest.new dependency, nil
42
41
 
43
42
  found = set.find_all req
44
43
 
45
- assert_equal %w[a-1], found.map { |s| s.full_name }
44
+ assert_equal %w[a-1], found.map {|s| s.full_name }
46
45
  end
47
46
 
48
47
  def test_find_all_local
49
48
  spec_fetcher do |fetcher|
50
- fetcher.spec 'a', 1
51
- fetcher.spec 'a', 2
52
- fetcher.spec 'b', 1
49
+ fetcher.spec "a", 1
50
+ fetcher.spec "a", 2
51
+ fetcher.spec "b", 1
53
52
  end
54
53
 
55
54
  set = @DR::IndexSet.new
56
55
  set.remote = false
57
56
 
58
- dependency = dep 'a', '~> 1'
57
+ dependency = dep "a", "~> 1"
59
58
 
60
59
  req = @DR::DependencyRequest.new dependency, nil
61
60
 
@@ -64,12 +63,12 @@ class TestGemResolverIndexSet < Gem::TestCase
64
63
 
65
64
  def test_find_all_prerelease
66
65
  spec_fetcher do |fetcher|
67
- fetcher.spec 'a', '1.a'
66
+ fetcher.spec "a", "1.a"
68
67
  end
69
68
 
70
69
  set = @DR::IndexSet.new
71
70
 
72
- dependency = dep 'a'
71
+ dependency = dep "a"
73
72
 
74
73
  req = @DR::DependencyRequest.new dependency, nil
75
74
 
@@ -83,7 +82,6 @@ class TestGemResolverIndexSet < Gem::TestCase
83
82
 
84
83
  found = set.find_all req
85
84
 
86
- assert_equal %w[a-1.a], found.map { |s| s.full_name }
85
+ assert_equal %w[a-1.a], found.map {|s| s.full_name }
87
86
  end
88
-
89
87
  end
@@ -1,18 +1,17 @@
1
1
  # frozen_string_literal: true
2
- require 'rubygems/test_case'
3
- require 'rubygems/available_set'
2
+ require_relative "helper"
3
+ require "rubygems/available_set"
4
4
 
5
5
  class TestGemResolverIndexSpecification < Gem::TestCase
6
-
7
6
  def test_initialize
8
7
  set = Gem::Resolver::IndexSet.new
9
8
  source = Gem::Source.new @gem_repo
10
- version = Gem::Version.new '3.0.3'
9
+ version = Gem::Version.new "3.0.3"
11
10
 
12
11
  spec = Gem::Resolver::IndexSpecification.new(
13
- set, 'rails', version, source, Gem::Platform::RUBY)
12
+ set, "rails", version, source, Gem::Platform::RUBY)
14
13
 
15
- assert_equal 'rails', spec.name
14
+ assert_equal "rails", spec.name
16
15
  assert_equal version, spec.version
17
16
  assert_equal Gem::Platform::RUBY, spec.platform
18
17
 
@@ -22,24 +21,24 @@ class TestGemResolverIndexSpecification < Gem::TestCase
22
21
  def test_initialize_platform
23
22
  set = Gem::Resolver::IndexSet.new
24
23
  source = Gem::Source::Local.new
25
- version = Gem::Version.new '3.0.3'
24
+ version = Gem::Version.new "3.0.3"
26
25
 
27
26
  spec = Gem::Resolver::IndexSpecification.new(
28
- set, 'rails', version, source, Gem::Platform.local)
27
+ set, "rails", version, source, Gem::Platform.local)
29
28
 
30
- assert_equal Gem::Platform.local.to_s, spec.platform
29
+ assert_equal Gem::Platform.local, spec.platform
31
30
  end
32
31
 
33
32
  def test_install
34
33
  spec_fetcher do |fetcher|
35
- fetcher.gem 'a', 2
34
+ fetcher.gem "a", 2
36
35
  end
37
36
 
38
37
  set = Gem::Resolver::IndexSet.new
39
38
  source = Gem::Source.new @gem_repo
40
39
 
41
40
  spec = Gem::Resolver::IndexSpecification.new(
42
- set, 'a', v(2), source, Gem::Platform::RUBY)
41
+ set, "a", v(2), source, Gem::Platform::RUBY)
43
42
 
44
43
  called = false
45
44
 
@@ -47,15 +46,15 @@ class TestGemResolverIndexSpecification < Gem::TestCase
47
46
  called = installer
48
47
  end
49
48
 
50
- assert_path_exists File.join @gemhome, 'specifications', 'a-2.gemspec'
49
+ assert_path_exist File.join @gemhome, "specifications", "a-2.gemspec"
51
50
 
52
51
  assert_kind_of Gem::Installer, called
53
52
  end
54
53
 
55
54
  def test_spec
56
55
  specs = spec_fetcher do |fetcher|
57
- fetcher.spec 'a', 2
58
- fetcher.spec 'a', 2 do |s|
56
+ fetcher.spec "a", 2
57
+ fetcher.spec "a", 2 do |s|
59
58
  s.platform = Gem::Platform.local
60
59
  end
61
60
  end
@@ -65,7 +64,7 @@ class TestGemResolverIndexSpecification < Gem::TestCase
65
64
 
66
65
  set = Gem::Resolver::IndexSet.new
67
66
  i_spec = Gem::Resolver::IndexSpecification.new \
68
- set, 'a', version, source, Gem::Platform.local
67
+ set, "a", version, source, Gem::Platform.local
69
68
 
70
69
  spec = i_spec.spec
71
70
 
@@ -73,7 +72,7 @@ class TestGemResolverIndexSpecification < Gem::TestCase
73
72
  end
74
73
 
75
74
  def test_spec_local
76
- a_2_p = util_spec 'a', 2 do |s|
75
+ a_2_p = util_spec "a", 2 do |s|
77
76
  s.platform = Gem::Platform.local
78
77
  end
79
78
 
@@ -84,11 +83,10 @@ class TestGemResolverIndexSpecification < Gem::TestCase
84
83
  set.always_install << a_2_p
85
84
 
86
85
  i_spec = Gem::Resolver::IndexSpecification.new \
87
- set, 'a', v(2), source, Gem::Platform.local
86
+ set, "a", v(2), source, Gem::Platform.local
88
87
 
89
88
  spec = i_spec.spec
90
89
 
91
90
  assert_equal a_2_p.full_name, spec.full_name
92
91
  end
93
-
94
92
  end
@@ -1,8 +1,7 @@
1
1
  # frozen_string_literal: true
2
- require 'rubygems/test_case'
2
+ require_relative "helper"
3
3
 
4
4
  class TestGemResolverInstalledSpecification < Gem::TestCase
5
-
6
5
  def setup
7
6
  super
8
7
 
@@ -10,17 +9,17 @@ class TestGemResolverInstalledSpecification < Gem::TestCase
10
9
  end
11
10
 
12
11
  def test_initialize
13
- source_spec = util_spec 'a'
12
+ source_spec = util_spec "a"
14
13
 
15
14
  spec = Gem::Resolver::InstalledSpecification.new @set, source_spec
16
15
 
17
- assert_equal 'a', spec.name
16
+ assert_equal "a", spec.name
18
17
  assert_equal Gem::Version.new(2), spec.version
19
18
  assert_equal Gem::Platform::RUBY, spec.platform
20
19
  end
21
20
 
22
21
  def test_install
23
- a = util_spec 'a'
22
+ a = util_spec "a"
24
23
 
25
24
  spec = Gem::Resolver::InstalledSpecification.new @set, a
26
25
 
@@ -34,7 +33,7 @@ class TestGemResolverInstalledSpecification < Gem::TestCase
34
33
  end
35
34
 
36
35
  def test_installable_platform_eh
37
- b, b_gem = util_gem 'a', 1 do |s|
36
+ b, b_gem = util_gem "a", 1 do |s|
38
37
  s.platform = Gem::Platform.new %w[cpu other_platform 1]
39
38
  end
40
39
 
@@ -44,5 +43,4 @@ class TestGemResolverInstalledSpecification < Gem::TestCase
44
43
 
45
44
  assert b_spec.installable_platform?
46
45
  end
47
-
48
46
  end