bundler 2.2.29 → 2.5.16

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 (330) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +1129 -4
  3. data/README.md +4 -8
  4. data/bundler.gemspec +11 -11
  5. data/exe/bundle +5 -26
  6. data/exe/bundler +1 -1
  7. data/lib/bundler/.document +1 -0
  8. data/lib/bundler/build_metadata.rb +4 -4
  9. data/lib/bundler/capistrano.rb +1 -1
  10. data/lib/bundler/checksum.rb +254 -0
  11. data/lib/bundler/ci_detector.rb +75 -0
  12. data/lib/bundler/cli/add.rb +4 -4
  13. data/lib/bundler/cli/binstubs.rb +10 -6
  14. data/lib/bundler/cli/cache.rb +1 -1
  15. data/lib/bundler/cli/check.rb +3 -3
  16. data/lib/bundler/cli/common.rb +13 -3
  17. data/lib/bundler/cli/config.rb +18 -8
  18. data/lib/bundler/cli/console.rb +5 -4
  19. data/lib/bundler/cli/doctor.rb +12 -5
  20. data/lib/bundler/cli/exec.rb +1 -1
  21. data/lib/bundler/cli/fund.rb +1 -1
  22. data/lib/bundler/cli/gem.rb +141 -48
  23. data/lib/bundler/cli/info.rb +27 -17
  24. data/lib/bundler/cli/init.rb +6 -2
  25. data/lib/bundler/cli/install.rb +22 -39
  26. data/lib/bundler/cli/issue.rb +5 -4
  27. data/lib/bundler/cli/lock.rb +36 -29
  28. data/lib/bundler/cli/open.rb +9 -9
  29. data/lib/bundler/cli/outdated.rb +19 -12
  30. data/lib/bundler/cli/platform.rb +8 -6
  31. data/lib/bundler/cli/plugin.rb +9 -15
  32. data/lib/bundler/cli/pristine.rb +38 -30
  33. data/lib/bundler/cli/show.rb +3 -3
  34. data/lib/bundler/cli/update.rb +12 -7
  35. data/lib/bundler/cli/viz.rb +1 -1
  36. data/lib/bundler/cli.rb +266 -285
  37. data/lib/bundler/compact_index_client/cache.rb +53 -67
  38. data/lib/bundler/compact_index_client/cache_file.rb +153 -0
  39. data/lib/bundler/compact_index_client/gem_parser.rb +7 -3
  40. data/lib/bundler/compact_index_client/parser.rb +84 -0
  41. data/lib/bundler/compact_index_client/updater.rb +83 -76
  42. data/lib/bundler/compact_index_client.rb +59 -87
  43. data/lib/bundler/constants.rb +9 -2
  44. data/lib/bundler/current_ruby.rb +12 -16
  45. data/lib/bundler/definition.rb +509 -319
  46. data/lib/bundler/dependency.rb +33 -71
  47. data/lib/bundler/digest.rb +71 -0
  48. data/lib/bundler/dsl.rb +88 -69
  49. data/lib/bundler/endpoint_specification.rb +32 -15
  50. data/lib/bundler/env.rb +5 -7
  51. data/lib/bundler/environment_preserver.rb +8 -22
  52. data/lib/bundler/errors.rb +101 -13
  53. data/lib/bundler/feature_flag.rb +0 -2
  54. data/lib/bundler/fetcher/base.rb +11 -11
  55. data/lib/bundler/fetcher/compact_index.rb +32 -52
  56. data/lib/bundler/fetcher/dependency.rb +3 -7
  57. data/lib/bundler/fetcher/downloader.rb +17 -16
  58. data/lib/bundler/fetcher/gem_remote_fetcher.rb +16 -0
  59. data/lib/bundler/fetcher/index.rb +2 -29
  60. data/lib/bundler/fetcher.rb +87 -79
  61. data/lib/bundler/force_platform.rb +18 -0
  62. data/lib/bundler/friendly_errors.rb +29 -40
  63. data/lib/bundler/gem_helper.rb +11 -23
  64. data/lib/bundler/gem_helpers.rb +30 -6
  65. data/lib/bundler/gem_version_promoter.rb +68 -109
  66. data/lib/bundler/graph.rb +9 -9
  67. data/lib/bundler/index.rb +71 -79
  68. data/lib/bundler/injector.rb +23 -11
  69. data/lib/bundler/inline.rb +11 -23
  70. data/lib/bundler/installer/gem_installer.rb +18 -11
  71. data/lib/bundler/installer/parallel_installer.rb +17 -65
  72. data/lib/bundler/installer/standalone.rb +56 -15
  73. data/lib/bundler/installer.rb +35 -61
  74. data/lib/bundler/lazy_specification.rb +92 -61
  75. data/lib/bundler/lockfile_generator.rb +12 -3
  76. data/lib/bundler/lockfile_parser.rb +137 -70
  77. data/lib/bundler/man/bundle-add.1 +19 -26
  78. data/lib/bundler/man/bundle-add.1.ronn +16 -4
  79. data/lib/bundler/man/bundle-binstubs.1 +4 -16
  80. data/lib/bundler/man/bundle-cache.1 +9 -24
  81. data/lib/bundler/man/bundle-cache.1.ronn +9 -2
  82. data/lib/bundler/man/bundle-check.1 +5 -12
  83. data/lib/bundler/man/bundle-check.1.ronn +3 -0
  84. data/lib/bundler/man/bundle-clean.1 +4 -11
  85. data/lib/bundler/man/bundle-clean.1.ronn +1 -1
  86. data/lib/bundler/man/bundle-config.1 +47 -224
  87. data/lib/bundler/man/bundle-config.1.ronn +40 -28
  88. data/lib/bundler/man/bundle-console.1 +35 -0
  89. data/lib/bundler/man/bundle-console.1.ronn +44 -0
  90. data/lib/bundler/man/bundle-doctor.1 +4 -18
  91. data/lib/bundler/man/bundle-exec.1 +16 -77
  92. data/lib/bundler/man/bundle-exec.1.ronn +8 -9
  93. data/lib/bundler/man/bundle-gem.1 +45 -72
  94. data/lib/bundler/man/bundle-gem.1.ronn +32 -5
  95. data/lib/bundler/man/bundle-help.1 +9 -0
  96. data/lib/bundler/man/bundle-help.1.ronn +12 -0
  97. data/lib/bundler/man/bundle-info.1 +5 -11
  98. data/lib/bundler/man/bundle-info.1.ronn +3 -3
  99. data/lib/bundler/man/bundle-init.1 +6 -11
  100. data/lib/bundler/man/bundle-init.1.ronn +2 -0
  101. data/lib/bundler/man/bundle-inject.1 +8 -18
  102. data/lib/bundler/man/bundle-inject.1.ronn +3 -1
  103. data/lib/bundler/man/bundle-install.1 +32 -155
  104. data/lib/bundler/man/bundle-install.1.ronn +11 -33
  105. data/lib/bundler/man/bundle-list.1 +4 -19
  106. data/lib/bundler/man/bundle-lock.1 +5 -29
  107. data/lib/bundler/man/bundle-open.1 +18 -18
  108. data/lib/bundler/man/bundle-open.1.ronn +9 -1
  109. data/lib/bundler/man/bundle-outdated.1 +17 -72
  110. data/lib/bundler/man/bundle-outdated.1.ronn +13 -18
  111. data/lib/bundler/man/bundle-platform.1 +16 -28
  112. data/lib/bundler/man/bundle-platform.1.ronn +14 -7
  113. data/lib/bundler/man/bundle-plugin.1 +58 -0
  114. data/lib/bundler/man/bundle-plugin.1.ronn +63 -0
  115. data/lib/bundler/man/bundle-pristine.1 +5 -16
  116. data/lib/bundler/man/bundle-remove.1 +4 -14
  117. data/lib/bundler/man/bundle-show.1 +3 -10
  118. data/lib/bundler/man/bundle-update.1 +19 -138
  119. data/lib/bundler/man/bundle-update.1.ronn +2 -1
  120. data/lib/bundler/man/bundle-version.1 +22 -0
  121. data/lib/bundler/man/bundle-version.1.ronn +24 -0
  122. data/lib/bundler/man/bundle-viz.1 +6 -15
  123. data/lib/bundler/man/bundle-viz.1.ronn +2 -0
  124. data/lib/bundler/man/bundle.1 +17 -51
  125. data/lib/bundler/man/bundle.1.ronn +12 -7
  126. data/lib/bundler/man/gemfile.5 +130 -346
  127. data/lib/bundler/man/gemfile.5.ronn +121 -86
  128. data/lib/bundler/man/index.txt +4 -0
  129. data/lib/bundler/match_metadata.rb +17 -0
  130. data/lib/bundler/match_platform.rb +1 -2
  131. data/lib/bundler/match_remote_metadata.rb +29 -0
  132. data/lib/bundler/mirror.rb +8 -10
  133. data/lib/bundler/plugin/api/source.rb +9 -13
  134. data/lib/bundler/plugin/index.rb +13 -5
  135. data/lib/bundler/plugin/installer/git.rb +0 -4
  136. data/lib/bundler/plugin/installer/path.rb +18 -0
  137. data/lib/bundler/plugin/installer/rubygems.rb +0 -8
  138. data/lib/bundler/plugin/installer.rb +42 -19
  139. data/lib/bundler/plugin/source_list.rb +4 -4
  140. data/lib/bundler/plugin.rb +16 -7
  141. data/lib/bundler/process_lock.rb +1 -1
  142. data/lib/bundler/remote_specification.rb +11 -5
  143. data/lib/bundler/resolver/base.rb +111 -0
  144. data/lib/bundler/resolver/candidate.rb +82 -0
  145. data/lib/bundler/resolver/incompatibility.rb +15 -0
  146. data/lib/bundler/resolver/package.rb +81 -0
  147. data/lib/bundler/resolver/root.rb +25 -0
  148. data/lib/bundler/resolver/spec_group.rb +53 -66
  149. data/lib/bundler/resolver.rb +419 -307
  150. data/lib/bundler/retry.rb +1 -1
  151. data/lib/bundler/ruby_dsl.rb +42 -7
  152. data/lib/bundler/ruby_version.rb +16 -22
  153. data/lib/bundler/rubygems_ext.rb +250 -64
  154. data/lib/bundler/rubygems_gem_installer.rb +90 -64
  155. data/lib/bundler/rubygems_integration.rb +81 -190
  156. data/lib/bundler/runtime.rb +8 -13
  157. data/lib/bundler/safe_marshal.rb +31 -0
  158. data/lib/bundler/self_manager.rb +206 -0
  159. data/lib/bundler/settings.rb +139 -57
  160. data/lib/bundler/setup.rb +13 -1
  161. data/lib/bundler/shared_helpers.rb +67 -36
  162. data/lib/bundler/source/git/git_proxy.rb +285 -82
  163. data/lib/bundler/source/git.rb +81 -41
  164. data/lib/bundler/source/metadata.rb +17 -16
  165. data/lib/bundler/source/path/installer.rb +1 -22
  166. data/lib/bundler/source/path.rb +13 -25
  167. data/lib/bundler/source/rubygems/remote.rb +1 -1
  168. data/lib/bundler/source/rubygems.rb +164 -234
  169. data/lib/bundler/source/rubygems_aggregate.rb +1 -1
  170. data/lib/bundler/source.rb +7 -6
  171. data/lib/bundler/source_list.rb +40 -32
  172. data/lib/bundler/source_map.rb +15 -2
  173. data/lib/bundler/spec_set.rb +156 -46
  174. data/lib/bundler/stub_specification.rb +18 -5
  175. data/lib/bundler/templates/Executable +3 -5
  176. data/lib/bundler/templates/Executable.bundler +7 -12
  177. data/lib/bundler/templates/Executable.standalone +4 -4
  178. data/lib/bundler/templates/Gemfile +0 -2
  179. data/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt +77 -29
  180. data/lib/bundler/templates/newgem/Cargo.toml.tt +7 -0
  181. data/lib/bundler/templates/newgem/Gemfile.tt +8 -2
  182. data/lib/bundler/templates/newgem/README.md.tt +7 -11
  183. data/lib/bundler/templates/newgem/Rakefile.tt +28 -4
  184. data/lib/bundler/templates/newgem/bin/console.tt +0 -4
  185. data/lib/bundler/templates/newgem/circleci/config.yml.tt +12 -0
  186. data/lib/bundler/templates/newgem/ext/newgem/Cargo.toml.tt +15 -0
  187. data/lib/bundler/templates/newgem/ext/newgem/extconf-c.rb.tt +10 -0
  188. data/lib/bundler/templates/newgem/ext/newgem/extconf-rust.rb.tt +6 -0
  189. data/lib/bundler/templates/newgem/ext/newgem/newgem.c.tt +1 -1
  190. data/lib/bundler/templates/newgem/ext/newgem/src/lib.rs.tt +12 -0
  191. data/lib/bundler/templates/newgem/github/workflows/main.yml.tt +13 -3
  192. data/lib/bundler/templates/newgem/gitignore.tt +3 -0
  193. data/lib/bundler/templates/newgem/gitlab-ci.yml.tt +13 -4
  194. data/lib/bundler/templates/newgem/newgem.gemspec.tt +25 -17
  195. data/lib/bundler/templates/newgem/rubocop.yml.tt +0 -5
  196. data/lib/bundler/templates/newgem/sig/newgem.rbs.tt +8 -0
  197. data/lib/bundler/templates/newgem/standard.yml.tt +3 -0
  198. data/lib/bundler/templates/newgem/test/minitest/{newgem_test.rb.tt → test_newgem.rb.tt} +1 -1
  199. data/lib/bundler/ui/rg_proxy.rb +1 -1
  200. data/lib/bundler/ui/shell.rb +38 -15
  201. data/lib/bundler/ui/silent.rb +21 -5
  202. data/lib/bundler/uri_credentials_filter.rb +2 -2
  203. data/lib/bundler/uri_normalizer.rb +23 -0
  204. data/lib/bundler/vendor/.document +1 -0
  205. data/lib/bundler/vendor/connection_pool/.document +1 -0
  206. data/lib/bundler/vendor/connection_pool/LICENSE +20 -0
  207. data/lib/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.rb +19 -21
  208. data/lib/bundler/vendor/connection_pool/lib/connection_pool/version.rb +1 -1
  209. data/lib/bundler/vendor/connection_pool/lib/connection_pool/wrapper.rb +56 -0
  210. data/lib/bundler/vendor/connection_pool/lib/connection_pool.rb +92 -78
  211. data/lib/bundler/vendor/fileutils/.document +1 -0
  212. data/lib/bundler/vendor/fileutils/LICENSE.txt +22 -0
  213. data/lib/bundler/vendor/fileutils/lib/fileutils.rb +1340 -410
  214. data/lib/bundler/vendor/net-http-persistent/.document +1 -0
  215. data/lib/bundler/vendor/net-http-persistent/README.rdoc +82 -0
  216. data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/connection.rb +4 -3
  217. data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/pool.rb +23 -11
  218. data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/timed_stack_multi.rb +1 -1
  219. data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +57 -57
  220. data/lib/bundler/vendor/pub_grub/.document +1 -0
  221. data/lib/bundler/vendor/pub_grub/LICENSE.txt +21 -0
  222. data/lib/bundler/vendor/pub_grub/lib/pub_grub/assignment.rb +20 -0
  223. data/lib/bundler/vendor/pub_grub/lib/pub_grub/basic_package_source.rb +189 -0
  224. data/lib/bundler/vendor/pub_grub/lib/pub_grub/failure_writer.rb +182 -0
  225. data/lib/bundler/vendor/pub_grub/lib/pub_grub/incompatibility.rb +150 -0
  226. data/lib/bundler/vendor/pub_grub/lib/pub_grub/package.rb +43 -0
  227. data/lib/bundler/vendor/pub_grub/lib/pub_grub/partial_solution.rb +121 -0
  228. data/lib/bundler/vendor/pub_grub/lib/pub_grub/rubygems.rb +45 -0
  229. data/lib/bundler/vendor/pub_grub/lib/pub_grub/solve_failure.rb +19 -0
  230. data/lib/bundler/vendor/pub_grub/lib/pub_grub/static_package_source.rb +61 -0
  231. data/lib/bundler/vendor/pub_grub/lib/pub_grub/term.rb +105 -0
  232. data/lib/bundler/vendor/pub_grub/lib/pub_grub/version.rb +3 -0
  233. data/lib/bundler/vendor/pub_grub/lib/pub_grub/version_constraint.rb +129 -0
  234. data/lib/bundler/vendor/pub_grub/lib/pub_grub/version_range.rb +411 -0
  235. data/lib/bundler/vendor/pub_grub/lib/pub_grub/version_solver.rb +248 -0
  236. data/lib/bundler/vendor/pub_grub/lib/pub_grub/version_union.rb +178 -0
  237. data/lib/bundler/vendor/pub_grub/lib/pub_grub.rb +31 -0
  238. data/lib/bundler/vendor/thor/.document +1 -0
  239. data/lib/bundler/vendor/thor/LICENSE.md +20 -0
  240. data/lib/bundler/vendor/thor/lib/thor/actions/create_file.rb +3 -2
  241. data/lib/bundler/vendor/thor/lib/thor/actions/directory.rb +1 -1
  242. data/lib/bundler/vendor/thor/lib/thor/actions/empty_directory.rb +1 -1
  243. data/lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb +12 -14
  244. data/lib/bundler/vendor/thor/lib/thor/actions/inject_into_file.rb +16 -6
  245. data/lib/bundler/vendor/thor/lib/thor/actions.rb +21 -17
  246. data/lib/bundler/vendor/thor/lib/thor/base.rb +140 -14
  247. data/lib/bundler/vendor/thor/lib/thor/command.rb +13 -4
  248. data/lib/bundler/vendor/thor/lib/thor/core_ext/hash_with_indifferent_access.rb +10 -0
  249. data/lib/bundler/vendor/thor/lib/thor/error.rb +16 -20
  250. data/lib/bundler/vendor/thor/lib/thor/group.rb +1 -1
  251. data/lib/bundler/vendor/thor/lib/thor/invocation.rb +1 -1
  252. data/lib/bundler/vendor/thor/lib/thor/nested_context.rb +2 -2
  253. data/lib/bundler/vendor/thor/lib/thor/parser/argument.rb +20 -1
  254. data/lib/bundler/vendor/thor/lib/thor/parser/arguments.rb +33 -17
  255. data/lib/bundler/vendor/thor/lib/thor/parser/option.rb +27 -8
  256. data/lib/bundler/vendor/thor/lib/thor/parser/options.rb +63 -7
  257. data/lib/bundler/vendor/thor/lib/thor/rake_compat.rb +2 -2
  258. data/lib/bundler/vendor/thor/lib/thor/runner.rb +40 -30
  259. data/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +48 -154
  260. data/lib/bundler/vendor/thor/lib/thor/shell/color.rb +1 -46
  261. data/lib/bundler/vendor/thor/lib/thor/shell/column_printer.rb +29 -0
  262. data/lib/bundler/vendor/thor/lib/thor/shell/html.rb +0 -45
  263. data/lib/bundler/vendor/thor/lib/thor/shell/table_printer.rb +134 -0
  264. data/lib/bundler/vendor/thor/lib/thor/shell/terminal.rb +42 -0
  265. data/lib/bundler/vendor/thor/lib/thor/shell/wrapped_printer.rb +38 -0
  266. data/lib/bundler/vendor/thor/lib/thor/shell.rb +2 -2
  267. data/lib/bundler/vendor/thor/lib/thor/util.rb +9 -8
  268. data/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
  269. data/lib/bundler/vendor/thor/lib/thor.rb +155 -8
  270. data/lib/bundler/vendor/tsort/.document +1 -0
  271. data/lib/bundler/vendor/tsort/LICENSE.txt +22 -0
  272. data/lib/bundler/vendor/tsort/lib/tsort.rb +455 -0
  273. data/lib/bundler/vendor/uri/.document +1 -0
  274. data/lib/bundler/vendor/uri/LICENSE.txt +22 -0
  275. data/lib/bundler/vendor/uri/lib/uri/common.rb +316 -207
  276. data/lib/bundler/vendor/uri/lib/uri/file.rb +7 -1
  277. data/lib/bundler/vendor/uri/lib/uri/ftp.rb +2 -2
  278. data/lib/bundler/vendor/uri/lib/uri/generic.rb +33 -13
  279. data/lib/bundler/vendor/uri/lib/uri/http.rb +40 -3
  280. data/lib/bundler/vendor/uri/lib/uri/https.rb +2 -2
  281. data/lib/bundler/vendor/uri/lib/uri/ldap.rb +2 -2
  282. data/lib/bundler/vendor/uri/lib/uri/ldaps.rb +2 -1
  283. data/lib/bundler/vendor/uri/lib/uri/mailto.rb +2 -3
  284. data/lib/bundler/vendor/uri/lib/uri/rfc2396_parser.rb +16 -23
  285. data/lib/bundler/vendor/uri/lib/uri/rfc3986_parser.rb +105 -47
  286. data/lib/bundler/vendor/uri/lib/uri/version.rb +1 -1
  287. data/lib/bundler/vendor/uri/lib/uri/ws.rb +83 -0
  288. data/lib/bundler/vendor/uri/lib/uri/wss.rb +23 -0
  289. data/lib/bundler/vendor/uri/lib/uri.rb +3 -3
  290. data/lib/bundler/vendored_net_http.rb +23 -0
  291. data/lib/bundler/vendored_persistent.rb +0 -36
  292. data/lib/bundler/{vendored_molinillo.rb → vendored_pub_grub.rb} +1 -1
  293. data/lib/bundler/vendored_timeout.rb +12 -0
  294. data/lib/bundler/{vendored_tmpdir.rb → vendored_tsort.rb} +1 -1
  295. data/lib/bundler/vendored_uri.rb +18 -1
  296. data/lib/bundler/version.rb +5 -1
  297. data/lib/bundler/vlad.rb +1 -1
  298. data/lib/bundler/worker.rb +7 -9
  299. data/lib/bundler/yaml_serializer.rb +21 -12
  300. data/lib/bundler.rb +114 -121
  301. metadata +87 -41
  302. data/lib/bundler/dep_proxy.rb +0 -55
  303. data/lib/bundler/gemdeps.rb +0 -29
  304. data/lib/bundler/psyched_yaml.rb +0 -22
  305. data/lib/bundler/templates/gems.rb +0 -8
  306. data/lib/bundler/templates/newgem/ext/newgem/extconf.rb.tt +0 -5
  307. data/lib/bundler/templates/newgem/travis.yml.tt +0 -6
  308. data/lib/bundler/vendor/connection_pool/lib/connection_pool/monotonic_time.rb +0 -66
  309. data/lib/bundler/vendor/molinillo/lib/molinillo/delegates/resolution_state.rb +0 -57
  310. data/lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb +0 -88
  311. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/action.rb +0 -36
  312. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +0 -66
  313. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +0 -62
  314. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +0 -63
  315. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +0 -61
  316. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/log.rb +0 -126
  317. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/set_payload.rb +0 -46
  318. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb +0 -36
  319. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb +0 -164
  320. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +0 -255
  321. data/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +0 -143
  322. data/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb +0 -6
  323. data/lib/bundler/vendor/molinillo/lib/molinillo/modules/specification_provider.rb +0 -112
  324. data/lib/bundler/vendor/molinillo/lib/molinillo/modules/ui.rb +0 -67
  325. data/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb +0 -839
  326. data/lib/bundler/vendor/molinillo/lib/molinillo/resolver.rb +0 -46
  327. data/lib/bundler/vendor/molinillo/lib/molinillo/state.rb +0 -58
  328. data/lib/bundler/vendor/molinillo/lib/molinillo.rb +0 -11
  329. data/lib/bundler/vendor/tmpdir/lib/tmpdir.rb +0 -154
  330. data/lib/bundler/version_ranges.rb +0 -122
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bundler
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.29
4
+ version: 2.5.16
5
5
  platform: ruby
6
6
  authors:
7
7
  - André Arko
@@ -19,10 +19,10 @@ authors:
19
19
  - Terence Lee
20
20
  - Carl Lerche
21
21
  - Yehuda Katz
22
- autorequire:
22
+ autorequire:
23
23
  bindir: exe
24
24
  cert_chain: []
25
- date: 2021-10-08 00:00:00.000000000 Z
25
+ date: 2024-07-18 00:00:00.000000000 Z
26
26
  dependencies: []
27
27
  description: Bundler manages an application's dependencies through its entire life,
28
28
  across many machines, systematically and repeatably
@@ -41,8 +41,11 @@ files:
41
41
  - exe/bundle
42
42
  - exe/bundler
43
43
  - lib/bundler.rb
44
+ - lib/bundler/.document
44
45
  - lib/bundler/build_metadata.rb
45
46
  - lib/bundler/capistrano.rb
47
+ - lib/bundler/checksum.rb
48
+ - lib/bundler/ci_detector.rb
46
49
  - lib/bundler/cli.rb
47
50
  - lib/bundler/cli/add.rb
48
51
  - lib/bundler/cli/binstubs.rb
@@ -74,15 +77,17 @@ files:
74
77
  - lib/bundler/cli/viz.rb
75
78
  - lib/bundler/compact_index_client.rb
76
79
  - lib/bundler/compact_index_client/cache.rb
80
+ - lib/bundler/compact_index_client/cache_file.rb
77
81
  - lib/bundler/compact_index_client/gem_parser.rb
82
+ - lib/bundler/compact_index_client/parser.rb
78
83
  - lib/bundler/compact_index_client/updater.rb
79
84
  - lib/bundler/constants.rb
80
85
  - lib/bundler/current_ruby.rb
81
86
  - lib/bundler/definition.rb
82
- - lib/bundler/dep_proxy.rb
83
87
  - lib/bundler/dependency.rb
84
88
  - lib/bundler/deployment.rb
85
89
  - lib/bundler/deprecate.rb
90
+ - lib/bundler/digest.rb
86
91
  - lib/bundler/dsl.rb
87
92
  - lib/bundler/endpoint_specification.rb
88
93
  - lib/bundler/env.rb
@@ -94,13 +99,14 @@ files:
94
99
  - lib/bundler/fetcher/compact_index.rb
95
100
  - lib/bundler/fetcher/dependency.rb
96
101
  - lib/bundler/fetcher/downloader.rb
102
+ - lib/bundler/fetcher/gem_remote_fetcher.rb
97
103
  - lib/bundler/fetcher/index.rb
104
+ - lib/bundler/force_platform.rb
98
105
  - lib/bundler/friendly_errors.rb
99
106
  - lib/bundler/gem_helper.rb
100
107
  - lib/bundler/gem_helpers.rb
101
108
  - lib/bundler/gem_tasks.rb
102
109
  - lib/bundler/gem_version_promoter.rb
103
- - lib/bundler/gemdeps.rb
104
110
  - lib/bundler/graph.rb
105
111
  - lib/bundler/index.rb
106
112
  - lib/bundler/injector.rb
@@ -125,12 +131,16 @@ files:
125
131
  - lib/bundler/man/bundle-clean.1.ronn
126
132
  - lib/bundler/man/bundle-config.1
127
133
  - lib/bundler/man/bundle-config.1.ronn
134
+ - lib/bundler/man/bundle-console.1
135
+ - lib/bundler/man/bundle-console.1.ronn
128
136
  - lib/bundler/man/bundle-doctor.1
129
137
  - lib/bundler/man/bundle-doctor.1.ronn
130
138
  - lib/bundler/man/bundle-exec.1
131
139
  - lib/bundler/man/bundle-exec.1.ronn
132
140
  - lib/bundler/man/bundle-gem.1
133
141
  - lib/bundler/man/bundle-gem.1.ronn
142
+ - lib/bundler/man/bundle-help.1
143
+ - lib/bundler/man/bundle-help.1.ronn
134
144
  - lib/bundler/man/bundle-info.1
135
145
  - lib/bundler/man/bundle-info.1.ronn
136
146
  - lib/bundler/man/bundle-init.1
@@ -149,6 +159,8 @@ files:
149
159
  - lib/bundler/man/bundle-outdated.1.ronn
150
160
  - lib/bundler/man/bundle-platform.1
151
161
  - lib/bundler/man/bundle-platform.1.ronn
162
+ - lib/bundler/man/bundle-plugin.1
163
+ - lib/bundler/man/bundle-plugin.1.ronn
152
164
  - lib/bundler/man/bundle-pristine.1
153
165
  - lib/bundler/man/bundle-pristine.1.ronn
154
166
  - lib/bundler/man/bundle-remove.1
@@ -157,6 +169,8 @@ files:
157
169
  - lib/bundler/man/bundle-show.1.ronn
158
170
  - lib/bundler/man/bundle-update.1
159
171
  - lib/bundler/man/bundle-update.1.ronn
172
+ - lib/bundler/man/bundle-version.1
173
+ - lib/bundler/man/bundle-version.1.ronn
160
174
  - lib/bundler/man/bundle-viz.1
161
175
  - lib/bundler/man/bundle-viz.1.ronn
162
176
  - lib/bundler/man/bundle.1
@@ -164,7 +178,9 @@ files:
164
178
  - lib/bundler/man/gemfile.5
165
179
  - lib/bundler/man/gemfile.5.ronn
166
180
  - lib/bundler/man/index.txt
181
+ - lib/bundler/match_metadata.rb
167
182
  - lib/bundler/match_platform.rb
183
+ - lib/bundler/match_remote_metadata.rb
168
184
  - lib/bundler/mirror.rb
169
185
  - lib/bundler/plugin.rb
170
186
  - lib/bundler/plugin/api.rb
@@ -174,12 +190,17 @@ files:
174
190
  - lib/bundler/plugin/index.rb
175
191
  - lib/bundler/plugin/installer.rb
176
192
  - lib/bundler/plugin/installer/git.rb
193
+ - lib/bundler/plugin/installer/path.rb
177
194
  - lib/bundler/plugin/installer/rubygems.rb
178
195
  - lib/bundler/plugin/source_list.rb
179
196
  - lib/bundler/process_lock.rb
180
- - lib/bundler/psyched_yaml.rb
181
197
  - lib/bundler/remote_specification.rb
182
198
  - lib/bundler/resolver.rb
199
+ - lib/bundler/resolver/base.rb
200
+ - lib/bundler/resolver/candidate.rb
201
+ - lib/bundler/resolver/incompatibility.rb
202
+ - lib/bundler/resolver/package.rb
203
+ - lib/bundler/resolver/root.rb
183
204
  - lib/bundler/resolver/spec_group.rb
184
205
  - lib/bundler/retry.rb
185
206
  - lib/bundler/ruby_dsl.rb
@@ -188,6 +209,8 @@ files:
188
209
  - lib/bundler/rubygems_gem_installer.rb
189
210
  - lib/bundler/rubygems_integration.rb
190
211
  - lib/bundler/runtime.rb
212
+ - lib/bundler/safe_marshal.rb
213
+ - lib/bundler/self_manager.rb
191
214
  - lib/bundler/settings.rb
192
215
  - lib/bundler/settings/validator.rb
193
216
  - lib/bundler/setup.rb
@@ -212,9 +235,9 @@ files:
212
235
  - lib/bundler/templates/Executable.bundler
213
236
  - lib/bundler/templates/Executable.standalone
214
237
  - lib/bundler/templates/Gemfile
215
- - lib/bundler/templates/gems.rb
216
238
  - lib/bundler/templates/newgem/CHANGELOG.md.tt
217
239
  - lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt
240
+ - lib/bundler/templates/newgem/Cargo.toml.tt
218
241
  - lib/bundler/templates/newgem/Gemfile.tt
219
242
  - lib/bundler/templates/newgem/LICENSE.txt.tt
220
243
  - lib/bundler/templates/newgem/README.md.tt
@@ -223,9 +246,12 @@ files:
223
246
  - lib/bundler/templates/newgem/bin/setup.tt
224
247
  - lib/bundler/templates/newgem/circleci/config.yml.tt
225
248
  - lib/bundler/templates/newgem/exe/newgem.tt
226
- - lib/bundler/templates/newgem/ext/newgem/extconf.rb.tt
249
+ - lib/bundler/templates/newgem/ext/newgem/Cargo.toml.tt
250
+ - lib/bundler/templates/newgem/ext/newgem/extconf-c.rb.tt
251
+ - lib/bundler/templates/newgem/ext/newgem/extconf-rust.rb.tt
227
252
  - lib/bundler/templates/newgem/ext/newgem/newgem.c.tt
228
253
  - lib/bundler/templates/newgem/ext/newgem/newgem.h.tt
254
+ - lib/bundler/templates/newgem/ext/newgem/src/lib.rs.tt
229
255
  - lib/bundler/templates/newgem/github/workflows/main.yml.tt
230
256
  - lib/bundler/templates/newgem/gitignore.tt
231
257
  - lib/bundler/templates/newgem/gitlab-ci.yml.tt
@@ -234,47 +260,56 @@ files:
234
260
  - lib/bundler/templates/newgem/newgem.gemspec.tt
235
261
  - lib/bundler/templates/newgem/rspec.tt
236
262
  - lib/bundler/templates/newgem/rubocop.yml.tt
263
+ - lib/bundler/templates/newgem/sig/newgem.rbs.tt
237
264
  - lib/bundler/templates/newgem/spec/newgem_spec.rb.tt
238
265
  - lib/bundler/templates/newgem/spec/spec_helper.rb.tt
239
- - lib/bundler/templates/newgem/test/minitest/newgem_test.rb.tt
266
+ - lib/bundler/templates/newgem/standard.yml.tt
240
267
  - lib/bundler/templates/newgem/test/minitest/test_helper.rb.tt
268
+ - lib/bundler/templates/newgem/test/minitest/test_newgem.rb.tt
241
269
  - lib/bundler/templates/newgem/test/test-unit/newgem_test.rb.tt
242
270
  - lib/bundler/templates/newgem/test/test-unit/test_helper.rb.tt
243
- - lib/bundler/templates/newgem/travis.yml.tt
244
271
  - lib/bundler/ui.rb
245
272
  - lib/bundler/ui/rg_proxy.rb
246
273
  - lib/bundler/ui/shell.rb
247
274
  - lib/bundler/ui/silent.rb
248
275
  - lib/bundler/uri_credentials_filter.rb
276
+ - lib/bundler/uri_normalizer.rb
277
+ - lib/bundler/vendor/.document
278
+ - lib/bundler/vendor/connection_pool/.document
279
+ - lib/bundler/vendor/connection_pool/LICENSE
249
280
  - lib/bundler/vendor/connection_pool/lib/connection_pool.rb
250
- - lib/bundler/vendor/connection_pool/lib/connection_pool/monotonic_time.rb
251
281
  - lib/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.rb
252
282
  - lib/bundler/vendor/connection_pool/lib/connection_pool/version.rb
283
+ - lib/bundler/vendor/connection_pool/lib/connection_pool/wrapper.rb
284
+ - lib/bundler/vendor/fileutils/.document
285
+ - lib/bundler/vendor/fileutils/LICENSE.txt
253
286
  - lib/bundler/vendor/fileutils/lib/fileutils.rb
254
- - lib/bundler/vendor/molinillo/lib/molinillo.rb
255
- - lib/bundler/vendor/molinillo/lib/molinillo/delegates/resolution_state.rb
256
- - lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb
257
- - lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb
258
- - lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/action.rb
259
- - lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb
260
- - lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_vertex.rb
261
- - lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/delete_edge.rb
262
- - lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb
263
- - lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/log.rb
264
- - lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/set_payload.rb
265
- - lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb
266
- - lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb
267
- - lib/bundler/vendor/molinillo/lib/molinillo/errors.rb
268
- - lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb
269
- - lib/bundler/vendor/molinillo/lib/molinillo/modules/specification_provider.rb
270
- - lib/bundler/vendor/molinillo/lib/molinillo/modules/ui.rb
271
- - lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb
272
- - lib/bundler/vendor/molinillo/lib/molinillo/resolver.rb
273
- - lib/bundler/vendor/molinillo/lib/molinillo/state.rb
287
+ - lib/bundler/vendor/net-http-persistent/.document
288
+ - lib/bundler/vendor/net-http-persistent/README.rdoc
274
289
  - lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb
275
290
  - lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/connection.rb
276
291
  - lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/pool.rb
277
292
  - lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/timed_stack_multi.rb
293
+ - lib/bundler/vendor/pub_grub/.document
294
+ - lib/bundler/vendor/pub_grub/LICENSE.txt
295
+ - lib/bundler/vendor/pub_grub/lib/pub_grub.rb
296
+ - lib/bundler/vendor/pub_grub/lib/pub_grub/assignment.rb
297
+ - lib/bundler/vendor/pub_grub/lib/pub_grub/basic_package_source.rb
298
+ - lib/bundler/vendor/pub_grub/lib/pub_grub/failure_writer.rb
299
+ - lib/bundler/vendor/pub_grub/lib/pub_grub/incompatibility.rb
300
+ - lib/bundler/vendor/pub_grub/lib/pub_grub/package.rb
301
+ - lib/bundler/vendor/pub_grub/lib/pub_grub/partial_solution.rb
302
+ - lib/bundler/vendor/pub_grub/lib/pub_grub/rubygems.rb
303
+ - lib/bundler/vendor/pub_grub/lib/pub_grub/solve_failure.rb
304
+ - lib/bundler/vendor/pub_grub/lib/pub_grub/static_package_source.rb
305
+ - lib/bundler/vendor/pub_grub/lib/pub_grub/term.rb
306
+ - lib/bundler/vendor/pub_grub/lib/pub_grub/version.rb
307
+ - lib/bundler/vendor/pub_grub/lib/pub_grub/version_constraint.rb
308
+ - lib/bundler/vendor/pub_grub/lib/pub_grub/version_range.rb
309
+ - lib/bundler/vendor/pub_grub/lib/pub_grub/version_solver.rb
310
+ - lib/bundler/vendor/pub_grub/lib/pub_grub/version_union.rb
311
+ - lib/bundler/vendor/thor/.document
312
+ - lib/bundler/vendor/thor/LICENSE.md
278
313
  - lib/bundler/vendor/thor/lib/thor.rb
279
314
  - lib/bundler/vendor/thor/lib/thor/actions.rb
280
315
  - lib/bundler/vendor/thor/lib/thor/actions/create_file.rb
@@ -303,10 +338,18 @@ files:
303
338
  - lib/bundler/vendor/thor/lib/thor/shell.rb
304
339
  - lib/bundler/vendor/thor/lib/thor/shell/basic.rb
305
340
  - lib/bundler/vendor/thor/lib/thor/shell/color.rb
341
+ - lib/bundler/vendor/thor/lib/thor/shell/column_printer.rb
306
342
  - lib/bundler/vendor/thor/lib/thor/shell/html.rb
343
+ - lib/bundler/vendor/thor/lib/thor/shell/table_printer.rb
344
+ - lib/bundler/vendor/thor/lib/thor/shell/terminal.rb
345
+ - lib/bundler/vendor/thor/lib/thor/shell/wrapped_printer.rb
307
346
  - lib/bundler/vendor/thor/lib/thor/util.rb
308
347
  - lib/bundler/vendor/thor/lib/thor/version.rb
309
- - lib/bundler/vendor/tmpdir/lib/tmpdir.rb
348
+ - lib/bundler/vendor/tsort/.document
349
+ - lib/bundler/vendor/tsort/LICENSE.txt
350
+ - lib/bundler/vendor/tsort/lib/tsort.rb
351
+ - lib/bundler/vendor/uri/.document
352
+ - lib/bundler/vendor/uri/LICENSE.txt
310
353
  - lib/bundler/vendor/uri/lib/uri.rb
311
354
  - lib/bundler/vendor/uri/lib/uri/common.rb
312
355
  - lib/bundler/vendor/uri/lib/uri/file.rb
@@ -320,14 +363,17 @@ files:
320
363
  - lib/bundler/vendor/uri/lib/uri/rfc2396_parser.rb
321
364
  - lib/bundler/vendor/uri/lib/uri/rfc3986_parser.rb
322
365
  - lib/bundler/vendor/uri/lib/uri/version.rb
366
+ - lib/bundler/vendor/uri/lib/uri/ws.rb
367
+ - lib/bundler/vendor/uri/lib/uri/wss.rb
323
368
  - lib/bundler/vendored_fileutils.rb
324
- - lib/bundler/vendored_molinillo.rb
369
+ - lib/bundler/vendored_net_http.rb
325
370
  - lib/bundler/vendored_persistent.rb
371
+ - lib/bundler/vendored_pub_grub.rb
326
372
  - lib/bundler/vendored_thor.rb
327
- - lib/bundler/vendored_tmpdir.rb
373
+ - lib/bundler/vendored_timeout.rb
374
+ - lib/bundler/vendored_tsort.rb
328
375
  - lib/bundler/vendored_uri.rb
329
376
  - lib/bundler/version.rb
330
- - lib/bundler/version_ranges.rb
331
377
  - lib/bundler/vlad.rb
332
378
  - lib/bundler/worker.rb
333
379
  - lib/bundler/yaml_serializer.rb
@@ -338,8 +384,8 @@ metadata:
338
384
  bug_tracker_uri: https://github.com/rubygems/rubygems/issues?q=is%3Aopen+is%3Aissue+label%3ABundler
339
385
  changelog_uri: https://github.com/rubygems/rubygems/blob/master/bundler/CHANGELOG.md
340
386
  homepage_uri: https://bundler.io/
341
- source_code_uri: https://github.com/rubygems/rubygems/
342
- post_install_message:
387
+ source_code_uri: https://github.com/rubygems/rubygems/tree/master/bundler
388
+ post_install_message:
343
389
  rdoc_options: []
344
390
  require_paths:
345
391
  - lib
@@ -347,15 +393,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
347
393
  requirements:
348
394
  - - ">="
349
395
  - !ruby/object:Gem::Version
350
- version: 2.3.0
396
+ version: 3.0.0
351
397
  required_rubygems_version: !ruby/object:Gem::Requirement
352
398
  requirements:
353
399
  - - ">="
354
400
  - !ruby/object:Gem::Version
355
- version: 2.5.2
401
+ version: 3.2.3
356
402
  requirements: []
357
- rubygems_version: 3.2.29
358
- signing_key:
403
+ rubygems_version: 3.5.16
404
+ signing_key:
359
405
  specification_version: 4
360
406
  summary: The best way to manage your application's dependencies
361
407
  test_files: []
@@ -1,55 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Bundler
4
- class DepProxy
5
- attr_reader :__platform, :dep
6
-
7
- @proxies = {}
8
-
9
- def self.get_proxy(dep, platform)
10
- @proxies[[dep, platform]] ||= new(dep, platform).freeze
11
- end
12
-
13
- def initialize(dep, platform)
14
- @dep = dep
15
- @__platform = platform
16
- end
17
-
18
- private_class_method :new
19
-
20
- alias_method :eql?, :==
21
-
22
- def type
23
- @dep.type
24
- end
25
-
26
- def name
27
- @dep.name
28
- end
29
-
30
- def requirement
31
- @dep.requirement
32
- end
33
-
34
- def to_s
35
- s = name.dup
36
- s << " (#{requirement})" unless requirement == Gem::Requirement.default
37
- s << " #{__platform}" unless __platform == Gem::Platform::RUBY
38
- s
39
- end
40
-
41
- def dup
42
- raise NoMethodError.new("DepProxy cannot be duplicated")
43
- end
44
-
45
- def clone
46
- raise NoMethodError.new("DepProxy cannot be cloned")
47
- end
48
-
49
- private
50
-
51
- def method_missing(*args, &blk)
52
- @dep.send(*args, &blk)
53
- end
54
- end
55
- end
@@ -1,29 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Bundler
4
- class Gemdeps
5
- def initialize(runtime)
6
- @runtime = runtime
7
- end
8
-
9
- def requested_specs
10
- @runtime.requested_specs
11
- end
12
-
13
- def specs
14
- @runtime.specs
15
- end
16
-
17
- def dependencies
18
- @runtime.dependencies
19
- end
20
-
21
- def current_dependencies
22
- @runtime.current_dependencies
23
- end
24
-
25
- def requires
26
- @runtime.requires
27
- end
28
- end
29
- end
@@ -1,22 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # Psych could be in the stdlib
4
- # but it's too late if Syck is already loaded
5
- begin
6
- require "psych" unless defined?(Syck)
7
- rescue LoadError
8
- # Apparently Psych wasn't available. Oh well.
9
- end
10
-
11
- # At least load the YAML stdlib, whatever that may be
12
- require "yaml" unless defined?(YAML.dump)
13
-
14
- module Bundler
15
- # On encountering invalid YAML,
16
- # Psych raises Psych::SyntaxError
17
- if defined?(::Psych::SyntaxError)
18
- YamlLibrarySyntaxError = ::Psych::SyntaxError
19
- else # Syck raises ArgumentError
20
- YamlLibrarySyntaxError = ::ArgumentError
21
- end
22
- end
@@ -1,8 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # A sample gems.rb
4
- source "https://rubygems.org"
5
-
6
- git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
7
-
8
- # gem "rails"
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "mkmf"
4
-
5
- create_makefile(<%= config[:makefile_path].inspect %>)
@@ -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,66 +0,0 @@
1
- # Global monotonic clock from Concurrent Ruby 1.0.
2
- # Copyright (c) Jerry D'Antonio -- released under the MIT license.
3
- # Slightly modified; used with permission.
4
- # https://github.com/ruby-concurrency/concurrent-ruby
5
-
6
- require 'thread'
7
-
8
- class Bundler::ConnectionPool
9
-
10
- class_definition = Class.new do
11
-
12
- if defined?(Process::CLOCK_MONOTONIC)
13
-
14
- # @!visibility private
15
- def get_time
16
- Process.clock_gettime(Process::CLOCK_MONOTONIC)
17
- end
18
-
19
- elsif defined?(RUBY_ENGINE) && RUBY_ENGINE == 'jruby'
20
-
21
- # @!visibility private
22
- def get_time
23
- java.lang.System.nanoTime() / 1_000_000_000.0
24
- end
25
-
26
- else
27
-
28
- # @!visibility private
29
- def initialize
30
- @mutex = Mutex.new
31
- @last_time = Time.now.to_f
32
- end
33
-
34
- # @!visibility private
35
- def get_time
36
- @mutex.synchronize do
37
- now = Time.now.to_f
38
- if @last_time < now
39
- @last_time = now
40
- else # clock has moved back in time
41
- @last_time += 0.000_001
42
- end
43
- end
44
- end
45
- end
46
- end
47
-
48
- ##
49
- # Clock that cannot be set and represents monotonic time since
50
- # some unspecified starting point.
51
- #
52
- # @!visibility private
53
- GLOBAL_MONOTONIC_CLOCK = class_definition.new
54
- private_constant :GLOBAL_MONOTONIC_CLOCK
55
-
56
- class << self
57
- ##
58
- # Returns the current time a tracked by the application monotonic clock.
59
- #
60
- # @return [Float] The current monotonic time when `since` not given else
61
- # the elapsed monotonic time between `since` and the current time
62
- def monotonic_time
63
- GLOBAL_MONOTONIC_CLOCK.get_time
64
- end
65
- end
66
- end
@@ -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