rubygems-update 3.3.26 → 3.4.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (292) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +1178 -1088
  3. data/CONTRIBUTING.md +30 -7
  4. data/Manifest.txt +35 -32
  5. data/POLICIES.md +10 -8
  6. data/README.md +2 -2
  7. data/bin/gem +1 -4
  8. data/bin/update_rubygems +1 -1
  9. data/bundler/CHANGELOG.md +122 -1
  10. data/bundler/README.md +2 -2
  11. data/bundler/UPGRADING.md +1 -1
  12. data/bundler/bundler.gemspec +2 -2
  13. data/bundler/exe/bundle +1 -4
  14. data/bundler/lib/bundler/build_metadata.rb +2 -2
  15. data/bundler/lib/bundler/cli/add.rb +1 -1
  16. data/bundler/lib/bundler/cli/binstubs.rb +5 -1
  17. data/bundler/lib/bundler/cli/check.rb +1 -1
  18. data/bundler/lib/bundler/cli/common.rb +1 -0
  19. data/bundler/lib/bundler/cli/console.rb +2 -2
  20. data/bundler/lib/bundler/cli/doctor.rb +4 -6
  21. data/bundler/lib/bundler/cli/gem.rb +62 -40
  22. data/bundler/lib/bundler/cli/install.rb +2 -3
  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 +1 -3
  26. data/bundler/lib/bundler/cli/viz.rb +1 -1
  27. data/bundler/lib/bundler/cli.rb +44 -2
  28. data/bundler/lib/bundler/compact_index_client/cache.rb +1 -1
  29. data/bundler/lib/bundler/compact_index_client/updater.rb +40 -39
  30. data/bundler/lib/bundler/constants.rb +1 -1
  31. data/bundler/lib/bundler/definition.rb +87 -51
  32. data/bundler/lib/bundler/dependency.rb +12 -11
  33. data/bundler/lib/bundler/digest.rb +1 -1
  34. data/bundler/lib/bundler/dsl.rb +3 -3
  35. data/bundler/lib/bundler/env.rb +1 -1
  36. data/bundler/lib/bundler/environment_preserver.rb +1 -0
  37. data/bundler/lib/bundler/errors.rb +1 -11
  38. data/bundler/lib/bundler/fetcher/compact_index.rb +9 -11
  39. data/bundler/lib/bundler/fetcher/dependency.rb +1 -1
  40. data/bundler/lib/bundler/fetcher/downloader.rb +2 -5
  41. data/bundler/lib/bundler/fetcher.rb +2 -6
  42. data/bundler/lib/bundler/force_platform.rb +18 -0
  43. data/bundler/lib/bundler/friendly_errors.rb +0 -3
  44. data/bundler/lib/bundler/gem_version_promoter.rb +52 -86
  45. data/bundler/lib/bundler/graph.rb +3 -3
  46. data/bundler/lib/bundler/index.rb +5 -13
  47. data/bundler/lib/bundler/injector.rb +1 -1
  48. data/bundler/lib/bundler/inline.rb +8 -10
  49. data/bundler/lib/bundler/installer/parallel_installer.rb +0 -31
  50. data/bundler/lib/bundler/installer/standalone.rb +11 -7
  51. data/bundler/lib/bundler/installer.rb +9 -23
  52. data/bundler/lib/bundler/lazy_specification.rb +37 -33
  53. data/bundler/lib/bundler/lockfile_parser.rb +5 -5
  54. data/bundler/lib/bundler/man/bundle-add.1 +1 -1
  55. data/bundler/lib/bundler/man/bundle-binstubs.1 +1 -1
  56. data/bundler/lib/bundler/man/bundle-cache.1 +1 -1
  57. data/bundler/lib/bundler/man/bundle-check.1 +1 -1
  58. data/bundler/lib/bundler/man/bundle-clean.1 +1 -1
  59. data/bundler/lib/bundler/man/bundle-config.1 +2 -2
  60. data/bundler/lib/bundler/man/bundle-config.1.ronn +1 -1
  61. data/bundler/lib/bundler/man/bundle-console.1 +1 -1
  62. data/bundler/lib/bundler/man/bundle-doctor.1 +1 -1
  63. data/bundler/lib/bundler/man/bundle-exec.1 +5 -5
  64. data/bundler/lib/bundler/man/bundle-exec.1.ronn +5 -5
  65. data/bundler/lib/bundler/man/bundle-gem.1 +27 -37
  66. data/bundler/lib/bundler/man/bundle-gem.1.ronn +5 -5
  67. data/bundler/lib/bundler/man/bundle-help.1 +1 -1
  68. data/bundler/lib/bundler/man/bundle-info.1 +1 -1
  69. data/bundler/lib/bundler/man/bundle-init.1 +1 -1
  70. data/bundler/lib/bundler/man/bundle-inject.1 +1 -1
  71. data/bundler/lib/bundler/man/bundle-install.1 +1 -30
  72. data/bundler/lib/bundler/man/bundle-install.1.ronn +0 -29
  73. data/bundler/lib/bundler/man/bundle-list.1 +1 -1
  74. data/bundler/lib/bundler/man/bundle-lock.1 +1 -1
  75. data/bundler/lib/bundler/man/bundle-open.1 +22 -2
  76. data/bundler/lib/bundler/man/bundle-open.1.ronn +9 -1
  77. data/bundler/lib/bundler/man/bundle-outdated.1 +1 -1
  78. data/bundler/lib/bundler/man/bundle-platform.1 +2 -2
  79. data/bundler/lib/bundler/man/bundle-platform.1.ronn +1 -1
  80. data/bundler/lib/bundler/man/bundle-plugin.1 +1 -1
  81. data/bundler/lib/bundler/man/bundle-pristine.1 +1 -1
  82. data/bundler/lib/bundler/man/bundle-remove.1 +1 -1
  83. data/bundler/lib/bundler/man/bundle-show.1 +1 -1
  84. data/bundler/lib/bundler/man/bundle-update.1 +1 -1
  85. data/bundler/lib/bundler/man/bundle-version.1 +1 -1
  86. data/bundler/lib/bundler/man/bundle-viz.1 +1 -1
  87. data/bundler/lib/bundler/man/bundle.1 +1 -1
  88. data/bundler/lib/bundler/man/gemfile.5 +1 -1
  89. data/bundler/lib/bundler/mirror.rb +5 -7
  90. data/bundler/lib/bundler/plugin/index.rb +4 -4
  91. data/bundler/lib/bundler/plugin/installer/rubygems.rb +0 -4
  92. data/bundler/lib/bundler/resolver/base.rb +42 -15
  93. data/bundler/lib/bundler/resolver/candidate.rb +94 -0
  94. data/bundler/lib/bundler/resolver/incompatibility.rb +15 -0
  95. data/bundler/lib/bundler/resolver/package.rb +72 -0
  96. data/bundler/lib/bundler/resolver/root.rb +25 -0
  97. data/bundler/lib/bundler/resolver/spec_group.rb +26 -36
  98. data/bundler/lib/bundler/resolver.rb +314 -278
  99. data/bundler/lib/bundler/rubygems_ext.rb +11 -6
  100. data/bundler/lib/bundler/rubygems_gem_installer.rb +4 -2
  101. data/bundler/lib/bundler/rubygems_integration.rb +9 -13
  102. data/bundler/lib/bundler/runtime.rb +1 -5
  103. data/bundler/lib/bundler/settings.rb +0 -6
  104. data/bundler/lib/bundler/shared_helpers.rb +1 -0
  105. data/bundler/lib/bundler/source/git/git_proxy.rb +193 -67
  106. data/bundler/lib/bundler/source/git.rb +15 -17
  107. data/bundler/lib/bundler/source/metadata.rb +0 -1
  108. data/bundler/lib/bundler/source/path/installer.rb +1 -22
  109. data/bundler/lib/bundler/source/path.rb +5 -5
  110. data/bundler/lib/bundler/source/rubygems.rb +14 -68
  111. data/bundler/lib/bundler/source_list.rb +8 -2
  112. data/bundler/lib/bundler/spec_set.rb +7 -9
  113. data/bundler/lib/bundler/templates/Executable +1 -1
  114. data/bundler/lib/bundler/templates/Executable.bundler +4 -9
  115. data/bundler/lib/bundler/templates/Executable.standalone +2 -0
  116. data/bundler/lib/bundler/templates/newgem/Cargo.toml.tt +7 -0
  117. data/bundler/lib/bundler/templates/newgem/Gemfile.tt +3 -0
  118. data/bundler/lib/bundler/templates/newgem/README.md.tt +6 -4
  119. data/bundler/lib/bundler/templates/newgem/Rakefile.tt +2 -1
  120. data/bundler/lib/bundler/templates/newgem/circleci/config.yml.tt +12 -0
  121. data/bundler/lib/bundler/templates/newgem/ext/newgem/Cargo.toml.tt +15 -0
  122. data/bundler/lib/bundler/templates/newgem/ext/newgem/extconf-rust.rb.tt +6 -0
  123. data/bundler/lib/bundler/templates/newgem/ext/newgem/src/lib.rs.tt +12 -0
  124. data/bundler/lib/bundler/templates/newgem/github/workflows/main.yml.tt +10 -0
  125. data/bundler/lib/bundler/templates/newgem/gitignore.tt +3 -0
  126. data/bundler/lib/bundler/templates/newgem/gitlab-ci.yml.tt +8 -0
  127. data/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt +8 -2
  128. data/bundler/lib/bundler/ui/shell.rb +35 -12
  129. data/bundler/lib/bundler/ui/silent.rb +21 -5
  130. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.rb +3 -3
  131. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/wrapper.rb +0 -1
  132. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool.rb +3 -1
  133. data/bundler/lib/bundler/vendor/fileutils/lib/fileutils.rb +1350 -408
  134. data/bundler/lib/bundler/vendor/net-http-persistent/README.rdoc +1 -1
  135. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +1 -1
  136. data/bundler/lib/bundler/vendor/pub_grub/LICENSE.txt +21 -0
  137. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/assignment.rb +20 -0
  138. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/basic_package_source.rb +189 -0
  139. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/failure_writer.rb +182 -0
  140. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/incompatibility.rb +151 -0
  141. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/package.rb +43 -0
  142. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/partial_solution.rb +121 -0
  143. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/rubygems.rb +45 -0
  144. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/solve_failure.rb +19 -0
  145. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/static_package_source.rb +53 -0
  146. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/term.rb +105 -0
  147. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version.rb +3 -0
  148. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_constraint.rb +128 -0
  149. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_range.rb +409 -0
  150. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_solver.rb +240 -0
  151. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_union.rb +178 -0
  152. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub.rb +31 -0
  153. data/bundler/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +1 -1
  154. data/bundler/lib/bundler/vendor/uri/lib/uri/common.rb +64 -16
  155. data/bundler/lib/bundler/vendor/uri/lib/uri/file.rb +7 -1
  156. data/bundler/lib/bundler/vendor/uri/lib/uri/ftp.rb +2 -1
  157. data/bundler/lib/bundler/vendor/uri/lib/uri/generic.rb +27 -7
  158. data/bundler/lib/bundler/vendor/uri/lib/uri/http.rb +40 -2
  159. data/bundler/lib/bundler/vendor/uri/lib/uri/https.rb +2 -1
  160. data/bundler/lib/bundler/vendor/uri/lib/uri/ldap.rb +1 -1
  161. data/bundler/lib/bundler/vendor/uri/lib/uri/ldaps.rb +2 -1
  162. data/bundler/lib/bundler/vendor/uri/lib/uri/mailto.rb +2 -2
  163. data/bundler/lib/bundler/vendor/uri/lib/uri/rfc2396_parser.rb +13 -7
  164. data/bundler/lib/bundler/vendor/uri/lib/uri/rfc3986_parser.rb +10 -5
  165. data/bundler/lib/bundler/vendor/uri/lib/uri/version.rb +1 -1
  166. data/bundler/lib/bundler/vendor/uri/lib/uri/ws.rb +1 -2
  167. data/bundler/lib/bundler/vendor/uri/lib/uri/wss.rb +2 -1
  168. data/bundler/lib/bundler/vendor/uri/lib/uri.rb +3 -2
  169. data/bundler/lib/bundler/vendored_persistent.rb +1 -33
  170. data/bundler/lib/bundler/{vendored_tmpdir.rb → vendored_pub_grub.rb} +1 -1
  171. data/bundler/lib/bundler/version.rb +5 -1
  172. data/bundler/lib/bundler/worker.rb +5 -7
  173. data/bundler/lib/bundler.rb +20 -64
  174. data/lib/rubygems/command.rb +5 -1
  175. data/lib/rubygems/command_manager.rb +19 -6
  176. data/lib/rubygems/commands/build_command.rb +3 -0
  177. data/lib/rubygems/commands/fetch_command.rb +1 -1
  178. data/lib/rubygems/commands/install_command.rb +7 -3
  179. data/lib/rubygems/commands/owner_command.rb +1 -1
  180. data/lib/rubygems/commands/rdoc_command.rb +3 -2
  181. data/lib/rubygems/commands/setup_command.rb +2 -2
  182. data/lib/rubygems/commands/unpack_command.rb +1 -1
  183. data/lib/rubygems/commands/update_command.rb +1 -7
  184. data/lib/rubygems/config_file.rb +33 -0
  185. data/lib/rubygems/core_ext/kernel_gem.rb +0 -5
  186. data/lib/rubygems/core_ext/kernel_require.rb +116 -113
  187. data/lib/rubygems/core_ext/kernel_warn.rb +33 -37
  188. data/lib/rubygems/defaults.rb +15 -1
  189. data/lib/rubygems/dependency.rb +4 -1
  190. data/lib/rubygems/dependency_installer.rb +24 -24
  191. data/lib/rubygems/exceptions.rb +1 -3
  192. data/lib/rubygems/ext/builder.rb +4 -5
  193. data/lib/rubygems/ext/cargo_builder/link_flag_converter.rb +9 -5
  194. data/lib/rubygems/ext/cargo_builder.rb +144 -109
  195. data/lib/rubygems/ext/ext_conf_builder.rb +2 -0
  196. data/lib/rubygems/indexer.rb +1 -1
  197. data/lib/rubygems/installer.rb +5 -5
  198. data/lib/rubygems/optparse/lib/optparse.rb +20 -15
  199. data/lib/rubygems/package/tar_header.rb +11 -11
  200. data/lib/rubygems/platform.rb +1 -3
  201. data/lib/rubygems/request_set/gem_dependency_api.rb +104 -104
  202. data/lib/rubygems/requirement.rb +7 -7
  203. data/lib/rubygems/resolver/installer_set.rb +1 -1
  204. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb +1 -1
  205. data/lib/rubygems/resolver/molinillo/lib/molinillo/errors.rb +32 -26
  206. data/lib/rubygems/resolver/molinillo/lib/molinillo/gem_metadata.rb +1 -1
  207. data/lib/rubygems/security/policies.rb +40 -40
  208. data/lib/rubygems/security/trust_dir.rb +1 -1
  209. data/lib/rubygems/security.rb +3 -16
  210. data/lib/rubygems/source.rb +2 -2
  211. data/lib/rubygems/specification.rb +37 -49
  212. data/lib/rubygems/specification_policy.rb +14 -0
  213. data/lib/rubygems/stub_specification.rb +2 -2
  214. data/lib/rubygems/text.rb +1 -1
  215. data/lib/rubygems/tsort/lib/tsort.rb +308 -310
  216. data/lib/rubygems/update_suggestion.rb +69 -0
  217. data/lib/rubygems/util.rb +1 -5
  218. data/lib/rubygems/validator.rb +1 -1
  219. data/lib/rubygems.rb +29 -9
  220. data/rubygems-update.gemspec +2 -2
  221. data/test/rubygems/bundler_test_gem.rb +419 -0
  222. data/test/rubygems/helper.rb +7 -3
  223. data/test/rubygems/test_bundled_ca.rb +1 -1
  224. data/test/rubygems/test_exit.rb +6 -0
  225. data/test/rubygems/test_gem.rb +4 -421
  226. data/test/rubygems/test_gem_bundler_version_finder.rb +2 -1
  227. data/test/rubygems/test_gem_command_manager.rb +41 -1
  228. data/test/rubygems/test_gem_commands_build_command.rb +10 -0
  229. data/test/rubygems/test_gem_commands_install_command.rb +19 -0
  230. data/test/rubygems/test_gem_commands_setup_command.rb +1 -8
  231. data/test/rubygems/test_gem_commands_update_command.rb +6 -6
  232. data/test/rubygems/test_gem_config_file.rb +1 -1
  233. data/test/rubygems/test_gem_dependency.rb +2 -0
  234. data/test/rubygems/test_gem_ext_builder.rb +3 -3
  235. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/custom_name.gemspec +2 -4
  236. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/{Cargo.lock → ext/custom_name_lib/Cargo.lock} +22 -32
  237. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/{Cargo.toml → ext/custom_name_lib/Cargo.toml} +1 -1
  238. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/{src → ext/custom_name_lib/src}/lib.rs +1 -1
  239. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/lib/custom_name.rb +1 -0
  240. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.lock +22 -32
  241. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.toml +1 -1
  242. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/src/lib.rs +12 -0
  243. data/test/rubygems/test_gem_ext_cargo_builder.rb +30 -42
  244. data/test/rubygems/test_gem_ext_cargo_builder_link_flag_converter.rb +16 -16
  245. data/test/rubygems/test_gem_ext_cargo_builder_unit.rb +5 -20
  246. data/test/rubygems/test_gem_indexer.rb +39 -20
  247. data/test/rubygems/test_gem_installer.rb +69 -3
  248. data/test/rubygems/test_gem_package_tar_header.rb +13 -13
  249. data/test/rubygems/test_gem_platform.rb +59 -60
  250. data/test/rubygems/test_gem_remote_fetcher.rb +4 -4
  251. data/test/rubygems/test_gem_request_set.rb +2 -2
  252. data/test/rubygems/test_gem_request_set_lockfile_parser.rb +4 -4
  253. data/test/rubygems/test_gem_requirement.rb +1 -1
  254. data/test/rubygems/test_gem_resolver_api_set.rb +12 -12
  255. data/test/rubygems/test_gem_resolver_api_specification.rb +19 -19
  256. data/test/rubygems/test_gem_resolver_git_specification.rb +1 -1
  257. data/test/rubygems/test_gem_security_policy.rb +10 -10
  258. data/test/rubygems/test_gem_security_trust_dir.rb +2 -2
  259. data/test/rubygems/test_gem_specification.rb +50 -37
  260. data/test/rubygems/test_gem_uninstaller.rb +1 -1
  261. data/test/rubygems/test_gem_update_suggestion.rb +208 -0
  262. data/test/rubygems/test_kernel.rb +10 -8
  263. data/test/rubygems/test_require.rb +69 -55
  264. metadata +39 -36
  265. data/bundler/lib/bundler/templates/newgem/travis.yml.tt +0 -6
  266. data/bundler/lib/bundler/vendor/molinillo/LICENSE +0 -9
  267. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/delegates/resolution_state.rb +0 -57
  268. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb +0 -88
  269. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/action.rb +0 -36
  270. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +0 -66
  271. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +0 -62
  272. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +0 -63
  273. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +0 -61
  274. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/log.rb +0 -126
  275. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/set_payload.rb +0 -46
  276. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb +0 -36
  277. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb +0 -164
  278. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +0 -255
  279. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +0 -149
  280. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb +0 -6
  281. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/modules/specification_provider.rb +0 -112
  282. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/modules/ui.rb +0 -67
  283. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb +0 -839
  284. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/resolver.rb +0 -46
  285. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/state.rb +0 -58
  286. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo.rb +0 -11
  287. data/bundler/lib/bundler/vendor/tmpdir/lib/tmpdir.rb +0 -154
  288. data/bundler/lib/bundler/vendored_molinillo.rb +0 -4
  289. data/bundler/lib/bundler/version_ranges.rb +0 -122
  290. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/build.rb +0 -21
  291. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/build.rb +0 -21
  292. /data/bundler/lib/bundler/templates/newgem/ext/newgem/{extconf.rb.tt → extconf-c.rb.tt} +0 -0
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubygems-update
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.26
4
+ version: 3.4.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jim Weirich
@@ -16,7 +16,7 @@ authors:
16
16
  autorequire:
17
17
  bindir: bin
18
18
  cert_chain: []
19
- date: 2022-11-17 00:00:00.000000000 Z
19
+ date: 2023-01-31 00:00:00.000000000 Z
20
20
  dependencies: []
21
21
  description: |-
22
22
  A package (also known as a library) contains a set of functionality
@@ -129,6 +129,7 @@ files:
129
129
  - bundler/lib/bundler/fetcher/dependency.rb
130
130
  - bundler/lib/bundler/fetcher/downloader.rb
131
131
  - bundler/lib/bundler/fetcher/index.rb
132
+ - bundler/lib/bundler/force_platform.rb
132
133
  - bundler/lib/bundler/friendly_errors.rb
133
134
  - bundler/lib/bundler/gem_helper.rb
134
135
  - bundler/lib/bundler/gem_helpers.rb
@@ -223,6 +224,10 @@ files:
223
224
  - bundler/lib/bundler/remote_specification.rb
224
225
  - bundler/lib/bundler/resolver.rb
225
226
  - bundler/lib/bundler/resolver/base.rb
227
+ - bundler/lib/bundler/resolver/candidate.rb
228
+ - bundler/lib/bundler/resolver/incompatibility.rb
229
+ - bundler/lib/bundler/resolver/package.rb
230
+ - bundler/lib/bundler/resolver/root.rb
226
231
  - bundler/lib/bundler/resolver/spec_group.rb
227
232
  - bundler/lib/bundler/retry.rb
228
233
  - bundler/lib/bundler/ruby_dsl.rb
@@ -259,6 +264,7 @@ files:
259
264
  - bundler/lib/bundler/templates/gems.rb
260
265
  - bundler/lib/bundler/templates/newgem/CHANGELOG.md.tt
261
266
  - bundler/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt
267
+ - bundler/lib/bundler/templates/newgem/Cargo.toml.tt
262
268
  - bundler/lib/bundler/templates/newgem/Gemfile.tt
263
269
  - bundler/lib/bundler/templates/newgem/LICENSE.txt.tt
264
270
  - bundler/lib/bundler/templates/newgem/README.md.tt
@@ -267,9 +273,12 @@ files:
267
273
  - bundler/lib/bundler/templates/newgem/bin/setup.tt
268
274
  - bundler/lib/bundler/templates/newgem/circleci/config.yml.tt
269
275
  - bundler/lib/bundler/templates/newgem/exe/newgem.tt
270
- - bundler/lib/bundler/templates/newgem/ext/newgem/extconf.rb.tt
276
+ - bundler/lib/bundler/templates/newgem/ext/newgem/Cargo.toml.tt
277
+ - bundler/lib/bundler/templates/newgem/ext/newgem/extconf-c.rb.tt
278
+ - bundler/lib/bundler/templates/newgem/ext/newgem/extconf-rust.rb.tt
271
279
  - bundler/lib/bundler/templates/newgem/ext/newgem/newgem.c.tt
272
280
  - bundler/lib/bundler/templates/newgem/ext/newgem/newgem.h.tt
281
+ - bundler/lib/bundler/templates/newgem/ext/newgem/src/lib.rs.tt
273
282
  - bundler/lib/bundler/templates/newgem/github/workflows/main.yml.tt
274
283
  - bundler/lib/bundler/templates/newgem/gitignore.tt
275
284
  - bundler/lib/bundler/templates/newgem/gitlab-ci.yml.tt
@@ -286,7 +295,6 @@ files:
286
295
  - bundler/lib/bundler/templates/newgem/test/minitest/test_newgem.rb.tt
287
296
  - bundler/lib/bundler/templates/newgem/test/test-unit/newgem_test.rb.tt
288
297
  - bundler/lib/bundler/templates/newgem/test/test-unit/test_helper.rb.tt
289
- - bundler/lib/bundler/templates/newgem/travis.yml.tt
290
298
  - bundler/lib/bundler/ui.rb
291
299
  - bundler/lib/bundler/ui/rg_proxy.rb
292
300
  - bundler/lib/bundler/ui/shell.rb
@@ -300,32 +308,28 @@ files:
300
308
  - bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/wrapper.rb
301
309
  - bundler/lib/bundler/vendor/fileutils/LICENSE.txt
302
310
  - bundler/lib/bundler/vendor/fileutils/lib/fileutils.rb
303
- - bundler/lib/bundler/vendor/molinillo/LICENSE
304
- - bundler/lib/bundler/vendor/molinillo/lib/molinillo.rb
305
- - bundler/lib/bundler/vendor/molinillo/lib/molinillo/delegates/resolution_state.rb
306
- - bundler/lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb
307
- - bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb
308
- - bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/action.rb
309
- - bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb
310
- - bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_vertex.rb
311
- - bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/delete_edge.rb
312
- - bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb
313
- - bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/log.rb
314
- - bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/set_payload.rb
315
- - bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb
316
- - bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb
317
- - bundler/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb
318
- - bundler/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb
319
- - bundler/lib/bundler/vendor/molinillo/lib/molinillo/modules/specification_provider.rb
320
- - bundler/lib/bundler/vendor/molinillo/lib/molinillo/modules/ui.rb
321
- - bundler/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb
322
- - bundler/lib/bundler/vendor/molinillo/lib/molinillo/resolver.rb
323
- - bundler/lib/bundler/vendor/molinillo/lib/molinillo/state.rb
324
311
  - bundler/lib/bundler/vendor/net-http-persistent/README.rdoc
325
312
  - bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb
326
313
  - bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/connection.rb
327
314
  - bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/pool.rb
328
315
  - bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/timed_stack_multi.rb
316
+ - bundler/lib/bundler/vendor/pub_grub/LICENSE.txt
317
+ - bundler/lib/bundler/vendor/pub_grub/lib/pub_grub.rb
318
+ - bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/assignment.rb
319
+ - bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/basic_package_source.rb
320
+ - bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/failure_writer.rb
321
+ - bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/incompatibility.rb
322
+ - bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/package.rb
323
+ - bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/partial_solution.rb
324
+ - bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/rubygems.rb
325
+ - bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/solve_failure.rb
326
+ - bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/static_package_source.rb
327
+ - bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/term.rb
328
+ - bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version.rb
329
+ - bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_constraint.rb
330
+ - bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_range.rb
331
+ - bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_solver.rb
332
+ - bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_union.rb
329
333
  - bundler/lib/bundler/vendor/thor/LICENSE.md
330
334
  - bundler/lib/bundler/vendor/thor/lib/thor.rb
331
335
  - bundler/lib/bundler/vendor/thor/lib/thor/actions.rb
@@ -358,7 +362,6 @@ files:
358
362
  - bundler/lib/bundler/vendor/thor/lib/thor/shell/html.rb
359
363
  - bundler/lib/bundler/vendor/thor/lib/thor/util.rb
360
364
  - bundler/lib/bundler/vendor/thor/lib/thor/version.rb
361
- - bundler/lib/bundler/vendor/tmpdir/lib/tmpdir.rb
362
365
  - bundler/lib/bundler/vendor/tsort/LICENSE.txt
363
366
  - bundler/lib/bundler/vendor/tsort/lib/tsort.rb
364
367
  - bundler/lib/bundler/vendor/uri/LICENSE.txt
@@ -378,14 +381,12 @@ files:
378
381
  - bundler/lib/bundler/vendor/uri/lib/uri/ws.rb
379
382
  - bundler/lib/bundler/vendor/uri/lib/uri/wss.rb
380
383
  - bundler/lib/bundler/vendored_fileutils.rb
381
- - bundler/lib/bundler/vendored_molinillo.rb
382
384
  - bundler/lib/bundler/vendored_persistent.rb
385
+ - bundler/lib/bundler/vendored_pub_grub.rb
383
386
  - bundler/lib/bundler/vendored_thor.rb
384
- - bundler/lib/bundler/vendored_tmpdir.rb
385
387
  - bundler/lib/bundler/vendored_tsort.rb
386
388
  - bundler/lib/bundler/vendored_uri.rb
387
389
  - bundler/lib/bundler/version.rb
388
- - bundler/lib/bundler/version_ranges.rb
389
390
  - bundler/lib/bundler/vlad.rb
390
391
  - bundler/lib/bundler/worker.rb
391
392
  - bundler/lib/bundler/yaml_serializer.rb
@@ -584,6 +585,7 @@ files:
584
585
  - lib/rubygems/tsort/lib/tsort.rb
585
586
  - lib/rubygems/uninstaller.rb
586
587
  - lib/rubygems/unknown_command_spell_checker.rb
588
+ - lib/rubygems/update_suggestion.rb
587
589
  - lib/rubygems/uri.rb
588
590
  - lib/rubygems/uri_formatter.rb
589
591
  - lib/rubygems/user_interaction.rb
@@ -599,6 +601,7 @@ files:
599
601
  - test/rubygems/alternate_cert_32.pem
600
602
  - test/rubygems/alternate_key.pem
601
603
  - test/rubygems/bad_rake.rb
604
+ - test/rubygems/bundler_test_gem.rb
602
605
  - test/rubygems/ca_cert.pem
603
606
  - test/rubygems/child_cert.pem
604
607
  - test/rubygems/child_cert_32.pem
@@ -706,15 +709,14 @@ files:
706
709
  - test/rubygems/test_gem_ext_builder.rb
707
710
  - test/rubygems/test_gem_ext_cargo_builder.rb
708
711
  - test/rubygems/test_gem_ext_cargo_builder/custom_name/.gitignore
709
- - test/rubygems/test_gem_ext_cargo_builder/custom_name/Cargo.lock
710
- - test/rubygems/test_gem_ext_cargo_builder/custom_name/Cargo.toml
711
- - test/rubygems/test_gem_ext_cargo_builder/custom_name/build.rb
712
712
  - test/rubygems/test_gem_ext_cargo_builder/custom_name/custom_name.gemspec
713
- - test/rubygems/test_gem_ext_cargo_builder/custom_name/src/lib.rs
713
+ - test/rubygems/test_gem_ext_cargo_builder/custom_name/ext/custom_name_lib/Cargo.lock
714
+ - test/rubygems/test_gem_ext_cargo_builder/custom_name/ext/custom_name_lib/Cargo.toml
715
+ - test/rubygems/test_gem_ext_cargo_builder/custom_name/ext/custom_name_lib/src/lib.rs
716
+ - test/rubygems/test_gem_ext_cargo_builder/custom_name/lib/custom_name.rb
714
717
  - test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/.gitignore
715
718
  - test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.lock
716
719
  - test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.toml
717
- - test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/build.rb
718
720
  - test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/rust_ruby_example.gemspec
719
721
  - test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/src/lib.rs
720
722
  - test/rubygems/test_gem_ext_cargo_builder_link_flag_converter.rb
@@ -793,6 +795,7 @@ files:
793
795
  - test/rubygems/test_gem_text.rb
794
796
  - test/rubygems/test_gem_uninstaller.rb
795
797
  - test/rubygems/test_gem_unsatisfiable_dependency_error.rb
798
+ - test/rubygems/test_gem_update_suggestion.rb
796
799
  - test/rubygems/test_gem_uri.rb
797
800
  - test/rubygems/test_gem_uri_formatter.rb
798
801
  - test/rubygems/test_gem_util.rb
@@ -824,14 +827,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
824
827
  requirements:
825
828
  - - ">="
826
829
  - !ruby/object:Gem::Version
827
- version: 2.3.0
830
+ version: 2.6.0
828
831
  required_rubygems_version: !ruby/object:Gem::Requirement
829
832
  requirements:
830
833
  - - ">="
831
834
  - !ruby/object:Gem::Version
832
835
  version: '0'
833
836
  requirements: []
834
- rubygems_version: 3.3.26
837
+ rubygems_version: 3.4.6
835
838
  signing_key:
836
839
  specification_version: 4
837
840
  summary: RubyGems is a package management framework for Ruby.
@@ -1,6 +0,0 @@
1
- ---
2
- language: ruby
3
- cache: bundler
4
- rvm:
5
- - <%= RUBY_VERSION %>
6
- before_install: gem install bundler -v <%= Bundler::VERSION %>
@@ -1,9 +0,0 @@
1
- This project is licensed under the MIT license.
2
-
3
- Copyright (c) 2014 Samuel E. Giddins segiddins@segiddins.me
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6
-
7
- The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8
-
9
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -1,57 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Bundler::Molinillo
4
- # @!visibility private
5
- module Delegates
6
- # Delegates all {Bundler::Molinillo::ResolutionState} methods to a `#state` property.
7
- module ResolutionState
8
- # (see Bundler::Molinillo::ResolutionState#name)
9
- def name
10
- current_state = state || Bundler::Molinillo::ResolutionState.empty
11
- current_state.name
12
- end
13
-
14
- # (see Bundler::Molinillo::ResolutionState#requirements)
15
- def requirements
16
- current_state = state || Bundler::Molinillo::ResolutionState.empty
17
- current_state.requirements
18
- end
19
-
20
- # (see Bundler::Molinillo::ResolutionState#activated)
21
- def activated
22
- current_state = state || Bundler::Molinillo::ResolutionState.empty
23
- current_state.activated
24
- end
25
-
26
- # (see Bundler::Molinillo::ResolutionState#requirement)
27
- def requirement
28
- current_state = state || Bundler::Molinillo::ResolutionState.empty
29
- current_state.requirement
30
- end
31
-
32
- # (see Bundler::Molinillo::ResolutionState#possibilities)
33
- def possibilities
34
- current_state = state || Bundler::Molinillo::ResolutionState.empty
35
- current_state.possibilities
36
- end
37
-
38
- # (see Bundler::Molinillo::ResolutionState#depth)
39
- def depth
40
- current_state = state || Bundler::Molinillo::ResolutionState.empty
41
- current_state.depth
42
- end
43
-
44
- # (see Bundler::Molinillo::ResolutionState#conflicts)
45
- def conflicts
46
- current_state = state || Bundler::Molinillo::ResolutionState.empty
47
- current_state.conflicts
48
- end
49
-
50
- # (see Bundler::Molinillo::ResolutionState#unused_unwind_options)
51
- def unused_unwind_options
52
- current_state = state || Bundler::Molinillo::ResolutionState.empty
53
- current_state.unused_unwind_options
54
- end
55
- end
56
- end
57
- end
@@ -1,88 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Bundler::Molinillo
4
- module Delegates
5
- # Delegates all {Bundler::Molinillo::SpecificationProvider} methods to a
6
- # `#specification_provider` property.
7
- module SpecificationProvider
8
- # (see Bundler::Molinillo::SpecificationProvider#search_for)
9
- def search_for(dependency)
10
- with_no_such_dependency_error_handling do
11
- specification_provider.search_for(dependency)
12
- end
13
- end
14
-
15
- # (see Bundler::Molinillo::SpecificationProvider#dependencies_for)
16
- def dependencies_for(specification)
17
- with_no_such_dependency_error_handling do
18
- specification_provider.dependencies_for(specification)
19
- end
20
- end
21
-
22
- # (see Bundler::Molinillo::SpecificationProvider#requirement_satisfied_by?)
23
- def requirement_satisfied_by?(requirement, activated, spec)
24
- with_no_such_dependency_error_handling do
25
- specification_provider.requirement_satisfied_by?(requirement, activated, spec)
26
- end
27
- end
28
-
29
- # (see Bundler::Molinillo::SpecificationProvider#dependencies_equal?)
30
- def dependencies_equal?(dependencies, other_dependencies)
31
- with_no_such_dependency_error_handling do
32
- specification_provider.dependencies_equal?(dependencies, other_dependencies)
33
- end
34
- end
35
-
36
- # (see Bundler::Molinillo::SpecificationProvider#name_for)
37
- def name_for(dependency)
38
- with_no_such_dependency_error_handling do
39
- specification_provider.name_for(dependency)
40
- end
41
- end
42
-
43
- # (see Bundler::Molinillo::SpecificationProvider#name_for_explicit_dependency_source)
44
- def name_for_explicit_dependency_source
45
- with_no_such_dependency_error_handling do
46
- specification_provider.name_for_explicit_dependency_source
47
- end
48
- end
49
-
50
- # (see Bundler::Molinillo::SpecificationProvider#name_for_locking_dependency_source)
51
- def name_for_locking_dependency_source
52
- with_no_such_dependency_error_handling do
53
- specification_provider.name_for_locking_dependency_source
54
- end
55
- end
56
-
57
- # (see Bundler::Molinillo::SpecificationProvider#sort_dependencies)
58
- def sort_dependencies(dependencies, activated, conflicts)
59
- with_no_such_dependency_error_handling do
60
- specification_provider.sort_dependencies(dependencies, activated, conflicts)
61
- end
62
- end
63
-
64
- # (see Bundler::Molinillo::SpecificationProvider#allow_missing?)
65
- def allow_missing?(dependency)
66
- with_no_such_dependency_error_handling do
67
- specification_provider.allow_missing?(dependency)
68
- end
69
- end
70
-
71
- private
72
-
73
- # Ensures any raised {NoSuchDependencyError} has its
74
- # {NoSuchDependencyError#required_by} set.
75
- # @yield
76
- def with_no_such_dependency_error_handling
77
- yield
78
- rescue NoSuchDependencyError => error
79
- if state
80
- vertex = activated.vertex_named(name_for(error.dependency))
81
- error.required_by += vertex.incoming_edges.map { |e| e.origin.name }
82
- error.required_by << name_for_explicit_dependency_source unless vertex.explicit_requirements.empty?
83
- end
84
- raise
85
- end
86
- end
87
- end
88
- end
@@ -1,36 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Bundler::Molinillo
4
- class DependencyGraph
5
- # An action that modifies a {DependencyGraph} that is reversible.
6
- # @abstract
7
- class Action
8
- # rubocop:disable Lint/UnusedMethodArgument
9
-
10
- # @return [Symbol] The name of the action.
11
- def self.action_name
12
- raise 'Abstract'
13
- end
14
-
15
- # Performs the action on the given graph.
16
- # @param [DependencyGraph] graph the graph to perform the action on.
17
- # @return [Void]
18
- def up(graph)
19
- raise 'Abstract'
20
- end
21
-
22
- # Reverses the action on the given graph.
23
- # @param [DependencyGraph] graph the graph to reverse the action on.
24
- # @return [Void]
25
- def down(graph)
26
- raise 'Abstract'
27
- end
28
-
29
- # @return [Action,Nil] The previous action
30
- attr_accessor :previous
31
-
32
- # @return [Action,Nil] The next action
33
- attr_accessor :next
34
- end
35
- end
36
- end
@@ -1,66 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative 'action'
4
- module Bundler::Molinillo
5
- class DependencyGraph
6
- # @!visibility private
7
- # (see DependencyGraph#add_edge_no_circular)
8
- class AddEdgeNoCircular < Action
9
- # @!group Action
10
-
11
- # (see Action.action_name)
12
- def self.action_name
13
- :add_vertex
14
- end
15
-
16
- # (see Action#up)
17
- def up(graph)
18
- edge = make_edge(graph)
19
- edge.origin.outgoing_edges << edge
20
- edge.destination.incoming_edges << edge
21
- edge
22
- end
23
-
24
- # (see Action#down)
25
- def down(graph)
26
- edge = make_edge(graph)
27
- delete_first(edge.origin.outgoing_edges, edge)
28
- delete_first(edge.destination.incoming_edges, edge)
29
- end
30
-
31
- # @!group AddEdgeNoCircular
32
-
33
- # @return [String] the name of the origin of the edge
34
- attr_reader :origin
35
-
36
- # @return [String] the name of the destination of the edge
37
- attr_reader :destination
38
-
39
- # @return [Object] the requirement that the edge represents
40
- attr_reader :requirement
41
-
42
- # @param [DependencyGraph] graph the graph to find vertices from
43
- # @return [Edge] The edge this action adds
44
- def make_edge(graph)
45
- Edge.new(graph.vertex_named(origin), graph.vertex_named(destination), requirement)
46
- end
47
-
48
- # Initialize an action to add an edge to a dependency graph
49
- # @param [String] origin the name of the origin of the edge
50
- # @param [String] destination the name of the destination of the edge
51
- # @param [Object] requirement the requirement that the edge represents
52
- def initialize(origin, destination, requirement)
53
- @origin = origin
54
- @destination = destination
55
- @requirement = requirement
56
- end
57
-
58
- private
59
-
60
- def delete_first(array, item)
61
- return unless index = array.index(item)
62
- array.delete_at(index)
63
- end
64
- end
65
- end
66
- end
@@ -1,62 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative 'action'
4
- module Bundler::Molinillo
5
- class DependencyGraph
6
- # @!visibility private
7
- # (see DependencyGraph#add_vertex)
8
- class AddVertex < Action # :nodoc:
9
- # @!group Action
10
-
11
- # (see Action.action_name)
12
- def self.action_name
13
- :add_vertex
14
- end
15
-
16
- # (see Action#up)
17
- def up(graph)
18
- if existing = graph.vertices[name]
19
- @existing_payload = existing.payload
20
- @existing_root = existing.root
21
- end
22
- vertex = existing || Vertex.new(name, payload)
23
- graph.vertices[vertex.name] = vertex
24
- vertex.payload ||= payload
25
- vertex.root ||= root
26
- vertex
27
- end
28
-
29
- # (see Action#down)
30
- def down(graph)
31
- if defined?(@existing_payload)
32
- vertex = graph.vertices[name]
33
- vertex.payload = @existing_payload
34
- vertex.root = @existing_root
35
- else
36
- graph.vertices.delete(name)
37
- end
38
- end
39
-
40
- # @!group AddVertex
41
-
42
- # @return [String] the name of the vertex
43
- attr_reader :name
44
-
45
- # @return [Object] the payload for the vertex
46
- attr_reader :payload
47
-
48
- # @return [Boolean] whether the vertex is root or not
49
- attr_reader :root
50
-
51
- # Initialize an action to add a vertex to a dependency graph
52
- # @param [String] name the name of the vertex
53
- # @param [Object] payload the payload for the vertex
54
- # @param [Boolean] root whether the vertex is root or not
55
- def initialize(name, payload, root)
56
- @name = name
57
- @payload = payload
58
- @root = root
59
- end
60
- end
61
- end
62
- end
@@ -1,63 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative 'action'
4
- module Bundler::Molinillo
5
- class DependencyGraph
6
- # @!visibility private
7
- # (see DependencyGraph#delete_edge)
8
- class DeleteEdge < Action
9
- # @!group Action
10
-
11
- # (see Action.action_name)
12
- def self.action_name
13
- :delete_edge
14
- end
15
-
16
- # (see Action#up)
17
- def up(graph)
18
- edge = make_edge(graph)
19
- edge.origin.outgoing_edges.delete(edge)
20
- edge.destination.incoming_edges.delete(edge)
21
- end
22
-
23
- # (see Action#down)
24
- def down(graph)
25
- edge = make_edge(graph)
26
- edge.origin.outgoing_edges << edge
27
- edge.destination.incoming_edges << edge
28
- edge
29
- end
30
-
31
- # @!group DeleteEdge
32
-
33
- # @return [String] the name of the origin of the edge
34
- attr_reader :origin_name
35
-
36
- # @return [String] the name of the destination of the edge
37
- attr_reader :destination_name
38
-
39
- # @return [Object] the requirement that the edge represents
40
- attr_reader :requirement
41
-
42
- # @param [DependencyGraph] graph the graph to find vertices from
43
- # @return [Edge] The edge this action adds
44
- def make_edge(graph)
45
- Edge.new(
46
- graph.vertex_named(origin_name),
47
- graph.vertex_named(destination_name),
48
- requirement
49
- )
50
- end
51
-
52
- # Initialize an action to add an edge to a dependency graph
53
- # @param [String] origin_name the name of the origin of the edge
54
- # @param [String] destination_name the name of the destination of the edge
55
- # @param [Object] requirement the requirement that the edge represents
56
- def initialize(origin_name, destination_name, requirement)
57
- @origin_name = origin_name
58
- @destination_name = destination_name
59
- @requirement = requirement
60
- end
61
- end
62
- end
63
- end
@@ -1,61 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative 'action'
4
- module Bundler::Molinillo
5
- class DependencyGraph
6
- # @!visibility private
7
- # @see DependencyGraph#detach_vertex_named
8
- class DetachVertexNamed < Action
9
- # @!group Action
10
-
11
- # (see Action#name)
12
- def self.action_name
13
- :add_vertex
14
- end
15
-
16
- # (see Action#up)
17
- def up(graph)
18
- return [] unless @vertex = graph.vertices.delete(name)
19
-
20
- removed_vertices = [@vertex]
21
- @vertex.outgoing_edges.each do |e|
22
- v = e.destination
23
- v.incoming_edges.delete(e)
24
- if !v.root? && v.incoming_edges.empty?
25
- removed_vertices.concat graph.detach_vertex_named(v.name)
26
- end
27
- end
28
-
29
- @vertex.incoming_edges.each do |e|
30
- v = e.origin
31
- v.outgoing_edges.delete(e)
32
- end
33
-
34
- removed_vertices
35
- end
36
-
37
- # (see Action#down)
38
- def down(graph)
39
- return unless @vertex
40
- graph.vertices[@vertex.name] = @vertex
41
- @vertex.outgoing_edges.each do |e|
42
- e.destination.incoming_edges << e
43
- end
44
- @vertex.incoming_edges.each do |e|
45
- e.origin.outgoing_edges << e
46
- end
47
- end
48
-
49
- # @!group DetachVertexNamed
50
-
51
- # @return [String] the name of the vertex to detach
52
- attr_reader :name
53
-
54
- # Initialize an action to detach a vertex from a dependency graph
55
- # @param [String] name the name of the vertex to detach
56
- def initialize(name)
57
- @name = name
58
- end
59
- end
60
- end
61
- end