rubygems-update 3.0.3 → 3.4.7

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 (795) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +5556 -0
  3. data/CODE_OF_CONDUCT.md +62 -24
  4. data/CONTRIBUTING.md +111 -21
  5. data/MAINTAINERS.txt +1 -6
  6. data/Manifest.txt +209 -101
  7. data/POLICIES.md +65 -22
  8. data/README.md +23 -15
  9. data/UPGRADING.md +5 -81
  10. data/bin/gem +2 -16
  11. data/bin/update_rubygems +5 -5
  12. data/bundler/CHANGELOG.md +2619 -1256
  13. data/bundler/LICENSE.md +18 -19
  14. data/bundler/README.md +11 -12
  15. data/bundler/UPGRADING.md +222 -0
  16. data/bundler/bundler.gemspec +13 -33
  17. data/bundler/exe/bundle +26 -11
  18. data/bundler/exe/bundler +1 -1
  19. data/bundler/lib/bundler/.document +1 -0
  20. data/bundler/lib/bundler/build_metadata.rb +5 -13
  21. data/bundler/lib/bundler/capistrano.rb +4 -4
  22. data/bundler/lib/bundler/cli/add.rb +28 -16
  23. data/bundler/lib/bundler/cli/binstubs.rb +11 -3
  24. data/bundler/lib/bundler/cli/cache.rb +24 -17
  25. data/bundler/lib/bundler/cli/check.rb +5 -3
  26. data/bundler/lib/bundler/cli/clean.rb +1 -1
  27. data/bundler/lib/bundler/cli/common.rb +41 -13
  28. data/bundler/lib/bundler/cli/config.rb +170 -86
  29. data/bundler/lib/bundler/cli/console.rb +3 -3
  30. data/bundler/lib/bundler/cli/doctor.rb +27 -10
  31. data/bundler/lib/bundler/cli/exec.rb +8 -25
  32. data/bundler/lib/bundler/cli/fund.rb +36 -0
  33. data/bundler/lib/bundler/cli/gem.rb +261 -48
  34. data/bundler/lib/bundler/cli/info.rb +52 -8
  35. data/bundler/lib/bundler/cli/init.rb +7 -3
  36. data/bundler/lib/bundler/cli/inject.rb +1 -1
  37. data/bundler/lib/bundler/cli/install.rb +38 -66
  38. data/bundler/lib/bundler/cli/issue.rb +8 -7
  39. data/bundler/lib/bundler/cli/list.rb +19 -11
  40. data/bundler/lib/bundler/cli/lock.rb +11 -4
  41. data/bundler/lib/bundler/cli/open.rb +14 -9
  42. data/bundler/lib/bundler/cli/outdated.rb +152 -121
  43. data/bundler/lib/bundler/cli/platform.rb +2 -2
  44. data/bundler/lib/bundler/cli/plugin.rb +19 -2
  45. data/bundler/lib/bundler/cli/pristine.rb +6 -1
  46. data/bundler/lib/bundler/cli/remove.rb +1 -2
  47. data/bundler/lib/bundler/cli/show.rb +3 -3
  48. data/bundler/lib/bundler/cli/update.rb +49 -18
  49. data/bundler/lib/bundler/cli/viz.rb +1 -1
  50. data/bundler/lib/bundler/cli.rb +269 -165
  51. data/bundler/lib/bundler/compact_index_client/cache.rb +7 -24
  52. data/bundler/lib/bundler/compact_index_client/gem_parser.rb +28 -0
  53. data/bundler/lib/bundler/compact_index_client/updater.rb +58 -57
  54. data/bundler/lib/bundler/compact_index_client.rb +28 -18
  55. data/bundler/lib/bundler/constants.rb +1 -1
  56. data/bundler/lib/bundler/current_ruby.rb +26 -11
  57. data/bundler/lib/bundler/definition.rb +359 -441
  58. data/bundler/lib/bundler/dependency.rb +29 -71
  59. data/bundler/lib/bundler/deployment.rb +1 -1
  60. data/bundler/lib/bundler/digest.rb +71 -0
  61. data/bundler/lib/bundler/dsl.rb +84 -116
  62. data/bundler/lib/bundler/endpoint_specification.rb +20 -14
  63. data/bundler/lib/bundler/env.rb +10 -15
  64. data/bundler/lib/bundler/environment_preserver.rb +30 -3
  65. data/bundler/lib/bundler/errors.rb +31 -14
  66. data/bundler/lib/bundler/feature_flag.rb +13 -33
  67. data/bundler/lib/bundler/fetcher/base.rb +7 -9
  68. data/bundler/lib/bundler/fetcher/compact_index.rb +46 -39
  69. data/bundler/lib/bundler/fetcher/dependency.rb +2 -2
  70. data/bundler/lib/bundler/fetcher/downloader.rb +15 -12
  71. data/bundler/lib/bundler/fetcher/index.rb +4 -30
  72. data/bundler/lib/bundler/fetcher.rb +39 -41
  73. data/bundler/lib/bundler/force_platform.rb +18 -0
  74. data/bundler/lib/bundler/friendly_errors.rb +49 -54
  75. data/bundler/lib/bundler/gem_helper.rb +79 -43
  76. data/bundler/lib/bundler/gem_helpers.rb +44 -28
  77. data/bundler/lib/bundler/gem_tasks.rb +1 -1
  78. data/bundler/lib/bundler/gem_version_promoter.rb +54 -99
  79. data/bundler/lib/bundler/graph.rb +5 -5
  80. data/bundler/lib/bundler/index.rb +14 -52
  81. data/bundler/lib/bundler/injector.rb +50 -16
  82. data/bundler/lib/bundler/inline.rb +28 -29
  83. data/bundler/lib/bundler/installer/gem_installer.rb +22 -23
  84. data/bundler/lib/bundler/installer/parallel_installer.rb +51 -51
  85. data/bundler/lib/bundler/installer/standalone.rb +62 -12
  86. data/bundler/lib/bundler/installer.rb +46 -97
  87. data/bundler/lib/bundler/lazy_specification.rb +88 -48
  88. data/bundler/lib/bundler/lockfile_generator.rb +3 -3
  89. data/bundler/lib/bundler/lockfile_parser.rb +30 -62
  90. data/bundler/{man → lib/bundler/man}/bundle-add.1 +29 -5
  91. data/bundler/{man/bundle-add.ronn → lib/bundler/man/bundle-add.1.ronn} +22 -4
  92. data/bundler/{man → lib/bundler/man}/bundle-binstubs.1 +6 -4
  93. data/bundler/{man/bundle-binstubs.ronn → lib/bundler/man/bundle-binstubs.1.ronn} +3 -5
  94. data/bundler/lib/bundler/man/bundle-cache.1 +61 -0
  95. data/bundler/{man/bundle-package.ronn → lib/bundler/man/bundle-cache.1.ronn} +22 -15
  96. data/bundler/{man → lib/bundler/man}/bundle-check.1 +1 -1
  97. data/bundler/{man → lib/bundler/man}/bundle-clean.1 +2 -2
  98. data/bundler/{man/bundle-clean.ronn → lib/bundler/man/bundle-clean.1.ronn} +1 -1
  99. data/bundler/{man → lib/bundler/man}/bundle-config.1 +78 -60
  100. data/bundler/{man/bundle-config.ronn → lib/bundler/man/bundle-config.1.ronn} +96 -85
  101. data/bundler/lib/bundler/man/bundle-console.1 +53 -0
  102. data/bundler/lib/bundler/man/bundle-console.1.ronn +44 -0
  103. data/bundler/{man → lib/bundler/man}/bundle-doctor.1 +1 -1
  104. data/bundler/{man → lib/bundler/man}/bundle-exec.1 +6 -6
  105. data/bundler/{man/bundle-exec.ronn → lib/bundler/man/bundle-exec.1.ronn} +6 -6
  106. data/bundler/lib/bundler/man/bundle-gem.1 +105 -0
  107. data/bundler/lib/bundler/man/bundle-gem.1.ronn +117 -0
  108. data/bundler/lib/bundler/man/bundle-help.1 +13 -0
  109. data/bundler/lib/bundler/man/bundle-help.1.ronn +12 -0
  110. data/bundler/{man → lib/bundler/man}/bundle-info.1 +1 -1
  111. data/bundler/{man → lib/bundler/man}/bundle-init.1 +6 -2
  112. data/bundler/{man/bundle-init.ronn → lib/bundler/man/bundle-init.1.ronn} +3 -1
  113. data/bundler/{man → lib/bundler/man}/bundle-inject.1 +5 -2
  114. data/bundler/{man/bundle-inject.ronn → lib/bundler/man/bundle-inject.1.ronn} +3 -1
  115. data/bundler/{man → lib/bundler/man}/bundle-install.1 +42 -37
  116. data/bundler/{man/bundle-install.ronn → lib/bundler/man/bundle-install.1.ronn} +42 -38
  117. data/bundler/{man → lib/bundler/man}/bundle-list.1 +7 -7
  118. data/bundler/{man/bundle-list.ronn → lib/bundler/man/bundle-list.1.ronn} +6 -6
  119. data/bundler/{man → lib/bundler/man}/bundle-lock.1 +1 -1
  120. data/bundler/{man → lib/bundler/man}/bundle-open.1 +22 -2
  121. data/bundler/{man/bundle-open.ronn → lib/bundler/man/bundle-open.1.ronn} +9 -1
  122. data/bundler/{man → lib/bundler/man}/bundle-outdated.1 +3 -10
  123. data/bundler/{man/bundle-outdated.ronn → lib/bundler/man/bundle-outdated.1.ronn} +1 -10
  124. data/bundler/{man → lib/bundler/man}/bundle-platform.1 +16 -6
  125. data/bundler/{man/bundle-platform.ronn → lib/bundler/man/bundle-platform.1.ronn} +14 -7
  126. data/bundler/lib/bundler/man/bundle-plugin.1 +81 -0
  127. data/bundler/lib/bundler/man/bundle-plugin.1.ronn +59 -0
  128. data/bundler/{man → lib/bundler/man}/bundle-pristine.1 +1 -1
  129. data/bundler/{man → lib/bundler/man}/bundle-remove.1 +1 -1
  130. data/bundler/{man → lib/bundler/man}/bundle-show.1 +1 -1
  131. data/bundler/{man → lib/bundler/man}/bundle-update.1 +8 -8
  132. data/bundler/{man/bundle-update.ronn → lib/bundler/man/bundle-update.1.ronn} +8 -7
  133. data/bundler/lib/bundler/man/bundle-version.1 +35 -0
  134. data/bundler/lib/bundler/man/bundle-version.1.ronn +24 -0
  135. data/bundler/{man → lib/bundler/man}/bundle-viz.1 +4 -1
  136. data/bundler/{man/bundle-viz.ronn → lib/bundler/man/bundle-viz.1.ronn} +2 -0
  137. data/bundler/{man → lib/bundler/man}/bundle.1 +17 -12
  138. data/bundler/{man/bundle.ronn → lib/bundler/man/bundle.1.ronn} +14 -9
  139. data/bundler/lib/bundler/man/gemfile.5 +723 -0
  140. data/bundler/{man → lib/bundler/man}/gemfile.5.ronn +112 -95
  141. data/bundler/lib/bundler/man/index.txt +29 -0
  142. data/bundler/lib/bundler/match_metadata.rb +13 -0
  143. data/bundler/lib/bundler/match_platform.rb +1 -2
  144. data/bundler/lib/bundler/match_remote_metadata.rb +29 -0
  145. data/bundler/lib/bundler/mirror.rb +10 -12
  146. data/bundler/lib/bundler/plugin/api/source.rb +29 -15
  147. data/bundler/lib/bundler/plugin/api.rb +1 -1
  148. data/bundler/lib/bundler/plugin/dsl.rb +1 -1
  149. data/bundler/lib/bundler/plugin/index.rb +31 -8
  150. data/bundler/lib/bundler/plugin/installer/git.rb +0 -4
  151. data/bundler/lib/bundler/plugin/installer/rubygems.rb +1 -9
  152. data/bundler/lib/bundler/plugin/installer.rb +35 -22
  153. data/bundler/lib/bundler/plugin/source_list.rb +5 -1
  154. data/bundler/lib/bundler/plugin.rb +102 -42
  155. data/bundler/lib/bundler/process_lock.rb +1 -1
  156. data/bundler/lib/bundler/remote_specification.rb +15 -8
  157. data/bundler/lib/bundler/resolver/base.rb +77 -0
  158. data/bundler/lib/bundler/resolver/candidate.rb +94 -0
  159. data/bundler/lib/bundler/resolver/incompatibility.rb +15 -0
  160. data/bundler/lib/bundler/resolver/package.rb +72 -0
  161. data/bundler/lib/bundler/resolver/root.rb +25 -0
  162. data/bundler/lib/bundler/resolver/spec_group.rb +49 -73
  163. data/bundler/lib/bundler/resolver.rb +343 -300
  164. data/bundler/lib/bundler/retry.rb +4 -4
  165. data/bundler/lib/bundler/ruby_dsl.rb +1 -1
  166. data/bundler/lib/bundler/ruby_version.rb +9 -37
  167. data/bundler/lib/bundler/rubygems_ext.rb +235 -92
  168. data/bundler/lib/bundler/rubygems_gem_installer.rb +87 -21
  169. data/bundler/lib/bundler/rubygems_integration.rb +179 -515
  170. data/bundler/lib/bundler/runtime.rb +25 -40
  171. data/bundler/lib/bundler/self_manager.rb +168 -0
  172. data/bundler/lib/bundler/settings.rb +162 -118
  173. data/bundler/lib/bundler/setup.rb +11 -12
  174. data/bundler/lib/bundler/shared_helpers.rb +61 -102
  175. data/bundler/lib/bundler/similarity_detector.rb +3 -3
  176. data/bundler/lib/bundler/source/git/git_proxy.rb +257 -128
  177. data/bundler/lib/bundler/source/git.rb +84 -61
  178. data/bundler/lib/bundler/source/metadata.rb +9 -9
  179. data/bundler/lib/bundler/source/path/installer.rb +11 -32
  180. data/bundler/lib/bundler/source/path.rb +28 -17
  181. data/bundler/lib/bundler/source/rubygems/remote.rb +3 -4
  182. data/bundler/lib/bundler/source/rubygems.rb +171 -197
  183. data/bundler/lib/bundler/source/rubygems_aggregate.rb +68 -0
  184. data/bundler/lib/bundler/source.rb +30 -10
  185. data/bundler/lib/bundler/source_list.rb +112 -67
  186. data/bundler/lib/bundler/source_map.rb +71 -0
  187. data/bundler/lib/bundler/spec_set.rb +86 -72
  188. data/bundler/lib/bundler/stub_specification.rb +45 -37
  189. data/bundler/lib/bundler/templates/Executable +3 -5
  190. data/bundler/lib/bundler/templates/Executable.bundler +21 -17
  191. data/bundler/lib/bundler/templates/Executable.standalone +4 -4
  192. data/bundler/lib/bundler/templates/Gemfile +0 -2
  193. data/bundler/lib/bundler/templates/newgem/CHANGELOG.md.tt +5 -0
  194. data/bundler/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt +57 -47
  195. data/bundler/lib/bundler/templates/newgem/Cargo.toml.tt +7 -0
  196. data/bundler/lib/bundler/templates/newgem/Gemfile.tt +22 -2
  197. data/bundler/lib/bundler/templates/newgem/README.md.tt +13 -15
  198. data/bundler/lib/bundler/templates/newgem/Rakefile.tt +33 -5
  199. data/bundler/lib/bundler/templates/newgem/bin/console.tt +1 -0
  200. data/bundler/lib/bundler/templates/newgem/circleci/config.yml.tt +25 -0
  201. data/bundler/lib/bundler/templates/newgem/ext/newgem/Cargo.toml.tt +15 -0
  202. data/bundler/lib/bundler/templates/newgem/ext/newgem/{extconf.rb.tt → extconf-c.rb.tt} +2 -0
  203. data/bundler/lib/bundler/templates/newgem/ext/newgem/extconf-rust.rb.tt +6 -0
  204. data/bundler/lib/bundler/templates/newgem/ext/newgem/src/lib.rs.tt +12 -0
  205. data/bundler/lib/bundler/templates/newgem/github/workflows/main.yml.tt +37 -0
  206. data/bundler/lib/bundler/templates/newgem/gitignore.tt +3 -0
  207. data/bundler/lib/bundler/templates/newgem/gitlab-ci.yml.tt +18 -0
  208. data/bundler/lib/bundler/templates/newgem/lib/newgem/version.rb.tt +2 -0
  209. data/bundler/lib/bundler/templates/newgem/lib/newgem.rb.tt +4 -2
  210. data/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt +36 -41
  211. data/bundler/lib/bundler/templates/newgem/rubocop.yml.tt +13 -0
  212. data/bundler/lib/bundler/templates/newgem/sig/newgem.rbs.tt +8 -0
  213. data/bundler/lib/bundler/templates/newgem/spec/newgem_spec.rb.tt +2 -0
  214. data/bundler/lib/bundler/templates/newgem/spec/spec_helper.rb.tt +2 -1
  215. data/bundler/lib/bundler/templates/newgem/standard.yml.tt +3 -0
  216. data/bundler/lib/bundler/templates/newgem/test/minitest/test_helper.rb.tt +6 -0
  217. data/bundler/lib/bundler/templates/newgem/test/{newgem_test.rb.tt → minitest/test_newgem.rb.tt} +3 -1
  218. data/bundler/lib/bundler/templates/newgem/test/test-unit/newgem_test.rb.tt +15 -0
  219. data/bundler/lib/bundler/templates/newgem/test/test-unit/test_helper.rb.tt +6 -0
  220. data/bundler/lib/bundler/ui/rg_proxy.rb +1 -1
  221. data/bundler/lib/bundler/ui/shell.rb +39 -20
  222. data/bundler/lib/bundler/ui/silent.rb +21 -5
  223. data/bundler/lib/bundler/ui.rb +3 -3
  224. data/bundler/lib/bundler/uri_credentials_filter.rb +10 -4
  225. data/bundler/lib/bundler/vendor/.document +1 -0
  226. data/bundler/lib/bundler/vendor/connection_pool/LICENSE +20 -0
  227. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.rb +174 -0
  228. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/version.rb +3 -0
  229. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/wrapper.rb +56 -0
  230. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool.rb +128 -0
  231. data/bundler/lib/bundler/vendor/fileutils/LICENSE.txt +22 -0
  232. data/bundler/lib/bundler/vendor/fileutils/lib/fileutils.rb +1493 -425
  233. data/bundler/lib/bundler/vendor/net-http-persistent/README.rdoc +82 -0
  234. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/connection.rb +40 -0
  235. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/pool.rb +53 -0
  236. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/timed_stack_multi.rb +79 -0
  237. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +302 -462
  238. data/bundler/lib/bundler/vendor/pub_grub/LICENSE.txt +21 -0
  239. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/assignment.rb +20 -0
  240. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/basic_package_source.rb +189 -0
  241. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/failure_writer.rb +182 -0
  242. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/incompatibility.rb +155 -0
  243. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/package.rb +43 -0
  244. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/partial_solution.rb +121 -0
  245. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/rubygems.rb +45 -0
  246. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/solve_failure.rb +19 -0
  247. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/static_package_source.rb +60 -0
  248. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/term.rb +105 -0
  249. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version.rb +3 -0
  250. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_constraint.rb +129 -0
  251. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_range.rb +411 -0
  252. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_solver.rb +243 -0
  253. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_union.rb +178 -0
  254. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub.rb +31 -0
  255. data/bundler/lib/bundler/vendor/thor/LICENSE.md +20 -0
  256. data/bundler/lib/bundler/vendor/thor/lib/thor/actions/create_file.rb +1 -1
  257. data/bundler/lib/bundler/vendor/thor/lib/thor/actions/create_link.rb +3 -2
  258. data/bundler/lib/bundler/vendor/thor/lib/thor/actions/directory.rb +7 -17
  259. data/bundler/lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb +25 -14
  260. data/bundler/lib/bundler/vendor/thor/lib/thor/actions/inject_into_file.rb +20 -10
  261. data/bundler/lib/bundler/vendor/thor/lib/thor/actions.rb +34 -15
  262. data/bundler/lib/bundler/vendor/thor/lib/thor/base.rb +63 -43
  263. data/bundler/lib/bundler/vendor/thor/lib/thor/command.rb +21 -14
  264. data/bundler/lib/bundler/vendor/thor/lib/thor/core_ext/hash_with_indifferent_access.rb +6 -0
  265. data/bundler/lib/bundler/vendor/thor/lib/thor/error.rb +83 -0
  266. data/bundler/lib/bundler/vendor/thor/lib/thor/group.rb +3 -3
  267. data/bundler/lib/bundler/vendor/thor/lib/thor/invocation.rb +1 -0
  268. data/bundler/lib/bundler/vendor/thor/lib/thor/line_editor/basic.rb +1 -1
  269. data/bundler/lib/bundler/vendor/thor/lib/thor/line_editor/readline.rb +6 -6
  270. data/bundler/lib/bundler/vendor/thor/lib/thor/line_editor.rb +2 -2
  271. data/bundler/lib/bundler/vendor/thor/lib/thor/nested_context.rb +29 -0
  272. data/bundler/lib/bundler/vendor/thor/lib/thor/parser/arguments.rb +7 -3
  273. data/bundler/lib/bundler/vendor/thor/lib/thor/parser/option.rb +20 -7
  274. data/bundler/lib/bundler/vendor/thor/lib/thor/parser/options.rb +40 -6
  275. data/bundler/lib/bundler/vendor/thor/lib/thor/parser.rb +4 -4
  276. data/bundler/lib/bundler/vendor/thor/lib/thor/rake_compat.rb +1 -0
  277. data/bundler/lib/bundler/vendor/thor/lib/thor/runner.rb +15 -14
  278. data/bundler/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +88 -13
  279. data/bundler/lib/bundler/vendor/thor/lib/thor/shell/color.rb +10 -2
  280. data/bundler/lib/bundler/vendor/thor/lib/thor/shell/html.rb +3 -3
  281. data/bundler/lib/bundler/vendor/thor/lib/thor/shell.rb +5 -5
  282. data/bundler/lib/bundler/vendor/thor/lib/thor/util.rb +18 -2
  283. data/bundler/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
  284. data/bundler/lib/bundler/vendor/thor/lib/thor.rb +16 -9
  285. data/bundler/lib/bundler/vendor/tsort/LICENSE.txt +22 -0
  286. data/bundler/lib/bundler/vendor/tsort/lib/tsort.rb +452 -0
  287. data/bundler/lib/bundler/vendor/uri/LICENSE.txt +22 -0
  288. data/bundler/lib/bundler/vendor/uri/lib/uri/common.rb +729 -0
  289. data/bundler/lib/bundler/vendor/uri/lib/uri/file.rb +100 -0
  290. data/bundler/lib/bundler/vendor/uri/lib/uri/ftp.rb +267 -0
  291. data/bundler/lib/bundler/vendor/uri/lib/uri/generic.rb +1587 -0
  292. data/bundler/lib/bundler/vendor/uri/lib/uri/http.rb +125 -0
  293. data/bundler/lib/bundler/vendor/uri/lib/uri/https.rb +23 -0
  294. data/bundler/lib/bundler/vendor/uri/lib/uri/ldap.rb +261 -0
  295. data/bundler/lib/bundler/vendor/uri/lib/uri/ldaps.rb +22 -0
  296. data/bundler/lib/bundler/vendor/uri/lib/uri/mailto.rb +293 -0
  297. data/bundler/lib/bundler/vendor/uri/lib/uri/rfc2396_parser.rb +539 -0
  298. data/bundler/lib/bundler/vendor/uri/lib/uri/rfc3986_parser.rb +119 -0
  299. data/bundler/lib/bundler/vendor/uri/lib/uri/version.rb +6 -0
  300. data/bundler/lib/bundler/vendor/uri/lib/uri/ws.rb +83 -0
  301. data/bundler/lib/bundler/vendor/uri/lib/uri/wss.rb +23 -0
  302. data/bundler/lib/bundler/vendor/uri/lib/uri.rb +104 -0
  303. data/bundler/lib/bundler/vendored_fileutils.rb +1 -6
  304. data/bundler/lib/bundler/vendored_persistent.rb +2 -39
  305. data/bundler/lib/bundler/{vendored_molinillo.rb → vendored_pub_grub.rb} +1 -1
  306. data/bundler/lib/bundler/vendored_thor.rb +2 -2
  307. data/bundler/lib/bundler/vendored_tsort.rb +4 -0
  308. data/bundler/lib/bundler/vendored_uri.rb +4 -0
  309. data/bundler/lib/bundler/version.rb +5 -20
  310. data/bundler/lib/bundler/vlad.rb +2 -2
  311. data/bundler/lib/bundler/worker.rb +26 -15
  312. data/bundler/lib/bundler/yaml_serializer.rb +3 -4
  313. data/bundler/lib/bundler.rb +285 -183
  314. data/hide_lib_for_update/note.txt +0 -4
  315. data/lib/rubygems/available_set.rb +7 -8
  316. data/lib/rubygems/basic_specification.rb +44 -31
  317. data/lib/rubygems/bundler_version_finder.rb +28 -50
  318. data/lib/rubygems/command.rb +104 -46
  319. data/lib/rubygems/command_manager.rb +35 -16
  320. data/lib/rubygems/commands/build_command.rb +77 -26
  321. data/lib/rubygems/commands/cert_command.rb +78 -76
  322. data/lib/rubygems/commands/check_command.rb +20 -22
  323. data/lib/rubygems/commands/cleanup_command.rb +36 -32
  324. data/lib/rubygems/commands/contents_command.rb +16 -18
  325. data/lib/rubygems/commands/dependency_command.rb +39 -50
  326. data/lib/rubygems/commands/environment_command.rb +11 -13
  327. data/lib/rubygems/commands/fetch_command.rb +33 -16
  328. data/lib/rubygems/commands/generate_index_command.rb +18 -17
  329. data/lib/rubygems/commands/help_command.rb +7 -7
  330. data/lib/rubygems/commands/info_command.rb +11 -6
  331. data/lib/rubygems/commands/install_command.rb +45 -79
  332. data/lib/rubygems/commands/list_command.rb +9 -8
  333. data/lib/rubygems/commands/lock_command.rb +7 -9
  334. data/lib/rubygems/commands/mirror_command.rb +3 -4
  335. data/lib/rubygems/commands/open_command.rb +11 -14
  336. data/lib/rubygems/commands/outdated_command.rb +5 -6
  337. data/lib/rubygems/commands/owner_command.rb +29 -22
  338. data/lib/rubygems/commands/pristine_command.rb +61 -51
  339. data/lib/rubygems/commands/push_command.rb +26 -63
  340. data/lib/rubygems/commands/query_command.rb +21 -337
  341. data/lib/rubygems/commands/rdoc_command.rb +26 -26
  342. data/lib/rubygems/commands/search_command.rb +8 -8
  343. data/lib/rubygems/commands/server_command.rb +16 -77
  344. data/lib/rubygems/commands/setup_command.rb +282 -241
  345. data/lib/rubygems/commands/signin_command.rb +9 -10
  346. data/lib/rubygems/commands/signout_command.rb +7 -9
  347. data/lib/rubygems/commands/sources_command.rb +42 -26
  348. data/lib/rubygems/commands/specification_command.rb +25 -20
  349. data/lib/rubygems/commands/stale_command.rb +3 -3
  350. data/lib/rubygems/commands/uninstall_command.rb +58 -49
  351. data/lib/rubygems/commands/unpack_command.rb +15 -44
  352. data/lib/rubygems/commands/update_command.rb +133 -81
  353. data/lib/rubygems/commands/which_command.rb +8 -11
  354. data/lib/rubygems/commands/yank_command.rb +22 -19
  355. data/lib/rubygems/compatibility.rb +7 -5
  356. data/lib/rubygems/config_file.rb +101 -47
  357. data/lib/rubygems/core_ext/kernel_gem.rb +8 -12
  358. data/lib/rubygems/core_ext/kernel_require.rb +124 -83
  359. data/lib/rubygems/core_ext/kernel_warn.rb +35 -30
  360. data/lib/rubygems/core_ext/tcpsocket_init.rb +52 -0
  361. data/lib/rubygems/defaults.rb +131 -55
  362. data/lib/rubygems/dependency.rb +44 -27
  363. data/lib/rubygems/dependency_installer.rb +49 -205
  364. data/lib/rubygems/dependency_list.rb +24 -25
  365. data/lib/rubygems/deprecate.rb +106 -12
  366. data/lib/rubygems/doctor.rb +22 -22
  367. data/lib/rubygems/errors.rb +8 -14
  368. data/lib/rubygems/exceptions.rb +35 -33
  369. data/lib/rubygems/ext/build_error.rb +2 -0
  370. data/lib/rubygems/ext/builder.rb +71 -95
  371. data/lib/rubygems/ext/cargo_builder/link_flag_converter.rb +27 -0
  372. data/lib/rubygems/ext/cargo_builder.rb +360 -0
  373. data/lib/rubygems/ext/cmake_builder.rb +6 -7
  374. data/lib/rubygems/ext/configure_builder.rb +5 -8
  375. data/lib/rubygems/ext/ext_conf_builder.rb +45 -65
  376. data/lib/rubygems/ext/rake_builder.rb +7 -10
  377. data/lib/rubygems/ext.rb +7 -6
  378. data/lib/rubygems/gem_runner.rb +15 -26
  379. data/lib/rubygems/gemcutter_utilities.rb +179 -54
  380. data/lib/rubygems/indexer.rb +38 -53
  381. data/lib/rubygems/install_default_message.rb +2 -2
  382. data/lib/rubygems/install_message.rb +2 -2
  383. data/lib/rubygems/install_update_options.rb +73 -64
  384. data/lib/rubygems/installer.rb +230 -173
  385. data/lib/rubygems/installer_uninstaller_utils.rb +29 -0
  386. data/lib/rubygems/local_remote_options.rb +22 -24
  387. data/lib/rubygems/mock_gem_ui.rb +2 -5
  388. data/lib/rubygems/name_tuple.rb +10 -14
  389. data/lib/rubygems/openssl.rb +7 -0
  390. data/lib/rubygems/optparse/.document +1 -0
  391. data/lib/rubygems/optparse/COPYING +56 -0
  392. data/lib/rubygems/optparse/lib/optionparser.rb +2 -0
  393. data/lib/rubygems/optparse/lib/optparse/ac.rb +54 -0
  394. data/lib/rubygems/optparse/lib/optparse/date.rb +18 -0
  395. data/lib/rubygems/optparse/lib/optparse/kwargs.rb +22 -0
  396. data/lib/rubygems/optparse/lib/optparse/shellwords.rb +7 -0
  397. data/lib/rubygems/optparse/lib/optparse/time.rb +11 -0
  398. data/lib/rubygems/optparse/lib/optparse/uri.rb +7 -0
  399. data/lib/rubygems/optparse/lib/optparse/version.rb +71 -0
  400. data/lib/rubygems/optparse/lib/optparse.rb +2308 -0
  401. data/lib/rubygems/optparse.rb +3 -0
  402. data/lib/rubygems/package/digest_io.rb +0 -2
  403. data/lib/rubygems/package/file_source.rb +2 -4
  404. data/lib/rubygems/package/io_source.rb +4 -2
  405. data/lib/rubygems/package/old.rb +9 -11
  406. data/lib/rubygems/package/tar_header.rb +73 -66
  407. data/lib/rubygems/package/tar_reader/entry.rb +8 -9
  408. data/lib/rubygems/package/tar_reader.rb +16 -13
  409. data/lib/rubygems/package/tar_writer.rb +12 -22
  410. data/lib/rubygems/package.rb +142 -125
  411. data/lib/rubygems/package_task.rb +5 -11
  412. data/lib/rubygems/path_support.rb +3 -8
  413. data/lib/rubygems/platform.rb +113 -73
  414. data/lib/rubygems/psych_tree.rb +1 -1
  415. data/lib/rubygems/query_utils.rb +351 -0
  416. data/lib/rubygems/rdoc.rb +4 -16
  417. data/lib/rubygems/remote_fetcher.rb +64 -136
  418. data/lib/rubygems/request/connection_pools.rb +7 -11
  419. data/lib/rubygems/request/http_pool.rb +2 -3
  420. data/lib/rubygems/request.rb +31 -32
  421. data/lib/rubygems/request_set/gem_dependency_api.rb +135 -136
  422. data/lib/rubygems/request_set/lockfile/parser.rb +28 -28
  423. data/lib/rubygems/request_set/lockfile/tokenizer.rb +5 -5
  424. data/lib/rubygems/request_set/lockfile.rb +21 -20
  425. data/lib/rubygems/request_set.rb +30 -43
  426. data/lib/rubygems/requirement.rb +42 -64
  427. data/lib/rubygems/resolver/activation_request.rb +29 -53
  428. data/lib/rubygems/resolver/api_set/gem_parser.rb +20 -0
  429. data/lib/rubygems/resolver/api_set.rb +33 -26
  430. data/lib/rubygems/resolver/api_specification.rb +30 -16
  431. data/lib/rubygems/resolver/best_set.rb +9 -11
  432. data/lib/rubygems/resolver/composed_set.rb +3 -5
  433. data/lib/rubygems/resolver/conflict.rb +12 -19
  434. data/lib/rubygems/resolver/current_set.rb +0 -2
  435. data/lib/rubygems/resolver/dependency_request.rb +3 -5
  436. data/lib/rubygems/resolver/git_set.rb +2 -4
  437. data/lib/rubygems/resolver/git_specification.rb +6 -8
  438. data/lib/rubygems/resolver/index_set.rb +4 -6
  439. data/lib/rubygems/resolver/index_specification.rb +38 -7
  440. data/lib/rubygems/resolver/installed_specification.rb +4 -6
  441. data/lib/rubygems/resolver/installer_set.rb +69 -27
  442. data/lib/rubygems/resolver/local_specification.rb +2 -4
  443. data/lib/rubygems/resolver/lock_set.rb +7 -9
  444. data/lib/rubygems/resolver/lock_specification.rb +6 -8
  445. data/lib/rubygems/resolver/molinillo/LICENSE +9 -0
  446. data/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/resolution_state.rb +7 -0
  447. data/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/specification_provider.rb +8 -0
  448. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/action.rb +1 -0
  449. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +2 -1
  450. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +2 -1
  451. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +2 -1
  452. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +2 -1
  453. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/log.rb +7 -6
  454. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/set_payload.rb +2 -1
  455. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/tag.rb +4 -3
  456. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/vertex.rb +51 -12
  457. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb +42 -9
  458. data/lib/rubygems/resolver/molinillo/lib/molinillo/errors.rb +82 -8
  459. data/lib/rubygems/resolver/molinillo/lib/molinillo/gem_metadata.rb +2 -1
  460. data/lib/rubygems/resolver/molinillo/lib/molinillo/modules/specification_provider.rb +13 -1
  461. data/lib/rubygems/resolver/molinillo/lib/molinillo/modules/ui.rb +3 -1
  462. data/lib/rubygems/resolver/molinillo/lib/molinillo/resolution.rb +510 -165
  463. data/lib/rubygems/resolver/molinillo/lib/molinillo/resolver.rb +3 -2
  464. data/lib/rubygems/resolver/molinillo/lib/molinillo/state.rb +8 -4
  465. data/lib/rubygems/resolver/molinillo/lib/molinillo.rb +6 -5
  466. data/lib/rubygems/resolver/molinillo.rb +1 -1
  467. data/lib/rubygems/resolver/requirement_list.rb +0 -1
  468. data/lib/rubygems/resolver/set.rb +0 -3
  469. data/lib/rubygems/resolver/source_set.rb +0 -2
  470. data/lib/rubygems/resolver/spec_specification.rb +14 -2
  471. data/lib/rubygems/resolver/specification.rb +14 -3
  472. data/lib/rubygems/resolver/vendor_set.rb +1 -3
  473. data/lib/rubygems/resolver/vendor_specification.rb +3 -5
  474. data/lib/rubygems/resolver.rb +58 -54
  475. data/lib/rubygems/s3_uri_signer.rb +175 -0
  476. data/lib/rubygems/safe_yaml.rb +14 -16
  477. data/lib/rubygems/security/policies.rb +47 -47
  478. data/lib/rubygems/security/policy.rb +25 -29
  479. data/lib/rubygems/security/signer.rb +16 -18
  480. data/lib/rubygems/security/trust_dir.rb +5 -6
  481. data/lib/rubygems/security.rb +90 -69
  482. data/lib/rubygems/security_option.rb +7 -8
  483. data/lib/rubygems/source/git.rb +30 -30
  484. data/lib/rubygems/source/installed.rb +1 -3
  485. data/lib/rubygems/source/local.rb +4 -6
  486. data/lib/rubygems/source/lock.rb +0 -2
  487. data/lib/rubygems/source/specific_file.rb +1 -3
  488. data/lib/rubygems/source/vendor.rb +0 -2
  489. data/lib/rubygems/source.rb +50 -38
  490. data/lib/rubygems/source_list.rb +9 -13
  491. data/lib/rubygems/spec_fetcher.rb +52 -64
  492. data/lib/rubygems/specification.rb +432 -463
  493. data/lib/rubygems/specification_policy.rb +185 -87
  494. data/lib/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA_R3.pem +21 -0
  495. data/lib/rubygems/stub_specification.rb +24 -29
  496. data/lib/rubygems/text.rb +21 -21
  497. data/lib/rubygems/tsort/.document +1 -0
  498. data/lib/rubygems/tsort/LICENSE.txt +22 -0
  499. data/lib/rubygems/tsort/lib/tsort.rb +452 -0
  500. data/lib/rubygems/tsort.rb +3 -0
  501. data/lib/rubygems/uninstaller.rb +110 -57
  502. data/lib/rubygems/unknown_command_spell_checker.rb +21 -0
  503. data/lib/rubygems/update_suggestion.rb +69 -0
  504. data/lib/rubygems/uri.rb +126 -0
  505. data/lib/rubygems/uri_formatter.rb +2 -4
  506. data/lib/rubygems/user_interaction.rb +46 -49
  507. data/lib/rubygems/util/licenses.rb +511 -404
  508. data/lib/rubygems/util.rb +40 -56
  509. data/lib/rubygems/validator.rb +15 -37
  510. data/lib/rubygems/version.rb +48 -29
  511. data/lib/rubygems/version_option.rb +11 -5
  512. data/lib/rubygems.rb +305 -332
  513. data/rubygems-update.gemspec +6 -13
  514. data/setup.rb +11 -22
  515. data/test/rubygems/alternate_cert.pem +14 -14
  516. data/test/rubygems/alternate_cert_32.pem +15 -15
  517. data/test/rubygems/alternate_key.pem +25 -25
  518. data/test/rubygems/bundler_test_gem.rb +419 -0
  519. data/test/rubygems/ca_cert.pem +74 -65
  520. data/test/rubygems/child_cert.pem +15 -16
  521. data/test/rubygems/child_cert_32.pem +15 -16
  522. data/test/rubygems/child_key.pem +25 -25
  523. data/test/rubygems/client.pem +103 -45
  524. data/test/rubygems/data/excon-0.7.7.gemspec.rz +0 -0
  525. data/test/rubygems/data/null-required-ruby-version.gemspec.rz +0 -0
  526. data/test/rubygems/data/null-required-rubygems-version.gemspec.rz +0 -0
  527. data/test/rubygems/data/pry-0.4.7.gemspec.rz +0 -0
  528. data/test/rubygems/encrypted_private_key.pem +26 -26
  529. data/test/rubygems/expired_cert.pem +15 -15
  530. data/test/rubygems/future_cert.pem +15 -15
  531. data/test/rubygems/future_cert_32.pem +15 -15
  532. data/test/rubygems/grandchild_cert.pem +15 -16
  533. data/test/rubygems/grandchild_cert_32.pem +15 -16
  534. data/test/rubygems/grandchild_key.pem +25 -25
  535. data/{lib/rubygems/test_case.rb → test/rubygems/helper.rb} +505 -507
  536. data/{lib → test}/rubygems/installer_test_case.rb +115 -53
  537. data/test/rubygems/invalid_issuer_cert.pem +16 -16
  538. data/test/rubygems/invalid_issuer_cert_32.pem +16 -16
  539. data/test/rubygems/invalid_key.pem +25 -25
  540. data/test/rubygems/invalid_signer_cert.pem +15 -15
  541. data/test/rubygems/invalid_signer_cert_32.pem +15 -15
  542. data/test/rubygems/invalidchild_cert.pem +15 -16
  543. data/test/rubygems/invalidchild_cert_32.pem +15 -16
  544. data/test/rubygems/invalidchild_key.pem +25 -25
  545. data/{lib → test}/rubygems/package/tar_test_case.rb +4 -6
  546. data/test/rubygems/packages/Bluebie-legs-0.6.2.gem +0 -0
  547. data/test/rubygems/packages/ascii_binder-0.1.10.1.gem +0 -0
  548. data/test/rubygems/packages/ill-formatted-platform-1.0.0.10.gem +0 -0
  549. data/test/rubygems/plugin/exception/rubygems_plugin.rb +1 -1
  550. data/test/rubygems/plugin/standarderror/rubygems_plugin.rb +1 -1
  551. data/test/rubygems/private_ec_key.pem +9 -0
  552. data/test/rubygems/private_key.pem +25 -25
  553. data/test/rubygems/public_cert.pem +16 -16
  554. data/test/rubygems/public_cert_32.pem +15 -15
  555. data/test/rubygems/public_key.pem +7 -7
  556. data/test/rubygems/rubygems/commands/crash_command.rb +0 -2
  557. data/test/rubygems/rubygems_plugin.rb +2 -4
  558. data/test/rubygems/specifications/bar-0.0.2.gemspec +0 -2
  559. data/test/rubygems/specifications/rubyforge-0.0.1.gemspec +12 -0
  560. data/test/rubygems/ssl_cert.pem +78 -17
  561. data/test/rubygems/ssl_key.pem +25 -13
  562. data/test/rubygems/test_bundled_ca.rb +44 -47
  563. data/test/rubygems/test_config.rb +5 -7
  564. data/test/rubygems/test_deprecate.rb +90 -10
  565. data/test/rubygems/test_exit.rb +17 -0
  566. data/test/rubygems/test_gem.rb +679 -885
  567. data/test/rubygems/test_gem_available_set.rb +24 -25
  568. data/test/rubygems/test_gem_bundler_version_finder.rb +42 -42
  569. data/test/rubygems/test_gem_command.rb +186 -39
  570. data/test/rubygems/test_gem_command_manager.rb +166 -36
  571. data/test/rubygems/test_gem_commands_build_command.rb +436 -52
  572. data/test/rubygems/test_gem_commands_cert_command.rb +193 -124
  573. data/test/rubygems/test_gem_commands_check_command.rb +9 -11
  574. data/test/rubygems/test_gem_commands_cleanup_command.rb +87 -62
  575. data/test/rubygems/test_gem_commands_contents_command.rb +73 -42
  576. data/test/rubygems/test_gem_commands_dependency_command.rb +39 -41
  577. data/test/rubygems/test_gem_commands_environment_command.rb +60 -48
  578. data/test/rubygems/test_gem_commands_fetch_command.rb +163 -32
  579. data/test/rubygems/test_gem_commands_generate_index_command.rb +39 -9
  580. data/test/rubygems/test_gem_commands_help_command.rb +34 -19
  581. data/test/rubygems/test_gem_commands_info_command.rb +34 -9
  582. data/test/rubygems/test_gem_commands_install_command.rb +600 -173
  583. data/test/rubygems/test_gem_commands_list_command.rb +5 -7
  584. data/test/rubygems/test_gem_commands_lock_command.rb +11 -13
  585. data/test/rubygems/test_gem_commands_mirror.rb +3 -4
  586. data/test/rubygems/test_gem_commands_open_command.rb +16 -19
  587. data/test/rubygems/test_gem_commands_outdated_command.rb +24 -7
  588. data/test/rubygems/test_gem_commands_owner_command.rb +183 -49
  589. data/test/rubygems/test_gem_commands_pristine_command.rb +222 -89
  590. data/test/rubygems/test_gem_commands_push_command.rb +178 -69
  591. data/test/rubygems/test_gem_commands_query_command.rb +114 -89
  592. data/test/rubygems/test_gem_commands_search_command.rb +2 -4
  593. data/test/rubygems/test_gem_commands_server_command.rb +6 -46
  594. data/test/rubygems/test_gem_commands_setup_command.rb +334 -157
  595. data/test/rubygems/test_gem_commands_signin_command.rb +187 -27
  596. data/test/rubygems/test_gem_commands_signout_command.rb +3 -10
  597. data/test/rubygems/test_gem_commands_sources_command.rb +266 -33
  598. data/test/rubygems/test_gem_commands_specification_command.rb +81 -55
  599. data/test/rubygems/test_gem_commands_stale_command.rb +4 -6
  600. data/test/rubygems/test_gem_commands_uninstall_command.rb +230 -95
  601. data/test/rubygems/test_gem_commands_unpack_command.rb +32 -34
  602. data/test/rubygems/test_gem_commands_update_command.rb +412 -102
  603. data/test/rubygems/test_gem_commands_which_command.rb +12 -14
  604. data/test/rubygems/test_gem_commands_yank_command.rb +107 -26
  605. data/test/rubygems/test_gem_config_file.rb +120 -96
  606. data/test/rubygems/test_gem_dependency.rb +94 -86
  607. data/test/rubygems/test_gem_dependency_installer.rb +305 -388
  608. data/test/rubygems/test_gem_dependency_list.rb +66 -61
  609. data/test/rubygems/test_gem_dependency_resolution_error.rb +5 -7
  610. data/test/rubygems/test_gem_doctor.rb +73 -47
  611. data/test/rubygems/test_gem_ext_builder.rb +116 -106
  612. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/.gitignore +1 -0
  613. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/custom_name.gemspec +8 -0
  614. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/ext/custom_name_lib/Cargo.lock +233 -0
  615. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/ext/custom_name_lib/Cargo.toml +10 -0
  616. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/ext/custom_name_lib/src/lib.rs +27 -0
  617. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/lib/custom_name.rb +1 -0
  618. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/.gitignore +1 -0
  619. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.lock +233 -0
  620. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.toml +10 -0
  621. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/rust_ruby_example.gemspec +8 -0
  622. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/src/lib.rs +51 -0
  623. data/test/rubygems/test_gem_ext_cargo_builder.rb +166 -0
  624. data/test/rubygems/test_gem_ext_cargo_builder_link_flag_converter.rb +33 -0
  625. data/test/rubygems/test_gem_ext_cargo_builder_unit.rb +60 -0
  626. data/test/rubygems/test_gem_ext_cmake_builder.rb +32 -37
  627. data/test/rubygems/test_gem_ext_configure_builder.rb +23 -31
  628. data/test/rubygems/test_gem_ext_ext_conf_builder.rb +75 -79
  629. data/test/rubygems/test_gem_ext_rake_builder.rb +49 -30
  630. data/test/rubygems/test_gem_gem_runner.rb +52 -7
  631. data/test/rubygems/test_gem_gemcutter_utilities.rb +91 -76
  632. data/test/rubygems/test_gem_impossible_dependencies_error.rb +4 -6
  633. data/test/rubygems/test_gem_indexer.rb +120 -105
  634. data/test/rubygems/test_gem_install_update_options.rb +57 -33
  635. data/test/rubygems/test_gem_installer.rb +1230 -644
  636. data/test/rubygems/test_gem_local_remote_options.rb +11 -13
  637. data/test/rubygems/test_gem_name_tuple.rb +4 -6
  638. data/test/rubygems/test_gem_package.rb +396 -266
  639. data/test/rubygems/test_gem_package_old.rb +57 -56
  640. data/test/rubygems/test_gem_package_tar_header.rb +108 -50
  641. data/test/rubygems/test_gem_package_tar_reader.rb +8 -10
  642. data/test/rubygems/test_gem_package_tar_reader_entry.rb +77 -20
  643. data/test/rubygems/test_gem_package_tar_writer.rb +107 -101
  644. data/test/rubygems/test_gem_package_task.rb +58 -25
  645. data/test/rubygems/test_gem_path_support.rb +29 -29
  646. data/test/rubygems/test_gem_platform.rb +388 -199
  647. data/test/rubygems/test_gem_rdoc.rb +20 -155
  648. data/test/rubygems/test_gem_remote_fetcher.rb +474 -303
  649. data/test/rubygems/test_gem_request.rb +128 -85
  650. data/test/rubygems/test_gem_request_connection_pools.rb +32 -32
  651. data/test/rubygems/test_gem_request_set.rb +186 -110
  652. data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +280 -261
  653. data/test/rubygems/test_gem_request_set_lockfile.rb +93 -94
  654. data/test/rubygems/test_gem_request_set_lockfile_parser.rb +68 -69
  655. data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +136 -136
  656. data/test/rubygems/test_gem_requirement.rb +140 -55
  657. data/test/rubygems/test_gem_resolver.rb +224 -115
  658. data/test/rubygems/test_gem_resolver_activation_request.rb +9 -40
  659. data/test/rubygems/test_gem_resolver_api_set.rb +79 -78
  660. data/test/rubygems/test_gem_resolver_api_specification.rb +47 -49
  661. data/test/rubygems/test_gem_resolver_best_set.rb +43 -22
  662. data/test/rubygems/test_gem_resolver_composed_set.rb +1 -3
  663. data/test/rubygems/test_gem_resolver_conflict.rb +12 -18
  664. data/test/rubygems/test_gem_resolver_dependency_request.rb +15 -17
  665. data/test/rubygems/test_gem_resolver_git_set.rb +22 -24
  666. data/test/rubygems/test_gem_resolver_git_specification.rb +22 -22
  667. data/test/rubygems/test_gem_resolver_index_set.rb +14 -16
  668. data/test/rubygems/test_gem_resolver_index_specification.rb +21 -18
  669. data/test/rubygems/test_gem_resolver_installed_specification.rb +5 -8
  670. data/test/rubygems/test_gem_resolver_installer_set.rb +106 -44
  671. data/test/rubygems/test_gem_resolver_local_specification.rb +7 -9
  672. data/test/rubygems/test_gem_resolver_lock_set.rb +15 -17
  673. data/test/rubygems/test_gem_resolver_lock_specification.rb +17 -19
  674. data/test/rubygems/test_gem_resolver_requirement_list.rb +1 -3
  675. data/test/rubygems/test_gem_resolver_specification.rb +8 -10
  676. data/test/rubygems/test_gem_resolver_vendor_set.rb +9 -11
  677. data/test/rubygems/test_gem_resolver_vendor_specification.rb +10 -12
  678. data/test/rubygems/test_gem_security.rb +109 -79
  679. data/test/rubygems/test_gem_security_policy.rb +102 -107
  680. data/test/rubygems/test_gem_security_signer.rb +51 -52
  681. data/test/rubygems/test_gem_security_trust_dir.rb +14 -16
  682. data/test/rubygems/test_gem_silent_ui.rb +47 -42
  683. data/test/rubygems/test_gem_source.rb +66 -51
  684. data/test/rubygems/test_gem_source_fetch_problem.rb +17 -8
  685. data/test/rubygems/test_gem_source_git.rb +74 -74
  686. data/test/rubygems/test_gem_source_installed.rb +16 -18
  687. data/test/rubygems/test_gem_source_list.rb +5 -5
  688. data/test/rubygems/test_gem_source_local.rb +15 -16
  689. data/test/rubygems/test_gem_source_lock.rb +31 -33
  690. data/test/rubygems/test_gem_source_specific_file.rb +18 -19
  691. data/test/rubygems/test_gem_source_subpath_problem.rb +49 -0
  692. data/test/rubygems/test_gem_source_vendor.rb +13 -15
  693. data/test/rubygems/test_gem_spec_fetcher.rb +74 -67
  694. data/test/rubygems/test_gem_specification.rb +1051 -1071
  695. data/test/rubygems/test_gem_stream_ui.rb +25 -23
  696. data/test/rubygems/test_gem_stub_specification.rb +39 -56
  697. data/test/rubygems/test_gem_text.rb +8 -3
  698. data/test/rubygems/test_gem_uninstaller.rb +269 -100
  699. data/test/rubygems/test_gem_unsatisfiable_dependency_error.rb +3 -5
  700. data/test/rubygems/test_gem_update_suggestion.rb +208 -0
  701. data/test/rubygems/test_gem_uri.rb +39 -0
  702. data/test/rubygems/test_gem_uri_formatter.rb +14 -16
  703. data/test/rubygems/test_gem_util.rb +46 -34
  704. data/test/rubygems/test_gem_validator.rb +12 -15
  705. data/test/rubygems/test_gem_version.rb +49 -34
  706. data/test/rubygems/test_gem_version_option.rb +16 -18
  707. data/test/rubygems/test_kernel.rb +61 -53
  708. data/test/rubygems/test_project_sanity.rb +20 -0
  709. data/test/rubygems/test_remote_fetch_error.rb +7 -8
  710. data/test/rubygems/test_require.rb +415 -121
  711. data/test/rubygems/test_rubygems.rb +74 -0
  712. data/{lib/rubygems/test_utilities.rb → test/rubygems/utilities.rb} +74 -50
  713. data/test/rubygems/wrong_key_cert.pem +15 -15
  714. data/test/rubygems/wrong_key_cert_32.pem +15 -15
  715. data/test/test_changelog_generator.rb +17 -0
  716. metadata +218 -244
  717. data/.rubocop.yml +0 -66
  718. data/.travis.yml +0 -38
  719. data/History.txt +0 -3965
  720. data/Rakefile +0 -372
  721. data/appveyor.yml +0 -43
  722. data/bundler/CODE_OF_CONDUCT.md +0 -42
  723. data/bundler/CONTRIBUTING.md +0 -17
  724. data/bundler/exe/bundle_ruby +0 -60
  725. data/bundler/lib/bundler/cli/package.rb +0 -49
  726. data/bundler/lib/bundler/compatibility_guard.rb +0 -14
  727. data/bundler/lib/bundler/dep_proxy.rb +0 -48
  728. data/bundler/lib/bundler/gem_remote_fetcher.rb +0 -43
  729. data/bundler/lib/bundler/gemdeps.rb +0 -29
  730. data/bundler/lib/bundler/psyched_yaml.rb +0 -37
  731. data/bundler/lib/bundler/ssl_certs/certificate_manager.rb +0 -66
  732. data/bundler/lib/bundler/ssl_certs/rubygems.global.ssl.fastly.net/DigiCertHighAssuranceEVRootCA.pem +0 -23
  733. data/bundler/lib/bundler/ssl_certs/rubygems.org/AddTrustExternalCARoot.pem +0 -25
  734. data/bundler/lib/bundler/templates/gems.rb +0 -8
  735. data/bundler/lib/bundler/templates/newgem/test/test_helper.rb.tt +0 -4
  736. data/bundler/lib/bundler/templates/newgem/travis.yml.tt +0 -7
  737. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/compatibility.rb +0 -26
  738. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/delegates/resolution_state.rb +0 -57
  739. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb +0 -81
  740. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/action.rb +0 -36
  741. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +0 -66
  742. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +0 -62
  743. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +0 -63
  744. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +0 -61
  745. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/log.rb +0 -126
  746. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/set_payload.rb +0 -46
  747. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb +0 -36
  748. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb +0 -136
  749. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +0 -223
  750. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +0 -143
  751. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb +0 -6
  752. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/modules/specification_provider.rb +0 -101
  753. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/modules/ui.rb +0 -67
  754. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb +0 -837
  755. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/resolver.rb +0 -46
  756. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/state.rb +0 -58
  757. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo.rb +0 -12
  758. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/faster.rb +0 -27
  759. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/ssl_reuse.rb +0 -129
  760. data/bundler/lib/bundler/vendor/thor/lib/thor/core_ext/io_binary_read.rb +0 -12
  761. data/bundler/lib/bundler/vendor/thor/lib/thor/core_ext/ordered_hash.rb +0 -129
  762. data/bundler/lib/bundler/version_ranges.rb +0 -76
  763. data/bundler/man/bundle-gem.1 +0 -80
  764. data/bundler/man/bundle-gem.ronn +0 -78
  765. data/bundler/man/bundle-package.1 +0 -55
  766. data/lib/rubygems/psych_additions.rb +0 -10
  767. data/lib/rubygems/server.rb +0 -878
  768. data/lib/rubygems/source_local.rb +0 -7
  769. data/lib/rubygems/source_specific_file.rb +0 -6
  770. data/lib/rubygems/ssl_certs/index.rubygems.org/GlobalSignRootCA.pem +0 -21
  771. data/lib/rubygems/ssl_certs/rubygems.global.ssl.fastly.net/DigiCertHighAssuranceEVRootCA.pem +0 -23
  772. data/lib/rubygems/ssl_certs/rubygems.org/AddTrustExternalCARoot.pem +0 -25
  773. data/lib/rubygems/syck_hack.rb +0 -77
  774. data/lib/ubygems.rb +0 -14
  775. data/test/rubygems/bogussources.rb +0 -9
  776. data/test/rubygems/data/null-type.gemspec.rz +0 -0
  777. data/test/rubygems/test_gem_server.rb +0 -607
  778. data/util/CL2notes +0 -55
  779. data/util/ci +0 -77
  780. data/util/create_certs.rb +0 -171
  781. data/util/create_encrypted_key.rb +0 -16
  782. data/util/generate_spdx_license_list.rb +0 -61
  783. data/util/patch_with_prs.rb +0 -77
  784. data/util/rubocop +0 -8
  785. data/util/update_bundled_ca_certificates.rb +0 -139
  786. data/util/update_changelog.rb +0 -67
  787. /data/bundler/lib/bundler/{ssl_certs → man}/.document +0 -0
  788. /data/bundler/{man/bundle-check.ronn → lib/bundler/man/bundle-check.1.ronn} +0 -0
  789. /data/bundler/{man/bundle-doctor.ronn → lib/bundler/man/bundle-doctor.1.ronn} +0 -0
  790. /data/bundler/{man/bundle-info.ronn → lib/bundler/man/bundle-info.1.ronn} +0 -0
  791. /data/bundler/{man/bundle-lock.ronn → lib/bundler/man/bundle-lock.1.ronn} +0 -0
  792. /data/bundler/{man/bundle-pristine.ronn → lib/bundler/man/bundle-pristine.1.ronn} +0 -0
  793. /data/bundler/{man/bundle-remove.ronn → lib/bundler/man/bundle-remove.1.ronn} +0 -0
  794. /data/bundler/{man/bundle-show.ronn → lib/bundler/man/bundle-show.1.ronn} +0 -0
  795. /data/{bundler/lib/bundler/ssl_certs/index.rubygems.org → lib/rubygems/ssl_certs/rubygems.org}/GlobalSignRootCA.pem +0 -0
@@ -1,16 +1,15 @@
1
1
  # frozen_string_literal: true
2
- require 'rubygems/test_case'
3
- require 'rubygems/dependency_installer'
4
- require 'rubygems/security'
2
+ require_relative "helper"
3
+ require "rubygems/dependency_installer"
4
+ require "rubygems/security"
5
5
 
6
6
  class TestGemDependencyInstaller < Gem::TestCase
7
-
8
7
  def setup
9
8
  super
10
9
  common_installer_setup
11
10
 
12
- @gems_dir = File.join @tempdir, 'gems'
13
- @cache_dir = File.join @gemhome, 'cache'
11
+ @gems_dir = File.join @tempdir, "gems"
12
+ @cache_dir = File.join @gemhome, "cache"
14
13
 
15
14
  FileUtils.mkdir @gems_dir
16
15
 
@@ -26,78 +25,26 @@ class TestGemDependencyInstaller < Gem::TestCase
26
25
  end
27
26
 
28
27
  def util_setup_gems
29
- @a1, @a1_gem = util_gem 'a', '1' do |s| s.executables << 'a_bin' end
30
- @a1_pre, @a1_pre_gem = util_gem 'a', '1.a'
31
- @b1, @b1_gem = util_gem 'b', '1' do |s|
32
- s.add_dependency 'a'
33
- s.add_development_dependency 'aa'
28
+ @a1, @a1_gem = util_gem "a", "1" do |s|
29
+ s.executables << "a_bin"
34
30
  end
35
31
 
36
- @c1, @c1_gem = util_gem 'c', '1' do |s|
37
- s.add_development_dependency 'b'
38
- end
32
+ @a1_pre, @a1_pre_gem = util_gem "a", "1.a"
39
33
 
40
- @d1, @d1_gem = util_gem 'd', '1' do |s|
41
- s.add_development_dependency 'c'
34
+ @b1, @b1_gem = util_gem "b", "1" do |s|
35
+ s.add_dependency "a"
36
+ s.add_development_dependency "aa"
42
37
  end
43
38
 
44
- util_clear_gems
45
- util_reset_gems
46
- end
47
-
48
- def test_available_set_for_name
49
- util_setup_gems
50
- p1a, = util_gem 'a', '10.a'
51
- util_setup_spec_fetcher p1a, @a1, @a1_pre
52
-
53
- inst = Gem::DependencyInstaller.new
54
-
55
- available = inst.available_set_for 'a', Gem::Requirement.default
56
-
57
- assert_equal %w[a-1], available.set.map { |s| s.spec.full_name }
58
- end
59
-
60
- def test_available_set_for_name_prerelease
61
- util_setup_gems
62
- p1a, = util_gem 'a', '10.a'
63
- util_setup_spec_fetcher p1a, @a1, @a1_pre
64
-
65
- inst = Gem::DependencyInstaller.new :prerelease => true
66
-
67
- available = inst.available_set_for 'a', Gem::Requirement.default
68
-
69
- assert_equal %w[a-10.a],
70
- available.sorted.map { |s| s.spec.full_name }
71
- end
72
-
73
- def test_available_set_for_dep
74
- util_setup_gems
75
- p1a, = util_gem 'a', '10.a'
76
- util_setup_spec_fetcher p1a, @a1, @a1_pre
77
-
78
- inst = Gem::DependencyInstaller.new
79
-
80
- dep = Gem::Dependency.new 'a', Gem::Requirement.default
81
-
82
- available = inst.available_set_for dep, Gem::Requirement.default
83
-
84
- assert_equal %w[a-1], available.set.map { |s| s.spec.full_name }
85
- end
86
-
87
- def test_available_set_for_dep_prerelease
88
- util_setup_gems
89
- p1a, = util_gem 'a', '10.a'
90
- util_setup_spec_fetcher p1a, @a1, @a1_pre
91
-
92
- inst = Gem::DependencyInstaller.new :prerelease => true
93
-
94
- dep = Gem::Dependency.new 'a', Gem::Requirement.default
95
- dep.prerelease = true
39
+ @c1, @c1_gem = util_gem "c", "1" do |s|
40
+ s.add_development_dependency "b"
41
+ end
96
42
 
97
- available = inst.available_set_for dep, Gem::Requirement.default
43
+ @d1, @d1_gem = util_gem "d", "1" do |s|
44
+ s.add_development_dependency "c"
45
+ end
98
46
 
99
- assert_equal %w[a-10.a],
100
- available.sorted.map { |s| s.spec.full_name }
47
+ util_setup_spec_fetcher(@a1, @a1_pre, @b1, @d1)
101
48
  end
102
49
 
103
50
  def test_install
@@ -108,7 +55,7 @@ class TestGemDependencyInstaller < Gem::TestCase
108
55
 
109
56
  Dir.chdir @tempdir do
110
57
  inst = Gem::DependencyInstaller.new
111
- inst.install 'a'
58
+ inst.install "a"
112
59
  end
113
60
 
114
61
  assert_equal %w[a-1], Gem::Specification.map(&:full_name)
@@ -118,14 +65,13 @@ class TestGemDependencyInstaller < Gem::TestCase
118
65
  def test_install_prerelease
119
66
  util_setup_gems
120
67
 
121
- p1a, gem = util_gem 'a', '10.a'
68
+ p1a, gem = util_gem "a", "10.a"
122
69
 
123
70
  util_setup_spec_fetcher(p1a, @a1, @a1_pre)
124
- util_clear_gems
125
71
 
126
72
  p1a_data = Gem.read_binary(gem)
127
73
 
128
- @fetcher.data['http://gems.example.com/gems/a-10.a.gem'] = p1a_data
74
+ @fetcher.data["http://gems.example.com/gems/a-10.a.gem"] = p1a_data
129
75
 
130
76
  dep = Gem::Dependency.new "a"
131
77
  inst = Gem::DependencyInstaller.new :prerelease => true
@@ -137,18 +83,18 @@ class TestGemDependencyInstaller < Gem::TestCase
137
83
 
138
84
  def test_install_prerelease_bug_990
139
85
  spec_fetcher do |fetcher|
140
- fetcher.gem 'a', '1.b' do |s|
141
- s.add_dependency 'b', '~> 1.a'
86
+ fetcher.gem "a", "1.b" do |s|
87
+ s.add_dependency "b", "~> 1.a"
142
88
  end
143
89
 
144
- fetcher.gem 'b', '1.b' do |s|
145
- s.add_dependency 'c', '>= 1'
90
+ fetcher.gem "b", "1.b" do |s|
91
+ s.add_dependency "c", ">= 1"
146
92
  end
147
93
 
148
- fetcher.gem 'c', '1.1.b'
94
+ fetcher.gem "c", "1.1.b"
149
95
  end
150
96
 
151
- dep = Gem::Dependency.new 'a'
97
+ dep = Gem::Dependency.new "a"
152
98
 
153
99
  inst = Gem::DependencyInstaller.new :prerelease => true
154
100
  inst.install dep
@@ -157,18 +103,17 @@ class TestGemDependencyInstaller < Gem::TestCase
157
103
  end
158
104
 
159
105
  def test_install_when_only_prerelease
160
- p1a, gem = util_gem 'p', '1.a'
106
+ p1a, gem = util_gem "p", "1.a"
161
107
 
162
108
  util_setup_spec_fetcher(p1a)
163
- util_clear_gems
164
109
 
165
110
  p1a_data = Gem.read_binary(gem)
166
111
 
167
- @fetcher.data['http://gems.example.com/gems/p-1.a.gem'] = p1a_data
112
+ @fetcher.data["http://gems.example.com/gems/p-1.a.gem"] = p1a_data
168
113
 
169
114
  dep = Gem::Dependency.new "p"
170
115
  inst = Gem::DependencyInstaller.new
171
- assert_raises Gem::UnsatisfiableDependencyError do
116
+ assert_raise Gem::UnsatisfiableDependencyError do
172
117
  inst.install dep
173
118
  end
174
119
 
@@ -180,11 +125,10 @@ class TestGemDependencyInstaller < Gem::TestCase
180
125
  util_setup_gems
181
126
 
182
127
  util_setup_spec_fetcher(@a1, @a1_pre)
183
- util_clear_gems
184
128
 
185
129
  p1a_data = Gem.read_binary(@a1_gem)
186
130
 
187
- @fetcher.data['http://gems.example.com/gems/a-1.gem'] = p1a_data
131
+ @fetcher.data["http://gems.example.com/gems/a-1.gem"] = p1a_data
188
132
 
189
133
  dep = Gem::Dependency.new "a"
190
134
  inst = Gem::DependencyInstaller.new :prerelease => true
@@ -197,32 +141,30 @@ class TestGemDependencyInstaller < Gem::TestCase
197
141
  def test_install_all_dependencies
198
142
  util_setup_gems
199
143
 
200
- _, e1_gem = util_gem 'e', '1' do |s|
201
- s.add_dependency 'b'
144
+ _, e1_gem = util_gem "e", "1" do |s|
145
+ s.add_dependency "b"
202
146
  end
203
147
 
204
- util_clear_gems
205
-
206
148
  FileUtils.mv @a1_gem, @tempdir
207
149
  FileUtils.mv @b1_gem, @tempdir
208
- FileUtils.mv e1_gem, @tempdir
150
+ FileUtils.mv e1_gem, @tempdir
209
151
 
210
152
  inst = nil
211
153
 
212
154
  Dir.chdir @tempdir do
213
155
  inst = Gem::DependencyInstaller.new :ignore_dependencies => true
214
- inst.install 'b'
156
+ inst.install "b"
215
157
  end
216
158
 
217
- assert_equal %w[b-1], inst.installed_gems.map { |s| s.full_name },
218
- 'sanity check'
159
+ assert_equal %w[b-1], inst.installed_gems.map {|s| s.full_name },
160
+ "sanity check"
219
161
 
220
162
  Dir.chdir @tempdir do
221
163
  inst = Gem::DependencyInstaller.new
222
- inst.install 'e'
164
+ inst.install "e"
223
165
  end
224
166
 
225
- assert_equal %w[a-1 e-1], inst.installed_gems.map { |s| s.full_name }
167
+ assert_equal %w[a-1 e-1], inst.installed_gems.map {|s| s.full_name }
226
168
  end
227
169
 
228
170
  def test_install_cache_dir
@@ -236,10 +178,10 @@ class TestGemDependencyInstaller < Gem::TestCase
236
178
 
237
179
  Dir.chdir dir do
238
180
  inst = Gem::DependencyInstaller.new :cache_dir => @tempdir
239
- inst.install 'b'
181
+ inst.install "b"
240
182
  end
241
183
 
242
- assert_equal %w[a-1 b-1], inst.installed_gems.map { |s| s.full_name }
184
+ assert_equal %w[a-1 b-1], inst.installed_gems.map {|s| s.full_name }
243
185
 
244
186
  assert File.exist? File.join(@gemhome, "cache", @a1.file_name)
245
187
  assert File.exist? File.join(@gemhome, "cache", @b1.file_name)
@@ -248,9 +190,9 @@ class TestGemDependencyInstaller < Gem::TestCase
248
190
  def test_install_dependencies_satisfied
249
191
  util_setup_gems
250
192
 
251
- a2, a2_gem = util_gem 'a', '2'
193
+ a2, a2_gem = util_gem "a", "2"
252
194
 
253
- FileUtils.rm_rf File.join(@gemhome, 'gems')
195
+ FileUtils.rm_rf File.join(@gemhome, "gems")
254
196
 
255
197
  Gem::Specification.reset
256
198
 
@@ -261,21 +203,21 @@ class TestGemDependencyInstaller < Gem::TestCase
261
203
 
262
204
  Dir.chdir @tempdir do
263
205
  inst = Gem::DependencyInstaller.new
264
- inst.install 'a', req("= 2")
206
+ inst.install "a", req("= 2")
265
207
  end
266
208
 
267
- assert_equal %w[a-2], inst.installed_gems.map { |s| s.full_name },
268
- 'sanity check'
209
+ assert_equal %w[a-2], inst.installed_gems.map {|s| s.full_name },
210
+ "sanity check"
269
211
 
270
212
  FileUtils.rm File.join(@tempdir, a2.file_name)
271
213
 
272
214
  Dir.chdir @tempdir do
273
215
  inst = Gem::DependencyInstaller.new
274
- inst.install 'b'
216
+ inst.install "b"
275
217
  end
276
218
 
277
219
  assert_equal %w[a-2 b-1], Gem::Specification.map(&:full_name)
278
- assert_equal %w[b-1], inst.installed_gems.map { |s| s.full_name }
220
+ assert_equal %w[b-1], inst.installed_gems.map {|s| s.full_name }
279
221
  end
280
222
 
281
223
  # This asserts that if a gem's dependency is satisfied by an
@@ -284,22 +226,22 @@ class TestGemDependencyInstaller < Gem::TestCase
284
226
  def test_install_doesnt_upgrade_installed_dependencies
285
227
  util_setup_gems
286
228
 
287
- a2, a2_gem = util_gem 'a', '2'
288
- a3, a3_gem = util_gem 'a', '3'
229
+ a2, a2_gem = util_gem "a", "2"
230
+ a3, a3_gem = util_gem "a", "3"
289
231
 
290
232
  util_setup_spec_fetcher @a1, a3, @b1
291
233
 
292
- FileUtils.rm_rf File.join(@gemhome, 'gems')
234
+ FileUtils.rm_rf File.join(@gemhome, "gems")
293
235
 
294
236
  Gem::Specification.reset
295
237
 
296
238
  FileUtils.mv @a1_gem, @tempdir
297
239
  FileUtils.mv a2_gem, @tempdir # not in index
298
240
  FileUtils.mv @b1_gem, @tempdir
299
- FileUtils.mv a3_gem, @tempdir
241
+ FileUtils.mv a3_gem, @tempdir
300
242
 
301
243
  Dir.chdir @tempdir do
302
- Gem::DependencyInstaller.new.install 'a', req("= 2")
244
+ Gem::DependencyInstaller.new.install "a", req("= 2")
303
245
  end
304
246
 
305
247
  FileUtils.rm File.join(@tempdir, a2.file_name)
@@ -308,11 +250,11 @@ class TestGemDependencyInstaller < Gem::TestCase
308
250
 
309
251
  Dir.chdir @tempdir do
310
252
  inst = Gem::DependencyInstaller.new
311
- inst.install 'b'
253
+ inst.install "b"
312
254
  end
313
255
 
314
256
  assert_equal %w[a-2 b-1], Gem::Specification.map(&:full_name)
315
- assert_equal %w[b-1], inst.installed_gems.map { |s| s.full_name }
257
+ assert_equal %w[b-1], inst.installed_gems.map {|s| s.full_name }
316
258
  end
317
259
 
318
260
  def test_install_dependency
@@ -332,20 +274,18 @@ class TestGemDependencyInstaller < Gem::TestCase
332
274
 
333
275
  Dir.chdir @tempdir do
334
276
  inst = Gem::DependencyInstaller.new(:build_docs_in_background => false)
335
- inst.install 'b'
277
+ inst.install "b"
336
278
  end
337
279
 
338
- assert_equal %w[a-1 b-1], inst.installed_gems.map { |s| s.full_name }
280
+ assert_equal %w[a-1 b-1], inst.installed_gems.map {|s| s.full_name }
339
281
 
340
- assert done_installing_ran, 'post installs hook was not run'
282
+ assert done_installing_ran, "post installs hook was not run"
341
283
  end
342
284
 
343
285
  def test_install_dependency_development
344
286
  util_setup_gems
345
287
 
346
- @aa1, @aa1_gem = util_gem 'aa', '1'
347
-
348
- util_reset_gems
288
+ @aa1, @aa1_gem = util_gem "aa", "1"
349
289
 
350
290
  FileUtils.mv @a1_gem, @tempdir
351
291
  FileUtils.mv @aa1_gem, @tempdir
@@ -354,18 +294,16 @@ class TestGemDependencyInstaller < Gem::TestCase
354
294
 
355
295
  Dir.chdir @tempdir do
356
296
  inst = Gem::DependencyInstaller.new(:development => true)
357
- inst.install 'b'
297
+ inst.install "b"
358
298
  end
359
299
 
360
- assert_equal %w[a-1 aa-1 b-1], inst.installed_gems.map { |s| s.full_name }
300
+ assert_equal %w[a-1 aa-1 b-1], inst.installed_gems.map {|s| s.full_name }
361
301
  end
362
302
 
363
303
  def test_install_dependency_development_deep
364
304
  util_setup_gems
365
305
 
366
- @aa1, @aa1_gem = util_gem 'aa', '1'
367
-
368
- util_reset_gems
306
+ @aa1, @aa1_gem = util_gem "aa", "1"
369
307
 
370
308
  FileUtils.mv @a1_gem, @tempdir
371
309
  FileUtils.mv @aa1_gem, @tempdir
@@ -376,18 +314,16 @@ class TestGemDependencyInstaller < Gem::TestCase
376
314
 
377
315
  Dir.chdir @tempdir do
378
316
  inst = Gem::DependencyInstaller.new(:development => true)
379
- inst.install 'd'
317
+ inst.install "d"
380
318
  end
381
319
 
382
- assert_equal %w[a-1 aa-1 b-1 c-1 d-1], inst.installed_gems.map { |s| s.full_name }
320
+ assert_equal %w[a-1 aa-1 b-1 c-1 d-1], inst.installed_gems.map {|s| s.full_name }
383
321
  end
384
322
 
385
323
  def test_install_dependency_development_shallow
386
324
  util_setup_gems
387
325
 
388
- @aa1, @aa1_gem = util_gem 'aa', '1'
389
-
390
- util_reset_gems
326
+ @aa1, @aa1_gem = util_gem "aa", "1"
391
327
 
392
328
  FileUtils.mv @a1_gem, @tempdir
393
329
  FileUtils.mv @aa1_gem, @tempdir
@@ -398,10 +334,10 @@ class TestGemDependencyInstaller < Gem::TestCase
398
334
 
399
335
  Dir.chdir @tempdir do
400
336
  inst = Gem::DependencyInstaller.new(:development => true, :dev_shallow => true)
401
- inst.install 'd'
337
+ inst.install "d"
402
338
  end
403
339
 
404
- assert_equal %w[c-1 d-1], inst.installed_gems.map { |s| s.full_name }
340
+ assert_equal %w[c-1 d-1], inst.installed_gems.map {|s| s.full_name }
405
341
  end
406
342
 
407
343
  def test_install_dependency_existing
@@ -414,29 +350,29 @@ class TestGemDependencyInstaller < Gem::TestCase
414
350
 
415
351
  Dir.chdir @tempdir do
416
352
  inst = Gem::DependencyInstaller.new
417
- inst.install 'b'
353
+ inst.install "b"
418
354
  end
419
355
 
420
- assert_equal %w[b-1], inst.installed_gems.map { |s| s.full_name }
356
+ assert_equal %w[b-1], inst.installed_gems.map {|s| s.full_name }
421
357
  end
422
358
 
423
359
  def test_install_dependency_existing_extension
424
- extconf_rb = File.join @gemhome, 'gems', 'e-1', 'extconf.rb'
360
+ extconf_rb = File.join @gemhome, "gems", "e-1", "extconf.rb"
425
361
  FileUtils.mkdir_p File.dirname extconf_rb
426
362
 
427
- File.open extconf_rb, 'w' do |io|
363
+ File.open extconf_rb, "w" do |io|
428
364
  io.write <<-EXTCONF_RB
429
365
  require 'mkmf'
430
366
  create_makefile 'e'
431
367
  EXTCONF_RB
432
368
  end
433
369
 
434
- e1 = util_spec 'e', '1', nil, 'extconf.rb' do |s|
435
- s.extensions << 'extconf.rb'
370
+ e1 = util_spec "e", "1", nil, "extconf.rb" do |s|
371
+ s.extensions << "extconf.rb"
436
372
  end
437
- e1_gem = File.join @tempdir, 'gems', "#{e1.full_name}.gem"
373
+ e1_gem = e1.cache_file
438
374
 
439
- _, f1_gem = util_gem 'f', '1', 'e' => nil
375
+ _, f1_gem = util_gem "f", "1", "e" => nil
440
376
 
441
377
  Gem::Installer.at(e1_gem).install
442
378
  FileUtils.rm_r e1.extension_dir
@@ -449,20 +385,20 @@ class TestGemDependencyInstaller < Gem::TestCase
449
385
  Dir.chdir @tempdir
450
386
  begin
451
387
  inst = Gem::DependencyInstaller.new
452
- inst.install 'f'
388
+ inst.install "f"
453
389
  ensure
454
390
  Dir.chdir pwd
455
391
  end
456
392
 
457
- assert_equal %w[f-1], inst.installed_gems.map { |s| s.full_name }
393
+ assert_equal %w[f-1], inst.installed_gems.map {|s| s.full_name }
458
394
 
459
- assert_path_exists e1.extension_dir
395
+ assert_path_exist e1.extension_dir
460
396
  end
461
397
 
462
398
  def test_install_dependency_old
463
- _, e1_gem = util_gem 'e', '1'
464
- _, f1_gem = util_gem 'f', '1', 'e' => nil
465
- _, f2_gem = util_gem 'f', '2'
399
+ _, e1_gem = util_gem "e", "1"
400
+ _, f1_gem = util_gem "f", "1", "e" => nil
401
+ _, f2_gem = util_gem "f", "2"
466
402
 
467
403
  FileUtils.mv e1_gem, @tempdir
468
404
  FileUtils.mv f1_gem, @tempdir
@@ -471,10 +407,10 @@ class TestGemDependencyInstaller < Gem::TestCase
471
407
 
472
408
  Dir.chdir @tempdir do
473
409
  inst = Gem::DependencyInstaller.new
474
- inst.install 'f'
410
+ inst.install "f"
475
411
  end
476
412
 
477
- assert_equal %w[f-2], inst.installed_gems.map { |s| s.full_name }
413
+ assert_equal %w[f-2], inst.installed_gems.map {|s| s.full_name }
478
414
  end
479
415
 
480
416
  def test_install_local
@@ -485,10 +421,10 @@ class TestGemDependencyInstaller < Gem::TestCase
485
421
 
486
422
  Dir.chdir @tempdir do
487
423
  inst = Gem::DependencyInstaller.new :domain => :local
488
- inst.install 'a-1.gem'
424
+ inst.install "a-1.gem"
489
425
  end
490
426
 
491
- assert_equal %w[a-1], inst.installed_gems.map { |s| s.full_name }
427
+ assert_equal %w[a-1], inst.installed_gems.map {|s| s.full_name }
492
428
  end
493
429
 
494
430
  def test_install_local_prerelease
@@ -499,10 +435,10 @@ class TestGemDependencyInstaller < Gem::TestCase
499
435
 
500
436
  Dir.chdir @tempdir do
501
437
  inst = Gem::DependencyInstaller.new :domain => :local
502
- inst.install 'a-1.a.gem'
438
+ inst.install "a-1.a.gem"
503
439
  end
504
440
 
505
- assert_equal %w[a-1.a], inst.installed_gems.map { |s| s.full_name }
441
+ assert_equal %w[a-1.a], inst.installed_gems.map {|s| s.full_name }
506
442
  end
507
443
 
508
444
  def test_install_local_dependency
@@ -515,10 +451,10 @@ class TestGemDependencyInstaller < Gem::TestCase
515
451
 
516
452
  Dir.chdir @tempdir do
517
453
  inst = Gem::DependencyInstaller.new :domain => :local
518
- inst.install 'b-1.gem'
454
+ inst.install "b-1.gem"
519
455
  end
520
456
 
521
- assert_equal %w[a-1 b-1], inst.installed_gems.map { |s| s.full_name }
457
+ assert_equal %w[a-1 b-1], inst.installed_gems.map {|s| s.full_name }
522
458
  end
523
459
 
524
460
  def test_install_local_dependency_installed
@@ -530,13 +466,13 @@ class TestGemDependencyInstaller < Gem::TestCase
530
466
  inst = nil
531
467
 
532
468
  Dir.chdir @tempdir do
533
- Gem::Installer.at('a-1.gem').install
469
+ Gem::Installer.at("a-1.gem").install
534
470
 
535
471
  inst = Gem::DependencyInstaller.new :domain => :local
536
- inst.install 'b-1.gem'
472
+ inst.install "b-1.gem"
537
473
  end
538
474
 
539
- assert_equal %w[b-1], inst.installed_gems.map { |s| s.full_name }
475
+ assert_equal %w[b-1], inst.installed_gems.map {|s| s.full_name }
540
476
  end
541
477
 
542
478
  def test_install_local_subdir
@@ -546,25 +482,23 @@ class TestGemDependencyInstaller < Gem::TestCase
546
482
 
547
483
  Dir.chdir @tempdir do
548
484
  inst = Gem::DependencyInstaller.new :domain => :local
549
- inst.install 'gems/a-1.gem'
485
+ inst.install "gems/a-1.gem"
550
486
  end
551
487
 
552
- assert_equal %w[a-1], inst.installed_gems.map { |s| s.full_name }
488
+ assert_equal %w[a-1], inst.installed_gems.map {|s| s.full_name }
553
489
  end
554
490
 
555
491
  def test_install_minimal_deps
556
492
  util_setup_gems
557
493
 
558
- _, e1_gem = util_gem 'e', '1' do |s|
559
- s.add_dependency 'b'
494
+ _, e1_gem = util_gem "e", "1" do |s|
495
+ s.add_dependency "b"
560
496
  end
561
497
 
562
- _, b2_gem = util_gem 'b', '2' do |s|
563
- s.add_dependency 'a'
498
+ _, b2_gem = util_gem "b", "2" do |s|
499
+ s.add_dependency "a"
564
500
  end
565
501
 
566
- util_clear_gems
567
-
568
502
  FileUtils.mv @a1_gem, @tempdir
569
503
  FileUtils.mv @b1_gem, @tempdir
570
504
  FileUtils.mv b2_gem, @tempdir
@@ -574,18 +508,52 @@ class TestGemDependencyInstaller < Gem::TestCase
574
508
 
575
509
  Dir.chdir @tempdir do
576
510
  inst = Gem::DependencyInstaller.new :ignore_dependencies => true
577
- inst.install 'b', req('= 1')
511
+ inst.install "b", req("= 1")
578
512
  end
579
513
 
580
- assert_equal %w[b-1], inst.installed_gems.map { |s| s.full_name },
581
- 'sanity check'
514
+ assert_equal %w[b-1], inst.installed_gems.map {|s| s.full_name },
515
+ "sanity check"
582
516
 
583
517
  Dir.chdir @tempdir do
584
518
  inst = Gem::DependencyInstaller.new :minimal_deps => true
585
- inst.install 'e'
519
+ inst.install "e"
586
520
  end
587
521
 
588
- assert_equal %w[a-1 e-1], inst.installed_gems.map { |s| s.full_name }
522
+ assert_equal %w[a-1 e-1], inst.installed_gems.map {|s| s.full_name }
523
+ end
524
+
525
+ def test_install_no_minimal_deps
526
+ util_setup_gems
527
+
528
+ _, e1_gem = util_gem "e", "1" do |s|
529
+ s.add_dependency "b"
530
+ end
531
+
532
+ _, b2_gem = util_gem "b", "2" do |s|
533
+ s.add_dependency "a"
534
+ end
535
+
536
+ FileUtils.mv @a1_gem, @tempdir
537
+ FileUtils.mv @b1_gem, @tempdir
538
+ FileUtils.mv b2_gem, @tempdir
539
+ FileUtils.mv e1_gem, @tempdir
540
+
541
+ inst = nil
542
+
543
+ Dir.chdir @tempdir do
544
+ inst = Gem::DependencyInstaller.new :ignore_dependencies => true
545
+ inst.install "b", req("= 1")
546
+ end
547
+
548
+ assert_equal %w[b-1], inst.installed_gems.map {|s| s.full_name },
549
+ "sanity check"
550
+
551
+ Dir.chdir @tempdir do
552
+ inst = Gem::DependencyInstaller.new :minimal_deps => false
553
+ inst.install "e"
554
+ end
555
+
556
+ assert_equal %w[a-1 b-2 e-1], inst.installed_gems.map {|s| s.full_name }
589
557
  end
590
558
 
591
559
  def test_install_no_document
@@ -613,13 +581,13 @@ class TestGemDependencyInstaller < Gem::TestCase
613
581
 
614
582
  Dir.chdir @tempdir do
615
583
  inst = Gem::DependencyInstaller.new :env_shebang => true, :wrappers => true, :format_executable => false
616
- inst.install 'a'
584
+ inst.install "a"
617
585
  end
618
586
 
619
587
  env = "/\\S+/env" unless Gem.win_platform?
620
588
 
621
- assert_match %r|\A#!#{env} #{RbConfig::CONFIG['ruby_install_name']}\n|,
622
- File.read(File.join(@gemhome, 'bin', 'a_bin'))
589
+ assert_match %r{\A#!#{env} #{RbConfig::CONFIG['ruby_install_name']}\n},
590
+ File.read(File.join(@gemhome, "bin", "a_bin"))
623
591
  end
624
592
 
625
593
  def test_install_force
@@ -627,15 +595,15 @@ class TestGemDependencyInstaller < Gem::TestCase
627
595
 
628
596
  FileUtils.mv @b1_gem, @tempdir
629
597
  si = util_setup_spec_fetcher @b1
630
- @fetcher.data['http://gems.example.com/gems/yaml'] = si.to_yaml
598
+ @fetcher.data["http://gems.example.com/gems/yaml"] = si.to_yaml
631
599
  inst = nil
632
600
 
633
601
  Dir.chdir @tempdir do
634
602
  inst = Gem::DependencyInstaller.new :force => true
635
- inst.install 'b'
603
+ inst.install "b"
636
604
  end
637
605
 
638
- assert_equal %w[b-1], inst.installed_gems.map { |s| s.full_name }
606
+ assert_equal %w[b-1], inst.installed_gems.map {|s| s.full_name }
639
607
  end
640
608
 
641
609
  def test_install_build_args
@@ -648,7 +616,7 @@ class TestGemDependencyInstaller < Gem::TestCase
648
616
  Dir.chdir @tempdir do
649
617
  inst = Gem::DependencyInstaller.new(
650
618
  :build_args => build_args)
651
- inst.install 'a'
619
+ inst.install "a"
652
620
  end
653
621
 
654
622
  assert_equal build_args.join("\n"), File.read(inst.installed_gems.first.build_info_file).strip
@@ -662,10 +630,10 @@ class TestGemDependencyInstaller < Gem::TestCase
662
630
 
663
631
  Dir.chdir @tempdir do
664
632
  inst = Gem::DependencyInstaller.new :ignore_dependencies => true
665
- inst.install 'b'
633
+ inst.install "b"
666
634
  end
667
635
 
668
- assert_equal %w[b-1], inst.installed_gems.map { |s| s.full_name }
636
+ assert_equal %w[b-1], inst.installed_gems.map {|s| s.full_name }
669
637
  end
670
638
 
671
639
  def test_install_install_dir
@@ -677,40 +645,40 @@ class TestGemDependencyInstaller < Gem::TestCase
677
645
  inst = Gem::Installer.at @a1.file_name
678
646
  inst.install
679
647
 
680
- gemhome2 = File.join @tempdir, 'gemhome2'
648
+ gemhome2 = File.join @tempdir, "gemhome2"
681
649
  Dir.mkdir gemhome2
682
650
  inst = nil
683
651
 
684
652
  Dir.chdir @tempdir do
685
653
  inst = Gem::DependencyInstaller.new :install_dir => gemhome2
686
- inst.install 'b'
654
+ inst.install "b"
687
655
  end
688
656
 
689
- assert_equal %w[a-1 b-1], inst.installed_gems.map { |s| s.full_name }
657
+ assert_equal %w[a-1 b-1], inst.installed_gems.map {|s| s.full_name }
690
658
 
691
- assert File.exist?(File.join(gemhome2, 'specifications', @a1.spec_name))
692
- assert File.exist?(File.join(gemhome2, 'cache', @a1.file_name))
659
+ assert File.exist?(File.join(gemhome2, "specifications", @a1.spec_name))
660
+ assert File.exist?(File.join(gemhome2, "cache", @a1.file_name))
693
661
  end
694
662
 
695
663
  def test_install_domain_both
696
664
  util_setup_gems
697
665
 
698
666
  a1_data = nil
699
- File.open @a1_gem, 'rb' do |fp|
667
+ File.open @a1_gem, "rb" do |fp|
700
668
  a1_data = fp.read
701
669
  end
702
670
 
703
- @fetcher.data['http://gems.example.com/gems/a-1.gem'] = a1_data
671
+ @fetcher.data["http://gems.example.com/gems/a-1.gem"] = a1_data
704
672
 
705
673
  FileUtils.mv @b1_gem, @tempdir
706
674
  inst = nil
707
675
 
708
676
  Dir.chdir @tempdir do
709
677
  inst = Gem::DependencyInstaller.new :domain => :both
710
- inst.install 'b'
678
+ inst.install "b"
711
679
  end
712
680
 
713
- assert_equal %w[a-1 b-1], inst.installed_gems.map { |s| s.full_name }
681
+ assert_equal %w[a-1 b-1], inst.installed_gems.map {|s| s.full_name }
714
682
  a1, b1 = inst.installed_gems
715
683
 
716
684
  assert_equal a1.spec_file, a1.loaded_from
@@ -731,10 +699,10 @@ class TestGemDependencyInstaller < Gem::TestCase
731
699
 
732
700
  Dir.chdir @tempdir do
733
701
  inst = Gem::DependencyInstaller.new :domain => :both
734
- inst.install 'b'
702
+ inst.install "b"
735
703
  end
736
704
 
737
- assert_equal %w[a-1 b-1], inst.installed_gems.map { |s| s.full_name }
705
+ assert_equal %w[a-1 b-1], inst.installed_gems.map {|s| s.full_name }
738
706
  end
739
707
 
740
708
  def test_install_domain_local
@@ -744,32 +712,32 @@ class TestGemDependencyInstaller < Gem::TestCase
744
712
  inst = nil
745
713
 
746
714
  Dir.chdir @tempdir do
747
- e = assert_raises Gem::UnsatisfiableDependencyError do
715
+ e = assert_raise Gem::UnsatisfiableDependencyError do
748
716
  inst = Gem::DependencyInstaller.new :domain => :local
749
- inst.install 'b'
717
+ inst.install "b"
750
718
  end
751
719
 
752
720
  expected = "Unable to resolve dependency: 'b (>= 0)' requires 'a (>= 0)'"
753
721
  assert_equal expected, e.message
754
722
  end
755
723
 
756
- assert_equal [], inst.installed_gems.map { |s| s.full_name }
724
+ assert_equal [], inst.installed_gems.map {|s| s.full_name }
757
725
  end
758
726
 
759
727
  def test_install_domain_remote
760
728
  util_setup_gems
761
729
 
762
730
  a1_data = nil
763
- File.open @a1_gem, 'rb' do |fp|
731
+ File.open @a1_gem, "rb" do |fp|
764
732
  a1_data = fp.read
765
733
  end
766
734
 
767
- @fetcher.data['http://gems.example.com/gems/a-1.gem'] = a1_data
735
+ @fetcher.data["http://gems.example.com/gems/a-1.gem"] = a1_data
768
736
 
769
737
  inst = Gem::DependencyInstaller.new :domain => :remote
770
- inst.install 'a'
738
+ inst.install "a"
771
739
 
772
- assert_equal %w[a-1], inst.installed_gems.map { |s| s.full_name }
740
+ assert_equal %w[a-1], inst.installed_gems.map {|s| s.full_name }
773
741
  end
774
742
 
775
743
  def test_install_dual_repository
@@ -783,22 +751,22 @@ class TestGemDependencyInstaller < Gem::TestCase
783
751
 
784
752
  Dir.chdir @tempdir do
785
753
  inst = Gem::DependencyInstaller.new :install_dir => gemhome2
786
- inst.install 'a'
754
+ inst.install "a"
787
755
  end
788
756
 
789
- assert_equal %w[a-1], inst.installed_gems.map { |s| s.full_name },
790
- 'sanity check'
757
+ assert_equal %w[a-1], inst.installed_gems.map {|s| s.full_name },
758
+ "sanity check"
791
759
 
792
- ENV['GEM_HOME'] = @gemhome
793
- ENV['GEM_PATH'] = [@gemhome, gemhome2].join File::PATH_SEPARATOR
760
+ ENV["GEM_HOME"] = @gemhome
761
+ ENV["GEM_PATH"] = [@gemhome, gemhome2].join File::PATH_SEPARATOR
794
762
  Gem.clear_paths
795
763
 
796
764
  Dir.chdir @tempdir do
797
765
  inst = Gem::DependencyInstaller.new
798
- inst.install 'b'
766
+ inst.install "b"
799
767
  end
800
768
 
801
- assert_equal %w[b-1], inst.installed_gems.map { |s| s.full_name }
769
+ assert_equal %w[b-1], inst.installed_gems.map {|s| s.full_name }
802
770
  end
803
771
 
804
772
  def test_install_reinstall
@@ -809,8 +777,8 @@ class TestGemDependencyInstaller < Gem::TestCase
809
777
  inst = nil
810
778
 
811
779
  Dir.chdir @tempdir do
812
- inst = Gem::DependencyInstaller.new
813
- inst.install 'a'
780
+ inst = Gem::DependencyInstaller.new :force => true
781
+ inst.install "a"
814
782
  end
815
783
 
816
784
  assert_equal %w[a-1], Gem::Specification.map(&:full_name)
@@ -821,30 +789,30 @@ class TestGemDependencyInstaller < Gem::TestCase
821
789
  util_setup_gems
822
790
 
823
791
  a1_data = nil
824
- File.open @a1_gem, 'rb' do |fp|
792
+ File.open @a1_gem, "rb" do |fp|
825
793
  a1_data = fp.read
826
794
  end
827
795
 
828
- @fetcher.data['http://gems.example.com/gems/a-1.gem'] = a1_data
796
+ @fetcher.data["http://gems.example.com/gems/a-1.gem"] = a1_data
829
797
 
830
798
  inst = Gem::DependencyInstaller.new
831
799
 
832
800
  Dir.chdir @tempdir do
833
- inst.install 'a'
801
+ inst.install "a"
834
802
  end
835
803
 
836
- assert_equal %w[a-1], inst.installed_gems.map { |s| s.full_name }
804
+ assert_equal %w[a-1], inst.installed_gems.map {|s| s.full_name }
837
805
  end
838
806
 
839
807
  def test_install_remote_dep
840
808
  util_setup_gems
841
809
 
842
810
  a1_data = nil
843
- File.open @a1_gem, 'rb' do |fp|
811
+ File.open @a1_gem, "rb" do |fp|
844
812
  a1_data = fp.read
845
813
  end
846
814
 
847
- @fetcher.data['http://gems.example.com/gems/a-1.gem'] = a1_data
815
+ @fetcher.data["http://gems.example.com/gems/a-1.gem"] = a1_data
848
816
 
849
817
  inst = Gem::DependencyInstaller.new
850
818
 
@@ -853,27 +821,30 @@ class TestGemDependencyInstaller < Gem::TestCase
853
821
  inst.install dep
854
822
  end
855
823
 
856
- assert_equal %w[a-1], inst.installed_gems.map { |s| s.full_name }
824
+ assert_equal %w[a-1], inst.installed_gems.map {|s| s.full_name }
857
825
  end
858
826
 
859
827
  def test_install_remote_platform_newer
860
828
  util_setup_gems
861
829
 
862
- a2_o, a2_o_gem = util_gem 'a', '2' do |s|
830
+ a2_o, a2_o_gem = util_gem "a", "2" do |s|
863
831
  s.platform = Gem::Platform.new %w[cpu other_platform 1]
864
832
  end
865
833
 
866
834
  si = util_setup_spec_fetcher @a1, a2_o
867
835
 
868
- util_clear_gems
869
-
870
- @fetcher.data['http://gems.example.com/gems/yaml'] = si.to_yaml
836
+ @fetcher.data["http://gems.example.com/gems/yaml"] = si.to_yaml
871
837
 
872
838
  a1_data = nil
873
839
  a2_o_data = nil
874
840
 
875
- File.open @a1_gem, 'rb' do |fp| a1_data = fp.read end
876
- File.open a2_o_gem, 'rb' do |fp| a2_o_data = fp.read end
841
+ File.open @a1_gem, "rb" do |fp|
842
+ a1_data = fp.read
843
+ end
844
+
845
+ File.open a2_o_gem, "rb" do |fp|
846
+ a2_o_data = fp.read
847
+ end
877
848
 
878
849
  @fetcher.data["http://gems.example.com/gems/#{@a1.file_name}"] =
879
850
  a1_data
@@ -881,43 +852,45 @@ class TestGemDependencyInstaller < Gem::TestCase
881
852
  a2_o_data
882
853
 
883
854
  inst = Gem::DependencyInstaller.new :domain => :remote
884
- inst.install 'a'
855
+ inst.install "a"
885
856
 
886
- assert_equal %w[a-1], inst.installed_gems.map { |s| s.full_name }
857
+ assert_equal %w[a-1], inst.installed_gems.map {|s| s.full_name }
887
858
  end
888
859
 
889
860
  def test_install_platform_is_ignored_when_a_file_is_specified
890
- _, a_gem = util_gem 'a', '1' do |s|
861
+ _, a_gem = util_gem "a", "1" do |s|
891
862
  s.platform = Gem::Platform.new %w[cpu other_platform 1]
892
863
  end
893
864
 
894
865
  inst = Gem::DependencyInstaller.new :domain => :local
895
866
  inst.install a_gem
896
867
 
897
- assert_equal %w[a-1-cpu-other_platform-1], inst.installed_gems.map { |s| s.full_name }
868
+ assert_equal %w[a-1-cpu-other_platform-1], inst.installed_gems.map {|s| s.full_name }
898
869
  end
899
870
 
900
- if defined? OpenSSL
871
+ require "rubygems/openssl"
872
+
873
+ if Gem::HAVE_OPENSSL
901
874
  def test_install_security_policy
902
875
  util_setup_gems
903
876
 
904
- data = File.open(@a1_gem, 'rb') { |f| f.read }
905
- @fetcher.data['http://gems.example.com/gems/a-1.gem'] = data
877
+ data = File.open(@a1_gem, "rb") {|f| f.read }
878
+ @fetcher.data["http://gems.example.com/gems/a-1.gem"] = data
906
879
 
907
- data = File.open(@b1_gem, 'rb') { |f| f.read }
908
- @fetcher.data['http://gems.example.com/gems/b-1.gem'] = data
880
+ data = File.open(@b1_gem, "rb") {|f| f.read }
881
+ @fetcher.data["http://gems.example.com/gems/b-1.gem"] = data
909
882
 
910
883
  policy = Gem::Security::HighSecurity
911
884
  inst = Gem::DependencyInstaller.new :security_policy => policy
912
885
 
913
- e = assert_raises Gem::Security::Exception do
914
- inst.install 'b'
886
+ e = assert_raise Gem::Security::Exception do
887
+ inst.install "b"
915
888
  end
916
889
 
917
- assert_equal 'unsigned gems are not allowed by the High Security policy',
890
+ assert_equal "unsigned gems are not allowed by the High Security policy",
918
891
  e.message
919
892
 
920
- assert_equal %w[], inst.installed_gems.map { |s| s.full_name }
893
+ assert_equal %w[], inst.installed_gems.map {|s| s.full_name }
921
894
  end
922
895
  end
923
896
 
@@ -926,127 +899,115 @@ class TestGemDependencyInstaller < Gem::TestCase
926
899
  def test_install_no_wrappers
927
900
  util_setup_gems
928
901
 
929
- @fetcher.data['http://gems.example.com/gems/a-1.gem'] = read_binary(@a1_gem)
902
+ @fetcher.data["http://gems.example.com/gems/a-1.gem"] = read_binary(@a1_gem)
930
903
 
931
904
  inst = Gem::DependencyInstaller.new :wrappers => false, :format_executable => false
932
- inst.install 'a'
905
+ inst.install "a"
933
906
 
934
- refute_match(%r|This file was generated by RubyGems.|,
935
- File.read(File.join(@gemhome, 'bin', 'a_bin')))
907
+ refute_match(%r{This file was generated by RubyGems.},
908
+ File.read(File.join(@gemhome, "bin", "a_bin")))
936
909
  end
937
910
  end
938
911
 
939
912
  def test_install_version
940
913
  util_setup_d
941
914
 
942
- data = File.open(@d2_gem, 'rb') { |f| f.read }
943
- @fetcher.data['http://gems.example.com/gems/d-2.gem'] = data
915
+ data = File.open(@d2_gem, "rb") {|f| f.read }
916
+ @fetcher.data["http://gems.example.com/gems/d-2.gem"] = data
944
917
 
945
- data = File.open(@d1_gem, 'rb') { |f| f.read }
946
- @fetcher.data['http://gems.example.com/gems/d-1.gem'] = data
918
+ data = File.open(@d1_gem, "rb") {|f| f.read }
919
+ @fetcher.data["http://gems.example.com/gems/d-1.gem"] = data
947
920
 
948
921
  inst = Gem::DependencyInstaller.new
949
922
 
950
- inst.install 'd', '= 1'
923
+ inst.install "d", "= 1"
951
924
 
952
- assert_equal %w[d-1], inst.installed_gems.map { |s| s.full_name }
925
+ assert_equal %w[d-1], inst.installed_gems.map {|s| s.full_name }
953
926
  end
954
927
 
955
928
  def test_install_version_default
956
929
  util_setup_d
957
930
 
958
- data = File.open(@d2_gem, 'rb') { |f| f.read }
959
- @fetcher.data['http://gems.example.com/gems/d-2.gem'] = data
931
+ data = File.open(@d2_gem, "rb") {|f| f.read }
932
+ @fetcher.data["http://gems.example.com/gems/d-2.gem"] = data
960
933
 
961
- data = File.open(@d1_gem, 'rb') { |f| f.read }
962
- @fetcher.data['http://gems.example.com/gems/d-1.gem'] = data
934
+ data = File.open(@d1_gem, "rb") {|f| f.read }
935
+ @fetcher.data["http://gems.example.com/gems/d-1.gem"] = data
963
936
 
964
937
  inst = Gem::DependencyInstaller.new
965
- inst.install 'd'
938
+ inst.install "d"
966
939
 
967
- assert_equal %w[d-2], inst.installed_gems.map { |s| s.full_name }
940
+ assert_equal %w[d-2], inst.installed_gems.map {|s| s.full_name }
968
941
  end
969
942
 
970
- def test_find_gems_gems_with_sources
971
- util_setup_gems
943
+ def test_install_legacy_spec_with_nil_required_ruby_version
944
+ path = File.expand_path "data/null-required-ruby-version.gemspec.rz", __dir__
945
+ spec = Marshal.load Gem.read_binary(path)
946
+ def spec.validate(*args); end
972
947
 
973
- inst = Gem::DependencyInstaller.new
974
- dep = Gem::Dependency.new 'b', '>= 0'
948
+ util_build_gem spec
975
949
 
976
- Gem::Specification.reset
950
+ cache_file = File.join @tempdir, "gems", "#{spec.original_name}.gem"
951
+ FileUtils.mkdir_p File.dirname cache_file
952
+ FileUtils.mv spec.cache_file, cache_file
977
953
 
978
- set = inst.find_gems_with_sources(dep)
954
+ util_setup_spec_fetcher spec
979
955
 
980
- assert_kind_of Gem::AvailableSet, set
981
-
982
- s = set.set.first
983
-
984
- assert_equal @b1, s.spec
985
- assert_equal Gem::Source.new(@gem_repo), s.source
986
- end
956
+ data = Gem.read_binary(cache_file)
987
957
 
988
- def test_find_spec_by_name_and_version_wildcard
989
- util_gem 'a', 1
990
- FileUtils.mv 'gems/a-1.gem', @tempdir
958
+ @fetcher.data["http://gems.example.com/gems/activesupport-1.0.0.gem"] = data
991
959
 
992
- FileUtils.touch 'rdoc.gem'
960
+ dep = Gem::Dependency.new "activesupport"
993
961
 
994
962
  inst = Gem::DependencyInstaller.new
963
+ inst.install dep
995
964
 
996
- available = inst.find_spec_by_name_and_version('*.gem')
997
-
998
- assert_equal %w[a-1], available.each_spec.map { |spec| spec.full_name }
965
+ assert_equal %w[activesupport-1.0.0], Gem::Specification.map(&:full_name)
999
966
  end
1000
967
 
1001
- def test_find_spec_by_name_and_version_wildcard_bad_gem
1002
- FileUtils.touch 'rdoc.gem'
1003
-
1004
- inst = Gem::DependencyInstaller.new
968
+ def test_install_legacy_spec_with_nil_required_rubygems_version
969
+ path = File.expand_path "data/null-required-rubygems-version.gemspec.rz", __dir__
970
+ spec = Marshal.load Gem.read_binary(path)
971
+ def spec.validate(*args); end
1005
972
 
1006
- assert_raises Gem::Package::FormatError do
1007
- inst.find_spec_by_name_and_version '*.gem'
1008
- end
1009
- end
973
+ util_build_gem spec
1010
974
 
1011
- def test_find_spec_by_name_and_version_bad_gem
1012
- FileUtils.touch 'rdoc.gem'
975
+ cache_file = File.join @tempdir, "gems", "#{spec.original_name}.gem"
976
+ FileUtils.mkdir_p File.dirname cache_file
977
+ FileUtils.mv spec.cache_file, cache_file
1013
978
 
1014
- inst = Gem::DependencyInstaller.new
979
+ util_setup_spec_fetcher spec
1015
980
 
1016
- e = assert_raises Gem::Package::FormatError do
1017
- inst.find_spec_by_name_and_version 'rdoc.gem'
1018
- end
981
+ data = Gem.read_binary(cache_file)
1019
982
 
1020
- full_path = File.join @tempdir, 'rdoc.gem'
1021
- assert_equal "package metadata is missing in #{full_path}", e.message
1022
- end
983
+ @fetcher.data["http://gems.example.com/gems/activesupport-1.0.0.gem"] = data
1023
984
 
1024
- def test_find_spec_by_name_and_version_directory
1025
- Dir.mkdir 'rdoc'
985
+ dep = Gem::Dependency.new "activesupport"
1026
986
 
1027
987
  inst = Gem::DependencyInstaller.new
988
+ inst.install dep
1028
989
 
1029
- e = assert_raises Gem::SpecificGemNotFoundException do
1030
- inst.find_spec_by_name_and_version 'rdoc'
1031
- end
1032
-
1033
- assert_equal "Could not find a valid gem 'rdoc' (>= 0) " +
1034
- "locally or in a repository",
1035
- e.message
990
+ assert_equal %w[activesupport-1.0.0], Gem::Specification.map(&:full_name)
1036
991
  end
1037
992
 
1038
- def test_find_spec_by_name_and_version_file
1039
- FileUtils.touch 'rdoc'
993
+ def test_find_gems_gems_with_sources
994
+ util_setup_gems
1040
995
 
1041
996
  inst = Gem::DependencyInstaller.new
997
+ dep = Gem::Dependency.new "b", ">= 0"
998
+
999
+ Gem::Specification.reset
1042
1000
 
1043
- e = assert_raises Gem::SpecificGemNotFoundException do
1044
- inst.find_spec_by_name_and_version 'rdoc'
1001
+ set = Gem::Deprecate.skip_during do
1002
+ inst.find_gems_with_sources(dep)
1045
1003
  end
1046
1004
 
1047
- assert_equal "Could not find a valid gem 'rdoc' (>= 0) " +
1048
- "locally or in a repository",
1049
- e.message
1005
+ assert_kind_of Gem::AvailableSet, set
1006
+
1007
+ s = set.set.first
1008
+
1009
+ assert_equal @b1, s.spec
1010
+ assert_equal Gem::Source.new(@gem_repo), s.source
1050
1011
  end
1051
1012
 
1052
1013
  def test_find_gems_with_sources_local
@@ -1054,11 +1015,13 @@ class TestGemDependencyInstaller < Gem::TestCase
1054
1015
 
1055
1016
  FileUtils.mv @a1_gem, @tempdir
1056
1017
  inst = Gem::DependencyInstaller.new
1057
- dep = Gem::Dependency.new 'a', '>= 0'
1018
+ dep = Gem::Dependency.new "a", ">= 0"
1058
1019
  set = nil
1059
1020
 
1060
1021
  Dir.chdir @tempdir do
1061
- set = inst.find_gems_with_sources dep
1022
+ set = Gem::Deprecate.skip_during do
1023
+ inst.find_gems_with_sources dep
1024
+ end
1062
1025
  end
1063
1026
 
1064
1027
  gems = set.sorted
@@ -1067,12 +1030,12 @@ class TestGemDependencyInstaller < Gem::TestCase
1067
1030
 
1068
1031
  remote, local = gems
1069
1032
 
1070
- assert_equal 'a-1', local.spec.full_name, 'local spec'
1033
+ assert_equal "a-1", local.spec.full_name, "local spec"
1071
1034
  assert_equal File.join(@tempdir, @a1.file_name),
1072
- local.source.download(local.spec), 'local path'
1035
+ local.source.download(local.spec), "local path"
1073
1036
 
1074
- assert_equal 'a-1', remote.spec.full_name, 'remote spec'
1075
- assert_equal Gem::Source.new(@gem_repo), remote.source, 'remote path'
1037
+ assert_equal "a-1", remote.spec.full_name, "remote spec"
1038
+ assert_equal Gem::Source.new(@gem_repo), remote.source, "remote path"
1076
1039
  end
1077
1040
 
1078
1041
  def test_find_gems_with_sources_prerelease
@@ -1080,36 +1043,45 @@ class TestGemDependencyInstaller < Gem::TestCase
1080
1043
 
1081
1044
  installer = Gem::DependencyInstaller.new
1082
1045
 
1083
- dependency = Gem::Dependency.new('a', Gem::Requirement.default)
1046
+ dependency = Gem::Dependency.new("a", Gem::Requirement.default)
1047
+
1048
+ set = Gem::Deprecate.skip_during do
1049
+ installer.find_gems_with_sources(dependency)
1050
+ end
1084
1051
 
1085
- releases =
1086
- installer.find_gems_with_sources(dependency).all_specs
1052
+ releases = set.all_specs
1087
1053
 
1088
- assert releases.any? { |s| s.name == 'a' and s.version.to_s == '1' }
1089
- refute releases.any? { |s| s.name == 'a' and s.version.to_s == '1.a' }
1054
+ assert releases.any? {|s| s.name == "a" && s.version.to_s == "1" }
1055
+ refute releases.any? {|s| s.name == "a" && s.version.to_s == "1.a" }
1090
1056
 
1091
1057
  dependency.prerelease = true
1092
1058
 
1093
- prereleases =
1094
- installer.find_gems_with_sources(dependency).all_specs
1059
+ set = Gem::Deprecate.skip_during do
1060
+ installer.find_gems_with_sources(dependency)
1061
+ end
1062
+
1063
+ prereleases = set.all_specs
1095
1064
 
1096
1065
  assert_equal [@a1_pre, @a1], prereleases
1097
1066
  end
1098
1067
 
1099
1068
  def test_find_gems_with_sources_with_best_only_and_platform
1100
1069
  util_setup_gems
1101
- a1_x86_mingw32, = util_gem 'a', '1' do |s|
1102
- s.platform = 'x86-mingw32'
1070
+ a1_x86_mingw32, = util_gem "a", "1" do |s|
1071
+ s.platform = "x86-mingw32"
1103
1072
  end
1104
1073
  util_setup_spec_fetcher @a1, a1_x86_mingw32
1105
- Gem.platforms << Gem::Platform.new('x86-mingw32')
1074
+ Gem.platforms << Gem::Platform.new("x86-mingw32")
1106
1075
 
1107
1076
  installer = Gem::DependencyInstaller.new
1108
1077
 
1109
- dependency = Gem::Dependency.new('a', Gem::Requirement.default)
1078
+ dependency = Gem::Dependency.new("a", Gem::Requirement.default)
1079
+
1080
+ set = Gem::Deprecate.skip_during do
1081
+ installer.find_gems_with_sources(dependency, true)
1082
+ end
1110
1083
 
1111
- releases =
1112
- installer.find_gems_with_sources(dependency, true).all_specs
1084
+ releases = set.all_specs
1113
1085
 
1114
1086
  assert_equal [a1_x86_mingw32], releases
1115
1087
  end
@@ -1119,9 +1091,11 @@ class TestGemDependencyInstaller < Gem::TestCase
1119
1091
 
1120
1092
  installer = Gem::DependencyInstaller.new
1121
1093
 
1122
- dep = Gem::Dependency.new('a')
1094
+ dep = Gem::Dependency.new("a")
1123
1095
 
1124
- out = installer.find_gems_with_sources(dep)
1096
+ out = Gem::Deprecate.skip_during do
1097
+ installer.find_gems_with_sources(dep)
1098
+ end
1125
1099
 
1126
1100
  assert out.empty?
1127
1101
  assert_kind_of Gem::SourceFetchProblem, installer.errors.first
@@ -1134,9 +1108,9 @@ class TestGemDependencyInstaller < Gem::TestCase
1134
1108
  FileUtils.mv @b1_gem, @tempdir
1135
1109
 
1136
1110
  inst = Gem::DependencyInstaller.new
1137
- request_set = inst.resolve_dependencies 'b', req('>= 0')
1111
+ request_set = inst.resolve_dependencies "b", req(">= 0")
1138
1112
 
1139
- requests = request_set.sorted_requests.map { |req| req.full_name }
1113
+ requests = request_set.sorted_requests.map {|req| req.full_name }
1140
1114
 
1141
1115
  assert_equal %w[a-1 b-1], requests
1142
1116
  end
@@ -1148,9 +1122,9 @@ class TestGemDependencyInstaller < Gem::TestCase
1148
1122
  FileUtils.mv @b1_gem, @tempdir
1149
1123
 
1150
1124
  inst = Gem::DependencyInstaller.new :ignore_dependencies => true
1151
- request_set = inst.resolve_dependencies 'b', req('>= 0')
1125
+ request_set = inst.resolve_dependencies "b", req(">= 0")
1152
1126
 
1153
- requests = request_set.sorted_requests.map { |req| req.full_name }
1127
+ requests = request_set.sorted_requests.map {|req| req.full_name }
1154
1128
 
1155
1129
  assert request_set.ignore_dependencies
1156
1130
 
@@ -1160,79 +1134,22 @@ class TestGemDependencyInstaller < Gem::TestCase
1160
1134
  def test_resolve_dependencies_local
1161
1135
  util_setup_gems
1162
1136
 
1163
- @a2, @a2_gem = util_gem 'a', '2'
1137
+ @a2, @a2_gem = util_gem "a", "2"
1164
1138
  FileUtils.mv @a1_gem, @tempdir
1165
1139
  FileUtils.mv @a2_gem, @tempdir
1166
1140
 
1167
1141
  inst = Gem::DependencyInstaller.new
1168
- request_set = inst.resolve_dependencies 'a-1.gem', req('>= 0')
1142
+ request_set = inst.resolve_dependencies "a-1.gem", req(">= 0")
1169
1143
 
1170
- requests = request_set.sorted_requests.map { |req| req.full_name }
1144
+ requests = request_set.sorted_requests.map {|req| req.full_name }
1171
1145
 
1172
1146
  assert_equal %w[a-1], requests
1173
1147
  end
1174
1148
 
1175
- def util_write_a1_bin
1176
- write_file File.join('gems', 'a-1', 'bin', 'a_bin') do |fp|
1177
- fp.puts "#!/usr/bin/ruby"
1178
- end
1179
- end
1180
-
1181
- def util_setup_c1_pre
1182
- @c1_pre, @c1_pre_gem = util_spec 'c', '1.a' do |s|
1183
- s.add_dependency 'a', '1.a'
1184
- s.add_dependency 'b', '1'
1185
- end
1186
-
1187
- util_reset_gems
1188
- end
1189
-
1190
1149
  def util_setup_d
1191
- @d1, @d1_gem = util_gem 'd', '1'
1192
- @d2, @d2_gem = util_gem 'd', '2'
1193
-
1194
- util_reset_gems
1195
- end
1196
-
1197
- def util_setup_wxyz
1198
- @x1_m, @x1_m_gem = util_spec 'x', '1' do |s|
1199
- s.platform = Gem::Platform.new %w[cpu my_platform 1]
1200
- end
1201
-
1202
- @x1_o, @x1_o_gem = util_spec 'x', '1' do |s|
1203
- s.platform = Gem::Platform.new %w[cpu other_platform 1]
1204
- end
1205
-
1206
- @w1, @w1_gem = util_spec 'w', '1', 'x' => nil
1207
-
1208
- @y1, @y1_gem = util_spec 'y', '1'
1209
- @y1_1_p, @y1_1_p_gem = util_spec 'y', '1.1' do |s|
1210
- s.platform = Gem::Platform.new %w[cpu my_platform 1]
1211
- end
1212
-
1213
- @z1, @z1_gem = util_spec 'z', '1', 'y' => nil
1214
-
1215
- util_reset_gems
1216
- end
1150
+ @d1, @d1_gem = util_gem "d", "1"
1151
+ @d2, @d2_gem = util_gem "d", "2"
1217
1152
 
1218
- def util_reset_gems
1219
- @a1 ||= nil
1220
- @b1 ||= nil
1221
- @a1_pre ||= nil
1222
- @c1_pre ||= nil
1223
- @d1 ||= nil
1224
- @d2 ||= nil
1225
- @w1 ||= nil
1226
- @x1_m ||= nil
1227
- @x1_o ||= nil
1228
- @y1 ||= nil
1229
- @y1_1_p ||= nil
1230
- @z1 ||= nil
1231
-
1232
- util_setup_spec_fetcher(*[@a1, @a1_pre, @b1, @c1_pre,
1233
- @d1, @d2, @x1_m, @x1_o, @w1, @y1,
1234
- @y1_1_p, @z1].compact)
1235
-
1236
- util_clear_gems
1153
+ util_setup_spec_fetcher(@d1, @d2)
1237
1154
  end
1238
1155
  end