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,13 +1,12 @@
1
1
  # frozen_string_literal: true
2
- require 'rubygems/installer_test_case'
3
- require 'rubygems/commands/uninstall_command'
2
+ require_relative "installer_test_case"
3
+ require "rubygems/commands/uninstall_command"
4
4
 
5
5
  class TestGemCommandsUninstallCommand < Gem::InstallerTestCase
6
-
7
6
  def setup
8
7
  super
9
8
  @cmd = Gem::Commands::UninstallCommand.new
10
- @executable = File.join(@gemhome, 'bin', 'executable')
9
+ @executable = File.join(@gemhome, "bin", "executable")
11
10
  end
12
11
 
13
12
  def test_execute_all_named
@@ -15,20 +14,20 @@ class TestGemCommandsUninstallCommand < Gem::InstallerTestCase
15
14
 
16
15
  util_make_gems
17
16
 
18
- default = new_default_spec 'default', '1'
17
+ default = new_default_spec "default", "1"
19
18
  install_default_gems default
20
19
 
21
20
  gemhome2 = "#{@gemhome}2"
22
21
 
23
- a_4, = util_gem 'a', 4
22
+ a_4, = util_gem "a", 4
24
23
  install_gem a_4, :install_dir => gemhome2
25
24
 
26
25
  Gem::Specification.dirs = [@gemhome, gemhome2]
27
26
 
28
- assert_includes Gem::Specification.all_names, 'a-1'
29
- assert_includes Gem::Specification.all_names, 'a-4'
30
- assert_includes Gem::Specification.all_names, 'b-2'
31
- assert_includes Gem::Specification.all_names, 'default-1'
27
+ assert_includes Gem::Specification.all_names, "a-1"
28
+ assert_includes Gem::Specification.all_names, "a-4"
29
+ assert_includes Gem::Specification.all_names, "b-2"
30
+ assert_includes Gem::Specification.all_names, "default-1"
32
31
 
33
32
  @cmd.options[:all] = true
34
33
  @cmd.options[:args] = %w[a]
@@ -42,10 +41,10 @@ class TestGemCommandsUninstallCommand < Gem::InstallerTestCase
42
41
  end
43
42
 
44
43
  def test_execute_all_named_default_single
45
- z_1 = new_default_spec 'z', '1'
44
+ z_1 = new_default_spec "z", "1"
46
45
  install_default_gems z_1
47
46
 
48
- assert_includes Gem::Specification.all_names, 'z-1'
47
+ assert_includes Gem::Specification.all_names, "z-1"
49
48
 
50
49
  @cmd.options[:all] = true
51
50
  @cmd.options[:args] = %w[z]
@@ -58,18 +57,18 @@ class TestGemCommandsUninstallCommand < Gem::InstallerTestCase
58
57
 
59
58
  output = @ui.output.split "\n"
60
59
 
61
- assert_equal 'Gem z-1 cannot be uninstalled because it is a default gem', output.shift
60
+ assert_equal "Gem z-1 cannot be uninstalled because it is a default gem", output.shift
62
61
  end
63
62
 
64
63
  def test_execute_all_named_default_multiple
65
- z_1 = new_default_spec 'z', '1'
64
+ z_1 = new_default_spec "z", "1"
66
65
  install_default_gems z_1
67
66
 
68
- z_2, = util_gem 'z', 2
67
+ z_2, = util_gem "z", 2
69
68
  install_gem z_2
70
69
 
71
- assert_includes Gem::Specification.all_names, 'z-1'
72
- assert_includes Gem::Specification.all_names, 'z-2'
70
+ assert_includes Gem::Specification.all_names, "z-1"
71
+ assert_includes Gem::Specification.all_names, "z-2"
73
72
 
74
73
  @cmd.options[:all] = true
75
74
  @cmd.options[:args] = %w[z]
@@ -82,15 +81,15 @@ class TestGemCommandsUninstallCommand < Gem::InstallerTestCase
82
81
 
83
82
  output = @ui.output.split "\n"
84
83
 
85
- assert_equal 'Gem z-1 cannot be uninstalled because it is a default gem', output.shift
86
- assert_equal 'Successfully uninstalled z-2', output.shift
84
+ assert_equal "Gem z-1 cannot be uninstalled because it is a default gem", output.shift
85
+ assert_equal "Successfully uninstalled z-2", output.shift
87
86
  end
88
87
 
89
88
  def test_execute_dependency_order
90
89
  initial_install
91
90
 
92
- c = quick_gem 'c' do |spec|
93
- spec.add_dependency 'a'
91
+ c = quick_gem "c" do |spec|
92
+ spec.add_dependency "a"
94
93
  end
95
94
 
96
95
  util_build_gem c
@@ -111,9 +110,9 @@ class TestGemCommandsUninstallCommand < Gem::InstallerTestCase
111
110
 
112
111
  output = ui.output.split "\n"
113
112
 
114
- assert_equal 'Successfully uninstalled c-2', output.shift
113
+ assert_equal "Successfully uninstalled c-2", output.shift
115
114
  assert_equal "Removing executable", output.shift
116
- assert_equal 'Successfully uninstalled a-2', output.shift
115
+ assert_equal "Successfully uninstalled a-2", output.shift
117
116
  end
118
117
 
119
118
  def test_execute_removes_executable
@@ -150,12 +149,12 @@ class TestGemCommandsUninstallCommand < Gem::InstallerTestCase
150
149
 
151
150
  FileUtils.rm_f @executable # Wish this didn't happen in #setup
152
151
 
153
- Gem::Installer.exec_format = 'foo-%s-bar'
152
+ Gem::Installer.exec_format = "foo-%s-bar"
154
153
 
155
154
  installer.format_executable = true
156
155
  installer.install
157
156
 
158
- formatted_executable = File.join @gemhome, 'bin', 'foo-executable-bar'
157
+ formatted_executable = File.join @gemhome, "bin", "foo-executable-bar"
159
158
  assert_equal true, File.exist?(formatted_executable)
160
159
 
161
160
  @cmd.options[:executables] = true
@@ -198,19 +197,19 @@ class TestGemCommandsUninstallCommand < Gem::InstallerTestCase
198
197
 
199
198
  util_make_gems
200
199
 
201
- assert_equal 3, Gem::Specification.find_all_by_name('a').length
200
+ assert_equal 3, Gem::Specification.find_all_by_name("a").length
202
201
 
203
- @cmd.options[:version] = '1'
202
+ @cmd.options[:version] = "1"
204
203
  @cmd.options[:force] = true
205
- @cmd.options[:args] = ['a']
204
+ @cmd.options[:args] = ["a"]
206
205
 
207
206
  use_ui ui do
208
207
  @cmd.execute
209
208
  end
210
209
 
211
- assert_equal 2, Gem::Specification.find_all_by_name('a').length
210
+ assert_equal 2, Gem::Specification.find_all_by_name("a").length
212
211
 
213
- assert File.exist? File.join(@gemhome, 'bin', 'executable')
212
+ assert File.exist? File.join(@gemhome, "bin", "executable")
214
213
  end
215
214
 
216
215
  def test_execute_with_version_specified_as_colon
@@ -220,18 +219,18 @@ class TestGemCommandsUninstallCommand < Gem::InstallerTestCase
220
219
 
221
220
  util_make_gems
222
221
 
223
- assert_equal 3, Gem::Specification.find_all_by_name('a').length
222
+ assert_equal 3, Gem::Specification.find_all_by_name("a").length
224
223
 
225
224
  @cmd.options[:force] = true
226
- @cmd.options[:args] = ['a:1']
225
+ @cmd.options[:args] = ["a:1"]
227
226
 
228
227
  use_ui ui do
229
228
  @cmd.execute
230
229
  end
231
230
 
232
- assert_equal 2, Gem::Specification.find_all_by_name('a').length
231
+ assert_equal 2, Gem::Specification.find_all_by_name("a").length
233
232
 
234
- assert File.exist? File.join(@gemhome, 'bin', 'executable')
233
+ assert File.exist? File.join(@gemhome, "bin", "executable")
235
234
  end
236
235
 
237
236
  def test_uninstall_selection
@@ -239,22 +238,22 @@ class TestGemCommandsUninstallCommand < Gem::InstallerTestCase
239
238
 
240
239
  util_make_gems
241
240
 
242
- list = Gem::Specification.find_all_by_name 'a'
241
+ list = Gem::Specification.find_all_by_name "a"
243
242
 
244
- @cmd.options[:args] = ['a']
243
+ @cmd.options[:args] = ["a"]
245
244
 
246
245
  use_ui ui do
247
246
  @cmd.execute
248
247
  end
249
248
 
250
- updated_list = Gem::Specification.find_all_by_name('a')
249
+ updated_list = Gem::Specification.find_all_by_name("a")
251
250
  assert_equal list.length - 1, updated_list.length
252
251
 
253
- assert_match ' 1. a-1', ui.output
254
- assert_match ' 2. a-2', ui.output
255
- assert_match ' 3. a-3.a', ui.output
256
- assert_match ' 4. All versions', ui.output
257
- assert_match 'uninstalled a-1', ui.output
252
+ assert_match " 1. a-1", ui.output
253
+ assert_match " 2. a-2", ui.output
254
+ assert_match " 3. a-3.a", ui.output
255
+ assert_match " 4. All versions", ui.output
256
+ assert_match "uninstalled a-1", ui.output
258
257
  end
259
258
 
260
259
  def test_uninstall_selection_multiple_gems
@@ -262,31 +261,31 @@ class TestGemCommandsUninstallCommand < Gem::InstallerTestCase
262
261
 
263
262
  util_make_gems
264
263
 
265
- a_list = Gem::Specification.find_all_by_name('a')
266
- b_list = Gem::Specification.find_all_by_name('b')
264
+ a_list = Gem::Specification.find_all_by_name("a")
265
+ b_list = Gem::Specification.find_all_by_name("b")
267
266
  list = a_list + b_list
268
267
 
269
- @cmd.options[:args] = ['a', 'b']
268
+ @cmd.options[:args] = ["a", "b"]
270
269
 
271
270
  use_ui ui do
272
271
  @cmd.execute
273
272
  end
274
273
 
275
- updated_a_list = Gem::Specification.find_all_by_name('a')
276
- updated_b_list = Gem::Specification.find_all_by_name('b')
274
+ updated_a_list = Gem::Specification.find_all_by_name("a")
275
+ updated_b_list = Gem::Specification.find_all_by_name("b")
277
276
  updated_list = updated_a_list + updated_b_list
278
277
 
279
278
  assert_equal list.length - 2, updated_list.length
280
279
 
281
280
  out = ui.output.split("\n")
282
- assert_match 'uninstalled b-2', out.shift
283
- assert_match '', out.shift
284
- assert_match 'Select gem to uninstall:', out.shift
285
- assert_match ' 1. a-1', out.shift
286
- assert_match ' 2. a-2', out.shift
287
- assert_match ' 3. a-3.a', out.shift
288
- assert_match ' 4. All versions', out.shift
289
- assert_match 'uninstalled a-1', out.shift
281
+ assert_match "uninstalled b-2", out.shift
282
+ assert_match "", out.shift
283
+ assert_match "Select gem to uninstall:", out.shift
284
+ assert_match " 1. a-1", out.shift
285
+ assert_match " 2. a-2", out.shift
286
+ assert_match " 3. a-3.a", out.shift
287
+ assert_match " 4. All versions", out.shift
288
+ assert_match "uninstalled a-1", out.shift
290
289
  assert_empty out
291
290
  end
292
291
 
@@ -295,22 +294,22 @@ class TestGemCommandsUninstallCommand < Gem::InstallerTestCase
295
294
 
296
295
  ui = Gem::MockGemUi.new "y\n"
297
296
 
298
- a_1, = util_gem 'a', 1
297
+ a_1, = util_gem "a", 1
299
298
  install_gem a_1
300
299
 
301
- a_3a, = util_gem 'a', '3.a'
300
+ a_3a, = util_gem "a", "3.a"
302
301
  install_gem a_3a
303
302
 
304
- assert_equal 3, Gem::Specification.find_all_by_name('a').length
303
+ assert_equal 3, Gem::Specification.find_all_by_name("a").length
305
304
 
306
305
  @cmd.options[:force] = true
307
- @cmd.options[:args] = ['a']
306
+ @cmd.options[:args] = ["a"]
308
307
 
309
308
  use_ui ui do
310
309
  @cmd.execute
311
310
  end
312
311
 
313
- assert_empty Gem::Specification.find_all_by_name('a')
312
+ assert_empty Gem::Specification.find_all_by_name("a")
314
313
  assert_match "Removing executable", ui.output
315
314
  refute File.exist? @executable
316
315
  end
@@ -322,36 +321,36 @@ class TestGemCommandsUninstallCommand < Gem::InstallerTestCase
322
321
 
323
322
  util_make_gems
324
323
 
325
- assert Gem::Specification.find_all_by_name('dep_x').length > 0
326
- assert Gem::Specification.find_all_by_name('x').length > 0
324
+ assert Gem::Specification.find_all_by_name("dep_x").length > 0
325
+ assert Gem::Specification.find_all_by_name("x").length > 0
327
326
 
328
327
  @cmd.options[:force] = true
329
- @cmd.options[:args] = ['x']
328
+ @cmd.options[:args] = ["x"]
330
329
 
331
330
  use_ui ui do
332
331
  @cmd.execute
333
332
  end
334
333
 
335
- assert Gem::Specification.find_all_by_name('dep_x').length > 0
336
- assert Gem::Specification.find_all_by_name('x').length.zero?
334
+ assert Gem::Specification.find_all_by_name("dep_x").length > 0
335
+ assert Gem::Specification.find_all_by_name("x").length.zero?
337
336
  end
338
337
 
339
338
  def test_execute_all
340
339
  util_make_gems
341
340
 
342
- default = new_default_spec 'default', '1'
341
+ default = new_default_spec "default", "1"
343
342
  install_default_gems default
344
343
 
345
344
  gemhome2 = "#{@gemhome}2"
346
345
 
347
- a_4, = util_gem 'a', 4
346
+ a_4, = util_gem "a", 4
348
347
  install_gem a_4
349
348
 
350
349
  Gem::Specification.dirs = [@gemhome, gemhome2]
351
350
 
352
- assert_includes Gem::Specification.all_names, 'a-1'
353
- assert_includes Gem::Specification.all_names, 'a-4'
354
- assert_includes Gem::Specification.all_names, 'default-1'
351
+ assert_includes Gem::Specification.all_names, "a-1"
352
+ assert_includes Gem::Specification.all_names, "a-4"
353
+ assert_includes Gem::Specification.all_names, "default-1"
355
354
 
356
355
  @cmd.options[:all] = true
357
356
  @cmd.options[:args] = []
@@ -369,16 +368,16 @@ class TestGemCommandsUninstallCommand < Gem::InstallerTestCase
369
368
 
370
369
  gemhome2 = "#{@gemhome}2"
371
370
 
372
- a_4, = util_gem 'a', 4
371
+ a_4, = util_gem "a", 4
373
372
  install_gem a_4 , :install_dir => gemhome2
374
373
 
375
374
  Gem::Specification.dirs = [@gemhome, gemhome2]
376
375
 
377
- assert_includes Gem::Specification.all_names, 'a-4'
376
+ assert_includes Gem::Specification.all_names, "a-4"
378
377
 
379
- @cmd.options[:args] = ['a:4']
378
+ @cmd.options[:args] = ["a:4"]
380
379
 
381
- e = assert_raises Gem::InstallError do
380
+ e = assert_raise Gem::InstallError do
382
381
  use_ui ui do
383
382
  @cmd.execute
384
383
  end
@@ -398,7 +397,7 @@ class TestGemCommandsUninstallCommand < Gem::InstallerTestCase
398
397
  end
399
398
 
400
399
  def test_handle_options_vendor
401
- vendordir(File.join(@tempdir, 'vendor')) do
400
+ vendordir(File.join(@tempdir, "vendor")) do
402
401
  use_ui @ui do
403
402
  @cmd.handle_options %w[--vendor]
404
403
  end
@@ -421,7 +420,7 @@ WARNING: Use your OS package manager to uninstall vendor gems
421
420
  @cmd.options[:version] = Gem::Requirement.new("> 1")
422
421
 
423
422
  use_ui @ui do
424
- e = assert_raises Gem::MockGemUi::TermError do
423
+ e = assert_raise Gem::MockGemUi::TermError do
425
424
  @cmd.execute
426
425
  end
427
426
 
@@ -437,11 +436,11 @@ WARNING: Use your OS package manager to uninstall vendor gems
437
436
 
438
437
  def test_handle_options_vendor_missing
439
438
  vendordir(nil) do
440
- e = assert_raises OptionParser::InvalidOption do
439
+ e = assert_raise Gem::OptionParser::InvalidOption do
441
440
  @cmd.handle_options %w[--vendor]
442
441
  end
443
442
 
444
- assert_equal 'invalid option: --vendor your platform is not supported',
443
+ assert_equal "invalid option: --vendor your platform is not supported",
445
444
  e.message
446
445
 
447
446
  refute @cmd.options[:vendor]
@@ -450,7 +449,7 @@ WARNING: Use your OS package manager to uninstall vendor gems
450
449
  end
451
450
 
452
451
  def test_execute_with_gem_not_installed
453
- @cmd.options[:args] = ['d']
452
+ @cmd.options[:args] = ["d"]
454
453
 
455
454
  use_ui ui do
456
455
  @cmd.execute
@@ -478,7 +477,7 @@ WARNING: Use your OS package manager to uninstall vendor gems
478
477
  e = nil
479
478
  @cmd.stub :uninstall, uninstall_exception do
480
479
  use_ui @ui do
481
- e = assert_raises Gem::MockGemUi::TermError do
480
+ e = assert_raise Gem::MockGemUi::TermError do
482
481
  @cmd.execute
483
482
  end
484
483
  end
@@ -487,7 +486,7 @@ WARNING: Use your OS package manager to uninstall vendor gems
487
486
  end
488
487
 
489
488
  assert_empty @ui.output
490
- assert_match %r!Error: unable to successfully uninstall '#{@spec.name}'!, @ui.error
489
+ assert_match %r{Error: unable to successfully uninstall '#{@spec.name}'}, @ui.error
491
490
  end
492
491
 
493
492
  private
@@ -502,5 +501,4 @@ WARNING: Use your OS package manager to uninstall vendor gems
502
501
  end
503
502
  end
504
503
  end
505
-
506
504
  end
@@ -1,9 +1,8 @@
1
1
  # frozen_string_literal: true
2
- require 'rubygems/test_case'
3
- require 'rubygems/commands/unpack_command'
2
+ require_relative "helper"
3
+ require "rubygems/commands/unpack_command"
4
4
 
5
5
  class TestGemCommandsUnpackCommand < Gem::TestCase
6
-
7
6
  def setup
8
7
  super
9
8
 
@@ -18,28 +17,28 @@ class TestGemCommandsUnpackCommand < Gem::TestCase
18
17
  assert_equal(
19
18
  @cmd.find_in_cache(File.basename @a1.cache_file),
20
19
  @a1.cache_file,
21
- 'found a-1.gem in the cache'
20
+ "found a-1.gem in the cache"
22
21
  )
23
22
  end
24
23
 
25
24
  def test_get_path
26
25
  specs = spec_fetcher do |fetcher|
27
- fetcher.gem 'a', 1
26
+ fetcher.gem "a", 1
28
27
  end
29
28
 
30
- dep = Gem::Dependency.new 'a', 1
29
+ dep = Gem::Dependency.new "a", 1
31
30
  assert_equal(
32
31
  @cmd.get_path(dep),
33
- specs['a-1'].cache_file,
34
- 'fetches a-1 and returns the cache path'
32
+ specs["a-1"].cache_file,
33
+ "fetches a-1 and returns the cache path"
35
34
  )
36
35
 
37
- FileUtils.rm specs['a-1'].cache_file
36
+ FileUtils.rm specs["a-1"].cache_file
38
37
 
39
38
  assert_equal(
40
39
  @cmd.get_path(dep),
41
- specs['a-1'].cache_file,
42
- 'when removed from cache, refetches a-1'
40
+ specs["a-1"].cache_file,
41
+ "when removed from cache, refetches a-1"
43
42
  )
44
43
  end
45
44
 
@@ -54,18 +53,18 @@ class TestGemCommandsUnpackCommand < Gem::TestCase
54
53
  end
55
54
  end
56
55
 
57
- assert File.exist?(File.join(@tempdir, 'a-3.a')), 'a should be unpacked'
58
- assert File.exist?(File.join(@tempdir, 'b-2')), 'b should be unpacked'
56
+ assert File.exist?(File.join(@tempdir, "a-3.a")), "a should be unpacked"
57
+ assert File.exist?(File.join(@tempdir, "b-2")), "b should be unpacked"
59
58
  end
60
59
 
61
60
  def test_execute_gem_path
62
61
  spec_fetcher do |fetcher|
63
- fetcher.gem 'a', '3.a'
62
+ fetcher.gem "a", "3.a"
64
63
  end
65
64
 
66
65
  Gem.clear_paths
67
66
 
68
- gemhome2 = File.join @tempdir, 'gemhome2'
67
+ gemhome2 = File.join @tempdir, "gemhome2"
69
68
 
70
69
  Gem.use_paths gemhome2, [gemhome2, @gemhome]
71
70
 
@@ -77,7 +76,7 @@ class TestGemCommandsUnpackCommand < Gem::TestCase
77
76
  end
78
77
  end
79
78
 
80
- assert File.exist?(File.join(@tempdir, 'a-3.a'))
79
+ assert File.exist?(File.join(@tempdir, "a-3.a"))
81
80
  end
82
81
 
83
82
  def test_execute_gem_path_missing
@@ -85,7 +84,7 @@ class TestGemCommandsUnpackCommand < Gem::TestCase
85
84
 
86
85
  Gem.clear_paths
87
86
 
88
- gemhome2 = File.join @tempdir, 'gemhome2'
87
+ gemhome2 = File.join @tempdir, "gemhome2"
89
88
 
90
89
  Gem.use_paths gemhome2, [gemhome2, @gemhome]
91
90
 
@@ -97,13 +96,13 @@ class TestGemCommandsUnpackCommand < Gem::TestCase
97
96
  end
98
97
  end
99
98
 
100
- assert_equal '', @ui.output
99
+ assert_equal "", @ui.output
101
100
  end
102
101
 
103
102
  def test_execute_remote
104
103
  spec_fetcher do |fetcher|
105
- fetcher.download 'a', 1
106
- fetcher.download 'a', 2
104
+ fetcher.download "a", 1
105
+ fetcher.download "a", 2
107
106
  end
108
107
 
109
108
  Gem.configuration.verbose = :really
@@ -115,7 +114,7 @@ class TestGemCommandsUnpackCommand < Gem::TestCase
115
114
  end
116
115
  end
117
116
 
118
- assert File.exist?(File.join(@tempdir, 'a-2')), 'a should be unpacked'
117
+ assert File.exist?(File.join(@tempdir, "a-2")), "a should be unpacked"
119
118
  end
120
119
 
121
120
  def test_execute_spec
@@ -130,15 +129,15 @@ class TestGemCommandsUnpackCommand < Gem::TestCase
130
129
  end
131
130
  end
132
131
 
133
- assert File.exist?(File.join(@tempdir, 'a-3.a.gemspec'))
134
- assert File.exist?(File.join(@tempdir, 'b-2.gemspec'))
132
+ assert File.exist?(File.join(@tempdir, "a-3.a.gemspec"))
133
+ assert File.exist?(File.join(@tempdir, "b-2.gemspec"))
135
134
  end
136
135
 
137
136
  def test_execute_spec_target
138
137
  util_make_gems
139
138
 
140
139
  @cmd.options[:args] = %w[a b]
141
- @cmd.options[:target] = 'specs'
140
+ @cmd.options[:target] = "specs"
142
141
  @cmd.options[:spec] = true
143
142
 
144
143
  use_ui @ui do
@@ -147,12 +146,12 @@ class TestGemCommandsUnpackCommand < Gem::TestCase
147
146
  end
148
147
  end
149
148
 
150
- assert File.exist?(File.join(@tempdir, 'specs/a-3.a.gemspec'))
151
- assert File.exist?(File.join(@tempdir, 'specs/b-2.gemspec'))
149
+ assert File.exist?(File.join(@tempdir, "specs/a-3.a.gemspec"))
150
+ assert File.exist?(File.join(@tempdir, "specs/b-2.gemspec"))
152
151
  end
153
152
 
154
153
  def test_execute_sudo
155
- skip 'Cannot perform this test on windows (chmod)' if win_platform?
154
+ pend "Cannot perform this test on windows (chmod)" if win_platform?
156
155
 
157
156
  util_make_gems
158
157
 
@@ -166,7 +165,7 @@ class TestGemCommandsUnpackCommand < Gem::TestCase
166
165
  end
167
166
  end
168
167
 
169
- assert File.exist?(File.join(@tempdir, 'b-2')), 'b should be unpacked'
168
+ assert File.exist?(File.join(@tempdir, "b-2")), "b should be unpacked"
170
169
  ensure
171
170
  FileUtils.chmod 0755, @gemhome
172
171
  end
@@ -174,7 +173,7 @@ class TestGemCommandsUnpackCommand < Gem::TestCase
174
173
  def test_execute_with_target_option
175
174
  util_make_gems
176
175
 
177
- target = 'with_target'
176
+ target = "with_target"
178
177
  @cmd.options[:args] = %w[a]
179
178
  @cmd.options[:target] = target
180
179
 
@@ -184,12 +183,12 @@ class TestGemCommandsUnpackCommand < Gem::TestCase
184
183
  end
185
184
  end
186
185
 
187
- assert File.exist?(File.join(@tempdir, target, 'a-3.a'))
186
+ assert File.exist?(File.join(@tempdir, target, "a-3.a"))
188
187
  end
189
188
 
190
189
  def test_execute_exact_match
191
- foo_spec = util_spec 'foo'
192
- foo_bar_spec = util_spec 'foo_bar'
190
+ foo_spec = util_spec "foo"
191
+ foo_bar_spec = util_spec "foo_bar"
193
192
 
194
193
  use_ui @ui do
195
194
  Dir.chdir @tempdir do
@@ -211,7 +210,7 @@ class TestGemCommandsUnpackCommand < Gem::TestCase
211
210
  end
212
211
  end
213
212
 
214
- assert_path_exists File.join(@tempdir, foo_spec.full_name)
213
+ assert_path_exist File.join(@tempdir, foo_spec.full_name)
215
214
  end
216
215
 
217
216
  def test_handle_options_metadata
@@ -221,5 +220,4 @@ class TestGemCommandsUnpackCommand < Gem::TestCase
221
220
 
222
221
  assert @cmd.options[:spec]
223
222
  end
224
-
225
223
  end