bundler 2.2.29 → 2.5.16

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -3,7 +3,10 @@ bundle-config(1) -- Set bundler configuration options
3
3
 
4
4
  ## SYNOPSIS
5
5
 
6
- `bundle config` [list|get|set|unset] [<name> [<value>]]
6
+ `bundle config` list<br>
7
+ `bundle config` [get] NAME<br>
8
+ `bundle config` [set] NAME VALUE<br>
9
+ `bundle config` unset NAME
7
10
 
8
11
  ## DESCRIPTION
9
12
 
@@ -16,33 +19,35 @@ Bundler loads configuration settings in this order:
16
19
  3. Global config (`~/.bundle/config`)
17
20
  4. Bundler default config
18
21
 
19
- Executing `bundle config list` with will print a list of all bundler
22
+ Executing `bundle config list` will print a list of all bundler
20
23
  configuration for the current bundle, and where that configuration
21
24
  was set.
22
25
 
23
26
  Executing `bundle config get <name>` will print the value of that configuration
24
27
  setting, and where it was set.
25
28
 
26
- Executing `bundle config set <name> <value>` will set that configuration to the
27
- value specified for all bundles executed as the current user. The configuration
28
- will be stored in `~/.bundle/config`. If <name> already is set, <name> will be
29
- overridden and user will be warned.
30
-
31
- Executing `bundle config set --global <name> <value>` works the same as above.
29
+ Executing `bundle config set <name> <value>` defaults to setting `local`
30
+ configuration if executing from within a local application, otherwise it will
31
+ set `global` configuration. See `--local` and `--global` options below.
32
32
 
33
33
  Executing `bundle config set --local <name> <value>` will set that configuration
34
34
  in the directory for the local application. The configuration will be stored in
35
35
  `<project_root>/.bundle/config`. If `BUNDLE_APP_CONFIG` is set, the configuration
36
36
  will be stored in `$BUNDLE_APP_CONFIG/config`.
37
37
 
38
+ Executing `bundle config set --global <name> <value>` will set that
39
+ configuration to the value specified for all bundles executed as the current
40
+ user. The configuration will be stored in `~/.bundle/config`. If <name> already
41
+ is set, <name> will be overridden and user will be warned.
42
+
38
43
  Executing `bundle config unset <name>` will delete the configuration in both
39
44
  local and global sources.
40
45
 
41
46
  Executing `bundle config unset --global <name>` will delete the configuration
42
47
  only from the user configuration.
43
48
 
44
- Executing `bundle config unset --local <name> <value>` will delete the
45
- configuration only from the local application.
49
+ Executing `bundle config unset --local <name>` will delete the configuration
50
+ only from the local application.
46
51
 
47
52
  Executing bundle with the `BUNDLE_IGNORE_CONFIG` environment variable set will
48
53
  cause it to ignore all configuration.
@@ -72,6 +77,9 @@ The options that can be configured are:
72
77
  `production` use. Please check carefully if you want to have this option
73
78
  enabled in `development` or `test` environments.
74
79
 
80
+ * `only`:
81
+ A space-separated list of groups to install only gems of the specified groups.
82
+
75
83
  * `path`:
76
84
  The location to install the specified gems to. This defaults to Rubygems'
77
85
  setting. Bundler shares this location with Rubygems, `gem install ...` will
@@ -83,7 +91,7 @@ The options that can be configured are:
83
91
  A space-separated list of groups referencing gems to skip during installation.
84
92
 
85
93
  * `with`:
86
- A space-separated list of groups referencing gems to include during installation.
94
+ A space-separated list of **optional** groups referencing gems to include during installation.
87
95
 
88
96
  ## BUILD OPTIONS
89
97
 
@@ -129,9 +137,6 @@ the environment variable `BUNDLE_LOCAL__RACK`.
129
137
  The following is a list of all configuration keys and their purpose. You can
130
138
  learn more about their operation in [bundle install(1)](bundle-install.1.html).
131
139
 
132
- * `allow_deployment_source_credential_changes` (`BUNDLE_ALLOW_DEPLOYMENT_SOURCE_CREDENTIAL_CHANGES`):
133
- When in deployment mode, allow changing the credentials to a gem's source.
134
- Ex: `https://some.host.com/gems/path/` -> `https://user_name:password@some.host.com/gems/path`
135
140
  * `allow_offline_install` (`BUNDLE_ALLOW_OFFLINE_INSTALL`):
136
141
  Allow Bundler to use cached data when installing without network access.
137
142
  * `auto_clean_without_path` (`BUNDLE_AUTO_CLEAN_WITHOUT_PATH`):
@@ -202,18 +207,22 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
202
207
  * `global_gem_cache` (`BUNDLE_GLOBAL_GEM_CACHE`):
203
208
  Whether Bundler should cache all gems globally, rather than locally to the
204
209
  installing Ruby installation.
210
+ * `ignore_funding_requests` (`BUNDLE_IGNORE_FUNDING_REQUESTS`):
211
+ When set, no funding requests will be printed.
205
212
  * `ignore_messages` (`BUNDLE_IGNORE_MESSAGES`):
206
213
  When set, no post install messages will be printed. To silence a single gem,
207
214
  use dot notation like `ignore_messages.httparty true`.
208
215
  * `init_gems_rb` (`BUNDLE_INIT_GEMS_RB`):
209
216
  Generate a `gems.rb` instead of a `Gemfile` when running `bundle init`.
210
217
  * `jobs` (`BUNDLE_JOBS`):
211
- The number of gems Bundler can install in parallel. Defaults to 1 on Windows,
212
- and to the the number of processors on other platforms.
218
+ The number of gems Bundler can install in parallel. Defaults to the number of
219
+ available processors.
213
220
  * `no_install` (`BUNDLE_NO_INSTALL`):
214
221
  Whether `bundle package` should skip installing gems.
215
222
  * `no_prune` (`BUNDLE_NO_PRUNE`):
216
223
  Whether Bundler should leave outdated gems unpruned when caching.
224
+ * `only` (`BUNDLE_ONLY`):
225
+ A space-separated list of groups to install only gems of the specified groups.
217
226
  * `path` (`BUNDLE_PATH`):
218
227
  The location on disk where all gems in your bundle will be located regardless
219
228
  of `$GEM_HOME` or `$GEM_PATH` values. Bundle gems not found in this location
@@ -253,9 +262,6 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
253
262
  * `ssl_verify_mode` (`BUNDLE_SSL_VERIFY_MODE`):
254
263
  The SSL verification mode Bundler uses when making HTTPS requests.
255
264
  Defaults to verify peer.
256
- * `suppress_install_using_messages` (`BUNDLE_SUPPRESS_INSTALL_USING_MESSAGES`):
257
- Avoid printing `Using ...` messages during installation when the version of
258
- a gem has not changed.
259
265
  * `system_bindir` (`BUNDLE_SYSTEM_BINDIR`):
260
266
  The location where RubyGems installs binstubs. Defaults to `Gem.bindir`.
261
267
  * `timeout` (`BUNDLE_TIMEOUT`):
@@ -265,13 +271,19 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
265
271
  and disallow passing no options to `bundle update`.
266
272
  * `user_agent` (`BUNDLE_USER_AGENT`):
267
273
  The custom user agent fragment Bundler includes in API requests.
274
+ * `version` (`BUNDLE_VERSION`):
275
+ The version of Bundler to use when running under Bundler environment.
276
+ Defaults to `lockfile`. You can also specify `system` or `x.y.z`.
277
+ `lockfile` will use the Bundler version specified in the `Gemfile.lock`,
278
+ `system` will use the system version of Bundler, and `x.y.z` will use
279
+ the specified version of Bundler.
268
280
  * `with` (`BUNDLE_WITH`):
269
281
  A `:`-separated list of groups whose gems bundler should install.
270
282
  * `without` (`BUNDLE_WITHOUT`):
271
283
  A `:`-separated list of groups whose gems bundler should not install.
272
284
 
273
285
  In general, you should set these settings per-application by using the applicable
274
- flag to the [bundle install(1)](bundle-install.1.html) or [bundle package(1)](bundle-package.1.html) command.
286
+ flag to the [bundle install(1)](bundle-install.1.html) or [bundle cache(1)](bundle-cache.1.html) command.
275
287
 
276
288
  You can set them globally either via environment variables or `bundle config`,
277
289
  whichever is preferable for your setup. If you use both, environment variables
@@ -319,9 +331,9 @@ mirror to fetch gems.
319
331
 
320
332
  bundle config set --global mirror.SOURCE_URL MIRROR_URL
321
333
 
322
- For example, to use a mirror of rubygems.org hosted at rubygems-mirror.org:
334
+ For example, to use a mirror of https://rubygems.org hosted at https://example.org:
323
335
 
324
- bundle config set --global mirror.http://rubygems.org http://rubygems-mirror.org
336
+ bundle config set --global mirror.https://rubygems.org https://example.org
325
337
 
326
338
  Each mirror also provides a fallback timeout setting. If the mirror does not
327
339
  respond within the fallback timeout, Bundler will try to use the original
@@ -360,23 +372,23 @@ Or you can set the credentials as an environment variable like so:
360
372
 
361
373
  export BUNDLE_GITHUB__COM=username:password
362
374
 
363
- This is especially useful for private repositories on hosts such as Github,
375
+ This is especially useful for private repositories on hosts such as GitHub,
364
376
  where you can use personal OAuth tokens:
365
377
 
366
378
  export BUNDLE_GITHUB__COM=abcd0123generatedtoken:x-oauth-basic
367
379
 
368
380
  Note that any configured credentials will be redacted by informative commands
369
381
  such as `bundle config list` or `bundle config get`, unless you use the
370
- `--parseable` flag. This is to avoid unintentially leaking credentials when
382
+ `--parseable` flag. This is to avoid unintentionally leaking credentials when
371
383
  copy-pasting bundler output.
372
384
 
373
385
  Also note that to guarantee a sane mapping between valid environment variable
374
386
  names and valid host names, bundler makes the following transformations:
375
387
 
376
- * Any `-` characters in a host name are mapped to a triple dash (`___`) in the
377
- corresponding enviroment variable.
388
+ * Any `-` characters in a host name are mapped to a triple underscore (`___`) in the
389
+ corresponding environment variable.
378
390
 
379
- * Any `.` characters in a host name are mapped to a double dash (`__`) in the
391
+ * Any `.` characters in a host name are mapped to a double underscore (`__`) in the
380
392
  corresponding environment variable.
381
393
 
382
394
  This means that if you have a gem server named `my.gem-host.com`, you'll need to
@@ -385,7 +397,7 @@ through ENV.
385
397
 
386
398
  ## CONFIGURE BUNDLER DIRECTORIES
387
399
 
388
- Bundler's home, config, cache and plugin directories are able to be configured
400
+ Bundler's home, cache and plugin directories and config file can be configured
389
401
  through environment variables. The default location for Bundler's home directory is
390
402
  `~/.bundle`, which all directories inherit from by default. The following
391
403
  outlines the available environment variables and their default values
@@ -0,0 +1,35 @@
1
+ .\" generated with nRonn/v0.11.1
2
+ .\" https://github.com/n-ronn/nronn/tree/0.11.1
3
+ .TH "BUNDLE\-CONSOLE" "1" "June 2024" ""
4
+ .SH "NAME"
5
+ \fBbundle\-console\fR \- Deprecated way to open an IRB session with the bundle pre\-loaded
6
+ .SH "SYNOPSIS"
7
+ \fBbundle console\fR [GROUP]
8
+ .SH "DESCRIPTION"
9
+ Starts an interactive Ruby console session in the context of the current bundle\.
10
+ .P
11
+ If no \fBGROUP\fR is specified, all gems in the \fBdefault\fR group in the Gemfile(5) \fIhttps://bundler\.io/man/gemfile\.5\.html\fR are preliminarily loaded\.
12
+ .P
13
+ If \fBGROUP\fR is specified, all gems in the given group in the Gemfile in addition to the gems in \fBdefault\fR group are loaded\. Even if the given group does not exist in the Gemfile, IRB console starts without any warning or error\.
14
+ .P
15
+ The environment variable \fBBUNDLE_CONSOLE\fR or \fBbundle config set console\fR can be used to change the shell from the following:
16
+ .IP "\(bu" 4
17
+ \fBirb\fR (default)
18
+ .IP "\(bu" 4
19
+ \fBpry\fR (https://github\.com/pry/pry)
20
+ .IP "\(bu" 4
21
+ \fBripl\fR (https://github\.com/cldwalker/ripl)
22
+ .IP "" 0
23
+ .P
24
+ \fBbundle console\fR uses irb by default\. An alternative Pry or Ripl can be used with \fBbundle console\fR by adjusting the \fBconsole\fR Bundler setting\. Also make sure that \fBpry\fR or \fBripl\fR is in your Gemfile\.
25
+ .SH "EXAMPLE"
26
+ .nf
27
+ $ bundle config set console pry
28
+ $ bundle console
29
+ Resolving dependencies\|\.\|\.\|\.
30
+ [1] pry(main)>
31
+ .fi
32
+ .SH "NOTES"
33
+ This command was deprecated in Bundler 2\.1 and will be removed in 3\.0\. Use \fBbin/console\fR script, which can be generated by \fBbundle gem <NAME>\fR\.
34
+ .SH "SEE ALSO"
35
+ Gemfile(5) \fIhttps://bundler\.io/man/gemfile\.5\.html\fR
@@ -0,0 +1,44 @@
1
+ bundle-console(1) -- Deprecated way to open an IRB session with the bundle pre-loaded
2
+ =====================================================================================
3
+
4
+ ## SYNOPSIS
5
+
6
+ `bundle console` [GROUP]
7
+
8
+ ## DESCRIPTION
9
+
10
+ Starts an interactive Ruby console session in the context of the current bundle.
11
+
12
+ If no `GROUP` is specified, all gems in the `default` group in the [Gemfile(5)](https://bundler.io/man/gemfile.5.html) are
13
+ preliminarily loaded.
14
+
15
+ If `GROUP` is specified, all gems in the given group in the Gemfile in addition
16
+ to the gems in `default` group are loaded. Even if the given group does not
17
+ exist in the Gemfile, IRB console starts without any warning or error.
18
+
19
+ The environment variable `BUNDLE_CONSOLE` or `bundle config set console` can be used to change
20
+ the shell from the following:
21
+
22
+ * `irb` (default)
23
+ * `pry` (https://github.com/pry/pry)
24
+ * `ripl` (https://github.com/cldwalker/ripl)
25
+
26
+ `bundle console` uses irb by default. An alternative Pry or Ripl can be used with
27
+ `bundle console` by adjusting the `console` Bundler setting. Also make sure that
28
+ `pry` or `ripl` is in your Gemfile.
29
+
30
+ ## EXAMPLE
31
+
32
+ $ bundle config set console pry
33
+ $ bundle console
34
+ Resolving dependencies...
35
+ [1] pry(main)>
36
+
37
+ ## NOTES
38
+
39
+ This command was deprecated in Bundler 2.1 and will be removed in 3.0.
40
+ Use `bin/console` script, which can be generated by `bundle gem <NAME>`.
41
+
42
+ ## SEE ALSO
43
+
44
+ [Gemfile(5)](https://bundler.io/man/gemfile.5.html)
@@ -1,44 +1,30 @@
1
- .\" generated with Ronn/v0.7.3
2
- .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
- .
4
- .TH "BUNDLE\-DOCTOR" "1" "June 2021" "" ""
5
- .
1
+ .\" generated with nRonn/v0.11.1
2
+ .\" https://github.com/n-ronn/nronn/tree/0.11.1
3
+ .TH "BUNDLE\-DOCTOR" "1" "June 2024" ""
6
4
  .SH "NAME"
7
5
  \fBbundle\-doctor\fR \- Checks the bundle for common problems
8
- .
9
6
  .SH "SYNOPSIS"
10
7
  \fBbundle doctor\fR [\-\-quiet] [\-\-gemfile=GEMFILE]
11
- .
12
8
  .SH "DESCRIPTION"
13
9
  Checks your Gemfile and gem environment for common problems\. If issues are detected, Bundler prints them and exits status 1\. Otherwise, Bundler prints a success message and exits status 0\.
14
- .
15
10
  .P
16
11
  Examples of common problems caught by bundle\-doctor include:
17
- .
18
12
  .IP "\(bu" 4
19
13
  Invalid Bundler settings
20
- .
21
14
  .IP "\(bu" 4
22
15
  Mismatched Ruby versions
23
- .
24
16
  .IP "\(bu" 4
25
17
  Mismatched platforms
26
- .
27
18
  .IP "\(bu" 4
28
19
  Uninstalled gems
29
- .
30
20
  .IP "\(bu" 4
31
21
  Missing dependencies
32
- .
33
22
  .IP "" 0
34
- .
35
23
  .SH "OPTIONS"
36
- .
37
24
  .TP
38
25
  \fB\-\-quiet\fR
39
26
  Only output warnings and errors\.
40
- .
41
27
  .TP
42
28
  \fB\-\-gemfile=<gemfile>\fR
43
- The location of the Gemfile(5) which Bundler should use\. This defaults to a Gemfile(5) in the current working directory\. In general, Bundler will assume that the location of the Gemfile(5) is also the project\'s root and will try to find \fBGemfile\.lock\fR and \fBvendor/cache\fR relative to this location\.
29
+ The location of the Gemfile(5) which Bundler should use\. This defaults to a Gemfile(5) in the current working directory\. In general, Bundler will assume that the location of the Gemfile(5) is also the project's root and will try to find \fBGemfile\.lock\fR and \fBvendor/cache\fR relative to this location\.
44
30
 
@@ -1,165 +1,104 @@
1
- .\" generated with Ronn/v0.7.3
2
- .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
- .
4
- .TH "BUNDLE\-EXEC" "1" "June 2021" "" ""
5
- .
1
+ .\" generated with nRonn/v0.11.1
2
+ .\" https://github.com/n-ronn/nronn/tree/0.11.1
3
+ .TH "BUNDLE\-EXEC" "1" "June 2024" ""
6
4
  .SH "NAME"
7
5
  \fBbundle\-exec\fR \- Execute a command in the context of the bundle
8
- .
9
6
  .SH "SYNOPSIS"
10
7
  \fBbundle exec\fR [\-\-keep\-file\-descriptors] \fIcommand\fR
11
- .
12
8
  .SH "DESCRIPTION"
13
9
  This command executes the command, making all gems specified in the [\fBGemfile(5)\fR][Gemfile(5)] available to \fBrequire\fR in Ruby programs\.
14
- .
15
10
  .P
16
11
  Essentially, if you would normally have run something like \fBrspec spec/my_spec\.rb\fR, and you want to use the gems specified in the [\fBGemfile(5)\fR][Gemfile(5)] and installed via bundle install(1) \fIbundle\-install\.1\.html\fR, you should run \fBbundle exec rspec spec/my_spec\.rb\fR\.
17
- .
18
12
  .P
19
- Note that \fBbundle exec\fR does not require that an executable is available on your shell\'s \fB$PATH\fR\.
20
- .
13
+ Note that \fBbundle exec\fR does not require that an executable is available on your shell's \fB$PATH\fR\.
21
14
  .SH "OPTIONS"
22
- .
23
15
  .TP
24
16
  \fB\-\-keep\-file\-descriptors\fR
25
- Exec in Ruby 2\.0 began discarding non\-standard file descriptors\. When this flag is passed, exec will revert to the 1\.9 behaviour of passing all file descriptors to the new process\.
26
- .
17
+ Passes all file descriptors to the new processes\. Default is true from bundler version 2\.2\.26\. Setting it to false is now deprecated\.
27
18
  .SH "BUNDLE INSTALL \-\-BINSTUBS"
28
19
  If you use the \fB\-\-binstubs\fR flag in bundle install(1) \fIbundle\-install\.1\.html\fR, Bundler will automatically create a directory (which defaults to \fBapp_root/bin\fR) containing all of the executables available from gems in the bundle\.
29
- .
30
20
  .P
31
21
  After using \fB\-\-binstubs\fR, \fBbin/rspec spec/my_spec\.rb\fR is identical to \fBbundle exec rspec spec/my_spec\.rb\fR\.
32
- .
33
22
  .SH "ENVIRONMENT MODIFICATIONS"
34
23
  \fBbundle exec\fR makes a number of changes to the shell environment, then executes the command you specify in full\.
35
- .
36
24
  .IP "\(bu" 4
37
- make sure that it\'s still possible to shell out to \fBbundle\fR from inside a command invoked by \fBbundle exec\fR (using \fB$BUNDLE_BIN_PATH\fR)
38
- .
25
+ make sure that it's still possible to shell out to \fBbundle\fR from inside a command invoked by \fBbundle exec\fR (using \fB$BUNDLE_BIN_PATH\fR)
39
26
  .IP "\(bu" 4
40
27
  put the directory containing executables (like \fBrails\fR, \fBrspec\fR, \fBrackup\fR) for your bundle on \fB$PATH\fR
41
- .
42
28
  .IP "\(bu" 4
43
29
  make sure that if bundler is invoked in the subshell, it uses the same \fBGemfile\fR (by setting \fBBUNDLE_GEMFILE\fR)
44
- .
45
30
  .IP "\(bu" 4
46
31
  add \fB\-rbundler/setup\fR to \fB$RUBYOPT\fR, which makes sure that Ruby programs invoked in the subshell can see the gems in the bundle
47
- .
48
32
  .IP "" 0
49
- .
50
33
  .P
51
34
  It also modifies Rubygems:
52
- .
53
35
  .IP "\(bu" 4
54
36
  disallow loading additional gems not in the bundle
55
- .
56
37
  .IP "\(bu" 4
57
- modify the \fBgem\fR method to be a no\-op if a gem matching the requirements is in the bundle, and to raise a \fBGem::LoadError\fR if it\'s not
58
- .
38
+ modify the \fBgem\fR method to be a no\-op if a gem matching the requirements is in the bundle, and to raise a \fBGem::LoadError\fR if it's not
59
39
  .IP "\(bu" 4
60
40
  Define \fBGem\.refresh\fR to be a no\-op, since the source index is always frozen when using bundler, and to prevent gems from the system leaking into the environment
61
- .
62
41
  .IP "\(bu" 4
63
42
  Override \fBGem\.bin_path\fR to use the gems in the bundle, making system executables work
64
- .
65
43
  .IP "\(bu" 4
66
44
  Add all gems in the bundle into Gem\.loaded_specs
67
- .
68
45
  .IP "" 0
69
- .
70
46
  .P
71
- Finally, \fBbundle exec\fR also implicitly modifies \fBGemfile\.lock\fR if the lockfile and the Gemfile do not match\. Bundler needs the Gemfile to determine things such as a gem\'s groups, \fBautorequire\fR, and platforms, etc\., and that information isn\'t stored in the lockfile\. The Gemfile and lockfile must be synced in order to \fBbundle exec\fR successfully, so \fBbundle exec\fR updates the lockfile beforehand\.
72
- .
47
+ Finally, \fBbundle exec\fR also implicitly modifies \fBGemfile\.lock\fR if the lockfile and the Gemfile do not match\. Bundler needs the Gemfile to determine things such as a gem's groups, \fBautorequire\fR, and platforms, etc\., and that information isn't stored in the lockfile\. The Gemfile and lockfile must be synced in order to \fBbundle exec\fR successfully, so \fBbundle exec\fR updates the lockfile beforehand\.
73
48
  .SS "Loading"
74
49
  By default, when attempting to \fBbundle exec\fR to a file with a ruby shebang, Bundler will \fBKernel\.load\fR that file instead of using \fBKernel\.exec\fR\. For the vast majority of cases, this is a performance improvement\. In a rare few cases, this could cause some subtle side\-effects (such as dependence on the exact contents of \fB$0\fR or \fB__FILE__\fR) and the optimization can be disabled by enabling the \fBdisable_exec_load\fR setting\.
75
- .
76
50
  .SS "Shelling out"
77
- Any Ruby code that opens a subshell (like \fBsystem\fR, backticks, or \fB%x{}\fR) will automatically use the current Bundler environment\. If you need to shell out to a Ruby command that is not part of your current bundle, use the \fBwith_clean_env\fR method with a block\. Any subshells created inside the block will be given the environment present before Bundler was activated\. For example, Homebrew commands run Ruby, but don\'t work inside a bundle:
78
- .
51
+ Any Ruby code that opens a subshell (like \fBsystem\fR, backticks, or \fB%x{}\fR) will automatically use the current Bundler environment\. If you need to shell out to a Ruby command that is not part of your current bundle, use the \fBwith_unbundled_env\fR method with a block\. Any subshells created inside the block will be given the environment present before Bundler was activated\. For example, Homebrew commands run Ruby, but don't work inside a bundle:
79
52
  .IP "" 4
80
- .
81
53
  .nf
82
-
83
- Bundler\.with_clean_env do
54
+ Bundler\.with_unbundled_env do
84
55
  `brew install wget`
85
56
  end
86
- .
87
57
  .fi
88
- .
89
58
  .IP "" 0
90
- .
91
59
  .P
92
- Using \fBwith_clean_env\fR is also necessary if you are shelling out to a different bundle\. Any Bundler commands run in a subshell will inherit the current Gemfile, so commands that need to run in the context of a different bundle also need to use \fBwith_clean_env\fR\.
93
- .
60
+ Using \fBwith_unbundled_env\fR is also necessary if you are shelling out to a different bundle\. Any Bundler commands run in a subshell will inherit the current Gemfile, so commands that need to run in the context of a different bundle also need to use \fBwith_unbundled_env\fR\.
94
61
  .IP "" 4
95
- .
96
62
  .nf
97
-
98
- Bundler\.with_clean_env do
63
+ Bundler\.with_unbundled_env do
99
64
  Dir\.chdir "/other/bundler/project" do
100
65
  `bundle exec \./script`
101
66
  end
102
67
  end
103
- .
104
68
  .fi
105
- .
106
69
  .IP "" 0
107
- .
108
70
  .P
109
71
  Bundler provides convenience helpers that wrap \fBsystem\fR and \fBexec\fR, and they can be used like this:
110
- .
111
72
  .IP "" 4
112
- .
113
73
  .nf
114
-
115
- Bundler\.clean_system(\'brew install wget\')
116
- Bundler\.clean_exec(\'brew install wget\')
117
- .
74
+ Bundler\.clean_system('brew install wget')
75
+ Bundler\.clean_exec('brew install wget')
118
76
  .fi
119
- .
120
77
  .IP "" 0
121
- .
122
78
  .SH "RUBYGEMS PLUGINS"
123
79
  At present, the Rubygems plugin system requires all files named \fBrubygems_plugin\.rb\fR on the load path of \fIany\fR installed gem when any Ruby code requires \fBrubygems\.rb\fR\. This includes executables installed into the system, like \fBrails\fR, \fBrackup\fR, and \fBrspec\fR\.
124
- .
125
80
  .P
126
81
  Since Rubygems plugins can contain arbitrary Ruby code, they commonly end up activating themselves or their dependencies\.
127
- .
128
82
  .P
129
83
  For instance, the \fBgemcutter 0\.5\fR gem depended on \fBjson_pure\fR\. If you had that version of gemcutter installed (even if you \fIalso\fR had a newer version without this problem), Rubygems would activate \fBgemcutter 0\.5\fR and \fBjson_pure <latest>\fR\.
130
- .
131
84
  .P
132
85
  If your Gemfile(5) also contained \fBjson_pure\fR (or a gem with a dependency on \fBjson_pure\fR), the latest version on your system might conflict with the version in your Gemfile(5), or the snapshot version in your \fBGemfile\.lock\fR\.
133
- .
134
86
  .P
135
87
  If this happens, bundler will say:
136
- .
137
88
  .IP "" 4
138
- .
139
89
  .nf
140
-
141
90
  You have already activated json_pure 1\.4\.6 but your Gemfile
142
91
  requires json_pure 1\.4\.3\. Consider using bundle exec\.
143
- .
144
92
  .fi
145
- .
146
93
  .IP "" 0
147
- .
148
94
  .P
149
95
  In this situation, you almost certainly want to remove the underlying gem with the problematic gem plugin\. In general, the authors of these plugins (in this case, the \fBgemcutter\fR gem) have released newer versions that are more careful in their plugins\.
150
- .
151
96
  .P
152
97
  You can find a list of all the gems containing gem plugins by running
153
- .
154
98
  .IP "" 4
155
- .
156
99
  .nf
157
-
158
- ruby \-rrubygems \-e "puts Gem\.find_files(\'rubygems_plugin\.rb\')"
159
- .
100
+ ruby \-e "puts Gem\.find_files('rubygems_plugin\.rb')"
160
101
  .fi
161
- .
162
102
  .IP "" 0
163
- .
164
103
  .P
165
- At the very least, you should remove all but the newest version of each gem plugin, and also remove all gem plugins that you aren\'t using (\fBgem uninstall gem_name\fR)\.
104
+ At the very least, you should remove all but the newest version of each gem plugin, and also remove all gem plugins that you aren't using (\fBgem uninstall gem_name\fR)\.
@@ -21,9 +21,8 @@ available on your shell's `$PATH`.
21
21
  ## OPTIONS
22
22
 
23
23
  * `--keep-file-descriptors`:
24
- Exec in Ruby 2.0 began discarding non-standard file descriptors. When this
25
- flag is passed, exec will revert to the 1.9 behaviour of passing all file
26
- descriptors to the new process.
24
+ Passes all file descriptors to the new processes. Default is true from
25
+ bundler version 2.2.26. Setting it to false is now deprecated.
27
26
 
28
27
  ## BUNDLE INSTALL --BINSTUBS
29
28
 
@@ -84,20 +83,20 @@ the `disable_exec_load` setting.
84
83
  Any Ruby code that opens a subshell (like `system`, backticks, or `%x{}`) will
85
84
  automatically use the current Bundler environment. If you need to shell out to
86
85
  a Ruby command that is not part of your current bundle, use the
87
- `with_clean_env` method with a block. Any subshells created inside the block
86
+ `with_unbundled_env` method with a block. Any subshells created inside the block
88
87
  will be given the environment present before Bundler was activated. For
89
88
  example, Homebrew commands run Ruby, but don't work inside a bundle:
90
89
 
91
- Bundler.with_clean_env do
90
+ Bundler.with_unbundled_env do
92
91
  `brew install wget`
93
92
  end
94
93
 
95
- Using `with_clean_env` is also necessary if you are shelling out to a different
94
+ Using `with_unbundled_env` is also necessary if you are shelling out to a different
96
95
  bundle. Any Bundler commands run in a subshell will inherit the current
97
96
  Gemfile, so commands that need to run in the context of a different bundle also
98
- need to use `with_clean_env`.
97
+ need to use `with_unbundled_env`.
99
98
 
100
- Bundler.with_clean_env do
99
+ Bundler.with_unbundled_env do
101
100
  Dir.chdir "/other/bundler/project" do
102
101
  `bundle exec ./script`
103
102
  end
@@ -145,7 +144,7 @@ their plugins.
145
144
  You can find a list of all the gems containing gem plugins
146
145
  by running
147
146
 
148
- ruby -rrubygems -e "puts Gem.find_files('rubygems_plugin.rb')"
147
+ ruby -e "puts Gem.find_files('rubygems_plugin.rb')"
149
148
 
150
149
  At the very least, you should remove all but the newest
151
150
  version of each gem plugin, and also remove all gem plugins