rubygems-update 3.5.3 → 3.7.1

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 (437) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +1410 -686
  3. data/CODE_OF_CONDUCT.md +79 -28
  4. data/CONTRIBUTING.md +4 -226
  5. data/Manifest.txt +107 -83
  6. data/README.md +16 -11
  7. data/SECURITY.md +7 -0
  8. data/bundler/CHANGELOG.md +1525 -931
  9. data/bundler/README.md +9 -9
  10. data/bundler/bundler.gemspec +2 -2
  11. data/bundler/lib/bundler/build_metadata.rb +10 -11
  12. data/bundler/lib/bundler/checksum.rb +22 -12
  13. data/bundler/lib/bundler/cli/add.rb +3 -1
  14. data/bundler/lib/bundler/cli/binstubs.rb +1 -1
  15. data/bundler/lib/bundler/cli/check.rb +3 -3
  16. data/bundler/lib/bundler/cli/common.rb +1 -1
  17. data/bundler/lib/bundler/cli/config.rb +2 -2
  18. data/bundler/lib/bundler/cli/console.rb +8 -10
  19. data/bundler/lib/bundler/cli/doctor/diagnose.rb +167 -0
  20. data/bundler/lib/bundler/cli/doctor/ssl.rb +249 -0
  21. data/bundler/lib/bundler/cli/doctor.rb +27 -151
  22. data/bundler/lib/bundler/cli/exec.rb +1 -0
  23. data/bundler/lib/bundler/cli/fund.rb +1 -1
  24. data/bundler/lib/bundler/cli/gem.rb +74 -46
  25. data/bundler/lib/bundler/cli/info.rb +6 -6
  26. data/bundler/lib/bundler/cli/inject.rb +3 -3
  27. data/bundler/lib/bundler/cli/install.rb +19 -10
  28. data/bundler/lib/bundler/cli/issue.rb +3 -3
  29. data/bundler/lib/bundler/cli/lock.rb +32 -11
  30. data/bundler/lib/bundler/cli/outdated.rb +23 -23
  31. data/bundler/lib/bundler/cli/plugin.rb +3 -2
  32. data/bundler/lib/bundler/cli/pristine.rb +1 -1
  33. data/bundler/lib/bundler/cli/show.rb +3 -3
  34. data/bundler/lib/bundler/cli/update.rb +3 -3
  35. data/bundler/lib/bundler/cli.rb +75 -145
  36. data/bundler/lib/bundler/compact_index_client/cache.rb +48 -73
  37. data/bundler/lib/bundler/compact_index_client/cache_file.rb +0 -5
  38. data/bundler/lib/bundler/compact_index_client/parser.rb +84 -0
  39. data/bundler/lib/bundler/compact_index_client/updater.rb +6 -16
  40. data/bundler/lib/bundler/compact_index_client.rb +52 -85
  41. data/bundler/lib/bundler/constants.rb +8 -1
  42. data/bundler/lib/bundler/current_ruby.rb +48 -34
  43. data/bundler/lib/bundler/definition.rb +501 -328
  44. data/bundler/lib/bundler/dependency.rb +93 -47
  45. data/bundler/lib/bundler/dsl.rb +147 -103
  46. data/bundler/lib/bundler/endpoint_specification.rb +30 -3
  47. data/bundler/lib/bundler/env.rb +1 -1
  48. data/bundler/lib/bundler/environment_preserver.rb +5 -23
  49. data/bundler/lib/bundler/errors.rb +53 -5
  50. data/bundler/lib/bundler/feature_flag.rb +18 -18
  51. data/bundler/lib/bundler/fetcher/compact_index.rb +16 -25
  52. data/bundler/lib/bundler/fetcher/dependency.rb +2 -1
  53. data/bundler/lib/bundler/fetcher/downloader.rb +34 -8
  54. data/bundler/lib/bundler/fetcher.rb +63 -26
  55. data/bundler/lib/bundler/force_platform.rb +0 -2
  56. data/bundler/lib/bundler/friendly_errors.rb +3 -2
  57. data/bundler/lib/bundler/gem_helper.rb +1 -1
  58. data/bundler/lib/bundler/gem_version_promoter.rb +42 -40
  59. data/bundler/lib/bundler/index.rb +7 -2
  60. data/bundler/lib/bundler/injector.rb +14 -16
  61. data/bundler/lib/bundler/inline.rb +42 -17
  62. data/bundler/lib/bundler/installer/gem_installer.rb +4 -3
  63. data/bundler/lib/bundler/installer/parallel_installer.rb +3 -2
  64. data/bundler/lib/bundler/installer/standalone.rb +2 -5
  65. data/bundler/lib/bundler/installer.rb +22 -45
  66. data/bundler/lib/bundler/lazy_specification.rb +121 -48
  67. data/bundler/lib/bundler/lockfile_generator.rb +1 -1
  68. data/bundler/lib/bundler/lockfile_parser.rb +36 -9
  69. data/bundler/lib/bundler/man/bundle-add.1 +44 -27
  70. data/bundler/lib/bundler/man/bundle-add.1.ronn +52 -23
  71. data/bundler/lib/bundler/man/bundle-binstubs.1 +9 -6
  72. data/bundler/lib/bundler/man/bundle-binstubs.1.ronn +6 -3
  73. data/bundler/lib/bundler/man/bundle-cache.1 +32 -4
  74. data/bundler/lib/bundler/man/bundle-cache.1.ronn +31 -2
  75. data/bundler/lib/bundler/man/bundle-check.1 +7 -5
  76. data/bundler/lib/bundler/man/bundle-check.1.ronn +7 -2
  77. data/bundler/lib/bundler/man/bundle-clean.1 +3 -3
  78. data/bundler/lib/bundler/man/bundle-config.1 +180 -138
  79. data/bundler/lib/bundler/man/bundle-config.1.ronn +96 -99
  80. data/bundler/lib/bundler/man/bundle-console.1 +4 -6
  81. data/bundler/lib/bundler/man/bundle-console.1.ronn +2 -7
  82. data/bundler/lib/bundler/man/bundle-doctor.1 +46 -7
  83. data/bundler/lib/bundler/man/bundle-doctor.1.ronn +49 -5
  84. data/bundler/lib/bundler/man/bundle-env.1 +9 -0
  85. data/bundler/lib/bundler/man/bundle-env.1.ronn +10 -0
  86. data/bundler/lib/bundler/man/bundle-exec.1 +9 -6
  87. data/bundler/lib/bundler/man/bundle-exec.1.ronn +6 -3
  88. data/bundler/lib/bundler/man/bundle-fund.1 +22 -0
  89. data/bundler/lib/bundler/man/bundle-fund.1.ronn +25 -0
  90. data/bundler/lib/bundler/man/bundle-gem.1 +69 -28
  91. data/bundler/lib/bundler/man/bundle-gem.1.ronn +42 -6
  92. data/bundler/lib/bundler/man/bundle-help.1 +3 -3
  93. data/bundler/lib/bundler/man/bundle-info.1 +7 -4
  94. data/bundler/lib/bundler/man/bundle-info.1.ronn +6 -2
  95. data/bundler/lib/bundler/man/bundle-init.1 +5 -5
  96. data/bundler/lib/bundler/man/bundle-init.1.ronn +3 -2
  97. data/bundler/lib/bundler/man/bundle-inject.1 +13 -5
  98. data/bundler/lib/bundler/man/bundle-inject.1.ronn +10 -2
  99. data/bundler/lib/bundler/man/bundle-install.1 +20 -17
  100. data/bundler/lib/bundler/man/bundle-install.1.ronn +26 -23
  101. data/bundler/lib/bundler/man/bundle-issue.1 +45 -0
  102. data/bundler/lib/bundler/man/bundle-issue.1.ronn +37 -0
  103. data/bundler/lib/bundler/man/bundle-licenses.1 +9 -0
  104. data/bundler/lib/bundler/man/bundle-licenses.1.ronn +10 -0
  105. data/bundler/lib/bundler/man/bundle-list.1 +3 -3
  106. data/bundler/lib/bundler/man/bundle-list.1.ronn +4 -1
  107. data/bundler/lib/bundler/man/bundle-lock.1 +23 -8
  108. data/bundler/lib/bundler/man/bundle-lock.1.ronn +25 -4
  109. data/bundler/lib/bundler/man/bundle-open.1 +4 -4
  110. data/bundler/lib/bundler/man/bundle-open.1.ronn +2 -1
  111. data/bundler/lib/bundler/man/bundle-outdated.1 +10 -7
  112. data/bundler/lib/bundler/man/bundle-outdated.1.ronn +8 -4
  113. data/bundler/lib/bundler/man/bundle-platform.1 +3 -3
  114. data/bundler/lib/bundler/man/bundle-plugin.1 +9 -6
  115. data/bundler/lib/bundler/man/bundle-plugin.1.ronn +7 -3
  116. data/bundler/lib/bundler/man/bundle-pristine.1 +3 -3
  117. data/bundler/lib/bundler/man/bundle-pristine.1.ronn +1 -1
  118. data/bundler/lib/bundler/man/bundle-remove.1 +3 -3
  119. data/bundler/lib/bundler/man/bundle-remove.1.ronn +1 -1
  120. data/bundler/lib/bundler/man/bundle-show.1 +7 -4
  121. data/bundler/lib/bundler/man/bundle-show.1.ronn +4 -0
  122. data/bundler/lib/bundler/man/bundle-update.1 +17 -11
  123. data/bundler/lib/bundler/man/bundle-update.1.ronn +17 -9
  124. data/bundler/lib/bundler/man/bundle-version.1 +3 -3
  125. data/bundler/lib/bundler/man/bundle-viz.1 +6 -6
  126. data/bundler/lib/bundler/man/bundle-viz.1.ronn +7 -3
  127. data/bundler/lib/bundler/man/bundle.1 +3 -3
  128. data/bundler/lib/bundler/man/gemfile.5 +7 -5
  129. data/bundler/lib/bundler/man/gemfile.5.ronn +8 -2
  130. data/bundler/lib/bundler/man/index.txt +4 -0
  131. data/bundler/lib/bundler/match_metadata.rb +13 -0
  132. data/bundler/lib/bundler/match_platform.rb +31 -12
  133. data/bundler/lib/bundler/materialization.rb +59 -0
  134. data/bundler/lib/bundler/mirror.rb +3 -3
  135. data/bundler/lib/bundler/plugin/api/source.rb +5 -4
  136. data/bundler/lib/bundler/plugin/events.rb +24 -0
  137. data/bundler/lib/bundler/plugin/index.rb +5 -1
  138. data/bundler/lib/bundler/plugin/installer/path.rb +26 -0
  139. data/bundler/lib/bundler/plugin/installer.rb +37 -17
  140. data/bundler/lib/bundler/plugin/source_list.rb +4 -4
  141. data/bundler/lib/bundler/plugin.rb +21 -2
  142. data/bundler/lib/bundler/process_lock.rb +10 -14
  143. data/bundler/lib/bundler/remote_specification.rb +6 -1
  144. data/bundler/lib/bundler/resolver/base.rb +14 -3
  145. data/bundler/lib/bundler/resolver/candidate.rb +18 -27
  146. data/bundler/lib/bundler/resolver/package.rb +20 -3
  147. data/bundler/lib/bundler/resolver/spec_group.rb +22 -27
  148. data/bundler/lib/bundler/resolver/strategy.rb +40 -0
  149. data/bundler/lib/bundler/resolver.rb +114 -52
  150. data/bundler/lib/bundler/retry.rb +1 -1
  151. data/bundler/lib/bundler/ruby_dsl.rb +12 -3
  152. data/bundler/lib/bundler/ruby_version.rb +7 -1
  153. data/bundler/lib/bundler/rubygems_ext.rb +303 -150
  154. data/bundler/lib/bundler/rubygems_gem_installer.rb +40 -5
  155. data/bundler/lib/bundler/rubygems_integration.rb +40 -73
  156. data/bundler/lib/bundler/runtime.rb +48 -35
  157. data/bundler/lib/bundler/self_manager.rb +36 -26
  158. data/bundler/lib/bundler/settings/validator.rb +0 -23
  159. data/bundler/lib/bundler/settings.rb +36 -27
  160. data/bundler/lib/bundler/setup.rb +6 -0
  161. data/bundler/lib/bundler/shared_helpers.rb +45 -25
  162. data/bundler/lib/bundler/source/gemspec.rb +1 -4
  163. data/bundler/lib/bundler/source/git/git_proxy.rb +26 -9
  164. data/bundler/lib/bundler/source/git.rb +113 -41
  165. data/bundler/lib/bundler/source/metadata.rb +4 -3
  166. data/bundler/lib/bundler/source/path.rb +14 -18
  167. data/bundler/lib/bundler/source/rubygems/remote.rb +12 -4
  168. data/bundler/lib/bundler/source/rubygems.rb +54 -48
  169. data/bundler/lib/bundler/source.rb +2 -0
  170. data/bundler/lib/bundler/source_list.rb +54 -12
  171. data/bundler/lib/bundler/source_map.rb +1 -1
  172. data/bundler/lib/bundler/spec_set.rb +227 -103
  173. data/bundler/lib/bundler/stub_specification.rb +29 -2
  174. data/bundler/lib/bundler/templates/Executable +0 -11
  175. data/bundler/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt +77 -29
  176. data/bundler/lib/bundler/templates/newgem/Gemfile.tt +1 -3
  177. data/bundler/lib/bundler/templates/newgem/README.md.tt +7 -3
  178. data/bundler/lib/bundler/templates/newgem/github/workflows/main.yml.tt +17 -15
  179. data/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt +14 -12
  180. data/bundler/lib/bundler/templates/newgem/rubocop.yml.tt +0 -5
  181. data/bundler/lib/bundler/ui/shell.rb +26 -4
  182. data/bundler/lib/bundler/ui/silent.rb +12 -1
  183. data/bundler/lib/bundler/uri_credentials_filter.rb +3 -3
  184. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.rb +53 -3
  185. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/version.rb +1 -1
  186. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool.rb +11 -0
  187. data/bundler/lib/bundler/vendor/fileutils/lib/fileutils.rb +15 -13
  188. data/bundler/lib/bundler/vendor/net-http-persistent/README.rdoc +1 -1
  189. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/timed_stack_multi.rb +2 -1
  190. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +134 -57
  191. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/basic_package_source.rb +4 -24
  192. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/static_package_source.rb +1 -0
  193. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/strategy.rb +42 -0
  194. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_range.rb +20 -8
  195. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_solver.rb +17 -29
  196. data/bundler/lib/bundler/vendor/securerandom/COPYING +56 -0
  197. data/bundler/lib/bundler/vendor/securerandom/lib/securerandom.rb +102 -0
  198. data/bundler/lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb +3 -5
  199. data/bundler/lib/bundler/vendor/thor/lib/thor/group.rb +11 -0
  200. data/bundler/lib/bundler/vendor/thor/lib/thor/parser/argument.rb +1 -4
  201. data/bundler/lib/bundler/vendor/thor/lib/thor/parser/option.rb +2 -2
  202. data/bundler/lib/bundler/vendor/thor/lib/thor/parser/options.rb +2 -1
  203. data/bundler/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +9 -9
  204. data/bundler/lib/bundler/vendor/thor/lib/thor/shell/html.rb +1 -1
  205. data/bundler/lib/bundler/vendor/thor/lib/thor/shell/table_printer.rb +5 -21
  206. data/bundler/lib/bundler/vendor/thor/lib/thor/util.rb +1 -1
  207. data/bundler/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
  208. data/bundler/lib/bundler/vendor/thor/lib/thor.rb +11 -0
  209. data/bundler/lib/bundler/vendor/uri/COPYING +56 -0
  210. data/bundler/lib/bundler/vendor/uri/lib/uri/common.rb +43 -16
  211. data/bundler/lib/bundler/vendor/uri/lib/uri/file.rb +3 -3
  212. data/bundler/lib/bundler/vendor/uri/lib/uri/ftp.rb +1 -1
  213. data/bundler/lib/bundler/vendor/uri/lib/uri/generic.rb +28 -37
  214. data/bundler/lib/bundler/vendor/uri/lib/uri/http.rb +2 -2
  215. data/bundler/lib/bundler/vendor/uri/lib/uri/rfc2396_parser.rb +16 -9
  216. data/bundler/lib/bundler/vendor/uri/lib/uri/rfc3986_parser.rb +26 -3
  217. data/bundler/lib/bundler/vendor/uri/lib/uri/version.rb +1 -1
  218. data/bundler/lib/bundler/vendor/uri/lib/uri.rb +9 -9
  219. data/bundler/lib/bundler/vendored_net_http.rb +20 -5
  220. data/bundler/lib/bundler/vendored_securerandom.rb +12 -0
  221. data/bundler/lib/bundler/vendored_timeout.rb +7 -3
  222. data/bundler/lib/bundler/vendored_uri.rb +18 -1
  223. data/bundler/lib/bundler/version.rb +10 -2
  224. data/bundler/lib/bundler/worker.rb +1 -1
  225. data/bundler/lib/bundler/yaml_serializer.rb +12 -7
  226. data/bundler/lib/bundler.rb +101 -61
  227. data/{bundler → doc/bundler}/UPGRADING.md +132 -127
  228. data/doc/rubygems/CONTRIBUTING.md +227 -0
  229. data/{POLICIES.md → doc/rubygems/POLICIES.md} +86 -17
  230. data/exe/update_rubygems +1 -1
  231. data/lib/rubygems/basic_specification.rb +50 -10
  232. data/lib/rubygems/bundler_version_finder.rb +1 -1
  233. data/lib/rubygems/command.rb +1 -4
  234. data/lib/rubygems/command_manager.rb +5 -6
  235. data/lib/rubygems/commands/build_command.rb +2 -11
  236. data/lib/rubygems/commands/cleanup_command.rb +3 -13
  237. data/lib/rubygems/commands/contents_command.rb +17 -10
  238. data/lib/rubygems/commands/environment_command.rb +5 -0
  239. data/lib/rubygems/commands/exec_command.rb +18 -11
  240. data/lib/rubygems/commands/fetch_command.rb +14 -0
  241. data/lib/rubygems/commands/help_command.rb +2 -2
  242. data/lib/rubygems/commands/install_command.rb +0 -4
  243. data/lib/rubygems/commands/pristine_command.rb +29 -19
  244. data/lib/rubygems/commands/push_command.rb +31 -6
  245. data/lib/rubygems/commands/rdoc_command.rb +3 -10
  246. data/lib/rubygems/commands/rebuild_command.rb +262 -0
  247. data/lib/rubygems/commands/setup_command.rb +13 -18
  248. data/lib/rubygems/commands/sources_command.rb +2 -2
  249. data/lib/rubygems/commands/uninstall_command.rb +9 -4
  250. data/lib/rubygems/commands/unpack_command.rb +0 -6
  251. data/lib/rubygems/commands/update_command.rb +13 -22
  252. data/lib/rubygems/config_file.rb +45 -16
  253. data/lib/rubygems/core_ext/kernel_require.rb +15 -3
  254. data/lib/rubygems/core_ext/kernel_warn.rb +2 -6
  255. data/lib/rubygems/defaults.rb +7 -7
  256. data/lib/rubygems/dependency.rb +12 -16
  257. data/lib/rubygems/dependency_list.rb +1 -1
  258. data/lib/rubygems/deprecate.rb +79 -77
  259. data/lib/rubygems/errors.rb +2 -1
  260. data/lib/rubygems/exceptions.rb +2 -9
  261. data/lib/rubygems/ext/builder.rb +21 -8
  262. data/lib/rubygems/ext/cargo_builder.rb +16 -26
  263. data/lib/rubygems/ext/cmake_builder.rb +7 -2
  264. data/lib/rubygems/ext/configure_builder.rb +7 -2
  265. data/lib/rubygems/ext/ext_conf_builder.rb +9 -5
  266. data/lib/rubygems/ext/rake_builder.rb +7 -4
  267. data/lib/rubygems/gem_runner.rb +9 -0
  268. data/lib/rubygems/gemcutter_utilities/webauthn_listener.rb +11 -4
  269. data/lib/rubygems/gemcutter_utilities/webauthn_poller.rb +3 -1
  270. data/lib/rubygems/gemcutter_utilities.rb +52 -26
  271. data/lib/rubygems/gemspec_helpers.rb +19 -0
  272. data/lib/rubygems/install_update_options.rb +5 -0
  273. data/lib/rubygems/installer.rb +76 -90
  274. data/lib/rubygems/local_remote_options.rb +8 -8
  275. data/lib/rubygems/package/tar_header.rb +31 -4
  276. data/lib/rubygems/package/tar_reader/entry.rb +1 -5
  277. data/lib/rubygems/package/tar_writer.rb +5 -4
  278. data/lib/rubygems/package.rb +13 -8
  279. data/lib/rubygems/platform.rb +148 -43
  280. data/lib/rubygems/psych_tree.rb +4 -0
  281. data/lib/rubygems/query_utils.rb +2 -2
  282. data/lib/rubygems/rdoc.rb +16 -3
  283. data/lib/rubygems/remote_fetcher.rb +6 -7
  284. data/lib/rubygems/request.rb +5 -5
  285. data/lib/rubygems/request_set/gem_dependency_api.rb +1 -1
  286. data/lib/rubygems/request_set.rb +4 -7
  287. data/lib/rubygems/requirement.rb +16 -12
  288. data/lib/rubygems/resolver/activation_request.rb +1 -1
  289. data/lib/rubygems/resolver/api_set/gem_parser.rb +2 -5
  290. data/lib/rubygems/resolver/api_set.rb +13 -8
  291. data/lib/rubygems/resolver/best_set.rb +1 -29
  292. data/lib/rubygems/resolver/composed_set.rb +3 -3
  293. data/lib/rubygems/resolver/git_set.rb +0 -1
  294. data/lib/rubygems/resolver/index_set.rb +2 -2
  295. data/lib/rubygems/resolver/source_set.rb +1 -1
  296. data/lib/rubygems/resolver/spec_specification.rb +7 -0
  297. data/lib/rubygems/resolver.rb +8 -8
  298. data/lib/rubygems/s3_uri_signer.rb +8 -6
  299. data/lib/rubygems/safe_marshal/reader.rb +31 -14
  300. data/lib/rubygems/safe_marshal/visitors/to_ruby.rb +29 -16
  301. data/lib/rubygems/safe_yaml.rb +10 -1
  302. data/lib/rubygems/security.rb +1 -1
  303. data/lib/rubygems/source/git.rb +22 -17
  304. data/lib/rubygems/source/installed.rb +3 -1
  305. data/lib/rubygems/source/local.rb +8 -4
  306. data/lib/rubygems/source/specific_file.rb +5 -3
  307. data/lib/rubygems/source.rb +37 -29
  308. data/lib/rubygems/source_list.rb +1 -1
  309. data/lib/rubygems/spec_fetcher.rb +47 -15
  310. data/lib/rubygems/specification.rb +110 -183
  311. data/lib/rubygems/specification_policy.rb +33 -13
  312. data/lib/rubygems/specification_record.rb +212 -0
  313. data/lib/rubygems/stub_specification.rb +32 -10
  314. data/lib/rubygems/target_rbconfig.rb +50 -0
  315. data/lib/rubygems/uninstaller.rb +42 -22
  316. data/lib/rubygems/uri.rb +6 -6
  317. data/lib/rubygems/uri_formatter.rb +2 -1
  318. data/lib/rubygems/util/licenses.rb +118 -1
  319. data/lib/rubygems/util.rb +1 -1
  320. data/lib/rubygems/vendor/molinillo/lib/molinillo/delegates/resolution_state.rb +57 -0
  321. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/delegates/specification_provider.rb +11 -11
  322. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/dependency_graph/action.rb +1 -1
  323. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +1 -1
  324. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +1 -1
  325. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +1 -1
  326. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +1 -1
  327. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/dependency_graph/log.rb +1 -1
  328. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/dependency_graph/set_payload.rb +1 -1
  329. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/dependency_graph/tag.rb +1 -1
  330. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/dependency_graph/vertex.rb +1 -1
  331. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/dependency_graph.rb +2 -2
  332. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/errors.rb +1 -1
  333. data/lib/rubygems/vendor/molinillo/lib/molinillo/gem_metadata.rb +6 -0
  334. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/modules/specification_provider.rb +2 -2
  335. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/modules/ui.rb +1 -1
  336. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/resolution.rb +4 -4
  337. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/resolver.rb +1 -1
  338. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/state.rb +1 -1
  339. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo.rb +2 -2
  340. data/lib/rubygems/vendor/net-http/COPYING +56 -0
  341. data/lib/rubygems/{net-http → vendor/net-http}/lib/net/http/generic_request.rb +9 -9
  342. data/lib/rubygems/{net-http → vendor/net-http}/lib/net/http/header.rb +3 -3
  343. data/lib/rubygems/{net-http → vendor/net-http}/lib/net/http/request.rb +3 -3
  344. data/lib/rubygems/{net-http → vendor/net-http}/lib/net/http/requests.rb +35 -30
  345. data/lib/rubygems/{net-http → vendor/net-http}/lib/net/http/response.rb +2 -2
  346. data/lib/rubygems/{net-http → vendor/net-http}/lib/net/http/responses.rb +6 -6
  347. data/lib/rubygems/{net-http → vendor/net-http}/lib/net/http/status.rb +1 -1
  348. data/lib/rubygems/{net-http → vendor/net-http}/lib/net/http.rb +149 -70
  349. data/lib/rubygems/{net-http → vendor/net-http}/lib/net/https.rb +1 -1
  350. data/lib/rubygems/vendor/optparse/COPYING +56 -0
  351. data/lib/rubygems/{optparse → vendor/optparse}/lib/optparse/ac.rb +16 -0
  352. data/lib/rubygems/{optparse → vendor/optparse}/lib/optparse/kwargs.rb +8 -3
  353. data/lib/rubygems/vendor/optparse/lib/optparse/uri.rb +7 -0
  354. data/lib/rubygems/{optparse → vendor/optparse}/lib/optparse/version.rb +9 -0
  355. data/lib/rubygems/{optparse → vendor/optparse}/lib/optparse.rb +158 -62
  356. data/lib/rubygems/vendor/resolv/COPYING +56 -0
  357. data/lib/rubygems/{resolv → vendor/resolv}/lib/resolv.rb +165 -69
  358. data/lib/rubygems/vendor/securerandom/COPYING +56 -0
  359. data/lib/rubygems/vendor/securerandom/lib/securerandom.rb +102 -0
  360. data/lib/rubygems/vendor/timeout/COPYING +56 -0
  361. data/lib/rubygems/{timeout → vendor/timeout}/lib/timeout.rb +10 -11
  362. data/lib/rubygems/{tsort → vendor/tsort}/lib/tsort.rb +2 -2
  363. data/lib/rubygems/vendor/uri/COPYING +56 -0
  364. data/lib/rubygems/vendor/uri/lib/uri/common.rb +880 -0
  365. data/lib/rubygems/vendor/uri/lib/uri/file.rb +100 -0
  366. data/lib/rubygems/vendor/uri/lib/uri/ftp.rb +267 -0
  367. data/lib/rubygems/vendor/uri/lib/uri/generic.rb +1579 -0
  368. data/lib/rubygems/vendor/uri/lib/uri/http.rb +125 -0
  369. data/lib/rubygems/vendor/uri/lib/uri/https.rb +23 -0
  370. data/lib/rubygems/vendor/uri/lib/uri/ldap.rb +261 -0
  371. data/lib/rubygems/vendor/uri/lib/uri/ldaps.rb +22 -0
  372. data/lib/rubygems/vendor/uri/lib/uri/mailto.rb +293 -0
  373. data/lib/rubygems/vendor/uri/lib/uri/rfc2396_parser.rb +546 -0
  374. data/lib/rubygems/vendor/uri/lib/uri/rfc3986_parser.rb +206 -0
  375. data/lib/rubygems/vendor/uri/lib/uri/version.rb +6 -0
  376. data/lib/rubygems/vendor/uri/lib/uri/ws.rb +83 -0
  377. data/lib/rubygems/vendor/uri/lib/uri/wss.rb +23 -0
  378. data/lib/rubygems/vendor/uri/lib/uri.rb +104 -0
  379. data/lib/rubygems/vendored_molinillo.rb +3 -0
  380. data/lib/rubygems/vendored_net_http.rb +5 -0
  381. data/lib/rubygems/vendored_optparse.rb +3 -0
  382. data/lib/rubygems/vendored_securerandom.rb +3 -0
  383. data/lib/rubygems/vendored_timeout.rb +5 -0
  384. data/lib/rubygems/vendored_tsort.rb +3 -0
  385. data/lib/rubygems/version.rb +26 -9
  386. data/lib/rubygems/yaml_serializer.rb +12 -7
  387. data/lib/rubygems.rb +160 -53
  388. data/rubygems-update.gemspec +11 -6
  389. data/setup.rb +1 -1
  390. metadata +124 -96
  391. data/bundler/lib/bundler/compact_index_client/gem_parser.rb +0 -32
  392. data/bundler/lib/bundler/gem_helpers.rb +0 -127
  393. data/bundler/lib/bundler/templates/Executable.bundler +0 -109
  394. data/bundler/lib/bundler/vendor/fileutils/.document +0 -1
  395. data/bundler/lib/bundler/vendor/net-http-persistent/.document +0 -1
  396. data/bundler/lib/bundler/vendor/pub_grub/.document +0 -1
  397. data/bundler/lib/bundler/vendor/thor/.document +0 -1
  398. data/bundler/lib/bundler/vendor/tsort/.document +0 -1
  399. data/bundler/lib/bundler/vendor/uri/.document +0 -1
  400. data/lib/rubygems/net/http.rb +0 -3
  401. data/lib/rubygems/net-http/.document +0 -1
  402. data/lib/rubygems/net-http/LICENSE.txt +0 -22
  403. data/lib/rubygems/net-http/lib/net/http/backward.rb +0 -40
  404. data/lib/rubygems/net-protocol/.document +0 -1
  405. data/lib/rubygems/net-protocol/LICENSE.txt +0 -22
  406. data/lib/rubygems/optparse/.document +0 -1
  407. data/lib/rubygems/optparse/lib/optparse/uri.rb +0 -7
  408. data/lib/rubygems/optparse.rb +0 -3
  409. data/lib/rubygems/resolv/.document +0 -1
  410. data/lib/rubygems/resolv/LICENSE.txt +0 -22
  411. data/lib/rubygems/resolver/molinillo/.document +0 -1
  412. data/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/resolution_state.rb +0 -57
  413. data/lib/rubygems/resolver/molinillo/lib/molinillo/gem_metadata.rb +0 -6
  414. data/lib/rubygems/resolver/molinillo.rb +0 -3
  415. data/lib/rubygems/shellwords.rb +0 -3
  416. data/lib/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA.pem +0 -21
  417. data/lib/rubygems/timeout/.document +0 -1
  418. data/lib/rubygems/timeout/LICENSE.txt +0 -22
  419. data/lib/rubygems/timeout.rb +0 -3
  420. data/lib/rubygems/tsort/.document +0 -1
  421. data/lib/rubygems/tsort/LICENSE.txt +0 -22
  422. data/lib/rubygems/tsort.rb +0 -3
  423. /data/{lib/rubygems/optparse → bundler/lib/bundler/vendor/fileutils}/COPYING +0 -0
  424. /data/{MAINTAINERS.txt → doc/MAINTAINERS.txt} +0 -0
  425. /data/{UPGRADING.md → doc/rubygems/UPGRADING.md} +0 -0
  426. /data/lib/rubygems/ssl_certs/rubygems.org/{GlobalSignRootCA_R3.pem → GlobalSign.pem} +0 -0
  427. /data/{bundler/lib/bundler/vendor/connection_pool → lib/rubygems/vendor}/.document +0 -0
  428. /data/lib/rubygems/{resolver → vendor}/molinillo/LICENSE +0 -0
  429. /data/lib/rubygems/{net-http → vendor/net-http}/lib/net/http/exceptions.rb +0 -0
  430. /data/lib/rubygems/{net-http → vendor/net-http}/lib/net/http/proxy_delta.rb +0 -0
  431. /data/{bundler/lib/bundler/vendor/fileutils → lib/rubygems/vendor/net-protocol}/LICENSE.txt +0 -0
  432. /data/lib/rubygems/{net-protocol → vendor/net-protocol}/lib/net/protocol.rb +0 -0
  433. /data/lib/rubygems/{optparse → vendor/optparse}/lib/optionparser.rb +0 -0
  434. /data/lib/rubygems/{optparse → vendor/optparse}/lib/optparse/date.rb +0 -0
  435. /data/lib/rubygems/{optparse → vendor/optparse}/lib/optparse/shellwords.rb +0 -0
  436. /data/lib/rubygems/{optparse → vendor/optparse}/lib/optparse/time.rb +0 -0
  437. /data/{bundler/lib/bundler/vendor/uri → lib/rubygems/vendor/tsort}/LICENSE.txt +0 -0
@@ -52,66 +52,6 @@ only from the local application.
52
52
  Executing bundle with the `BUNDLE_IGNORE_CONFIG` environment variable set will
53
53
  cause it to ignore all configuration.
54
54
 
55
- ## REMEMBERING OPTIONS
56
-
57
- Flags passed to `bundle install` or the Bundler runtime, such as `--path foo` or
58
- `--without production`, are remembered between commands and saved to your local
59
- application's configuration (normally, `./.bundle/config`).
60
-
61
- However, this will be changed in bundler 3, so it's better not to rely on this
62
- behavior. If these options must be remembered, it's better to set them using
63
- `bundle config` (e.g., `bundle config set --local path foo`).
64
-
65
- The options that can be configured are:
66
-
67
- * `bin`:
68
- Creates a directory (defaults to `~/bin`) and place any executables from the
69
- gem there. These executables run in Bundler's context. If used, you might add
70
- this directory to your environment's `PATH` variable. For instance, if the
71
- `rails` gem comes with a `rails` executable, this flag will create a
72
- `bin/rails` executable that ensures that all referred dependencies will be
73
- resolved using the bundled gems.
74
-
75
- * `deployment`:
76
- In deployment mode, Bundler will 'roll-out' the bundle for
77
- `production` use. Please check carefully if you want to have this option
78
- enabled in `development` or `test` environments.
79
-
80
- * `only`:
81
- A space-separated list of groups to install only gems of the specified groups.
82
-
83
- * `path`:
84
- The location to install the specified gems to. This defaults to Rubygems'
85
- setting. Bundler shares this location with Rubygems, `gem install ...` will
86
- have gem installed there, too. Therefore, gems installed without a
87
- `--path ...` setting will show up by calling `gem list`. Accordingly, gems
88
- installed to other locations will not get listed.
89
-
90
- * `without`:
91
- A space-separated list of groups referencing gems to skip during installation.
92
-
93
- * `with`:
94
- A space-separated list of **optional** groups referencing gems to include during installation.
95
-
96
- ## BUILD OPTIONS
97
-
98
- You can use `bundle config` to give Bundler the flags to pass to the gem
99
- installer every time bundler tries to install a particular gem.
100
-
101
- A very common example, the `mysql` gem, requires Snow Leopard users to
102
- pass configuration flags to `gem install` to specify where to find the
103
- `mysql_config` executable.
104
-
105
- gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
106
-
107
- Since the specific location of that executable can change from machine
108
- to machine, you can specify these flags on a per-machine basis.
109
-
110
- bundle config set --global build.mysql --with-mysql-config=/usr/local/mysql/bin/mysql_config
111
-
112
- After running this command, every time bundler needs to install the
113
- `mysql` gem, it will pass along the flags you specified.
114
-
115
55
  ## CONFIGURATION KEYS
116
56
 
117
57
  Configuration keys in bundler have two forms: the canonical form and the
@@ -137,14 +77,8 @@ the environment variable `BUNDLE_LOCAL__RACK`.
137
77
  The following is a list of all configuration keys and their purpose. You can
138
78
  learn more about their operation in [bundle install(1)](bundle-install.1.html).
139
79
 
140
- * `allow_deployment_source_credential_changes` (`BUNDLE_ALLOW_DEPLOYMENT_SOURCE_CREDENTIAL_CHANGES`):
141
- When in deployment mode, allow changing the credentials to a gem's source.
142
- Ex: `https://some.host.com/gems/path/` -> `https://user_name:password@some.host.com/gems/path`
143
80
  * `allow_offline_install` (`BUNDLE_ALLOW_OFFLINE_INSTALL`):
144
81
  Allow Bundler to use cached data when installing without network access.
145
- * `auto_clean_without_path` (`BUNDLE_AUTO_CLEAN_WITHOUT_PATH`):
146
- Automatically run `bundle clean` after installing when an explicit `path`
147
- has not been set and Bundler is not installing into the system gems.
148
82
  * `auto_install` (`BUNDLE_AUTO_INSTALL`):
149
83
  Automatically run `bundle install` when gems are missing.
150
84
  * `bin` (`BUNDLE_BIN`):
@@ -152,7 +86,7 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
152
86
  Defaults to `false`.
153
87
  * `cache_all` (`BUNDLE_CACHE_ALL`):
154
88
  Cache all gems, including path and git gems. This needs to be explicitly
155
- configured on bundler 1 and bundler 2, but will be the default on bundler 3.
89
+ before bundler 4, but will be the default on bundler 4.
156
90
  * `cache_all_platforms` (`BUNDLE_CACHE_ALL_PLATFORMS`):
157
91
  Cache gems for all platforms.
158
92
  * `cache_path` (`BUNDLE_CACHE_PATH`):
@@ -161,15 +95,16 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
161
95
  Defaults to `vendor/cache`.
162
96
  * `clean` (`BUNDLE_CLEAN`):
163
97
  Whether Bundler should run `bundle clean` automatically after
164
- `bundle install`.
98
+ `bundle install`. Defaults to `true` in Bundler 4, as long as `path` is not
99
+ explicitly configured.
165
100
  * `console` (`BUNDLE_CONSOLE`):
166
101
  The console that `bundle console` starts. Defaults to `irb`.
167
- * `default_install_uses_path` (`BUNDLE_DEFAULT_INSTALL_USES_PATH`):
168
- Whether a `bundle install` without an explicit `--path` argument defaults
169
- to installing gems in `.bundle`.
102
+ * `default_cli_command` (`BUNDLE_DEFAULT_CLI_COMMAND`):
103
+ The command that running `bundle` without arguments should run. Defaults to
104
+ `cli_help` since Bundler 4, but can also be `install` which was the previous
105
+ default.
170
106
  * `deployment` (`BUNDLE_DEPLOYMENT`):
171
- Disallow changes to the `Gemfile`. When the `Gemfile` is changed and the
172
- lockfile has not been updated, running Bundler commands will be blocked.
107
+ Equivalent to setting `frozen` to `true` and `path` to `vendor/bundle`.
173
108
  * `disable_checksum_validation` (`BUNDLE_DISABLE_CHECKSUM_VALIDATION`):
174
109
  Allow installing gems even if they do not match the checksum provided by
175
110
  RubyGems.
@@ -191,12 +126,13 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
191
126
  Ignore the current machine's platform and install only `ruby` platform gems.
192
127
  As a result, gems with native extensions will be compiled from source.
193
128
  * `frozen` (`BUNDLE_FROZEN`):
194
- Disallow changes to the `Gemfile`. When the `Gemfile` is changed and the
195
- lockfile has not been updated, running Bundler commands will be blocked.
196
- Defaults to `true` when `--deployment` is used.
129
+ Disallow any automatic changes to `Gemfile.lock`. Bundler commands will
130
+ be blocked unless the lockfile can be installed exactly as written.
131
+ Usually this will happen when changing the `Gemfile` manually and forgetting
132
+ to update the lockfile through `bundle lock` or `bundle install`.
197
133
  * `gem.github_username` (`BUNDLE_GEM__GITHUB_USERNAME`):
198
- Sets a GitHub username or organization to be used in `README` file when you
199
- create a new gem via `bundle gem` command. It can be overridden by passing an
134
+ Sets a GitHub username or organization to be used in the `README` and `.gemspec` files
135
+ when you create a new gem via `bundle gem` command. It can be overridden by passing an
200
136
  explicit `--github-username` flag to `bundle gem`.
201
137
  * `gem.push_key` (`BUNDLE_GEM__PUSH_KEY`):
202
138
  Sets the `--key` parameter for `gem push` when using the `rake release`
@@ -208,8 +144,8 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
208
144
  will search up from the current working directory until it finds a
209
145
  `Gemfile`.
210
146
  * `global_gem_cache` (`BUNDLE_GLOBAL_GEM_CACHE`):
211
- Whether Bundler should cache all gems globally, rather than locally to the
212
- installing Ruby installation.
147
+ Whether Bundler should cache all gems and compiled extensions globally,
148
+ rather than locally to the configured installation path.
213
149
  * `ignore_funding_requests` (`BUNDLE_IGNORE_FUNDING_REQUESTS`):
214
150
  When set, no funding requests will be printed.
215
151
  * `ignore_messages` (`BUNDLE_IGNORE_MESSAGES`):
@@ -220,6 +156,8 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
220
156
  * `jobs` (`BUNDLE_JOBS`):
221
157
  The number of gems Bundler can install in parallel. Defaults to the number of
222
158
  available processors.
159
+ * `lockfile_checksums` (`BUNDLE_LOCKFILE_CHECKSUMS`):
160
+ Whether Bundler should include a checksums section in new lockfiles, to protect from compromised gem sources.
223
161
  * `no_install` (`BUNDLE_NO_INSTALL`):
224
162
  Whether `bundle package` should skip installing gems.
225
163
  * `no_prune` (`BUNDLE_NO_PRUNE`):
@@ -229,25 +167,19 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
229
167
  * `path` (`BUNDLE_PATH`):
230
168
  The location on disk where all gems in your bundle will be located regardless
231
169
  of `$GEM_HOME` or `$GEM_PATH` values. Bundle gems not found in this location
232
- will be installed by `bundle install`. Defaults to `Gem.dir`. When --deployment
233
- is used, defaults to vendor/bundle.
170
+ will be installed by `bundle install`. Defaults to `.bundle` relative to
171
+ repository root in Bundler 4, and to the default system path (`Gem.dir`)
172
+ before Bundler 4.
234
173
  * `path.system` (`BUNDLE_PATH__SYSTEM`):
235
174
  Whether Bundler will install gems into the default system path (`Gem.dir`).
236
- * `path_relative_to_cwd` (`BUNDLE_PATH_RELATIVE_TO_CWD`)
237
- Makes `--path` relative to the CWD instead of the `Gemfile`.
238
175
  * `plugins` (`BUNDLE_PLUGINS`):
239
176
  Enable Bundler's experimental plugin system.
240
177
  * `prefer_patch` (BUNDLE_PREFER_PATCH):
241
178
  Prefer updating only to next patch version during updates. Makes `bundle update` calls equivalent to `bundler update --patch`.
242
- * `print_only_version_number` (`BUNDLE_PRINT_ONLY_VERSION_NUMBER`):
243
- Print only version number from `bundler --version`.
244
179
  * `redirect` (`BUNDLE_REDIRECT`):
245
180
  The number of redirects allowed for network requests. Defaults to `5`.
246
181
  * `retry` (`BUNDLE_RETRY`):
247
182
  The number of times to retry failed network requests. Defaults to `3`.
248
- * `setup_makes_kernel_gem_public` (`BUNDLE_SETUP_MAKES_KERNEL_GEM_PUBLIC`):
249
- Have `Bundler.setup` make the `Kernel#gem` method public, even though
250
- RubyGems declares it as private.
251
183
  * `shebang` (`BUNDLE_SHEBANG`):
252
184
  The program name that should be invoked for generated binstubs. Defaults to
253
185
  the ruby install name used to generate the binstub.
@@ -256,6 +188,10 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
256
188
  be changed in the next major version.
257
189
  * `silence_root_warning` (`BUNDLE_SILENCE_ROOT_WARNING`):
258
190
  Silence the warning Bundler prints when installing gems as root.
191
+ * `simulate_version` (`BUNDLE_SIMULATE_VERSION`):
192
+ The virtual version Bundler should use for activating feature flags. Can be
193
+ used to simulate all the new functionality that will be enabled in a future
194
+ major version.
259
195
  * `ssl_ca_cert` (`BUNDLE_SSL_CA_CERT`):
260
196
  Path to a designated CA certificate file or folder containing multiple
261
197
  certificates for trusted CAs in PEM format.
@@ -274,6 +210,9 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
274
210
  and disallow passing no options to `bundle update`.
275
211
  * `user_agent` (`BUNDLE_USER_AGENT`):
276
212
  The custom user agent fragment Bundler includes in API requests.
213
+ * `verbose` (`BUNDLE_VERBOSE`):
214
+ Whether Bundler should print verbose output. Defaults to `false`, unless the
215
+ `--verbose` CLI flag is used.
277
216
  * `version` (`BUNDLE_VERSION`):
278
217
  The version of Bundler to use when running under Bundler environment.
279
218
  Defaults to `lockfile`. You can also specify `system` or `x.y.z`.
@@ -281,16 +220,74 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
281
220
  `system` will use the system version of Bundler, and `x.y.z` will use
282
221
  the specified version of Bundler.
283
222
  * `with` (`BUNDLE_WITH`):
284
- A `:`-separated list of groups whose gems bundler should install.
223
+ A space-separated or `:`-separated list of groups whose gems bundler should install.
285
224
  * `without` (`BUNDLE_WITHOUT`):
286
- A `:`-separated list of groups whose gems bundler should not install.
225
+ A space-separated or `:`-separated list of groups whose gems bundler should not install.
287
226
 
288
- In general, you should set these settings per-application by using the applicable
289
- flag to the [bundle install(1)](bundle-install.1.html) or [bundle cache(1)](bundle-cache.1.html) command.
227
+ ## REMEMBERING OPTIONS
290
228
 
291
- You can set them globally either via environment variables or `bundle config`,
292
- whichever is preferable for your setup. If you use both, environment variables
293
- will take preference over global settings.
229
+ Flags passed to `bundle install` or the Bundler runtime, such as `--path foo` or
230
+ `--without production`, are remembered between commands and saved to your local
231
+ application's configuration (normally, `./.bundle/config`).
232
+
233
+ However, this will be changed in bundler 4, so it's better not to rely on this
234
+ behavior. If these options must be remembered, it's better to set them using
235
+ `bundle config` (e.g., `bundle config set --local path foo`).
236
+
237
+ The flags that can be configured are:
238
+
239
+ * `--bin`:
240
+ Creates a directory (defaults to `~/bin`) and place any executables from the
241
+ gem there. These executables run in Bundler's context. If used, you might add
242
+ this directory to your environment's `PATH` variable. For instance, if the
243
+ `rails` gem comes with a `rails` executable, this flag will create a
244
+ `bin/rails` executable that ensures that all referred dependencies will be
245
+ resolved using the bundled gems.
246
+
247
+ * `--deployment`:
248
+ In deployment mode, Bundler will 'roll-out' the bundle for
249
+ `production` use. Please check carefully if you want to have this option
250
+ enabled in `development` or `test` environments.
251
+
252
+ * `--only`:
253
+ A space-separated list of groups to install only gems of the specified groups.
254
+ Please check carefully if you want to install also gems without a group, cause
255
+ they get put inside `default` group. For example `only test:default` will install
256
+ all gems specified in test group and without one.
257
+
258
+ * `--path`:
259
+ The location to install the specified gems to. This defaults to Rubygems'
260
+ setting. Bundler shares this location with Rubygems, `gem install ...` will
261
+ have gem installed there, too. Therefore, gems installed without a
262
+ `--path ...` setting will show up by calling `gem list`. Accordingly, gems
263
+ installed to other locations will not get listed.
264
+
265
+ * `--without`:
266
+ A space-separated or `:`-separated list of groups referencing gems to skip during
267
+ installation.
268
+
269
+ * `--with`:
270
+ A space-separated or `:`-separated list of **optional** groups referencing gems to
271
+ include during installation.
272
+
273
+ ## BUILD OPTIONS
274
+
275
+ You can use `bundle config` to give Bundler the flags to pass to the gem
276
+ installer every time bundler tries to install a particular gem.
277
+
278
+ A very common example, the `mysql` gem, requires Snow Leopard users to
279
+ pass configuration flags to `gem install` to specify where to find the
280
+ `mysql_config` executable.
281
+
282
+ gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
283
+
284
+ Since the specific location of that executable can change from machine
285
+ to machine, you can specify these flags on a per-machine basis.
286
+
287
+ bundle config set --global build.mysql --with-mysql-config=/usr/local/mysql/bin/mysql_config
288
+
289
+ After running this command, every time bundler needs to install the
290
+ `mysql` gem, it will pass along the flags you specified.
294
291
 
295
292
  ## LOCAL GIT REPOS
296
293
 
@@ -388,10 +385,10 @@ copy-pasting bundler output.
388
385
  Also note that to guarantee a sane mapping between valid environment variable
389
386
  names and valid host names, bundler makes the following transformations:
390
387
 
391
- * Any `-` characters in a host name are mapped to a triple dash (`___`) in the
388
+ * Any `-` characters in a host name are mapped to a triple underscore (`___`) in the
392
389
  corresponding environment variable.
393
390
 
394
- * 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
395
392
  corresponding environment variable.
396
393
 
397
394
  This means that if you have a gem server named `my.gem-host.com`, you'll need to
@@ -400,7 +397,7 @@ through ENV.
400
397
 
401
398
  ## CONFIGURE BUNDLER DIRECTORIES
402
399
 
403
- 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
404
401
  through environment variables. The default location for Bundler's home directory is
405
402
  `~/.bundle`, which all directories inherit from by default. The following
406
403
  outlines the available environment variables and their default values
@@ -1,8 +1,8 @@
1
- .\" generated with nRonn/v0.11.1
2
- .\" https://github.com/n-ronn/nronn/tree/0.11.1
3
- .TH "BUNDLE\-CONSOLE" "1" "December 2023" ""
1
+ .\" generated with Ronn-NG/v0.10.1
2
+ .\" http://github.com/apjanke/ronn-ng/tree/0.10.1
3
+ .TH "BUNDLE\-CONSOLE" "1" "July 2025" ""
4
4
  .SH "NAME"
5
- \fBbundle\-console\fR \- Deprecated way to open an IRB session with the bundle pre\-loaded
5
+ \fBbundle\-console\fR \- Open an IRB session with the bundle pre\-loaded
6
6
  .SH "SYNOPSIS"
7
7
  \fBbundle console\fR [GROUP]
8
8
  .SH "DESCRIPTION"
@@ -29,7 +29,5 @@ $ bundle console
29
29
  Resolving dependencies\|\.\|\.\|\.
30
30
  [1] pry(main)>
31
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
32
  .SH "SEE ALSO"
35
33
  Gemfile(5) \fIhttps://bundler\.io/man/gemfile\.5\.html\fR
@@ -1,5 +1,5 @@
1
- bundle-console(1) -- Deprecated way to open an IRB session with the bundle pre-loaded
2
- =====================================================================================
1
+ bundle-console(1) -- Open an IRB session with the bundle pre-loaded
2
+ ===================================================================
3
3
 
4
4
  ## SYNOPSIS
5
5
 
@@ -34,11 +34,6 @@ the shell from the following:
34
34
  Resolving dependencies...
35
35
  [1] pry(main)>
36
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
37
  ## SEE ALSO
43
38
 
44
39
  [Gemfile(5)](https://bundler.io/man/gemfile.5.html)
@@ -1,14 +1,21 @@
1
- .\" generated with nRonn/v0.11.1
2
- .\" https://github.com/n-ronn/nronn/tree/0.11.1
3
- .TH "BUNDLE\-DOCTOR" "1" "December 2023" ""
1
+ .\" generated with Ronn-NG/v0.10.1
2
+ .\" http://github.com/apjanke/ronn-ng/tree/0.10.1
3
+ .TH "BUNDLE\-DOCTOR" "1" "July 2025" ""
4
4
  .SH "NAME"
5
5
  \fBbundle\-doctor\fR \- Checks the bundle for common problems
6
6
  .SH "SYNOPSIS"
7
- \fBbundle doctor\fR [\-\-quiet] [\-\-gemfile=GEMFILE]
7
+ \fBbundle doctor [diagnose]\fR [\-\-quiet] [\-\-gemfile=GEMFILE] [\-\-ssl]
8
+ .br
9
+ \fBbundle doctor ssl\fR [\-\-host=HOST] [\-\-tls\-version=VERSION] [\-\-verify\-mode=MODE]
10
+ .br
11
+ \fBbundle doctor\fR help [COMMAND]
8
12
  .SH "DESCRIPTION"
13
+ You can diagnose common Bundler problems with this command such as checking gem environment or SSL/TLS issue\.
14
+ .SH "SUB\-COMMANDS"
15
+ .SS "diagnose (default command)"
9
16
  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\.
10
17
  .P
11
- Examples of common problems caught by bundle\-doctor include:
18
+ Examples of common problems caught include:
12
19
  .IP "\(bu" 4
13
20
  Invalid Bundler settings
14
21
  .IP "\(bu" 4
@@ -20,11 +27,43 @@ Uninstalled gems
20
27
  .IP "\(bu" 4
21
28
  Missing dependencies
22
29
  .IP "" 0
23
- .SH "OPTIONS"
30
+ .P
31
+ \fBOPTIONS\fR
24
32
  .TP
25
33
  \fB\-\-quiet\fR
26
34
  Only output warnings and errors\.
27
35
  .TP
28
- \fB\-\-gemfile=<gemfile>\fR
36
+ \fB\-\-gemfile=GEMFILE\fR
29
37
  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\.
38
+ .TP
39
+ \fB\-\-ssl\fR
40
+ Diagnose common SSL problems when connecting to https://rubygems\.org\.
41
+ .IP
42
+ This flag runs the \fBbundle doctor ssl\fR subcommand with default values underneath\.
43
+ .SS "ssl"
44
+ If you've experienced issues related to SSL certificates and/or TLS versions while connecting to https://rubygems\.org, this command can help troubleshoot common problems\. The diagnostic will perform a few checks such as:
45
+ .IP "\(bu" 4
46
+ Verify the Ruby OpenSSL version installed on your system\.
47
+ .IP "\(bu" 4
48
+ Check the OpenSSL library version used for compilation\.
49
+ .IP "\(bu" 4
50
+ Ensure CA certificates are correctly setup on your machine\.
51
+ .IP "\(bu" 4
52
+ Open a TLS connection and verify the outcome\.
53
+ .IP "" 0
54
+ .P
55
+ \fBOPTIONS\fR
56
+ .TP
57
+ \fB\-\-host=HOST\fR
58
+ Perform the diagnostic on HOST\. Defaults to \fBrubygems\.org\fR\.
59
+ .TP
60
+ \fB\-\-tls\-version=VERSION\fR
61
+ Specify the TLS version when opening the connection to HOST\.
62
+ .IP
63
+ Accepted values are: \fB1\.1\fR or \fB1\.2\fR\.
64
+ .TP
65
+ \fB\-\-verify\-mode=MODE\fR
66
+ Specify the TLS verify mode when opening the connection to HOST\. Defaults to \fBSSL_VERIFY_PEER\fR\.
67
+ .IP
68
+ Accepted values are: \fBCLIENT_ONCE\fR, \fBFAIL_IF_NO_PEER_CERT\fR, \fBNONE\fR, \fBPEER\fR\.
30
69
 
@@ -3,16 +3,27 @@ bundle-doctor(1) -- Checks the bundle for common problems
3
3
 
4
4
  ## SYNOPSIS
5
5
 
6
- `bundle doctor` [--quiet]
7
- [--gemfile=GEMFILE]
6
+ `bundle doctor [diagnose]` [--quiet]
7
+ [--gemfile=GEMFILE]
8
+ [--ssl]<br>
9
+ `bundle doctor ssl` [--host=HOST]
10
+ [--tls-version=VERSION]
11
+ [--verify-mode=MODE]<br>
12
+ `bundle doctor` help [COMMAND]
8
13
 
9
14
  ## DESCRIPTION
10
15
 
16
+ You can diagnose common Bundler problems with this command such as checking gem environment or SSL/TLS issue.
17
+
18
+ ## SUB-COMMANDS
19
+
20
+ ### diagnose (default command)
21
+
11
22
  Checks your Gemfile and gem environment for common problems. If issues
12
23
  are detected, Bundler prints them and exits status 1. Otherwise,
13
24
  Bundler prints a success message and exits status 0.
14
25
 
15
- Examples of common problems caught by bundle-doctor include:
26
+ Examples of common problems caught include:
16
27
 
17
28
  * Invalid Bundler settings
18
29
  * Mismatched Ruby versions
@@ -20,14 +31,47 @@ Examples of common problems caught by bundle-doctor include:
20
31
  * Uninstalled gems
21
32
  * Missing dependencies
22
33
 
23
- ## OPTIONS
34
+ **OPTIONS**
24
35
 
25
36
  * `--quiet`:
26
37
  Only output warnings and errors.
27
38
 
28
- * `--gemfile=<gemfile>`:
39
+ * `--gemfile=GEMFILE`:
29
40
  The location of the Gemfile(5) which Bundler should use. This defaults
30
41
  to a Gemfile(5) in the current working directory. In general, Bundler
31
42
  will assume that the location of the Gemfile(5) is also the project's
32
43
  root and will try to find `Gemfile.lock` and `vendor/cache` relative
33
44
  to this location.
45
+
46
+ * `--ssl`:
47
+ Diagnose common SSL problems when connecting to https://rubygems.org.
48
+
49
+ This flag runs the `bundle doctor ssl` subcommand with default values
50
+ underneath.
51
+
52
+ ### ssl
53
+
54
+ If you've experienced issues related to SSL certificates and/or TLS versions while connecting
55
+ to https://rubygems.org, this command can help troubleshoot common problems.
56
+ The diagnostic will perform a few checks such as:
57
+
58
+ * Verify the Ruby OpenSSL version installed on your system.
59
+ * Check the OpenSSL library version used for compilation.
60
+ * Ensure CA certificates are correctly setup on your machine.
61
+ * Open a TLS connection and verify the outcome.
62
+
63
+ **OPTIONS**
64
+
65
+ * `--host=HOST`:
66
+ Perform the diagnostic on HOST. Defaults to `rubygems.org`.
67
+
68
+ * `--tls-version=VERSION`:
69
+ Specify the TLS version when opening the connection to HOST.
70
+
71
+ Accepted values are: `1.1` or `1.2`.
72
+
73
+ * `--verify-mode=MODE`:
74
+ Specify the TLS verify mode when opening the connection to HOST.
75
+ Defaults to `SSL_VERIFY_PEER`.
76
+
77
+ Accepted values are: `CLIENT_ONCE`, `FAIL_IF_NO_PEER_CERT`, `NONE`, `PEER`.
@@ -0,0 +1,9 @@
1
+ .\" generated with Ronn-NG/v0.10.1
2
+ .\" http://github.com/apjanke/ronn-ng/tree/0.10.1
3
+ .TH "BUNDLE\-ENV" "1" "July 2025" ""
4
+ .SH "NAME"
5
+ \fBbundle\-env\fR \- Print information about the environment Bundler is running under
6
+ .SH "SYNOPSIS"
7
+ \fBbundle env\fR
8
+ .SH "DESCRIPTION"
9
+ Prints information about the environment Bundler is running under\.
@@ -0,0 +1,10 @@
1
+ bundle-env(1) -- Print information about the environment Bundler is running under
2
+ =================================================================================
3
+
4
+ ## SYNOPSIS
5
+
6
+ `bundle env`
7
+
8
+ ## DESCRIPTION
9
+
10
+ Prints information about the environment Bundler is running under.
@@ -1,10 +1,10 @@
1
- .\" generated with nRonn/v0.11.1
2
- .\" https://github.com/n-ronn/nronn/tree/0.11.1
3
- .TH "BUNDLE\-EXEC" "1" "December 2023" ""
1
+ .\" generated with Ronn-NG/v0.10.1
2
+ .\" http://github.com/apjanke/ronn-ng/tree/0.10.1
3
+ .TH "BUNDLE\-EXEC" "1" "July 2025" ""
4
4
  .SH "NAME"
5
5
  \fBbundle\-exec\fR \- Execute a command in the context of the bundle
6
6
  .SH "SYNOPSIS"
7
- \fBbundle exec\fR [\-\-keep\-file\-descriptors] \fIcommand\fR
7
+ \fBbundle exec\fR [\-\-keep\-file\-descriptors] [\-\-gemfile=GEMFILE] \fIcommand\fR
8
8
  .SH "DESCRIPTION"
9
9
  This command executes the command, making all gems specified in the [\fBGemfile(5)\fR][Gemfile(5)] available to \fBrequire\fR in Ruby programs\.
10
10
  .P
@@ -15,6 +15,9 @@ Note that \fBbundle exec\fR does not require that an executable is available on
15
15
  .TP
16
16
  \fB\-\-keep\-file\-descriptors\fR
17
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\.
18
+ .TP
19
+ \fB\-\-gemfile=GEMFILE\fR
20
+ Use the specified gemfile instead of [\fBGemfile(5)\fR][Gemfile(5)]\.
18
21
  .SH "BUNDLE INSTALL \-\-BINSTUBS"
19
22
  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\.
20
23
  .P
@@ -71,8 +74,8 @@ end
71
74
  Bundler provides convenience helpers that wrap \fBsystem\fR and \fBexec\fR, and they can be used like this:
72
75
  .IP "" 4
73
76
  .nf
74
- Bundler\.clean_system('brew install wget')
75
- Bundler\.clean_exec('brew install wget')
77
+ Bundler\.unbundled_system('brew install wget')
78
+ Bundler\.unbundled_exec('brew install wget')
76
79
  .fi
77
80
  .IP "" 0
78
81
  .SH "RUBYGEMS PLUGINS"
@@ -3,7 +3,7 @@ bundle-exec(1) -- Execute a command in the context of the bundle
3
3
 
4
4
  ## SYNOPSIS
5
5
 
6
- `bundle exec` [--keep-file-descriptors] <command>
6
+ `bundle exec` [--keep-file-descriptors] [--gemfile=GEMFILE] <command>
7
7
 
8
8
  ## DESCRIPTION
9
9
 
@@ -24,6 +24,9 @@ available on your shell's `$PATH`.
24
24
  Passes all file descriptors to the new processes. Default is true from
25
25
  bundler version 2.2.26. Setting it to false is now deprecated.
26
26
 
27
+ * `--gemfile=GEMFILE`:
28
+ Use the specified gemfile instead of [`Gemfile(5)`][Gemfile(5)].
29
+
27
30
  ## BUNDLE INSTALL --BINSTUBS
28
31
 
29
32
  If you use the `--binstubs` flag in [bundle install(1)](bundle-install.1.html), Bundler will
@@ -105,8 +108,8 @@ need to use `with_unbundled_env`.
105
108
  Bundler provides convenience helpers that wrap `system` and `exec`, and they
106
109
  can be used like this:
107
110
 
108
- Bundler.clean_system('brew install wget')
109
- Bundler.clean_exec('brew install wget')
111
+ Bundler.unbundled_system('brew install wget')
112
+ Bundler.unbundled_exec('brew install wget')
110
113
 
111
114
 
112
115
  ## RUBYGEMS PLUGINS
@@ -0,0 +1,22 @@
1
+ .\" generated with Ronn-NG/v0.10.1
2
+ .\" http://github.com/apjanke/ronn-ng/tree/0.10.1
3
+ .TH "BUNDLE\-FUND" "1" "July 2025" ""
4
+ .SH "NAME"
5
+ \fBbundle\-fund\fR \- Lists information about gems seeking funding assistance
6
+ .SH "SYNOPSIS"
7
+ \fBbundle fund\fR [\fIOPTIONS\fR]
8
+ .SH "DESCRIPTION"
9
+ \fBbundle fund\fR lists information about gems seeking funding assistance\.
10
+ .SH "OPTIONS"
11
+ .TP
12
+ \fB\-\-group=<list>\fR, \fB\-g=<list>\fR
13
+ Fetch funding information for a specific group\.
14
+ .SH "EXAMPLES"
15
+ .nf
16
+ # Lists funding information for all gems
17
+ bundle fund
18
+
19
+ # Lists funding information for a specific group
20
+ bundle fund \-\-group=security
21
+ .fi
22
+
@@ -0,0 +1,25 @@
1
+ bundle-fund(1) -- Lists information about gems seeking funding assistance
2
+ =========================================================================
3
+
4
+ ## SYNOPSIS
5
+
6
+ `bundle fund` [*OPTIONS*]
7
+
8
+ ## DESCRIPTION
9
+
10
+ **bundle fund** lists information about gems seeking funding assistance.
11
+
12
+ ## OPTIONS
13
+
14
+ * `--group=<list>`, `-g=<list>`:
15
+ Fetch funding information for a specific group.
16
+
17
+ ## EXAMPLES
18
+
19
+ ```
20
+ # Lists funding information for all gems
21
+ bundle fund
22
+
23
+ # Lists funding information for a specific group
24
+ bundle fund --group=security
25
+ ```