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,8 +1,7 @@
1
1
  # frozen_string_literal: true
2
- require 'rubygems/test_case'
2
+ require_relative "helper"
3
3
 
4
4
  class TestGemResolver < Gem::TestCase
5
-
6
5
  def setup
7
6
  super
8
7
 
@@ -26,10 +25,10 @@ class TestGemResolver < Gem::TestCase
26
25
  def assert_resolves_to(expected, resolver)
27
26
  actual = resolver.resolve
28
27
 
29
- exp = expected.sort_by { |s| s.full_name }
30
- act = actual.map { |a| a.spec.spec }.sort_by { |s| s.full_name }
28
+ exp = expected.sort_by {|s| s.full_name }
29
+ act = actual.map {|a| a.spec.spec }.sort_by {|s| s.full_name }
31
30
 
32
- msg = "Set of gems was not the same: #{exp.map { |x| x.full_name}.inspect} != #{act.map { |x| x.full_name}.inspect}"
31
+ msg = "Set of gems was not the same: #{exp.map {|x| x.full_name }.inspect} != #{act.map {|x| x.full_name }.inspect}"
33
32
 
34
33
  assert_equal exp, act, msg
35
34
  rescue Gem::DependencyResolutionError => e
@@ -77,11 +76,11 @@ class TestGemResolver < Gem::TestCase
77
76
 
78
77
  assert_same index_set, composed
79
78
 
80
- e = assert_raises ArgumentError do
79
+ e = assert_raise ArgumentError do
81
80
  @DR.compose_sets nil
82
81
  end
83
82
 
84
- assert_equal 'one set in the composition must be non-nil', e.message
83
+ assert_equal "one set in the composition must be non-nil", e.message
85
84
  end
86
85
 
87
86
  def test_self_compose_sets_single
@@ -93,9 +92,9 @@ class TestGemResolver < Gem::TestCase
93
92
  end
94
93
 
95
94
  def test_requests
96
- a1 = util_spec 'a', 1, 'b' => 2
95
+ a1 = util_spec "a", 1, "b" => 2
97
96
 
98
- r1 = Gem::Resolver::DependencyRequest.new dep('a', '= 1'), nil
97
+ r1 = Gem::Resolver::DependencyRequest.new dep("a", "= 1"), nil
99
98
 
100
99
  act = Gem::Resolver::ActivationRequest.new a1, r1
101
100
 
@@ -105,18 +104,18 @@ class TestGemResolver < Gem::TestCase
105
104
 
106
105
  res.requests a1, act, reqs
107
106
 
108
- assert_equal ['b (= 2)'], reqs.map { |req| req.to_s }
107
+ assert_equal ["b (= 2)"], reqs.map {|req| req.to_s }
109
108
  end
110
109
 
111
110
  def test_requests_development
112
- a1 = util_spec 'a', 1, 'b' => 2
111
+ a1 = util_spec "a", 1, "b" => 2
113
112
 
114
113
  spec = Gem::Resolver::SpecSpecification.new nil, a1
115
114
  def spec.fetch_development_dependencies
116
115
  @called = true
117
116
  end
118
117
 
119
- r1 = Gem::Resolver::DependencyRequest.new dep('a', '= 1'), nil
118
+ r1 = Gem::Resolver::DependencyRequest.new dep("a", "= 1"), nil
120
119
 
121
120
  act = Gem::Resolver::ActivationRequest.new spec, r1
122
121
 
@@ -127,15 +126,15 @@ class TestGemResolver < Gem::TestCase
127
126
 
128
127
  res.requests spec, act, reqs
129
128
 
130
- assert_equal ['b (= 2)'], reqs.map { |req| req.to_s }
129
+ assert_equal ["b (= 2)"], reqs.map {|req| req.to_s }
131
130
 
132
131
  assert spec.instance_variable_defined? :@called
133
132
  end
134
133
 
135
134
  def test_requests_ignore_dependencies
136
- a1 = util_spec 'a', 1, 'b' => 2
135
+ a1 = util_spec "a", 1, "b" => 2
137
136
 
138
- r1 = Gem::Resolver::DependencyRequest.new dep('a', '= 1'), nil
137
+ r1 = Gem::Resolver::DependencyRequest.new dep("a", "= 1"), nil
139
138
 
140
139
  act = Gem::Resolver::ActivationRequest.new a1, r1
141
140
 
@@ -150,37 +149,37 @@ class TestGemResolver < Gem::TestCase
150
149
  end
151
150
 
152
151
  def test_resolve_conservative
153
- a1_spec = util_spec 'a', 1
152
+ a1_spec = util_spec "a", 1
154
153
 
155
- a2_spec = util_spec 'a', 2 do |s|
156
- s.add_dependency 'b', 2
157
- s.add_dependency 'c'
154
+ a2_spec = util_spec "a", 2 do |s|
155
+ s.add_dependency "b", 2
156
+ s.add_dependency "c"
158
157
  end
159
158
 
160
- b1_spec = util_spec 'b', 1
161
- b2_spec = util_spec 'b', 2
159
+ b1_spec = util_spec "b", 1
160
+ b2_spec = util_spec "b", 2
162
161
 
163
- c1_spec = util_spec 'c', 1 do |s|
164
- s.add_dependency 'd', 2
162
+ c1_spec = util_spec "c", 1 do |s|
163
+ s.add_dependency "d", 2
165
164
  end
166
165
 
167
- c2_spec = util_spec 'c', 2 do |s|
168
- s.add_dependency 'd', 2
166
+ c2_spec = util_spec "c", 2 do |s|
167
+ s.add_dependency "d", 2
169
168
  end
170
169
 
171
- d1_spec = util_spec 'd', 1 do |s|
172
- s.add_dependency 'e'
170
+ d1_spec = util_spec "d", 1 do |s|
171
+ s.add_dependency "e"
173
172
  end
174
173
 
175
- d2_spec = util_spec 'd', 2 do |s|
176
- s.add_dependency 'e'
174
+ d2_spec = util_spec "d", 2 do |s|
175
+ s.add_dependency "e"
177
176
  end
178
177
 
179
- e1_spec = util_spec 'e', 1
180
- e2_spec = util_spec 'e', 2
178
+ e1_spec = util_spec "e", 1
179
+ e2_spec = util_spec "e", 2
181
180
 
182
- a_dep = make_dep 'a', '= 2'
183
- e_dep = make_dep 'e'
181
+ a_dep = make_dep "a", "= 2"
182
+ e_dep = make_dep "e"
184
183
 
185
184
  # When requesting to install:
186
185
  # a-2, e
@@ -192,7 +191,7 @@ class TestGemResolver < Gem::TestCase
192
191
 
193
192
  # With the following gems already installed:
194
193
  # a-1, b-1, c-1, e-1
195
- res.skip_gems = {'a' => [a1_spec], 'b' => [b1_spec], 'c' => [c1_spec], 'e' => [e1_spec]}
194
+ res.skip_gems = { "a" => [a1_spec], "b" => [b1_spec], "c" => [c1_spec], "e" => [e1_spec] }
196
195
 
197
196
  # Make sure the following gems end up getting used/installed/upgraded:
198
197
  # a-2 (upgraded)
@@ -204,17 +203,17 @@ class TestGemResolver < Gem::TestCase
204
203
  end
205
204
 
206
205
  def test_resolve_development
207
- a_spec = util_spec 'a', 1 do |s|
208
- s.add_development_dependency 'b'
206
+ a_spec = util_spec "a", 1 do |s|
207
+ s.add_development_dependency "b"
209
208
  end
210
209
 
211
- b_spec = util_spec 'b', 1 do
212
- |s| s.add_development_dependency 'c'
210
+ b_spec = util_spec "b", 1 do
211
+ |s| s.add_development_dependency "c"
213
212
  end
214
213
 
215
- c_spec = util_spec 'c', 1
214
+ c_spec = util_spec "c", 1
216
215
 
217
- a_dep = make_dep 'a', '= 1'
216
+ a_dep = make_dep "a", "= 1"
218
217
 
219
218
  deps = [a_dep]
220
219
 
@@ -228,24 +227,24 @@ class TestGemResolver < Gem::TestCase
228
227
  end
229
228
 
230
229
  def test_resolve_development_shallow
231
- a_spec = util_spec 'a', 1 do |s|
232
- s.add_development_dependency 'b'
233
- s.add_runtime_dependency 'd'
230
+ a_spec = util_spec "a", 1 do |s|
231
+ s.add_development_dependency "b"
232
+ s.add_runtime_dependency "d"
234
233
  end
235
234
 
236
- b_spec = util_spec 'b', 1 do |s|
237
- s.add_development_dependency 'c'
235
+ b_spec = util_spec "b", 1 do |s|
236
+ s.add_development_dependency "c"
238
237
  end
239
238
 
240
- c_spec = util_spec 'c', 1
239
+ c_spec = util_spec "c", 1
241
240
 
242
- d_spec = util_spec 'd', 1 do |s|
243
- s.add_development_dependency 'e'
241
+ d_spec = util_spec "d", 1 do |s|
242
+ s.add_development_dependency "e"
244
243
  end
245
244
 
246
- e_spec = util_spec 'e', 1
245
+ e_spec = util_spec "e", 1
247
246
 
248
- a_dep = make_dep 'a', '= 1'
247
+ a_dep = make_dep "a", "= 1"
249
248
 
250
249
  deps = [a_dep]
251
250
 
@@ -263,19 +262,19 @@ class TestGemResolver < Gem::TestCase
263
262
  @fetcher = Gem::FakeFetcher.new
264
263
  Gem::RemoteFetcher.fetcher = @fetcher
265
264
 
266
- a_dep = make_dep 'a', '= 1'
265
+ a_dep = make_dep "a", "= 1"
267
266
 
268
267
  res = Gem::Resolver.new [a_dep], Gem::Resolver::IndexSet.new
269
268
 
270
- e = assert_raises Gem::UnsatisfiableDepedencyError do
269
+ e = assert_raise Gem::UnsatisfiableDependencyError do
271
270
  res.resolve
272
271
  end
273
272
 
274
273
  refute_empty e.errors
275
274
  end
276
275
 
277
- def test_no_overlap_specificly
278
- a = util_spec "a", '1'
276
+ def test_no_overlap_specifically
277
+ a = util_spec "a", "1"
279
278
  b = util_spec "b", "1"
280
279
 
281
280
  ad = make_dep "a", "= 1"
@@ -291,7 +290,7 @@ class TestGemResolver < Gem::TestCase
291
290
  end
292
291
 
293
292
  def test_pulls_in_dependencies
294
- a = util_spec "a", '1'
293
+ a = util_spec "a", "1"
295
294
  b = util_spec "b", "1", "c" => "= 1"
296
295
  c = util_spec "c", "1"
297
296
 
@@ -308,8 +307,8 @@ class TestGemResolver < Gem::TestCase
308
307
  end
309
308
 
310
309
  def test_picks_highest_version
311
- a1 = util_spec "a", '1'
312
- a2 = util_spec "a", '2'
310
+ a1 = util_spec "a", "1"
311
+ a2 = util_spec "a", "2"
313
312
 
314
313
  s = set(a1, a2)
315
314
 
@@ -322,17 +321,16 @@ class TestGemResolver < Gem::TestCase
322
321
 
323
322
  def test_picks_best_platform
324
323
  is = Gem::Resolver::IndexSpecification
325
- unknown = Gem::Platform.new 'unknown'
326
- a2_p1 = a3_p2 = nil
324
+ unknown = Gem::Platform.new "unknown"
327
325
 
328
326
  spec_fetcher do |fetcher|
329
- fetcher.spec 'a', 2
327
+ fetcher.spec "a", 2
330
328
 
331
- a2_p1 = fetcher.spec 'a', 2 do |s|
329
+ fetcher.spec "a", 2 do |s|
332
330
  s.platform = Gem::Platform.local
333
331
  end
334
332
 
335
- a3_p2 = fetcher.spec 'a', 3 do |s|
333
+ fetcher.spec "a", 3 do |s|
336
334
  s.platform = unknown
337
335
  end
338
336
  end
@@ -343,9 +341,9 @@ class TestGemResolver < Gem::TestCase
343
341
 
344
342
  s = set
345
343
 
346
- a2 = is.new s, 'a', v2, source, Gem::Platform::RUBY
347
- a2_p1 = is.new s, 'a', v2, source, Gem::Platform.local.to_s
348
- a3_p2 = is.new s, 'a', v3, source, unknown
344
+ a2 = is.new s, "a", v2, source, Gem::Platform::RUBY
345
+ a2_p1 = is.new s, "a", v2, source, Gem::Platform.local.to_s
346
+ a3_p2 = is.new s, "a", v3, source, unknown
349
347
 
350
348
  s.add a3_p2
351
349
  s.add a2_p1
@@ -358,6 +356,41 @@ class TestGemResolver < Gem::TestCase
358
356
  assert_resolves_to [a2_p1.spec], res
359
357
  end
360
358
 
359
+ def test_does_not_pick_musl_variants_on_non_musl_linux
360
+ util_set_arch "aarch64-linux" do
361
+ is = Gem::Resolver::IndexSpecification
362
+
363
+ linux_musl = Gem::Platform.new("aarch64-linux-musl")
364
+
365
+ spec_fetcher do |fetcher|
366
+ fetcher.spec "libv8-node", "15.14.0.1" do |s|
367
+ s.platform = Gem::Platform.local
368
+ end
369
+
370
+ fetcher.spec "libv8-node", "15.14.0.1" do |s|
371
+ s.platform = linux_musl
372
+ end
373
+ end
374
+
375
+ v15 = v("15.14.0.1")
376
+ source = Gem::Source.new @gem_repo
377
+
378
+ s = set
379
+
380
+ v15_linux = is.new s, "libv8-node", v15, source, Gem::Platform.local.to_s
381
+ v15_linux_musl = is.new s, "libv8-node", v15, source, linux_musl.to_s
382
+
383
+ s.add v15_linux
384
+ s.add v15_linux_musl
385
+
386
+ ad = make_dep "libv8-node", "= 15.14.0.1"
387
+
388
+ res = Gem::Resolver.new([ad], s)
389
+
390
+ assert_resolves_to [v15_linux.spec], res
391
+ end
392
+ end
393
+
361
394
  def test_only_returns_spec_once
362
395
  a1 = util_spec "a", "1", "c" => "= 1"
363
396
  b1 = util_spec "b", "1", "c" => "= 1"
@@ -446,7 +479,7 @@ class TestGemResolver < Gem::TestCase
446
479
 
447
480
  r = Gem::Resolver.new([ad, bd], s)
448
481
 
449
- e = assert_raises Gem::DependencyResolutionError do
482
+ e = assert_raise Gem::DependencyResolutionError do
450
483
  r.resolve
451
484
  end
452
485
 
@@ -470,7 +503,7 @@ class TestGemResolver < Gem::TestCase
470
503
 
471
504
  r = Gem::Resolver.new([ad], set)
472
505
 
473
- e = assert_raises Gem::UnsatisfiableDepedencyError do
506
+ e = assert_raise Gem::UnsatisfiableDependencyError do
474
507
  r.resolve
475
508
  end
476
509
 
@@ -487,7 +520,7 @@ class TestGemResolver < Gem::TestCase
487
520
 
488
521
  r = Gem::Resolver.new([ad], set(a1))
489
522
 
490
- e = assert_raises Gem::UnsatisfiableDepedencyError do
523
+ e = assert_raise Gem::UnsatisfiableDependencyError do
491
524
  r.resolve
492
525
  end
493
526
 
@@ -500,7 +533,7 @@ class TestGemResolver < Gem::TestCase
500
533
 
501
534
  r = Gem::Resolver.new([ad], set(a1))
502
535
 
503
- e = assert_raises Gem::UnsatisfiableDepedencyError do
536
+ e = assert_raise Gem::UnsatisfiableDependencyError do
504
537
  r.resolve
505
538
  end
506
539
 
@@ -510,14 +543,14 @@ class TestGemResolver < Gem::TestCase
510
543
 
511
544
  def test_raises_and_reports_an_implicit_request_properly
512
545
  a1 = util_spec "a", "1" do |s|
513
- s.add_runtime_dependency 'b', '= 2'
546
+ s.add_runtime_dependency "b", "= 2"
514
547
  end
515
548
 
516
549
  ad = make_dep "a", "= 1"
517
550
 
518
551
  r = Gem::Resolver.new([ad], set(a1))
519
552
 
520
- e = assert_raises Gem::UnsatisfiableDepedencyError do
553
+ e = assert_raise Gem::UnsatisfiableDependencyError do
521
554
  r.resolve
522
555
  end
523
556
 
@@ -540,21 +573,21 @@ class TestGemResolver < Gem::TestCase
540
573
 
541
574
  r = Gem::Resolver.new([ad, bd], s)
542
575
 
543
- e = assert_raises Gem::DependencyResolutionError do
576
+ e = assert_raise Gem::DependencyResolutionError do
544
577
  r.resolve
545
578
  end
546
579
 
547
580
  dependency = e.conflict.dependency
548
581
 
549
- assert_includes %w(a b), dependency.name
550
- assert_equal req('>= 0'), dependency.requirement
582
+ assert_includes %w[a b], dependency.name
583
+ assert_equal req(">= 0"), dependency.requirement
551
584
 
552
585
  activated = e.conflict.activated
553
- assert_equal 'c-1', activated.full_name
586
+ assert_equal "c-1", activated.full_name
554
587
 
555
- assert_equal dep('c', '= 1'), activated.request.dependency
588
+ assert_equal dep("c", "= 1"), activated.request.dependency
556
589
 
557
- assert_equal [dep('c', '>= 2'), dep('c', '= 1')],
590
+ assert_equal [dep("c", ">= 2"), dep("c", "= 1")],
558
591
  e.conflict.conflicting_dependencies
559
592
  end
560
593
 
@@ -612,42 +645,42 @@ class TestGemResolver < Gem::TestCase
612
645
 
613
646
  r = Gem::Resolver.new([d1, d2, d3], s)
614
647
 
615
- assert_raises Gem::DependencyResolutionError do
648
+ assert_raise Gem::DependencyResolutionError do
616
649
  r.resolve
617
650
  end
618
651
  end
619
652
 
620
653
  def test_resolve_conflict
621
- a1 = util_spec 'a', 1
622
- a2 = util_spec 'a', 2
654
+ a1 = util_spec "a", 1
655
+ a2 = util_spec "a", 2
623
656
 
624
- b2 = util_spec 'b', 2, 'a' => '~> 2.0'
657
+ b2 = util_spec "b", 2, "a" => "~> 2.0"
625
658
 
626
659
  s = set a1, a2, b2
627
660
 
628
- a_dep = dep 'a', '~> 1.0'
629
- b_dep = dep 'b'
661
+ a_dep = dep "a", "~> 1.0"
662
+ b_dep = dep "b"
630
663
 
631
664
  r = Gem::Resolver.new [a_dep, b_dep], s
632
665
 
633
- assert_raises Gem::DependencyResolutionError do
666
+ assert_raise Gem::DependencyResolutionError do
634
667
  r.resolve
635
668
  end
636
669
  end
637
670
 
638
671
  def test_resolve_bug_699
639
- a1 = util_spec 'a', '1', 'b' => '= 2',
640
- 'c' => '~> 1.0.3'
672
+ a1 = util_spec "a", "1", "b" => "= 2",
673
+ "c" => "~> 1.0.3"
641
674
 
642
- b1 = util_spec 'b', '2', 'c' => '~> 1.0'
675
+ b1 = util_spec "b", "2", "c" => "~> 1.0"
643
676
 
644
- c1 = util_spec 'c', '1.0.9'
645
- c2 = util_spec 'c', '1.1.0'
646
- c3 = util_spec 'c', '1.2.0'
677
+ c1 = util_spec "c", "1.0.9"
678
+ c2 = util_spec "c", "1.1.0"
679
+ c3 = util_spec "c", "1.2.0"
647
680
 
648
681
  s = set a1, b1, c1, c2, c3
649
682
 
650
- a_dep = dep 'a', '= 1'
683
+ a_dep = dep "a", "= 1"
651
684
 
652
685
  r = Gem::Resolver.new [a_dep], s
653
686
 
@@ -655,16 +688,16 @@ class TestGemResolver < Gem::TestCase
655
688
  end
656
689
 
657
690
  def test_resolve_rollback
658
- a1 = util_spec 'a', 1
659
- a2 = util_spec 'a', 2
691
+ a1 = util_spec "a", 1
692
+ a2 = util_spec "a", 2
660
693
 
661
- b1 = util_spec 'b', 1, 'a' => '~> 1.0'
662
- b2 = util_spec 'b', 2, 'a' => '~> 2.0'
694
+ b1 = util_spec "b", 1, "a" => "~> 1.0"
695
+ b2 = util_spec "b", 2, "a" => "~> 2.0"
663
696
 
664
697
  s = set a1, a2, b1, b2
665
698
 
666
- a_dep = dep 'a', '~> 1.0'
667
- b_dep = dep 'b'
699
+ a_dep = dep "a", "~> 1.0"
700
+ b_dep = dep "b"
668
701
 
669
702
  r = Gem::Resolver.new [a_dep, b_dep], s
670
703
 
@@ -712,15 +745,15 @@ class TestGemResolver < Gem::TestCase
712
745
  end
713
746
 
714
747
  def test_sorts_by_source_then_version
715
- sourceA = Gem::Source.new 'http://example.com/a'
716
- sourceB = Gem::Source.new 'http://example.com/b'
717
- sourceC = Gem::Source.new 'http://example.com/c'
748
+ sourceA = Gem::Source.new "http://example.com/a"
749
+ sourceB = Gem::Source.new "http://example.com/b"
750
+ sourceC = Gem::Source.new "http://example.com/c"
718
751
 
719
- spec_A_1 = util_spec 'some-dep', '0.0.1'
720
- spec_A_2 = util_spec 'some-dep', '1.0.0'
721
- spec_B_1 = util_spec 'some-dep', '0.0.1'
722
- spec_B_2 = util_spec 'some-dep', '0.0.2'
723
- spec_C_1 = util_spec 'some-dep', '0.1.0'
752
+ spec_A_1 = util_spec "some-dep", "0.0.1"
753
+ spec_A_2 = util_spec "some-dep", "1.0.0"
754
+ spec_B_1 = util_spec "some-dep", "0.0.1"
755
+ spec_B_2 = util_spec "some-dep", "0.0.2"
756
+ spec_C_1 = util_spec "some-dep", "0.1.0"
724
757
 
725
758
  set = StaticSet.new [
726
759
  Gem::Resolver::SpecSpecification.new(nil, spec_B_1, sourceB),
@@ -730,7 +763,7 @@ class TestGemResolver < Gem::TestCase
730
763
  Gem::Resolver::SpecSpecification.new(nil, spec_A_1, sourceA),
731
764
  ]
732
765
 
733
- dependency = make_dep 'some-dep', '> 0'
766
+ dependency = make_dep "some-dep", "> 0"
734
767
 
735
768
  resolver = Gem::Resolver.new [dependency], set
736
769
 
@@ -740,14 +773,14 @@ class TestGemResolver < Gem::TestCase
740
773
  def test_select_local_platforms
741
774
  r = Gem::Resolver.new nil, nil
742
775
 
743
- a1 = util_spec 'a', 1
776
+ a1 = util_spec "a", 1
744
777
 
745
- a1_p1 = util_spec 'a', 1 do |s|
778
+ a1_p1 = util_spec "a", 1 do |s|
746
779
  s.platform = Gem::Platform.local
747
780
  end
748
781
 
749
- a1_p2 = util_spec 'a', 1 do |s|
750
- s.platform = 'unknown'
782
+ a1_p2 = util_spec "a", 1 do |s|
783
+ s.platform = "unknown"
751
784
  end
752
785
 
753
786
  selected = r.select_local_platforms [a1, a1_p1, a1_p2]
@@ -756,18 +789,18 @@ class TestGemResolver < Gem::TestCase
756
789
  end
757
790
 
758
791
  def test_search_for_local_platform_partial_string_match
759
- a1 = util_spec 'a', 1
792
+ a1 = util_spec "a", 1
760
793
 
761
- a1_p1 = util_spec 'a', 1 do |s|
794
+ a1_p1 = util_spec "a", 1 do |s|
762
795
  s.platform = Gem::Platform.local.os
763
796
  end
764
797
 
765
- a1_p2 = util_spec 'a', 1 do |s|
766
- s.platform = 'unknown'
798
+ a1_p2 = util_spec "a", 1 do |s|
799
+ s.platform = "unknown"
767
800
  end
768
801
 
769
802
  s = set(a1_p1, a1_p2, a1)
770
- d = [make_dep('a')]
803
+ d = [make_dep("a")]
771
804
  r = Gem::Resolver.new(d, s)
772
805
 
773
806
  assert_resolves_to [a1_p1], r
@@ -782,12 +815,11 @@ class TestGemResolver < Gem::TestCase
782
815
 
783
816
  r = Gem::Resolver.new([ad], set(a1))
784
817
 
785
- e = assert_raises Gem::UnsatisfiableDepedencyError do
818
+ e = assert_raise Gem::UnsatisfiableDependencyError do
786
819
  r.resolve
787
820
  end
788
821
 
789
822
  assert_match "No match for 'a (= 1)' on this platform. Found: c-p-1",
790
823
  e.message
791
824
  end
792
-
793
825
  end
@@ -1,19 +1,18 @@
1
1
  # frozen_string_literal: true
2
- require 'rubygems/test_case'
2
+ require_relative "helper"
3
3
 
4
4
  class TestGemResolverActivationRequest < Gem::TestCase
5
-
6
5
  def setup
7
6
  super
8
7
 
9
8
  @DR = Gem::Resolver
10
9
 
11
- @dep = @DR::DependencyRequest.new dep('a', '>= 0'), nil
10
+ @dep = @DR::DependencyRequest.new dep("a", ">= 0"), nil
12
11
 
13
12
  source = Gem::Source::Local.new
14
13
  platform = Gem::Platform::RUBY
15
14
 
16
- @a3 = @DR::IndexSpecification.new nil, 'a', v(3), source, platform
15
+ @a3 = @DR::IndexSpecification.new nil, "a", v(3), source, platform
17
16
 
18
17
  @req = @DR::ActivationRequest.new @a3, @dep
19
18
  end
@@ -21,7 +20,7 @@ class TestGemResolverActivationRequest < Gem::TestCase
21
20
  def test_development_eh
22
21
  refute @req.development?
23
22
 
24
- dep_req = @DR::DependencyRequest.new dep('a', '>= 0', :development), nil
23
+ dep_req = @DR::DependencyRequest.new dep("a", ">= 0", :development), nil
25
24
 
26
25
  act_req = @DR::ActivationRequest.new @a3, dep_req
27
26
 
@@ -29,8 +28,8 @@ class TestGemResolverActivationRequest < Gem::TestCase
29
28
  end
30
29
 
31
30
  def test_inspect
32
- assert_match 'a-3', @req.inspect
33
- assert_match 'from a (>= 0)', @req.inspect
31
+ assert_match "a-3", @req.inspect
32
+ assert_match "from a (>= 0)", @req.inspect
34
33
  end
35
34
 
36
35
  def test_installed_eh
@@ -40,5 +39,4 @@ class TestGemResolverActivationRequest < Gem::TestCase
40
39
 
41
40
  assert @req.installed?
42
41
  end
43
-
44
42
  end