rubygems-update 3.3.18 → 3.4.19

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 (615) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +1429 -1064
  3. data/CONTRIBUTING.md +31 -8
  4. data/Manifest.txt +61 -36
  5. data/POLICIES.md +55 -20
  6. data/README.md +19 -6
  7. data/bundler/CHANGELOG.md +457 -1
  8. data/bundler/README.md +3 -6
  9. data/bundler/UPGRADING.md +11 -4
  10. data/bundler/bundler.gemspec +8 -10
  11. data/bundler/exe/bundle +5 -16
  12. data/bundler/lib/bundler/build_metadata.rb +2 -2
  13. data/bundler/lib/bundler/cli/add.rb +1 -1
  14. data/bundler/lib/bundler/cli/binstubs.rb +6 -2
  15. data/bundler/lib/bundler/cli/check.rb +1 -1
  16. data/bundler/lib/bundler/cli/common.rb +2 -0
  17. data/bundler/lib/bundler/cli/console.rb +2 -2
  18. data/bundler/lib/bundler/cli/doctor.rb +4 -6
  19. data/bundler/lib/bundler/cli/gem.rb +62 -40
  20. data/bundler/lib/bundler/cli/info.rb +1 -1
  21. data/bundler/lib/bundler/cli/init.rb +6 -2
  22. data/bundler/lib/bundler/cli/install.rb +8 -6
  23. data/bundler/lib/bundler/cli/lock.rb +8 -5
  24. data/bundler/lib/bundler/cli/open.rb +6 -4
  25. data/bundler/lib/bundler/cli/outdated.rb +14 -7
  26. data/bundler/lib/bundler/cli/platform.rb +7 -5
  27. data/bundler/lib/bundler/cli/viz.rb +1 -1
  28. data/bundler/lib/bundler/cli.rb +53 -7
  29. data/bundler/lib/bundler/compact_index_client/cache.rb +1 -1
  30. data/bundler/lib/bundler/compact_index_client/updater.rb +40 -39
  31. data/bundler/lib/bundler/constants.rb +1 -1
  32. data/bundler/lib/bundler/current_ruby.rb +16 -5
  33. data/bundler/lib/bundler/definition.rb +262 -133
  34. data/bundler/lib/bundler/dependency.rb +20 -86
  35. data/bundler/lib/bundler/digest.rb +1 -1
  36. data/bundler/lib/bundler/dsl.rb +6 -7
  37. data/bundler/lib/bundler/endpoint_specification.rb +2 -13
  38. data/bundler/lib/bundler/env.rb +2 -2
  39. data/bundler/lib/bundler/environment_preserver.rb +3 -2
  40. data/bundler/lib/bundler/errors.rb +1 -11
  41. data/bundler/lib/bundler/feature_flag.rb +0 -2
  42. data/bundler/lib/bundler/fetcher/compact_index.rb +11 -13
  43. data/bundler/lib/bundler/fetcher/dependency.rb +2 -6
  44. data/bundler/lib/bundler/fetcher/downloader.rb +4 -5
  45. data/bundler/lib/bundler/fetcher/index.rb +1 -2
  46. data/bundler/lib/bundler/fetcher.rb +21 -15
  47. data/bundler/lib/bundler/force_platform.rb +18 -0
  48. data/bundler/lib/bundler/friendly_errors.rb +1 -4
  49. data/bundler/lib/bundler/gem_helper.rb +3 -4
  50. data/bundler/lib/bundler/gem_helpers.rb +7 -2
  51. data/bundler/lib/bundler/gem_version_promoter.rb +53 -98
  52. data/bundler/lib/bundler/graph.rb +3 -3
  53. data/bundler/lib/bundler/index.rb +13 -47
  54. data/bundler/lib/bundler/injector.rb +5 -4
  55. data/bundler/lib/bundler/inline.rb +9 -11
  56. data/bundler/lib/bundler/installer/parallel_installer.rb +4 -34
  57. data/bundler/lib/bundler/installer/standalone.rb +13 -9
  58. data/bundler/lib/bundler/installer.rb +17 -29
  59. data/bundler/lib/bundler/lazy_specification.rb +54 -53
  60. data/bundler/lib/bundler/lockfile_generator.rb +3 -3
  61. data/bundler/lib/bundler/lockfile_parser.rb +17 -16
  62. data/bundler/lib/bundler/man/bundle-add.1 +6 -2
  63. data/bundler/lib/bundler/man/bundle-add.1.ronn +4 -1
  64. data/bundler/lib/bundler/man/bundle-binstubs.1 +1 -1
  65. data/bundler/lib/bundler/man/bundle-cache.1 +9 -3
  66. data/bundler/lib/bundler/man/bundle-cache.1.ronn +9 -2
  67. data/bundler/lib/bundler/man/bundle-check.1 +1 -1
  68. data/bundler/lib/bundler/man/bundle-clean.1 +2 -2
  69. data/bundler/lib/bundler/man/bundle-clean.1.ronn +1 -1
  70. data/bundler/lib/bundler/man/bundle-config.1 +26 -10
  71. data/bundler/lib/bundler/man/bundle-config.1.ronn +17 -10
  72. data/bundler/lib/bundler/man/bundle-console.1 +53 -0
  73. data/bundler/lib/bundler/man/bundle-console.1.ronn +44 -0
  74. data/bundler/lib/bundler/man/bundle-doctor.1 +1 -1
  75. data/bundler/lib/bundler/man/bundle-exec.1 +6 -6
  76. data/bundler/lib/bundler/man/bundle-exec.1.ronn +6 -6
  77. data/bundler/lib/bundler/man/bundle-gem.1 +27 -37
  78. data/bundler/lib/bundler/man/bundle-gem.1.ronn +5 -5
  79. data/bundler/lib/bundler/man/bundle-help.1 +13 -0
  80. data/bundler/lib/bundler/man/bundle-help.1.ronn +12 -0
  81. data/bundler/lib/bundler/man/bundle-info.1 +3 -3
  82. data/bundler/lib/bundler/man/bundle-info.1.ronn +3 -3
  83. data/bundler/lib/bundler/man/bundle-init.1 +5 -1
  84. data/bundler/lib/bundler/man/bundle-init.1.ronn +2 -0
  85. data/bundler/lib/bundler/man/bundle-inject.1 +5 -2
  86. data/bundler/lib/bundler/man/bundle-inject.1.ronn +3 -1
  87. data/bundler/lib/bundler/man/bundle-install.1 +5 -30
  88. data/bundler/lib/bundler/man/bundle-install.1.ronn +6 -29
  89. data/bundler/lib/bundler/man/bundle-list.1 +1 -1
  90. data/bundler/lib/bundler/man/bundle-lock.1 +1 -1
  91. data/bundler/lib/bundler/man/bundle-open.1 +22 -2
  92. data/bundler/lib/bundler/man/bundle-open.1.ronn +9 -1
  93. data/bundler/lib/bundler/man/bundle-outdated.1 +13 -9
  94. data/bundler/lib/bundler/man/bundle-outdated.1.ronn +12 -9
  95. data/bundler/lib/bundler/man/bundle-platform.1 +16 -6
  96. data/bundler/lib/bundler/man/bundle-platform.1.ronn +14 -7
  97. data/bundler/lib/bundler/man/bundle-plugin.1 +81 -0
  98. data/bundler/lib/bundler/man/bundle-plugin.1.ronn +59 -0
  99. data/bundler/lib/bundler/man/bundle-pristine.1 +1 -1
  100. data/bundler/lib/bundler/man/bundle-remove.1 +1 -1
  101. data/bundler/lib/bundler/man/bundle-show.1 +1 -1
  102. data/bundler/lib/bundler/man/bundle-update.1 +1 -1
  103. data/bundler/lib/bundler/man/bundle-version.1 +35 -0
  104. data/bundler/lib/bundler/man/bundle-version.1.ronn +24 -0
  105. data/bundler/lib/bundler/man/bundle-viz.1 +4 -1
  106. data/bundler/lib/bundler/man/bundle-viz.1.ronn +2 -0
  107. data/bundler/lib/bundler/man/bundle.1 +15 -10
  108. data/bundler/lib/bundler/man/bundle.1.ronn +12 -7
  109. data/bundler/lib/bundler/man/gemfile.5 +55 -55
  110. data/bundler/lib/bundler/man/gemfile.5.ronn +57 -53
  111. data/bundler/lib/bundler/man/index.txt +4 -0
  112. data/bundler/lib/bundler/match_metadata.rb +13 -0
  113. data/bundler/lib/bundler/match_remote_metadata.rb +29 -0
  114. data/bundler/lib/bundler/mirror.rb +5 -7
  115. data/bundler/lib/bundler/plugin/index.rb +5 -5
  116. data/bundler/lib/bundler/plugin/installer/rubygems.rb +0 -4
  117. data/bundler/lib/bundler/plugin/installer.rb +5 -2
  118. data/bundler/lib/bundler/plugin.rb +3 -1
  119. data/bundler/lib/bundler/remote_specification.rb +7 -12
  120. data/bundler/lib/bundler/resolver/base.rb +107 -0
  121. data/bundler/lib/bundler/resolver/candidate.rb +94 -0
  122. data/bundler/lib/bundler/resolver/incompatibility.rb +15 -0
  123. data/bundler/lib/bundler/resolver/package.rb +72 -0
  124. data/bundler/lib/bundler/resolver/root.rb +25 -0
  125. data/bundler/lib/bundler/resolver/spec_group.rb +42 -71
  126. data/bundler/lib/bundler/resolver.rb +335 -328
  127. data/bundler/lib/bundler/ruby_dsl.rb +7 -1
  128. data/bundler/lib/bundler/ruby_version.rb +8 -8
  129. data/bundler/lib/bundler/rubygems_ext.rb +100 -9
  130. data/bundler/lib/bundler/rubygems_gem_installer.rb +23 -14
  131. data/bundler/lib/bundler/rubygems_integration.rb +11 -15
  132. data/bundler/lib/bundler/runtime.rb +2 -6
  133. data/bundler/lib/bundler/safe_marshal.rb +31 -0
  134. data/bundler/lib/bundler/settings.rb +5 -11
  135. data/bundler/lib/bundler/setup.rb +4 -1
  136. data/bundler/lib/bundler/shared_helpers.rb +3 -3
  137. data/bundler/lib/bundler/source/git/git_proxy.rb +237 -74
  138. data/bundler/lib/bundler/source/git.rb +55 -30
  139. data/bundler/lib/bundler/source/metadata.rb +1 -2
  140. data/bundler/lib/bundler/source/path/installer.rb +1 -22
  141. data/bundler/lib/bundler/source/path.rb +6 -6
  142. data/bundler/lib/bundler/source/rubygems.rb +26 -81
  143. data/bundler/lib/bundler/source.rb +1 -1
  144. data/bundler/lib/bundler/source_list.rb +8 -2
  145. data/bundler/lib/bundler/spec_set.rb +60 -37
  146. data/bundler/lib/bundler/templates/Executable +1 -1
  147. data/bundler/lib/bundler/templates/Executable.bundler +5 -10
  148. data/bundler/lib/bundler/templates/Executable.standalone +2 -0
  149. data/bundler/lib/bundler/templates/newgem/Cargo.toml.tt +7 -0
  150. data/bundler/lib/bundler/templates/newgem/Gemfile.tt +3 -0
  151. data/bundler/lib/bundler/templates/newgem/README.md.tt +6 -4
  152. data/bundler/lib/bundler/templates/newgem/Rakefile.tt +12 -1
  153. data/bundler/lib/bundler/templates/newgem/bin/console.tt +0 -4
  154. data/bundler/lib/bundler/templates/newgem/circleci/config.yml.tt +12 -0
  155. data/bundler/lib/bundler/templates/newgem/ext/newgem/Cargo.toml.tt +15 -0
  156. data/bundler/lib/bundler/templates/newgem/ext/newgem/extconf-c.rb.tt +10 -0
  157. data/bundler/lib/bundler/templates/newgem/ext/newgem/extconf-rust.rb.tt +6 -0
  158. data/bundler/lib/bundler/templates/newgem/ext/newgem/newgem.c.tt +1 -1
  159. data/bundler/lib/bundler/templates/newgem/ext/newgem/src/lib.rs.tt +12 -0
  160. data/bundler/lib/bundler/templates/newgem/github/workflows/main.yml.tt +10 -0
  161. data/bundler/lib/bundler/templates/newgem/gitignore.tt +3 -0
  162. data/bundler/lib/bundler/templates/newgem/gitlab-ci.yml.tt +13 -4
  163. data/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt +9 -2
  164. data/bundler/lib/bundler/ui/rg_proxy.rb +1 -1
  165. data/bundler/lib/bundler/ui/shell.rb +35 -12
  166. data/bundler/lib/bundler/ui/silent.rb +21 -5
  167. data/bundler/lib/bundler/uri_normalizer.rb +23 -0
  168. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.rb +3 -3
  169. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/wrapper.rb +0 -1
  170. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool.rb +3 -1
  171. data/bundler/lib/bundler/vendor/fileutils/lib/fileutils.rb +1351 -409
  172. data/bundler/lib/bundler/vendor/net-http-persistent/README.rdoc +1 -1
  173. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +1 -1
  174. data/bundler/lib/bundler/vendor/pub_grub/LICENSE.txt +21 -0
  175. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/assignment.rb +20 -0
  176. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/basic_package_source.rb +189 -0
  177. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/failure_writer.rb +182 -0
  178. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/incompatibility.rb +150 -0
  179. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/package.rb +43 -0
  180. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/partial_solution.rb +121 -0
  181. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/rubygems.rb +45 -0
  182. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/solve_failure.rb +19 -0
  183. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/static_package_source.rb +60 -0
  184. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/term.rb +105 -0
  185. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version.rb +3 -0
  186. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_constraint.rb +129 -0
  187. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_range.rb +411 -0
  188. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_solver.rb +248 -0
  189. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_union.rb +178 -0
  190. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub.rb +31 -0
  191. data/bundler/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +1 -1
  192. data/bundler/lib/bundler/vendor/uri/lib/uri/common.rb +64 -16
  193. data/bundler/lib/bundler/vendor/uri/lib/uri/file.rb +7 -1
  194. data/bundler/lib/bundler/vendor/uri/lib/uri/ftp.rb +2 -1
  195. data/bundler/lib/bundler/vendor/uri/lib/uri/generic.rb +27 -7
  196. data/bundler/lib/bundler/vendor/uri/lib/uri/http.rb +40 -2
  197. data/bundler/lib/bundler/vendor/uri/lib/uri/https.rb +2 -1
  198. data/bundler/lib/bundler/vendor/uri/lib/uri/ldap.rb +1 -1
  199. data/bundler/lib/bundler/vendor/uri/lib/uri/ldaps.rb +2 -1
  200. data/bundler/lib/bundler/vendor/uri/lib/uri/mailto.rb +2 -2
  201. data/bundler/lib/bundler/vendor/uri/lib/uri/rfc2396_parser.rb +15 -9
  202. data/bundler/lib/bundler/vendor/uri/lib/uri/rfc3986_parser.rb +11 -6
  203. data/bundler/lib/bundler/vendor/uri/lib/uri/version.rb +1 -1
  204. data/bundler/lib/bundler/vendor/uri/lib/uri/ws.rb +1 -2
  205. data/bundler/lib/bundler/vendor/uri/lib/uri/wss.rb +2 -1
  206. data/bundler/lib/bundler/vendor/uri/lib/uri.rb +3 -2
  207. data/bundler/lib/bundler/vendored_persistent.rb +1 -33
  208. data/bundler/lib/bundler/{vendored_tmpdir.rb → vendored_pub_grub.rb} +1 -1
  209. data/bundler/lib/bundler/version.rb +5 -1
  210. data/bundler/lib/bundler/worker.rb +5 -7
  211. data/bundler/lib/bundler.rb +25 -77
  212. data/{bin → exe}/gem +4 -5
  213. data/{bin → exe}/update_rubygems +12 -10
  214. data/lib/rubygems/available_set.rb +4 -3
  215. data/lib/rubygems/basic_specification.rb +5 -4
  216. data/lib/rubygems/bundler_version_finder.rb +2 -2
  217. data/lib/rubygems/command.rb +41 -32
  218. data/lib/rubygems/command_manager.rb +30 -15
  219. data/lib/rubygems/commands/build_command.rb +12 -8
  220. data/lib/rubygems/commands/cert_command.rb +34 -33
  221. data/lib/rubygems/commands/check_command.rb +21 -20
  222. data/lib/rubygems/commands/cleanup_command.rb +18 -17
  223. data/lib/rubygems/commands/contents_command.rb +14 -13
  224. data/lib/rubygems/commands/dependency_command.rb +17 -16
  225. data/lib/rubygems/commands/environment_command.rb +6 -5
  226. data/lib/rubygems/commands/exec_command.rb +249 -0
  227. data/lib/rubygems/commands/fetch_command.rb +10 -9
  228. data/lib/rubygems/commands/generate_index_command.rb +18 -17
  229. data/lib/rubygems/commands/help_command.rb +7 -6
  230. data/lib/rubygems/commands/info_command.rb +3 -3
  231. data/lib/rubygems/commands/install_command.rb +28 -23
  232. data/lib/rubygems/commands/list_command.rb +4 -3
  233. data/lib/rubygems/commands/lock_command.rb +5 -4
  234. data/lib/rubygems/commands/mirror_command.rb +4 -3
  235. data/lib/rubygems/commands/open_command.rb +10 -9
  236. data/lib/rubygems/commands/outdated_command.rb +6 -5
  237. data/lib/rubygems/commands/owner_command.rb +17 -14
  238. data/lib/rubygems/commands/pristine_command.rb +46 -36
  239. data/lib/rubygems/commands/push_command.rb +9 -8
  240. data/lib/rubygems/commands/query_command.rb +9 -8
  241. data/lib/rubygems/commands/rdoc_command.rb +21 -19
  242. data/lib/rubygems/commands/search_command.rb +4 -3
  243. data/lib/rubygems/commands/server_command.rb +4 -3
  244. data/lib/rubygems/commands/setup_command.rb +97 -106
  245. data/lib/rubygems/commands/signin_command.rb +10 -9
  246. data/lib/rubygems/commands/signout_command.rb +8 -7
  247. data/lib/rubygems/commands/sources_command.rb +22 -21
  248. data/lib/rubygems/commands/specification_command.rb +14 -13
  249. data/lib/rubygems/commands/stale_command.rb +3 -2
  250. data/lib/rubygems/commands/uninstall_command.rb +44 -40
  251. data/lib/rubygems/commands/unpack_command.rb +14 -13
  252. data/lib/rubygems/commands/update_command.rb +42 -63
  253. data/lib/rubygems/commands/which_command.rb +8 -7
  254. data/lib/rubygems/commands/yank_command.rb +12 -11
  255. data/lib/rubygems/config_file.rb +55 -21
  256. data/lib/rubygems/core_ext/kernel_gem.rb +1 -6
  257. data/lib/rubygems/core_ext/kernel_require.rb +109 -115
  258. data/lib/rubygems/core_ext/kernel_warn.rb +33 -37
  259. data/lib/rubygems/core_ext/tcpsocket_init.rb +3 -1
  260. data/lib/rubygems/defaults.rb +33 -18
  261. data/lib/rubygems/dependency.rb +15 -11
  262. data/lib/rubygems/dependency_installer.rb +38 -37
  263. data/lib/rubygems/dependency_list.rb +7 -6
  264. data/lib/rubygems/deprecate.rb +3 -2
  265. data/lib/rubygems/doctor.rb +19 -18
  266. data/lib/rubygems/errors.rb +3 -2
  267. data/lib/rubygems/exceptions.rb +16 -8
  268. data/lib/rubygems/ext/build_error.rb +2 -1
  269. data/lib/rubygems/ext/builder.rb +37 -21
  270. data/lib/rubygems/ext/cargo_builder/link_flag_converter.rb +9 -5
  271. data/lib/rubygems/ext/cargo_builder.rb +150 -111
  272. data/lib/rubygems/ext/cmake_builder.rb +2 -2
  273. data/lib/rubygems/ext/configure_builder.rb +2 -1
  274. data/lib/rubygems/ext/ext_conf_builder.rb +11 -9
  275. data/lib/rubygems/ext/rake_builder.rb +7 -5
  276. data/lib/rubygems/ext.rb +8 -7
  277. data/lib/rubygems/gem_runner.rb +6 -5
  278. data/lib/rubygems/gemcutter_utilities/webauthn_listener/response.rb +163 -0
  279. data/lib/rubygems/gemcutter_utilities/webauthn_listener.rb +105 -0
  280. data/lib/rubygems/gemcutter_utilities/webauthn_poller.rb +78 -0
  281. data/lib/rubygems/gemcutter_utilities.rb +90 -34
  282. data/lib/rubygems/indexer.rb +29 -28
  283. data/lib/rubygems/install_default_message.rb +3 -2
  284. data/lib/rubygems/install_message.rb +3 -2
  285. data/lib/rubygems/install_update_options.rb +56 -55
  286. data/lib/rubygems/installer.rb +54 -46
  287. data/lib/rubygems/installer_uninstaller_utils.rb +2 -2
  288. data/lib/rubygems/local_remote_options.rb +19 -20
  289. data/lib/rubygems/mock_gem_ui.rb +3 -2
  290. data/lib/rubygems/name_tuple.rb +5 -4
  291. data/lib/rubygems/optparse/lib/optparse.rb +20 -15
  292. data/lib/rubygems/optparse.rb +1 -1
  293. data/lib/rubygems/package/digest_io.rb +1 -0
  294. data/lib/rubygems/package/file_source.rb +3 -2
  295. data/lib/rubygems/package/io_source.rb +1 -0
  296. data/lib/rubygems/package/old.rb +9 -8
  297. data/lib/rubygems/package/source.rb +1 -0
  298. data/lib/rubygems/package/tar_header.rb +63 -62
  299. data/lib/rubygems/package/tar_reader/entry.rb +91 -9
  300. data/lib/rubygems/package/tar_reader.rb +2 -29
  301. data/lib/rubygems/package/tar_writer.rb +8 -7
  302. data/lib/rubygems/package.rb +64 -48
  303. data/lib/rubygems/package_task.rb +5 -4
  304. data/lib/rubygems/path_support.rb +1 -0
  305. data/lib/rubygems/platform.rb +79 -53
  306. data/lib/rubygems/psych_tree.rb +2 -1
  307. data/lib/rubygems/query_utils.rb +35 -35
  308. data/lib/rubygems/rdoc.rb +3 -2
  309. data/lib/rubygems/remote_fetcher.rb +23 -22
  310. data/lib/rubygems/request/connection_pools.rb +4 -4
  311. data/lib/rubygems/request/http_pool.rb +2 -1
  312. data/lib/rubygems/request/https_pool.rb +1 -0
  313. data/lib/rubygems/request.rb +23 -22
  314. data/lib/rubygems/request_set/gem_dependency_api.rb +123 -123
  315. data/lib/rubygems/request_set/lockfile/parser.rb +28 -27
  316. data/lib/rubygems/request_set/lockfile/tokenizer.rb +5 -3
  317. data/lib/rubygems/request_set/lockfile.rb +6 -5
  318. data/lib/rubygems/request_set.rb +20 -19
  319. data/lib/rubygems/requirement.rb +15 -14
  320. data/lib/rubygems/resolver/activation_request.rb +4 -3
  321. data/lib/rubygems/resolver/api_set.rb +5 -4
  322. data/lib/rubygems/resolver/api_specification.rb +7 -6
  323. data/lib/rubygems/resolver/best_set.rb +6 -5
  324. data/lib/rubygems/resolver/composed_set.rb +1 -0
  325. data/lib/rubygems/resolver/conflict.rb +11 -10
  326. data/lib/rubygems/resolver/current_set.rb +1 -0
  327. data/lib/rubygems/resolver/dependency_request.rb +3 -2
  328. data/lib/rubygems/resolver/git_set.rb +3 -2
  329. data/lib/rubygems/resolver/git_specification.rb +7 -6
  330. data/lib/rubygems/resolver/index_set.rb +4 -3
  331. data/lib/rubygems/resolver/index_specification.rb +7 -5
  332. data/lib/rubygems/resolver/installed_specification.rb +5 -4
  333. data/lib/rubygems/resolver/installer_set.rb +15 -17
  334. data/lib/rubygems/resolver/local_specification.rb +3 -2
  335. data/lib/rubygems/resolver/lock_set.rb +5 -4
  336. data/lib/rubygems/resolver/lock_specification.rb +5 -4
  337. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb +1 -1
  338. data/lib/rubygems/resolver/molinillo/lib/molinillo/errors.rb +32 -26
  339. data/lib/rubygems/resolver/molinillo/lib/molinillo/gem_metadata.rb +1 -1
  340. data/lib/rubygems/resolver/molinillo.rb +2 -1
  341. data/lib/rubygems/resolver/requirement_list.rb +1 -0
  342. data/lib/rubygems/resolver/set.rb +1 -0
  343. data/lib/rubygems/resolver/source_set.rb +2 -0
  344. data/lib/rubygems/resolver/spec_specification.rb +1 -0
  345. data/lib/rubygems/resolver/specification.rb +2 -1
  346. data/lib/rubygems/resolver/stats.rb +2 -1
  347. data/lib/rubygems/resolver/vendor_set.rb +2 -1
  348. data/lib/rubygems/resolver/vendor_specification.rb +4 -3
  349. data/lib/rubygems/resolver.rb +41 -40
  350. data/lib/rubygems/s3_uri_signer.rb +10 -8
  351. data/lib/rubygems/safe_yaml.rb +4 -2
  352. data/lib/rubygems/security/policies.rb +48 -47
  353. data/lib/rubygems/security/policy.rb +19 -18
  354. data/lib/rubygems/security/signer.rb +6 -5
  355. data/lib/rubygems/security/trust_dir.rb +5 -4
  356. data/lib/rubygems/security.rb +30 -42
  357. data/lib/rubygems/security_option.rb +6 -5
  358. data/lib/rubygems/shellwords.rb +3 -0
  359. data/lib/rubygems/source/git.rb +22 -22
  360. data/lib/rubygems/source/installed.rb +2 -1
  361. data/lib/rubygems/source/local.rb +3 -2
  362. data/lib/rubygems/source/lock.rb +1 -0
  363. data/lib/rubygems/source/specific_file.rb +2 -1
  364. data/lib/rubygems/source/vendor.rb +1 -0
  365. data/lib/rubygems/source.rb +16 -16
  366. data/lib/rubygems/spec_fetcher.rb +10 -9
  367. data/lib/rubygems/specification.rb +121 -114
  368. data/lib/rubygems/specification_policy.rb +36 -15
  369. data/lib/rubygems/stub_specification.rb +11 -9
  370. data/lib/rubygems/text.rb +2 -2
  371. data/lib/rubygems/tsort/lib/tsort.rb +308 -310
  372. data/lib/rubygems/tsort.rb +1 -1
  373. data/lib/rubygems/uninstaller.rb +19 -18
  374. data/lib/rubygems/update_suggestion.rb +69 -0
  375. data/lib/rubygems/uri.rb +4 -4
  376. data/lib/rubygems/uri_formatter.rb +1 -1
  377. data/lib/rubygems/user_interaction.rb +37 -21
  378. data/lib/rubygems/util/licenses.rb +4 -3
  379. data/lib/rubygems/util/list.rb +1 -0
  380. data/lib/rubygems/util.rb +12 -15
  381. data/lib/rubygems/validator.rb +7 -6
  382. data/lib/rubygems/version.rb +17 -11
  383. data/lib/rubygems/version_option.rb +4 -3
  384. data/lib/rubygems.rb +89 -68
  385. data/rubygems-update.gemspec +10 -8
  386. data/setup.rb +10 -9
  387. data/test/rubygems/alternate_cert.pem +14 -14
  388. data/test/rubygems/alternate_cert_32.pem +15 -15
  389. data/test/rubygems/alternate_key.pem +25 -25
  390. data/test/rubygems/bad_rake.rb +1 -0
  391. data/test/rubygems/bundler_test_gem.rb +421 -0
  392. data/test/rubygems/child_cert.pem +15 -16
  393. data/test/rubygems/child_cert_32.pem +15 -16
  394. data/test/rubygems/child_key.pem +25 -25
  395. data/test/rubygems/encrypted_private_key.pem +26 -26
  396. data/test/rubygems/expired_cert.pem +15 -15
  397. data/test/rubygems/fake_certlib/openssl.rb +1 -0
  398. data/test/rubygems/future_cert.pem +15 -15
  399. data/test/rubygems/future_cert_32.pem +15 -15
  400. data/test/rubygems/good_rake.rb +1 -0
  401. data/test/rubygems/grandchild_cert.pem +15 -16
  402. data/test/rubygems/grandchild_cert_32.pem +15 -16
  403. data/test/rubygems/grandchild_key.pem +25 -25
  404. data/test/rubygems/helper.rb +172 -151
  405. data/test/rubygems/installer_test_case.rb +14 -13
  406. data/test/rubygems/invalid_issuer_cert.pem +16 -16
  407. data/test/rubygems/invalid_issuer_cert_32.pem +16 -16
  408. data/test/rubygems/invalid_key.pem +25 -25
  409. data/test/rubygems/invalid_signer_cert.pem +15 -15
  410. data/test/rubygems/invalid_signer_cert_32.pem +15 -15
  411. data/test/rubygems/invalidchild_cert.pem +15 -16
  412. data/test/rubygems/invalidchild_cert_32.pem +15 -16
  413. data/test/rubygems/invalidchild_key.pem +25 -25
  414. data/test/rubygems/multifactor_auth_utilities.rb +111 -0
  415. data/test/rubygems/package/tar_test_case.rb +53 -17
  416. data/test/rubygems/packages/Bluebie-legs-0.6.2.gem +0 -0
  417. data/test/rubygems/plugin/exception/rubygems_plugin.rb +2 -1
  418. data/test/rubygems/plugin/load/rubygems_plugin.rb +1 -0
  419. data/test/rubygems/plugin/standarderror/rubygems_plugin.rb +2 -1
  420. data/test/rubygems/private_key.pem +25 -25
  421. data/test/rubygems/public_cert.pem +16 -16
  422. data/test/rubygems/public_cert_32.pem +15 -15
  423. data/test/rubygems/public_key.pem +7 -7
  424. data/test/rubygems/rubygems/commands/crash_command.rb +1 -0
  425. data/test/rubygems/rubygems_plugin.rb +3 -2
  426. data/test/rubygems/simple_gem.rb +2 -1
  427. data/test/rubygems/specifications/bar-0.0.2.gemspec +2 -0
  428. data/test/rubygems/specifications/rubyforge-0.0.1.gemspec +6 -4
  429. data/test/rubygems/test_bundled_ca.rb +13 -12
  430. data/test/rubygems/test_config.rb +5 -4
  431. data/test/rubygems/test_deprecate.rb +5 -4
  432. data/test/rubygems/test_exit.rb +9 -3
  433. data/test/rubygems/test_gem.rb +339 -677
  434. data/test/rubygems/test_gem_available_set.rb +22 -21
  435. data/test/rubygems/test_gem_bundler_version_finder.rb +6 -4
  436. data/test/rubygems/test_gem_command.rb +45 -44
  437. data/test/rubygems/test_gem_command_manager.rb +96 -30
  438. data/test/rubygems/test_gem_commands_build_command.rb +74 -63
  439. data/test/rubygems/test_gem_commands_cert_command.rb +98 -99
  440. data/test/rubygems/test_gem_commands_check_command.rb +5 -4
  441. data/test/rubygems/test_gem_commands_cleanup_command.rb +41 -40
  442. data/test/rubygems/test_gem_commands_contents_command.rb +28 -27
  443. data/test/rubygems/test_gem_commands_dependency_command.rb +37 -36
  444. data/test/rubygems/test_gem_commands_environment_command.rb +17 -16
  445. data/test/rubygems/test_gem_commands_exec_command.rb +853 -0
  446. data/test/rubygems/test_gem_commands_fetch_command.rb +38 -37
  447. data/test/rubygems/test_gem_commands_generate_index_command.rb +8 -7
  448. data/test/rubygems/test_gem_commands_help_command.rb +14 -13
  449. data/test/rubygems/test_gem_commands_info_command.rb +29 -2
  450. data/test/rubygems/test_gem_commands_install_command.rb +152 -132
  451. data/test/rubygems/test_gem_commands_list_command.rb +5 -4
  452. data/test/rubygems/test_gem_commands_lock_command.rb +11 -10
  453. data/test/rubygems/test_gem_commands_mirror.rb +3 -2
  454. data/test/rubygems/test_gem_commands_open_command.rb +5 -4
  455. data/test/rubygems/test_gem_commands_outdated_command.rb +10 -9
  456. data/test/rubygems/test_gem_commands_owner_command.rb +227 -50
  457. data/test/rubygems/test_gem_commands_pristine_command.rb +142 -93
  458. data/test/rubygems/test_gem_commands_push_command.rb +189 -64
  459. data/test/rubygems/test_gem_commands_query_command.rb +74 -73
  460. data/test/rubygems/test_gem_commands_search_command.rb +3 -2
  461. data/test/rubygems/test_gem_commands_server_command.rb +3 -2
  462. data/test/rubygems/test_gem_commands_setup_command.rb +123 -96
  463. data/test/rubygems/test_gem_commands_signin_command.rb +71 -31
  464. data/test/rubygems/test_gem_commands_signout_command.rb +3 -3
  465. data/test/rubygems/test_gem_commands_sources_command.rb +29 -29
  466. data/test/rubygems/test_gem_commands_specification_command.rb +33 -32
  467. data/test/rubygems/test_gem_commands_stale_command.rb +5 -4
  468. data/test/rubygems/test_gem_commands_uninstall_command.rb +99 -81
  469. data/test/rubygems/test_gem_commands_unpack_command.rb +32 -31
  470. data/test/rubygems/test_gem_commands_update_command.rb +96 -95
  471. data/test/rubygems/test_gem_commands_which_command.rb +7 -6
  472. data/test/rubygems/test_gem_commands_yank_command.rb +162 -43
  473. data/test/rubygems/test_gem_config_file.rb +94 -81
  474. data/test/rubygems/test_gem_dependency.rb +76 -73
  475. data/test/rubygems/test_gem_dependency_installer.rb +200 -165
  476. data/test/rubygems/test_gem_dependency_list.rb +48 -47
  477. data/test/rubygems/test_gem_dependency_resolution_error.rb +5 -4
  478. data/test/rubygems/test_gem_doctor.rb +27 -26
  479. data/test/rubygems/test_gem_ext_builder.rb +60 -61
  480. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/custom_name.gemspec +4 -4
  481. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/{Cargo.lock → ext/custom_name_lib/Cargo.lock} +23 -33
  482. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/{Cargo.toml → ext/custom_name_lib/Cargo.toml} +1 -1
  483. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/{src → ext/custom_name_lib/src}/lib.rs +1 -1
  484. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/lib/custom_name.rb +3 -0
  485. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.lock +37 -33
  486. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.toml +1 -1
  487. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/rust_ruby_example.gemspec +2 -0
  488. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/src/lib.rs +12 -0
  489. data/test/rubygems/test_gem_ext_cargo_builder.rb +48 -59
  490. data/test/rubygems/test_gem_ext_cargo_builder_link_flag_converter.rb +20 -19
  491. data/test/rubygems/test_gem_ext_cargo_builder_unit.rb +21 -36
  492. data/test/rubygems/test_gem_ext_cmake_builder.rb +16 -15
  493. data/test/rubygems/test_gem_ext_configure_builder.rb +14 -13
  494. data/test/rubygems/test_gem_ext_ext_conf_builder.rb +51 -52
  495. data/test/rubygems/test_gem_ext_rake_builder.rb +16 -15
  496. data/test/rubygems/test_gem_gem_runner.rb +15 -9
  497. data/test/rubygems/test_gem_gemcutter_utilities.rb +170 -84
  498. data/test/rubygems/test_gem_impossible_dependencies_error.rb +5 -4
  499. data/test/rubygems/test_gem_indexer.rb +87 -67
  500. data/test/rubygems/test_gem_install_update_options.rb +17 -16
  501. data/test/rubygems/test_gem_installer.rb +422 -304
  502. data/test/rubygems/test_gem_local_remote_options.rb +11 -10
  503. data/test/rubygems/test_gem_name_tuple.rb +5 -4
  504. data/test/rubygems/test_gem_package.rb +243 -231
  505. data/test/rubygems/test_gem_package_old.rb +14 -13
  506. data/test/rubygems/test_gem_package_tar_header.rb +48 -47
  507. data/test/rubygems/test_gem_package_tar_reader.rb +56 -8
  508. data/test/rubygems/test_gem_package_tar_reader_entry.rb +162 -16
  509. data/test/rubygems/test_gem_package_tar_writer.rb +77 -76
  510. data/test/rubygems/test_gem_package_task.rb +19 -18
  511. data/test/rubygems/test_gem_path_support.rb +15 -14
  512. data/test/rubygems/test_gem_platform.rb +333 -227
  513. data/test/rubygems/test_gem_rdoc.rb +15 -14
  514. data/test/rubygems/test_gem_remote_fetcher.rb +155 -154
  515. data/test/rubygems/test_gem_request.rb +64 -58
  516. data/test/rubygems/test_gem_request_connection_pools.rb +30 -29
  517. data/test/rubygems/test_gem_request_set.rb +101 -100
  518. data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +210 -211
  519. data/test/rubygems/test_gem_request_set_lockfile.rb +87 -86
  520. data/test/rubygems/test_gem_request_set_lockfile_parser.rb +58 -57
  521. data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +63 -62
  522. data/test/rubygems/test_gem_requirement.rb +48 -41
  523. data/test/rubygems/test_gem_resolver.rb +167 -99
  524. data/test/rubygems/test_gem_resolver_activation_request.rb +7 -6
  525. data/test/rubygems/test_gem_resolver_api_set.rb +34 -33
  526. data/test/rubygems/test_gem_resolver_api_specification.rb +48 -47
  527. data/test/rubygems/test_gem_resolver_best_set.rb +23 -22
  528. data/test/rubygems/test_gem_resolver_composed_set.rb +2 -1
  529. data/test/rubygems/test_gem_resolver_conflict.rb +13 -12
  530. data/test/rubygems/test_gem_resolver_dependency_request.rb +16 -15
  531. data/test/rubygems/test_gem_resolver_git_set.rb +22 -21
  532. data/test/rubygems/test_gem_resolver_git_specification.rb +22 -21
  533. data/test/rubygems/test_gem_resolver_index_set.rb +13 -12
  534. data/test/rubygems/test_gem_resolver_index_specification.rb +17 -16
  535. data/test/rubygems/test_gem_resolver_installed_specification.rb +6 -5
  536. data/test/rubygems/test_gem_resolver_installer_set.rb +79 -34
  537. data/test/rubygems/test_gem_resolver_local_specification.rb +8 -7
  538. data/test/rubygems/test_gem_resolver_lock_set.rb +13 -12
  539. data/test/rubygems/test_gem_resolver_lock_specification.rb +18 -17
  540. data/test/rubygems/test_gem_resolver_requirement_list.rb +2 -1
  541. data/test/rubygems/test_gem_resolver_specification.rb +9 -8
  542. data/test/rubygems/test_gem_resolver_vendor_set.rb +7 -6
  543. data/test/rubygems/test_gem_resolver_vendor_specification.rb +11 -10
  544. data/test/rubygems/test_gem_security.rb +69 -68
  545. data/test/rubygems/test_gem_security_policy.rb +72 -72
  546. data/test/rubygems/test_gem_security_signer.rb +35 -34
  547. data/test/rubygems/test_gem_security_trust_dir.rb +7 -6
  548. data/test/rubygems/test_gem_silent_ui.rb +39 -32
  549. data/test/rubygems/test_gem_source.rb +45 -44
  550. data/test/rubygems/test_gem_source_fetch_problem.rb +10 -9
  551. data/test/rubygems/test_gem_source_git.rb +69 -62
  552. data/test/rubygems/test_gem_source_installed.rb +17 -16
  553. data/test/rubygems/test_gem_source_list.rb +6 -5
  554. data/test/rubygems/test_gem_source_local.rb +15 -14
  555. data/test/rubygems/test_gem_source_lock.rb +32 -31
  556. data/test/rubygems/test_gem_source_specific_file.rb +18 -17
  557. data/test/rubygems/test_gem_source_subpath_problem.rb +8 -7
  558. data/test/rubygems/test_gem_source_vendor.rb +14 -13
  559. data/test/rubygems/test_gem_spec_fetcher.rb +73 -72
  560. data/test/rubygems/test_gem_specification.rb +533 -469
  561. data/test/rubygems/test_gem_stream_ui.rb +53 -22
  562. data/test/rubygems/test_gem_stub_specification.rb +33 -32
  563. data/test/rubygems/test_gem_text.rb +2 -1
  564. data/test/rubygems/test_gem_uninstaller.rb +118 -117
  565. data/test/rubygems/test_gem_unsatisfiable_dependency_error.rb +4 -3
  566. data/test/rubygems/test_gem_update_suggestion.rb +209 -0
  567. data/test/rubygems/test_gem_uri.rb +6 -4
  568. data/test/rubygems/test_gem_uri_formatter.rb +15 -14
  569. data/test/rubygems/test_gem_util.rb +24 -23
  570. data/test/rubygems/test_gem_validator.rb +8 -8
  571. data/test/rubygems/test_gem_version.rb +24 -16
  572. data/test/rubygems/test_gem_version_option.rb +16 -15
  573. data/test/rubygems/test_kernel.rb +43 -48
  574. data/test/rubygems/test_project_sanity.rb +32 -3
  575. data/test/rubygems/test_remote_fetch_error.rb +8 -7
  576. data/test/rubygems/test_require.rb +118 -103
  577. data/test/rubygems/test_rubygems.rb +10 -8
  578. data/test/rubygems/test_webauthn_listener.rb +143 -0
  579. data/test/rubygems/test_webauthn_listener_response.rb +93 -0
  580. data/test/rubygems/test_webauthn_poller.rb +124 -0
  581. data/test/rubygems/utilities.rb +98 -34
  582. data/test/rubygems/wrong_key_cert.pem +15 -15
  583. data/test/rubygems/wrong_key_cert_32.pem +15 -15
  584. data/test/test_changelog_generator.rb +1 -1
  585. metadata +99 -46
  586. data/bundler/lib/bundler/dep_proxy.rb +0 -55
  587. data/bundler/lib/bundler/templates/gems.rb +0 -5
  588. data/bundler/lib/bundler/templates/newgem/ext/newgem/extconf.rb.tt +0 -5
  589. data/bundler/lib/bundler/templates/newgem/travis.yml.tt +0 -6
  590. data/bundler/lib/bundler/vendor/molinillo/LICENSE +0 -9
  591. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/delegates/resolution_state.rb +0 -57
  592. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb +0 -88
  593. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/action.rb +0 -36
  594. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +0 -66
  595. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +0 -62
  596. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +0 -63
  597. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +0 -61
  598. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/log.rb +0 -126
  599. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/set_payload.rb +0 -46
  600. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb +0 -36
  601. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb +0 -164
  602. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +0 -255
  603. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +0 -149
  604. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb +0 -6
  605. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/modules/specification_provider.rb +0 -112
  606. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/modules/ui.rb +0 -67
  607. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb +0 -839
  608. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/resolver.rb +0 -46
  609. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/state.rb +0 -58
  610. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo.rb +0 -11
  611. data/bundler/lib/bundler/vendor/tmpdir/lib/tmpdir.rb +0 -154
  612. data/bundler/lib/bundler/vendored_molinillo.rb +0 -4
  613. data/bundler/lib/bundler/version_ranges.rb +0 -122
  614. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/build.rb +0 -21
  615. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/build.rb +0 -21
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
- require_relative 'helper'
3
- require 'rubygems/dependency_list'
2
+
3
+ require_relative "helper"
4
+ require "rubygems/dependency_list"
4
5
 
5
6
  class TestGemDependencyList < Gem::TestCase
6
7
  def setup
@@ -9,26 +10,26 @@ class TestGemDependencyList < Gem::TestCase
9
10
  @deplist = Gem::DependencyList.new
10
11
 
11
12
  # TODO: switch to util_spec
12
- @a1 = util_spec 'a', '1'
13
- @a2 = util_spec 'a', '2'
14
- @a3 = util_spec 'a', '3'
13
+ @a1 = util_spec "a", "1"
14
+ @a2 = util_spec "a", "2"
15
+ @a3 = util_spec "a", "3"
15
16
 
16
- @b1 = util_spec 'b', '1' do |s|
17
- s.add_dependency 'a', '>= 1'
17
+ @b1 = util_spec "b", "1" do |s|
18
+ s.add_dependency "a", ">= 1"
18
19
  end
19
20
 
20
- @b2 = util_spec 'b', '2' do |s|
21
- s.add_dependency 'a', '>= 1'
21
+ @b2 = util_spec "b", "2" do |s|
22
+ s.add_dependency "a", ">= 1"
22
23
  end
23
24
 
24
- @c1 = util_spec 'c', '1' do |s|
25
- s.add_dependency 'b', '>= 1'
25
+ @c1 = util_spec "c", "1" do |s|
26
+ s.add_dependency "b", ">= 1"
26
27
  end
27
28
 
28
- @c2 = util_spec 'c', '2'
29
+ @c2 = util_spec "c", "2"
29
30
 
30
- @d1 = util_spec 'd', '1' do |s|
31
- s.add_dependency 'c', '>= 1'
31
+ @d1 = util_spec "d", "1" do |s|
32
+ s.add_dependency "c", ">= 1"
32
33
  end
33
34
  end
34
35
 
@@ -56,7 +57,7 @@ class TestGemDependencyList < Gem::TestCase
56
57
  end
57
58
 
58
59
  def test_dependency_order_circle
59
- @a1.add_dependency 'c', '>= 1'
60
+ @a1.add_dependency "c", ">= 1"
60
61
  @deplist.add @a1, @b1, @c1
61
62
 
62
63
  order = @deplist.dependency_order
@@ -65,14 +66,14 @@ class TestGemDependencyList < Gem::TestCase
65
66
  end
66
67
 
67
68
  def test_dependency_order_development
68
- e1 = util_spec 'e', '1'
69
- f1 = util_spec 'f', '1'
70
- g1 = util_spec 'g', '1'
69
+ e1 = util_spec "e", "1"
70
+ f1 = util_spec "f", "1"
71
+ g1 = util_spec "g", "1"
71
72
 
72
- @a1.add_dependency 'e'
73
- @a1.add_dependency 'f'
74
- @a1.add_dependency 'g'
75
- g1.add_development_dependency 'a'
73
+ @a1.add_dependency "e"
74
+ @a1.add_dependency "f"
75
+ @a1.add_dependency "g"
76
+ g1.add_development_dependency "a"
76
77
 
77
78
  deplist = Gem::DependencyList.new true
78
79
  deplist.add @a1, e1, f1, g1
@@ -80,7 +81,7 @@ class TestGemDependencyList < Gem::TestCase
80
81
  order = deplist.dependency_order
81
82
 
82
83
  assert_equal %w[g-1 a-1 f-1 e-1], order.map {|s| s.full_name },
83
- 'development on'
84
+ "development on"
84
85
 
85
86
  deplist2 = Gem::DependencyList.new
86
87
  deplist2.add @a1, e1, f1, g1
@@ -88,19 +89,19 @@ class TestGemDependencyList < Gem::TestCase
88
89
  order = deplist2.dependency_order
89
90
 
90
91
  assert_equal %w[a-1 g-1 f-1 e-1], order.map {|s| s.full_name },
91
- 'development off'
92
+ "development off"
92
93
  end
93
94
 
94
95
  def test_dependency_order_diamond
95
96
  util_diamond
96
- e1 = util_spec 'e', '1'
97
+ e1 = util_spec "e", "1"
97
98
  @deplist.add e1
98
- @a1.add_dependency 'e', '>= 1'
99
+ @a1.add_dependency "e", ">= 1"
99
100
 
100
101
  order = @deplist.dependency_order
101
102
 
102
103
  assert_equal %w[d-1 c-2 b-1 a-2 e-1], order.map {|s| s.full_name },
103
- 'deps of trimmed specs not included'
104
+ "deps of trimmed specs not included"
104
105
  end
105
106
 
106
107
  def test_dependency_order_no_dependencies
@@ -121,15 +122,15 @@ class TestGemDependencyList < Gem::TestCase
121
122
  end
122
123
 
123
124
  def test_ok_eh
124
- assert @deplist.ok?, 'no dependencies'
125
+ assert @deplist.ok?, "no dependencies"
125
126
 
126
127
  @deplist.add @b2
127
128
 
128
- refute @deplist.ok?, 'unsatisfied dependency'
129
+ refute @deplist.ok?, "unsatisfied dependency"
129
130
 
130
131
  @deplist.add @a1
131
132
 
132
- assert @deplist.ok?, 'satisfied dependency'
133
+ assert @deplist.ok?, "satisfied dependency"
133
134
  end
134
135
 
135
136
  def test_why_not_ok_eh
@@ -147,13 +148,13 @@ class TestGemDependencyList < Gem::TestCase
147
148
  end
148
149
 
149
150
  def test_why_not_ok_eh_old_dependency
150
- a = util_spec 'a', '1',
151
- 'b' => '~> 1.0'
151
+ a = util_spec "a", "1",
152
+ "b" => "~> 1.0"
152
153
 
153
- b0 = util_spec 'b', '1.0',
154
- 'd' => '>= 0'
154
+ b0 = util_spec "b", "1.0",
155
+ "d" => ">= 0"
155
156
 
156
- b1 = util_spec 'b', '1.1'
157
+ b1 = util_spec "b", "1.1"
157
158
 
158
159
  util_clear_gems
159
160
 
@@ -165,25 +166,25 @@ class TestGemDependencyList < Gem::TestCase
165
166
  end
166
167
 
167
168
  def test_ok_eh_mismatch
168
- a1 = util_spec 'a', '1'
169
- a2 = util_spec 'a', '2'
169
+ a1 = util_spec "a", "1"
170
+ a2 = util_spec "a", "2"
170
171
 
171
- b = util_spec 'b', '1' do |s|
172
- s.add_dependency 'a', '= 1'
172
+ b = util_spec "b", "1" do |s|
173
+ s.add_dependency "a", "= 1"
173
174
  end
174
175
 
175
- c = util_spec 'c', '1' do |s|
176
- s.add_dependency 'a', '= 2'
176
+ c = util_spec "c", "1" do |s|
177
+ s.add_dependency "a", "= 2"
177
178
  end
178
179
 
179
- d = util_spec 'd', '1' do |s|
180
- s.add_dependency 'b'
181
- s.add_dependency 'c'
180
+ d = util_spec "d", "1" do |s|
181
+ s.add_dependency "b"
182
+ s.add_dependency "c"
182
183
  end
183
184
 
184
185
  @deplist.add a1, a2, b, c, d
185
186
 
186
- assert @deplist.ok?, 'this will break on require'
187
+ assert @deplist.ok?, "this will break on require"
187
188
  end
188
189
 
189
190
  def test_ok_eh_redundant
@@ -256,8 +257,8 @@ class TestGemDependencyList < Gem::TestCase
256
257
  # d1 -> b1 -> a1
257
258
  # d1 -> c2 -> a2
258
259
  def util_diamond
259
- @c2.add_dependency 'a', '>= 2'
260
- @d1.add_dependency 'b'
260
+ @c2.add_dependency "a", ">= 2"
261
+ @d1.add_dependency "b"
261
262
 
262
263
  @deplist.add @a1, @a2, @b1, @c2, @d1
263
264
  end
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
- require_relative 'helper'
2
+
3
+ require_relative "helper"
3
4
 
4
5
  class TestGemDependencyResolutionError < Gem::TestCase
5
6
  def setup
@@ -7,10 +8,10 @@ class TestGemDependencyResolutionError < Gem::TestCase
7
8
 
8
9
  @DR = Gem::Resolver
9
10
 
10
- @spec = util_spec 'a', 2
11
+ @spec = util_spec "a", 2
11
12
 
12
- @a1_req = @DR::DependencyRequest.new dep('a', '= 1'), nil
13
- @a2_req = @DR::DependencyRequest.new dep('a', '= 2'), nil
13
+ @a1_req = @DR::DependencyRequest.new dep("a", "= 1"), nil
14
+ @a2_req = @DR::DependencyRequest.new dep("a", "= 2"), nil
14
15
 
15
16
  @activated = @DR::ActivationRequest.new @spec, @a2_req
16
17
 
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
- require_relative 'helper'
3
- require 'rubygems/doctor'
2
+
3
+ require_relative "helper"
4
+ require "rubygems/doctor"
4
5
 
5
6
  class TestGemDoctor < Gem::TestCase
6
7
  def gem(name)
@@ -15,20 +16,20 @@ class TestGemDoctor < Gem::TestCase
15
16
  end
16
17
 
17
18
  def test_doctor
18
- a = gem 'a'
19
- b = gem 'b'
20
- c = gem 'c'
19
+ a = gem "a"
20
+ b = gem "b"
21
+ c = gem "c"
21
22
 
22
23
  Gem.use_paths @userhome, @gemhome
23
24
 
24
25
  FileUtils.rm b.spec_file
25
26
 
26
- File.open c.spec_file, 'w' do |io|
27
- io.write 'this will raise an exception when evaluated.'
27
+ File.open c.spec_file, "w" do |io|
28
+ io.write "this will raise an exception when evaluated."
28
29
  end
29
30
 
30
- assert_path_exist File.join(a.gem_dir, 'Rakefile')
31
- assert_path_exist File.join(a.gem_dir, 'lib', 'a.rb')
31
+ assert_path_exist File.join(a.gem_dir, "Rakefile")
32
+ assert_path_exist File.join(a.gem_dir, "lib", "a.rb")
32
33
 
33
34
  assert_path_exist b.gem_dir
34
35
  assert_path_not_exist b.spec_file
@@ -44,8 +45,8 @@ class TestGemDoctor < Gem::TestCase
44
45
  end
45
46
  end
46
47
 
47
- assert_path_exist File.join(a.gem_dir, 'Rakefile')
48
- assert_path_exist File.join(a.gem_dir, 'lib', 'a.rb')
48
+ assert_path_exist File.join(a.gem_dir, "Rakefile")
49
+ assert_path_exist File.join(a.gem_dir, "lib", "a.rb")
49
50
 
50
51
  assert_path_not_exist b.gem_dir
51
52
  assert_path_not_exist b.spec_file
@@ -68,20 +69,20 @@ Removed directory gems/c-2
68
69
  end
69
70
 
70
71
  def test_doctor_dry_run
71
- a = gem 'a'
72
- b = gem 'b'
73
- c = gem 'c'
72
+ a = gem "a"
73
+ b = gem "b"
74
+ c = gem "c"
74
75
 
75
76
  Gem.use_paths @userhome, @gemhome
76
77
 
77
78
  FileUtils.rm b.spec_file
78
79
 
79
- File.open c.spec_file, 'w' do |io|
80
- io.write 'this will raise an exception when evaluated.'
80
+ File.open c.spec_file, "w" do |io|
81
+ io.write "this will raise an exception when evaluated."
81
82
  end
82
83
 
83
- assert_path_exist File.join(a.gem_dir, 'Rakefile')
84
- assert_path_exist File.join(a.gem_dir, 'lib', 'a.rb')
84
+ assert_path_exist File.join(a.gem_dir, "Rakefile")
85
+ assert_path_exist File.join(a.gem_dir, "lib", "a.rb")
85
86
 
86
87
  assert_path_exist b.gem_dir
87
88
  assert_path_not_exist b.spec_file
@@ -97,8 +98,8 @@ Removed directory gems/c-2
97
98
  end
98
99
  end
99
100
 
100
- assert_path_exist File.join(a.gem_dir, 'Rakefile')
101
- assert_path_exist File.join(a.gem_dir, 'lib', 'a.rb')
101
+ assert_path_exist File.join(a.gem_dir, "Rakefile")
102
+ assert_path_exist File.join(a.gem_dir, "lib", "a.rb")
102
103
 
103
104
  assert_path_exist b.gem_dir
104
105
  assert_path_not_exist b.spec_file
@@ -121,7 +122,7 @@ Extra directory gems/c-2
121
122
  end
122
123
 
123
124
  def test_doctor_non_gem_home
124
- other_dir = File.join @tempdir, 'other', 'dir'
125
+ other_dir = File.join @tempdir, "other", "dir"
125
126
 
126
127
  FileUtils.mkdir_p other_dir
127
128
 
@@ -147,13 +148,13 @@ This directory does not appear to be a RubyGems repository, skipping
147
148
  def test_doctor_child_missing
148
149
  doctor = Gem::Doctor.new @gemhome
149
150
 
150
- doctor.doctor_child 'missing', ''
151
+ doctor.doctor_child "missing", ""
151
152
 
152
153
  assert true # count
153
154
  end
154
155
 
155
156
  def test_doctor_badly_named_plugins
156
- gem 'a'
157
+ gem "a"
157
158
 
158
159
  Gem.use_paths @gemhome.to_s
159
160
 
@@ -183,12 +184,12 @@ Removed file plugins/a_badly_named_file.rb
183
184
  def test_gem_repository_eh
184
185
  doctor = Gem::Doctor.new @gemhome
185
186
 
186
- refute doctor.gem_repository?, 'no gems installed'
187
+ refute doctor.gem_repository?, "no gems installed"
187
188
 
188
- install_specs util_spec 'a'
189
+ install_specs util_spec "a"
189
190
 
190
191
  doctor = Gem::Doctor.new @gemhome
191
192
 
192
- assert doctor.gem_repository?, 'gems installed'
193
+ assert doctor.gem_repository?, "gems installed"
193
194
  end
194
195
  end
@@ -1,38 +1,37 @@
1
1
  # frozen_string_literal: true
2
- require_relative 'helper'
3
- require 'rubygems/ext'
4
- require 'rubygems/installer'
2
+
3
+ require_relative "helper"
4
+ require "rubygems/ext"
5
+ require "rubygems/installer"
5
6
 
6
7
  class TestGemExtBuilder < Gem::TestCase
7
8
  def setup
9
+ @orig_DESTDIR = ENV["DESTDIR"]
10
+ @orig_make = ENV["make"]
8
11
  super
9
12
 
10
- @ext = File.join @tempdir, 'ext'
11
- @dest_path = File.join @tempdir, 'prefix'
13
+ @ext = File.join @tempdir, "ext"
14
+ @dest_path = File.join @tempdir, "prefix"
12
15
 
13
16
  FileUtils.mkdir_p @ext
14
17
  FileUtils.mkdir_p @dest_path
15
18
 
16
- @orig_DESTDIR = ENV['DESTDIR']
17
- @orig_make = ENV['make']
18
-
19
- @spec = util_spec 'a'
19
+ @spec = util_spec "a"
20
20
 
21
- @builder = Gem::Ext::Builder.new @spec, ''
21
+ @builder = Gem::Ext::Builder.new @spec, ""
22
22
  end
23
23
 
24
24
  def teardown
25
- ENV['DESTDIR'] = @orig_DESTDIR
26
- ENV['make'] = @orig_make
27
-
28
25
  super
26
+ ENV["DESTDIR"] = @orig_DESTDIR
27
+ ENV["make"] = @orig_make
29
28
  end
30
29
 
31
30
  def test_class_make
32
- ENV['DESTDIR'] = 'destination'
31
+ ENV["DESTDIR"] = "destination"
33
32
  results = []
34
33
 
35
- File.open File.join(@ext, 'Makefile'), 'w' do |io|
34
+ File.open File.join(@ext, "Makefile"), "w" do |io|
36
35
  io.puts <<-MAKEFILE
37
36
  all:
38
37
  \t@#{Gem.ruby} -e "puts %Q{all: \#{ENV['DESTDIR']}}"
@@ -61,10 +60,10 @@ install:
61
60
  end
62
61
 
63
62
  def test_class_make_no_clean
64
- ENV['DESTDIR'] = 'destination'
63
+ ENV["DESTDIR"] = "destination"
65
64
  results = []
66
65
 
67
- File.open File.join(@ext, 'Makefile'), 'w' do |io|
66
+ File.open File.join(@ext, "Makefile"), "w" do |io|
68
67
  io.puts <<-MAKEFILE
69
68
  all:
70
69
  \t@#{Gem.ruby} -e "puts %Q{all: \#{ENV['DESTDIR']}}"
@@ -84,9 +83,9 @@ install:
84
83
  end
85
84
 
86
85
  def test_custom_make_with_options
87
- ENV['make'] = 'make V=1'
86
+ ENV["make"] = "make V=1"
88
87
  results = []
89
- File.open File.join(@ext, 'Makefile'), 'w' do |io|
88
+ File.open File.join(@ext, "Makefile"), "w" do |io|
90
89
  io.puts <<-MAKEFILE
91
90
  all:
92
91
  \t@#{Gem.ruby} -e "puts 'all: OK'"
@@ -106,16 +105,16 @@ install:
106
105
  end
107
106
 
108
107
  def test_build_extensions
109
- pend if /mswin/ =~ RUBY_PLATFORM && ENV.key?('GITHUB_ACTIONS') # not working from the beginning
110
- @spec.extensions << 'ext/extconf.rb'
108
+ pend "terminates on mswin" if vc_windows? && ruby_repo?
109
+ @spec.extensions << "ext/extconf.rb"
111
110
 
112
- ext_dir = File.join @spec.gem_dir, 'ext'
111
+ ext_dir = File.join @spec.gem_dir, "ext"
113
112
 
114
113
  FileUtils.mkdir_p ext_dir
115
114
 
116
- extconf_rb = File.join ext_dir, 'extconf.rb'
115
+ extconf_rb = File.join ext_dir, "extconf.rb"
117
116
 
118
- File.open extconf_rb, 'w' do |f|
117
+ File.open extconf_rb, "w" do |f|
119
118
  f.write <<-'RUBY'
120
119
  require 'mkmf'
121
120
 
@@ -123,11 +122,11 @@ install:
123
122
  RUBY
124
123
  end
125
124
 
126
- ext_lib_dir = File.join ext_dir, 'lib'
125
+ ext_lib_dir = File.join ext_dir, "lib"
127
126
  FileUtils.mkdir ext_lib_dir
128
- FileUtils.touch File.join ext_lib_dir, 'a.rb'
129
- FileUtils.mkdir File.join ext_lib_dir, 'a'
130
- FileUtils.touch File.join ext_lib_dir, 'a', 'b.rb'
127
+ FileUtils.touch File.join ext_lib_dir, "a.rb"
128
+ FileUtils.mkdir File.join ext_lib_dir, "a"
129
+ FileUtils.touch File.join ext_lib_dir, "a", "b.rb"
131
130
 
132
131
  use_ui @ui do
133
132
  @builder.build_extensions
@@ -135,20 +134,20 @@ install:
135
134
 
136
135
  assert_path_exist @spec.extension_dir
137
136
  assert_path_exist @spec.gem_build_complete_path
138
- assert_path_exist File.join @spec.extension_dir, 'gem_make.out'
139
- assert_path_exist File.join @spec.extension_dir, 'a.rb'
140
- assert_path_exist File.join @spec.gem_dir, 'lib', 'a.rb'
141
- assert_path_exist File.join @spec.gem_dir, 'lib', 'a', 'b.rb'
137
+ assert_path_exist File.join @spec.extension_dir, "gem_make.out"
138
+ assert_path_exist File.join @spec.extension_dir, "a.rb"
139
+ assert_path_exist File.join @spec.gem_dir, "lib", "a.rb"
140
+ assert_path_exist File.join @spec.gem_dir, "lib", "a", "b.rb"
142
141
  end
143
142
 
144
143
  def test_build_extensions_with_gemhome_with_space
145
- pend if /mswin/ =~ RUBY_PLATFORM && ENV.key?('GITHUB_ACTIONS') # not working from the beginning
146
- new_gemhome = File.join @tempdir, 'gem home'
144
+ pend "terminates on mswin" if vc_windows? && ruby_repo?
145
+ new_gemhome = File.join @tempdir, "gem home"
147
146
  File.rename(@gemhome, new_gemhome)
148
147
  @gemhome = new_gemhome
149
148
  Gem.use_paths(@gemhome)
150
- @spec = util_spec 'a'
151
- @builder = Gem::Ext::Builder.new @spec, ''
149
+ @spec = util_spec "a"
150
+ @builder = Gem::Ext::Builder.new @spec, ""
152
151
 
153
152
  test_build_extensions
154
153
  end
@@ -163,17 +162,17 @@ install:
163
162
  false
164
163
  end
165
164
  end
166
- pend if /mswin/ =~ RUBY_PLATFORM && ENV.key?('GITHUB_ACTIONS') # not working from the beginning
165
+ pend "terminates on mswin" if vc_windows? && ruby_repo?
167
166
 
168
- @spec.extensions << 'ext/extconf.rb'
167
+ @spec.extensions << "ext/extconf.rb"
169
168
 
170
- ext_dir = File.join @spec.gem_dir, 'ext'
169
+ ext_dir = File.join @spec.gem_dir, "ext"
171
170
 
172
171
  FileUtils.mkdir_p ext_dir
173
172
 
174
- extconf_rb = File.join ext_dir, 'extconf.rb'
173
+ extconf_rb = File.join ext_dir, "extconf.rb"
175
174
 
176
- File.open extconf_rb, 'w' do |f|
175
+ File.open extconf_rb, "w" do |f|
177
176
  f.write <<-'RUBY'
178
177
  require 'mkmf'
179
178
 
@@ -181,11 +180,11 @@ install:
181
180
  RUBY
182
181
  end
183
182
 
184
- ext_lib_dir = File.join ext_dir, 'lib'
183
+ ext_lib_dir = File.join ext_dir, "lib"
185
184
  FileUtils.mkdir ext_lib_dir
186
- FileUtils.touch File.join ext_lib_dir, 'a.rb'
187
- FileUtils.mkdir File.join ext_lib_dir, 'a'
188
- FileUtils.touch File.join ext_lib_dir, 'a', 'b.rb'
185
+ FileUtils.touch File.join ext_lib_dir, "a.rb"
186
+ FileUtils.mkdir File.join ext_lib_dir, "a"
187
+ FileUtils.touch File.join ext_lib_dir, "a", "b.rb"
189
188
 
190
189
  use_ui @ui do
191
190
  @builder.build_extensions
@@ -193,10 +192,10 @@ install:
193
192
 
194
193
  assert_path_exist @spec.extension_dir
195
194
  assert_path_exist @spec.gem_build_complete_path
196
- assert_path_exist File.join @spec.extension_dir, 'gem_make.out'
197
- assert_path_exist File.join @spec.extension_dir, 'a.rb'
198
- assert_path_not_exist File.join @spec.gem_dir, 'lib', 'a.rb'
199
- assert_path_not_exist File.join @spec.gem_dir, 'lib', 'a', 'b.rb'
195
+ assert_path_exist File.join @spec.extension_dir, "gem_make.out"
196
+ assert_path_exist File.join @spec.extension_dir, "a.rb"
197
+ assert_path_not_exist File.join @spec.gem_dir, "lib", "a.rb"
198
+ assert_path_not_exist File.join @spec.gem_dir, "lib", "a", "b.rb"
200
199
  ensure
201
200
  class << Gem
202
201
  remove_method :install_extension_in_lib
@@ -210,10 +209,10 @@ install:
210
209
  @builder.build_extensions
211
210
  end
212
211
 
213
- assert_equal '', @ui.output
214
- assert_equal '', @ui.error
212
+ assert_equal "", @ui.output
213
+ assert_equal "", @ui.error
215
214
 
216
- assert_path_not_exist File.join @spec.extension_dir, 'gem_make.out'
215
+ assert_path_not_exist File.join @spec.extension_dir, "gem_make.out"
217
216
  end
218
217
 
219
218
  def test_build_extensions_rebuild_failure
@@ -234,7 +233,7 @@ install:
234
233
  def test_build_extensions_extconf_bad
235
234
  cwd = Dir.pwd
236
235
 
237
- @spec.extensions << 'extconf.rb'
236
+ @spec.extensions << "extconf.rb"
238
237
 
239
238
  FileUtils.mkdir_p @spec.gem_dir
240
239
 
@@ -246,9 +245,9 @@ install:
246
245
 
247
246
  assert_match(/\AERROR: Failed to build gem native extension.$/, e.message)
248
247
  assert_equal "Building native extensions. This could take a while...\n", @ui.output
249
- assert_equal '', @ui.error
248
+ assert_equal "", @ui.error
250
249
 
251
- gem_make_out = File.join @spec.extension_dir, 'gem_make.out'
250
+ gem_make_out = File.join @spec.extension_dir, "gem_make.out"
252
251
  cmd_make_out = File.read(gem_make_out)
253
252
 
254
253
  assert_match %r{#{Regexp.escape Gem.ruby} .* extconf\.rb}, cmd_make_out
@@ -261,7 +260,7 @@ install:
261
260
 
262
261
  def test_build_extensions_unsupported
263
262
  FileUtils.mkdir_p @spec.gem_dir
264
- gem_make_out = File.join @spec.extension_dir, 'gem_make.out'
263
+ gem_make_out = File.join @spec.extension_dir, "gem_make.out"
265
264
  @spec.extensions << nil
266
265
 
267
266
  e = assert_raise Gem::Ext::BuildError do
@@ -272,7 +271,7 @@ install:
272
271
 
273
272
  assert_match(/^\s*No builder for extension ''$/, e.message)
274
273
  assert_equal "Building native extensions. This could take a while...\n", @ui.output
275
- assert_equal '', @ui.error
274
+ assert_equal "", @ui.error
276
275
 
277
276
  assert_equal "No builder for extension ''\n", File.read(gem_make_out)
278
277
 
@@ -284,7 +283,7 @@ install:
284
283
  def test_build_extensions_with_build_args
285
284
  args = ["--aa", "--bb"]
286
285
  @builder.build_args = args
287
- @spec.extensions << 'extconf.rb'
286
+ @spec.extensions << "extconf.rb"
288
287
 
289
288
  FileUtils.mkdir_p @spec.gem_dir
290
289
 
@@ -315,14 +314,14 @@ install:
315
314
  end
316
315
 
317
316
  def test_initialize
318
- build_info_dir = File.join @gemhome, 'build_info'
317
+ build_info_dir = File.join @gemhome, "build_info"
319
318
 
320
319
  FileUtils.mkdir_p build_info_dir
321
320
 
322
321
  build_info_file = File.join build_info_dir, "#{@spec.full_name}.info"
323
322
 
324
- File.open build_info_file, 'w' do |io|
325
- io.puts '--with-foo-dir=/nonexistent'
323
+ File.open build_info_file, "w" do |io|
324
+ io.puts "--with-foo-dir=/nonexistent"
326
325
  end
327
326
 
328
327
  builder = Gem::Ext::Builder.new @spec
@@ -1,10 +1,10 @@
1
+ # frozen_string_literal: true
2
+
1
3
  Gem::Specification.new do |s|
2
4
  s.name = "custom_name"
3
5
  s.version = "0.1.0"
4
6
  s.summary = "A Rust extension for Ruby"
5
- s.extensions = ["Cargo.toml"]
7
+ s.extensions = ["ext/custom_name_lib/Cargo.toml"]
6
8
  s.authors = ["Ian Ker-Seymer"]
7
- s.files = ["Cargo.toml", "Cargo.lock", "src/lib.rs"]
8
-
9
- s.metadata['cargo_crate_name'] = 'custom-name-ext'
9
+ s.files = ["lib/custom_name.rb", "ext/custom_name_lib/Cargo.toml", "ext/custom_name_lib/Cargo.lock", "ext/custom_name_lib/src/lib.rs"]
10
10
  end