bundler 2.1.4 → 2.3.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (277) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +2164 -1430
  3. data/README.md +7 -9
  4. data/bundler.gemspec +5 -6
  5. data/exe/bundle +10 -8
  6. data/exe/bundler +1 -1
  7. data/lib/bundler/.document +1 -0
  8. data/lib/bundler/build_metadata.rb +3 -11
  9. data/lib/bundler/cli/add.rb +1 -1
  10. data/lib/bundler/cli/binstubs.rb +6 -2
  11. data/lib/bundler/cli/cache.rb +3 -8
  12. data/lib/bundler/cli/check.rb +4 -2
  13. data/lib/bundler/cli/clean.rb +1 -1
  14. data/lib/bundler/cli/common.rb +30 -3
  15. data/lib/bundler/cli/config.rb +10 -1
  16. data/lib/bundler/cli/console.rb +1 -1
  17. data/lib/bundler/cli/doctor.rb +25 -6
  18. data/lib/bundler/cli/exec.rb +5 -10
  19. data/lib/bundler/cli/fund.rb +36 -0
  20. data/lib/bundler/cli/gem.rb +219 -28
  21. data/lib/bundler/cli/info.rb +38 -6
  22. data/lib/bundler/cli/init.rb +3 -3
  23. data/lib/bundler/cli/inject.rb +1 -1
  24. data/lib/bundler/cli/install.rb +20 -52
  25. data/lib/bundler/cli/issue.rb +5 -4
  26. data/lib/bundler/cli/list.rb +19 -11
  27. data/lib/bundler/cli/lock.rb +5 -1
  28. data/lib/bundler/cli/open.rb +1 -2
  29. data/lib/bundler/cli/outdated.rb +95 -75
  30. data/lib/bundler/cli/platform.rb +1 -1
  31. data/lib/bundler/cli/plugin.rb +10 -0
  32. data/lib/bundler/cli/pristine.rb +5 -0
  33. data/lib/bundler/cli/remove.rb +1 -2
  34. data/lib/bundler/cli/show.rb +2 -2
  35. data/lib/bundler/cli/update.rb +20 -9
  36. data/lib/bundler/cli.rb +101 -81
  37. data/lib/bundler/compact_index_client/cache.rb +6 -23
  38. data/lib/bundler/compact_index_client/gem_parser.rb +28 -0
  39. data/lib/bundler/compact_index_client/updater.rb +13 -22
  40. data/lib/bundler/compact_index_client.rb +3 -9
  41. data/lib/bundler/current_ruby.rb +6 -4
  42. data/lib/bundler/definition.rb +201 -385
  43. data/lib/bundler/dep_proxy.rb +16 -9
  44. data/lib/bundler/dependency.rb +23 -14
  45. data/lib/bundler/digest.rb +71 -0
  46. data/lib/bundler/dsl.rb +71 -74
  47. data/lib/bundler/endpoint_specification.rb +22 -12
  48. data/lib/bundler/env.rb +2 -2
  49. data/lib/bundler/environment_preserver.rb +29 -2
  50. data/lib/bundler/errors.rb +20 -3
  51. data/lib/bundler/feature_flag.rb +0 -8
  52. data/lib/bundler/fetcher/base.rb +1 -1
  53. data/lib/bundler/fetcher/compact_index.rb +11 -16
  54. data/lib/bundler/fetcher/downloader.rb +10 -7
  55. data/lib/bundler/fetcher/index.rb +2 -30
  56. data/lib/bundler/fetcher.rb +18 -23
  57. data/lib/bundler/friendly_errors.rb +25 -43
  58. data/lib/bundler/gem_helper.rb +53 -31
  59. data/lib/bundler/gem_helpers.rb +36 -25
  60. data/lib/bundler/gem_version_promoter.rb +4 -4
  61. data/lib/bundler/graph.rb +1 -1
  62. data/lib/bundler/index.rb +9 -9
  63. data/lib/bundler/injector.rb +33 -6
  64. data/lib/bundler/inline.rb +3 -2
  65. data/lib/bundler/installer/gem_installer.rb +7 -25
  66. data/lib/bundler/installer/parallel_installer.rb +46 -25
  67. data/lib/bundler/installer/standalone.rb +30 -10
  68. data/lib/bundler/installer.rb +36 -59
  69. data/lib/bundler/lazy_specification.rb +62 -26
  70. data/lib/bundler/lockfile_generator.rb +2 -2
  71. data/lib/bundler/lockfile_parser.rb +17 -46
  72. data/lib/bundler/man/.document +1 -0
  73. data/{man → lib/bundler/man}/bundle-add.1 +10 -2
  74. data/{man/bundle-add.ronn → lib/bundler/man/bundle-add.1.ronn} +7 -1
  75. data/{man → lib/bundler/man}/bundle-binstubs.1 +5 -3
  76. data/{man/bundle-binstubs.ronn → lib/bundler/man/bundle-binstubs.1.ronn} +2 -4
  77. data/{man → lib/bundler/man}/bundle-cache.1 +1 -1
  78. data/{man → lib/bundler/man}/bundle-check.1 +1 -1
  79. data/{man → lib/bundler/man}/bundle-clean.1 +1 -1
  80. data/{man → lib/bundler/man}/bundle-config.1 +44 -45
  81. data/{man/bundle-config.ronn → lib/bundler/man/bundle-config.1.ronn} +59 -60
  82. data/{man → lib/bundler/man}/bundle-doctor.1 +1 -1
  83. data/{man → lib/bundler/man}/bundle-exec.1 +1 -1
  84. data/{man → lib/bundler/man}/bundle-gem.1 +38 -3
  85. data/{man/bundle-gem.ronn → lib/bundler/man/bundle-gem.1.ronn} +46 -7
  86. data/{man → lib/bundler/man}/bundle-info.1 +1 -1
  87. data/{man → lib/bundler/man}/bundle-init.1 +1 -1
  88. data/{man → lib/bundler/man}/bundle-inject.1 +1 -1
  89. data/{man → lib/bundler/man}/bundle-install.1 +31 -4
  90. data/{man/bundle-install.ronn → lib/bundler/man/bundle-install.1.ronn} +27 -5
  91. data/{man → lib/bundler/man}/bundle-list.1 +7 -7
  92. data/{man/bundle-list.ronn → lib/bundler/man/bundle-list.1.ronn} +6 -6
  93. data/{man → lib/bundler/man}/bundle-lock.1 +1 -1
  94. data/{man → lib/bundler/man}/bundle-open.1 +1 -1
  95. data/{man → lib/bundler/man}/bundle-outdated.1 +3 -10
  96. data/{man/bundle-outdated.ronn → lib/bundler/man/bundle-outdated.1.ronn} +1 -10
  97. data/{man → lib/bundler/man}/bundle-platform.1 +1 -1
  98. data/{man → lib/bundler/man}/bundle-pristine.1 +1 -1
  99. data/{man → lib/bundler/man}/bundle-remove.1 +1 -1
  100. data/{man → lib/bundler/man}/bundle-show.1 +1 -1
  101. data/{man → lib/bundler/man}/bundle-update.1 +5 -5
  102. data/{man/bundle-update.ronn → lib/bundler/man/bundle-update.1.ronn} +5 -4
  103. data/{man → lib/bundler/man}/bundle-viz.1 +1 -1
  104. data/{man → lib/bundler/man}/bundle.1 +1 -1
  105. data/{man → lib/bundler/man}/gemfile.5 +31 -5
  106. data/{man → lib/bundler/man}/gemfile.5.ronn +13 -5
  107. data/lib/bundler/mirror.rb +2 -2
  108. data/lib/bundler/plugin/api/source.rb +23 -7
  109. data/lib/bundler/plugin/dsl.rb +1 -1
  110. data/lib/bundler/plugin/index.rb +13 -1
  111. data/lib/bundler/plugin/installer/rubygems.rb +1 -1
  112. data/lib/bundler/plugin/installer.rb +11 -11
  113. data/lib/bundler/plugin/source_list.rb +5 -1
  114. data/lib/bundler/plugin.rb +56 -11
  115. data/lib/bundler/process_lock.rb +1 -1
  116. data/lib/bundler/remote_specification.rb +12 -2
  117. data/lib/bundler/resolver/spec_group.rb +58 -55
  118. data/lib/bundler/resolver.rb +176 -177
  119. data/lib/bundler/retry.rb +2 -2
  120. data/lib/bundler/ruby_version.rb +2 -15
  121. data/lib/bundler/rubygems_ext.rb +137 -28
  122. data/lib/bundler/rubygems_gem_installer.rb +69 -8
  123. data/lib/bundler/rubygems_integration.rb +69 -133
  124. data/lib/bundler/runtime.rb +22 -25
  125. data/lib/bundler/self_manager.rb +168 -0
  126. data/lib/bundler/settings.rb +144 -65
  127. data/lib/bundler/setup.rb +2 -2
  128. data/lib/bundler/shared_helpers.rb +12 -27
  129. data/lib/bundler/similarity_detector.rb +1 -1
  130. data/lib/bundler/source/git/git_proxy.rb +88 -84
  131. data/lib/bundler/source/git.rb +43 -23
  132. data/lib/bundler/source/metadata.rb +3 -7
  133. data/lib/bundler/source/path/installer.rb +10 -10
  134. data/lib/bundler/source/path.rb +10 -4
  135. data/lib/bundler/source/rubygems/remote.rb +1 -1
  136. data/lib/bundler/source/rubygems.rb +126 -116
  137. data/lib/bundler/source/rubygems_aggregate.rb +68 -0
  138. data/lib/bundler/source.rb +22 -1
  139. data/lib/bundler/source_list.rb +101 -63
  140. data/lib/bundler/source_map.rb +71 -0
  141. data/lib/bundler/spec_set.rb +26 -41
  142. data/lib/bundler/stub_specification.rb +25 -7
  143. data/lib/bundler/templates/Executable +2 -4
  144. data/lib/bundler/templates/Executable.bundler +8 -8
  145. data/lib/bundler/templates/Executable.standalone +2 -4
  146. data/lib/bundler/templates/Gemfile +0 -2
  147. data/lib/bundler/templates/gems.rb +0 -3
  148. data/lib/bundler/templates/newgem/CHANGELOG.md.tt +5 -0
  149. data/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt +57 -47
  150. data/lib/bundler/templates/newgem/Gemfile.tt +12 -1
  151. data/lib/bundler/templates/newgem/README.md.tt +9 -14
  152. data/lib/bundler/templates/newgem/Rakefile.tt +32 -5
  153. data/lib/bundler/templates/newgem/bin/console.tt +1 -0
  154. data/lib/bundler/templates/newgem/circleci/config.yml.tt +13 -0
  155. data/lib/bundler/templates/newgem/ext/newgem/extconf.rb.tt +2 -0
  156. data/lib/bundler/templates/newgem/github/workflows/main.yml.tt +27 -0
  157. data/lib/bundler/templates/newgem/gitlab-ci.yml.tt +9 -0
  158. data/lib/bundler/templates/newgem/lib/newgem/version.rb.tt +2 -0
  159. data/lib/bundler/templates/newgem/lib/newgem.rb.tt +4 -2
  160. data/lib/bundler/templates/newgem/newgem.gemspec.tt +27 -17
  161. data/lib/bundler/templates/newgem/rubocop.yml.tt +13 -0
  162. data/lib/bundler/templates/newgem/sig/newgem.rbs.tt +8 -0
  163. data/lib/bundler/templates/newgem/spec/newgem_spec.rb.tt +2 -0
  164. data/lib/bundler/templates/newgem/spec/spec_helper.rb.tt +2 -1
  165. data/lib/bundler/templates/newgem/standard.yml.tt +3 -0
  166. data/lib/bundler/templates/newgem/test/{test_helper.rb.tt → minitest/test_helper.rb.tt} +2 -0
  167. data/lib/bundler/templates/newgem/test/{newgem_test.rb.tt → minitest/test_newgem.rb.tt} +3 -1
  168. data/lib/bundler/templates/newgem/test/test-unit/newgem_test.rb.tt +15 -0
  169. data/lib/bundler/templates/newgem/test/test-unit/test_helper.rb.tt +6 -0
  170. data/lib/bundler/ui/shell.rb +6 -6
  171. data/lib/bundler/uri_credentials_filter.rb +3 -1
  172. data/lib/bundler/vendor/.document +1 -0
  173. data/lib/bundler/vendor/connection_pool/LICENSE +20 -0
  174. data/lib/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.rb +19 -21
  175. data/lib/bundler/vendor/connection_pool/lib/connection_pool/version.rb +1 -1
  176. data/lib/bundler/vendor/connection_pool/lib/connection_pool/wrapper.rb +57 -0
  177. data/lib/bundler/vendor/connection_pool/lib/connection_pool.rb +39 -74
  178. data/lib/bundler/vendor/fileutils/LICENSE.txt +22 -0
  179. data/lib/bundler/vendor/molinillo/LICENSE +9 -0
  180. data/lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb +7 -0
  181. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb +2 -2
  182. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb +11 -5
  183. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +37 -5
  184. data/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +34 -28
  185. data/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb +1 -1
  186. data/lib/bundler/vendor/molinillo/lib/molinillo/modules/specification_provider.rb +12 -1
  187. data/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb +49 -47
  188. data/lib/bundler/vendor/molinillo/lib/molinillo.rb +0 -1
  189. data/lib/bundler/vendor/net-http-persistent/README.rdoc +82 -0
  190. data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +82 -189
  191. data/lib/bundler/vendor/thor/LICENSE.md +20 -0
  192. data/lib/bundler/vendor/thor/lib/thor/actions/create_link.rb +2 -1
  193. data/lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb +9 -7
  194. data/lib/bundler/vendor/thor/lib/thor/actions/inject_into_file.rb +1 -2
  195. data/lib/bundler/vendor/thor/lib/thor/actions.rb +7 -3
  196. data/lib/bundler/vendor/thor/lib/thor/base.rb +9 -0
  197. data/lib/bundler/vendor/thor/lib/thor/core_ext/hash_with_indifferent_access.rb +6 -0
  198. data/lib/bundler/vendor/thor/lib/thor/error.rb +10 -5
  199. data/lib/bundler/vendor/thor/lib/thor/parser/arguments.rb +5 -1
  200. data/lib/bundler/vendor/thor/lib/thor/parser/options.rb +28 -9
  201. data/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +27 -6
  202. data/lib/bundler/vendor/thor/lib/thor/shell/color.rb +5 -1
  203. data/lib/bundler/vendor/thor/lib/thor/shell.rb +1 -1
  204. data/lib/bundler/vendor/thor/lib/thor/util.rb +1 -1
  205. data/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
  206. data/lib/bundler/vendor/thor/lib/thor.rb +5 -13
  207. data/lib/bundler/vendor/tmpdir/lib/tmpdir.rb +154 -0
  208. data/lib/bundler/vendor/tsort/LICENSE.txt +22 -0
  209. data/lib/bundler/vendor/tsort/lib/tsort.rb +452 -0
  210. data/lib/bundler/vendor/uri/LICENSE.txt +22 -0
  211. data/lib/bundler/vendor/uri/lib/uri/common.rb +17 -80
  212. data/lib/bundler/vendor/uri/lib/uri/ftp.rb +0 -1
  213. data/lib/bundler/vendor/uri/lib/uri/generic.rb +5 -6
  214. data/lib/bundler/vendor/uri/lib/uri/http.rb +0 -1
  215. data/lib/bundler/vendor/uri/lib/uri/https.rb +0 -1
  216. data/lib/bundler/vendor/uri/lib/uri/ldap.rb +1 -1
  217. data/lib/bundler/vendor/uri/lib/uri/mailto.rb +0 -1
  218. data/lib/bundler/vendor/uri/lib/uri/rfc2396_parser.rb +1 -14
  219. data/lib/bundler/vendor/uri/lib/uri/rfc3986_parser.rb +1 -12
  220. data/lib/bundler/vendor/uri/lib/uri/version.rb +1 -1
  221. data/lib/bundler/vendor/uri/lib/uri/ws.rb +84 -0
  222. data/lib/bundler/vendor/uri/lib/uri/wss.rb +22 -0
  223. data/lib/bundler/vendor/uri/lib/uri.rb +0 -1
  224. data/lib/bundler/vendored_persistent.rb +0 -7
  225. data/lib/bundler/vendored_tmpdir.rb +4 -0
  226. data/lib/bundler/vendored_tsort.rb +4 -0
  227. data/lib/bundler/version.rb +1 -1
  228. data/lib/bundler/worker.rb +20 -5
  229. data/lib/bundler/yaml_serializer.rb +1 -1
  230. data/lib/bundler.rb +64 -43
  231. metadata +94 -91
  232. data/lib/bundler/gemdeps.rb +0 -29
  233. data/lib/bundler/psyched_yaml.rb +0 -37
  234. data/lib/bundler/vendor/connection_pool/lib/connection_pool/monotonic_time.rb +0 -66
  235. data/lib/bundler/vendor/molinillo/lib/molinillo/compatibility.rb +0 -26
  236. data/man/bundle-add.1.txt +0 -58
  237. data/man/bundle-binstubs.1.txt +0 -48
  238. data/man/bundle-cache.1.txt +0 -78
  239. data/man/bundle-check.1.txt +0 -33
  240. data/man/bundle-clean.1.txt +0 -26
  241. data/man/bundle-config.1.txt +0 -528
  242. data/man/bundle-doctor.1.txt +0 -44
  243. data/man/bundle-exec.1.txt +0 -178
  244. data/man/bundle-gem.1.txt +0 -91
  245. data/man/bundle-info.1.txt +0 -21
  246. data/man/bundle-init.1.txt +0 -34
  247. data/man/bundle-inject.1.txt +0 -32
  248. data/man/bundle-install.1.txt +0 -401
  249. data/man/bundle-list.1.txt +0 -43
  250. data/man/bundle-lock.1.txt +0 -93
  251. data/man/bundle-open.1.txt +0 -29
  252. data/man/bundle-outdated.1.txt +0 -131
  253. data/man/bundle-platform.1.txt +0 -57
  254. data/man/bundle-pristine.1.txt +0 -44
  255. data/man/bundle-remove.1.txt +0 -34
  256. data/man/bundle-show.1.txt +0 -27
  257. data/man/bundle-update.1.txt +0 -390
  258. data/man/bundle-viz.1.txt +0 -39
  259. data/man/bundle.1.txt +0 -116
  260. data/man/gemfile.5.txt +0 -649
  261. /data/{man/bundle-cache.ronn → lib/bundler/man/bundle-cache.1.ronn} +0 -0
  262. /data/{man/bundle-check.ronn → lib/bundler/man/bundle-check.1.ronn} +0 -0
  263. /data/{man/bundle-clean.ronn → lib/bundler/man/bundle-clean.1.ronn} +0 -0
  264. /data/{man/bundle-doctor.ronn → lib/bundler/man/bundle-doctor.1.ronn} +0 -0
  265. /data/{man/bundle-exec.ronn → lib/bundler/man/bundle-exec.1.ronn} +0 -0
  266. /data/{man/bundle-info.ronn → lib/bundler/man/bundle-info.1.ronn} +0 -0
  267. /data/{man/bundle-init.ronn → lib/bundler/man/bundle-init.1.ronn} +0 -0
  268. /data/{man/bundle-inject.ronn → lib/bundler/man/bundle-inject.1.ronn} +0 -0
  269. /data/{man/bundle-lock.ronn → lib/bundler/man/bundle-lock.1.ronn} +0 -0
  270. /data/{man/bundle-open.ronn → lib/bundler/man/bundle-open.1.ronn} +0 -0
  271. /data/{man/bundle-platform.ronn → lib/bundler/man/bundle-platform.1.ronn} +0 -0
  272. /data/{man/bundle-pristine.ronn → lib/bundler/man/bundle-pristine.1.ronn} +0 -0
  273. /data/{man/bundle-remove.ronn → lib/bundler/man/bundle-remove.1.ronn} +0 -0
  274. /data/{man/bundle-show.ronn → lib/bundler/man/bundle-show.1.ronn} +0 -0
  275. /data/{man/bundle-viz.ronn → lib/bundler/man/bundle-viz.1.ronn} +0 -0
  276. /data/{man/bundle.ronn → lib/bundler/man/bundle.1.ronn} +0 -0
  277. /data/{man → lib/bundler/man}/index.txt +0 -0
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-CONFIG" "1" "January 2020" "" ""
4
+ .TH "BUNDLE\-CONFIG" "1" "March 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-config\fR \- Set bundler configuration options
@@ -16,7 +16,7 @@ This command allows you to interact with Bundler\'s configuration system\.
16
16
  Bundler loads configuration settings in this order:
17
17
  .
18
18
  .IP "1." 4
19
- Local config (\fBapp/\.bundle/config\fR)
19
+ Local config (\fB<project_root>/\.bundle/config\fR or \fB$BUNDLE_APP_CONFIG/config\fR)
20
20
  .
21
21
  .IP "2." 4
22
22
  Environmental variables (\fBENV\fR)
@@ -36,13 +36,13 @@ Executing \fBbundle config list\fR with will print a list of all bundler configu
36
36
  Executing \fBbundle config get <name>\fR will print the value of that configuration setting, and where it was set\.
37
37
  .
38
38
  .P
39
- Executing \fBbundle config set <name> <value>\fR will set that configuration to the value specified for all bundles executed as the current user\. The configuration will be stored in \fB~/\.bundle/config\fR\. If \fIname\fR already is set, \fIname\fR will be overridden and user will be warned\.
39
+ Executing \fBbundle config set <name> <value>\fR defaults to setting \fBlocal\fR configuration if executing from within a local application, otherwise it will set \fBglobal\fR configuration\. See \fB\-\-local\fR and \fB\-\-global\fR options below\.
40
40
  .
41
41
  .P
42
- Executing \fBbundle config set \-\-global <name> <value>\fR works the same as above\.
42
+ Executing \fBbundle config set \-\-local <name> <value>\fR will set that configuration in the directory for the local application\. The configuration will be stored in \fB<project_root>/\.bundle/config\fR\. If \fBBUNDLE_APP_CONFIG\fR is set, the configuration will be stored in \fB$BUNDLE_APP_CONFIG/config\fR\.
43
43
  .
44
44
  .P
45
- Executing \fBbundle config set \-\-local <name> <value>\fR will set that configuration to the local application\. The configuration will be stored in \fBapp/\.bundle/config\fR\.
45
+ Executing \fBbundle config set \-\-global <name> <value>\fR will set that configuration to the value specified for all bundles executed as the current user\. The configuration will be stored in \fB~/\.bundle/config\fR\. If \fIname\fR already is set, \fIname\fR will be overridden and user will be warned\.
46
46
  .
47
47
  .P
48
48
  Executing \fBbundle config unset <name>\fR will delete the configuration in both local and global sources\.
@@ -56,14 +56,11 @@ Executing \fBbundle config unset \-\-local <name> <value>\fR will delete the con
56
56
  .P
57
57
  Executing bundle with the \fBBUNDLE_IGNORE_CONFIG\fR environment variable set will cause it to ignore all configuration\.
58
58
  .
59
- .P
60
- Executing \fBbundle config set disable_multisource true\fR upgrades the warning about the Gemfile containing multiple primary sources to an error\. Executing \fBbundle config unset disable_multisource\fR downgrades this error to a warning\.
61
- .
62
59
  .SH "REMEMBERING OPTIONS"
63
60
  Flags passed to \fBbundle install\fR or the Bundler runtime, such as \fB\-\-path foo\fR or \fB\-\-without production\fR, are remembered between commands and saved to your local application\'s configuration (normally, \fB\./\.bundle/config\fR)\.
64
61
  .
65
62
  .P
66
- However, this will be changed in bundler 3, so it\'s better not to rely on this behavior\. If these options must be remembered, it\'s better to set them using \fBbundle config\fR (e\.g\., \fBbundle config set path foo\fR)\.
63
+ However, this will be changed in bundler 3, so it\'s better not to rely on this behavior\. If these options must be remembered, it\'s better to set them using \fBbundle config\fR (e\.g\., \fBbundle config set \-\-local path foo\fR)\.
67
64
  .
68
65
  .P
69
66
  The options that can be configured are:
@@ -86,7 +83,7 @@ A space\-separated list of groups referencing gems to skip during installation\.
86
83
  .
87
84
  .TP
88
85
  \fBwith\fR
89
- A space\-separated list of groups referencing gems to include during installation\.
86
+ A space\-separated list of \fBoptional\fR groups referencing gems to include during installation\.
90
87
  .
91
88
  .SH "BUILD OPTIONS"
92
89
  You can use \fBbundle config\fR to give Bundler the flags to pass to the gem installer every time bundler tries to install a particular gem\.
@@ -111,7 +108,7 @@ Since the specific location of that executable can change from machine to machin
111
108
  .
112
109
  .nf
113
110
 
114
- bundle config set build\.mysql \-\-with\-mysql\-config=/usr/local/mysql/bin/mysql_config
111
+ bundle config set \-\-global build\.mysql \-\-with\-mysql\-config=/usr/local/mysql/bin/mysql_config
115
112
  .
116
113
  .fi
117
114
  .
@@ -136,9 +133,6 @@ Any periods in the configuration keys must be replaced with two underscores when
136
133
  The following is a list of all configuration keys and their purpose\. You can learn more about their operation in bundle install(1) \fIbundle\-install\.1\.html\fR\.
137
134
  .
138
135
  .IP "\(bu" 4
139
- \fBallow_bundler_dependency_conflicts\fR (\fBBUNDLE_ALLOW_BUNDLER_DEPENDENCY_CONFLICTS\fR): Allow resolving to specifications that have dependencies on \fBbundler\fR that are incompatible with the running Bundler version\.
140
- .
141
- .IP "\(bu" 4
142
136
  \fBallow_deployment_source_credential_changes\fR (\fBBUNDLE_ALLOW_DEPLOYMENT_SOURCE_CREDENTIAL_CHANGES\fR): When in deployment mode, allow changing the credentials to a gem\'s source\. Ex: \fBhttps://some\.host\.com/gems/path/\fR \-> \fBhttps://user_name:password@some\.host\.com/gems/path\fR
143
137
  .
144
138
  .IP "\(bu" 4
@@ -154,7 +148,7 @@ The following is a list of all configuration keys and their purpose\. You can le
154
148
  \fBbin\fR (\fBBUNDLE_BIN\fR): Install executables from gems in the bundle to the specified directory\. Defaults to \fBfalse\fR\.
155
149
  .
156
150
  .IP "\(bu" 4
157
- \fBcache_all\fR (\fBBUNDLE_CACHE_ALL\fR): Cache all gems, including path and git gems\.
151
+ \fBcache_all\fR (\fBBUNDLE_CACHE_ALL\fR): Cache all gems, including path and git gems\. This needs to be explicitly configured on bundler 1 and bundler 2, but will be the default on bundler 3\.
158
152
  .
159
153
  .IP "\(bu" 4
160
154
  \fBcache_all_platforms\fR (\fBBUNDLE_CACHE_ALL_PLATFORMS\fR): Cache gems for all platforms\.
@@ -184,10 +178,7 @@ The following is a list of all configuration keys and their purpose\. You can le
184
178
  \fBdisable_local_branch_check\fR (\fBBUNDLE_DISABLE_LOCAL_BRANCH_CHECK\fR): Allow Bundler to use a local git override without a branch specified in the Gemfile\.
185
179
  .
186
180
  .IP "\(bu" 4
187
- \fBdisable_multisource\fR (\fBBUNDLE_DISABLE_MULTISOURCE\fR): When set, Gemfiles containing multiple sources will produce errors instead of warnings\. Use \fBbundle config unset disable_multisource\fR to unset\.
188
- .
189
- .IP "\(bu" 4
190
- \fBdisable_platform_warnings\fR (\fBBUNDLE_DISABLE_PLATFORM_WARNINGS\fR): Disable warnings during bundle install when a dependency is unused on the current platform\.
181
+ \fBdisable_local_revision_check\fR (\fBBUNDLE_DISABLE_LOCAL_REVISION_CHECK\fR): Allow Bundler to use a local git override without checking if the revision present in the lockfile is present in the repository\.
191
182
  .
192
183
  .IP "\(bu" 4
193
184
  \fBdisable_shared_gems\fR (\fBBUNDLE_DISABLE_SHARED_GEMS\fR): Stop Bundler from accessing gems installed to RubyGems\' normal location\.
@@ -202,6 +193,9 @@ The following is a list of all configuration keys and their purpose\. You can le
202
193
  \fBfrozen\fR (\fBBUNDLE_FROZEN\fR): Disallow changes to the \fBGemfile\fR\. When the \fBGemfile\fR is changed and the lockfile has not been updated, running Bundler commands will be blocked\. Defaults to \fBtrue\fR when \fB\-\-deployment\fR is used\.
203
194
  .
204
195
  .IP "\(bu" 4
196
+ \fBgem\.github_username\fR (\fBBUNDLE_GEM__GITHUB_USERNAME\fR): Sets a GitHub username or organization to be used in \fBREADME\fR file when you create a new gem via \fBbundle gem\fR command\. It can be overridden by passing an explicit \fB\-\-github\-username\fR flag to \fBbundle gem\fR\.
197
+ .
198
+ .IP "\(bu" 4
205
199
  \fBgem\.push_key\fR (\fBBUNDLE_GEM__PUSH_KEY\fR): Sets the \fB\-\-key\fR parameter for \fBgem push\fR when using the \fBrake release\fR command with a private gemstash server\.
206
200
  .
207
201
  .IP "\(bu" 4
@@ -214,10 +208,10 @@ The following is a list of all configuration keys and their purpose\. You can le
214
208
  \fBignore_messages\fR (\fBBUNDLE_IGNORE_MESSAGES\fR): When set, no post install messages will be printed\. To silence a single gem, use dot notation like \fBignore_messages\.httparty true\fR\.
215
209
  .
216
210
  .IP "\(bu" 4
217
- \fBinit_gems_rb\fR (\fBBUNDLE_INIT_GEMS_RB\fR) Generate a \fBgems\.rb\fR instead of a \fBGemfile\fR when running \fBbundle init\fR\.
211
+ \fBinit_gems_rb\fR (\fBBUNDLE_INIT_GEMS_RB\fR): Generate a \fBgems\.rb\fR instead of a \fBGemfile\fR when running \fBbundle init\fR\.
218
212
  .
219
213
  .IP "\(bu" 4
220
- \fBjobs\fR (\fBBUNDLE_JOBS\fR): The number of gems Bundler can install in parallel\. Defaults to 1\.
214
+ \fBjobs\fR (\fBBUNDLE_JOBS\fR): The number of gems Bundler can install in parallel\. Defaults to the number of available processors\.
221
215
  .
222
216
  .IP "\(bu" 4
223
217
  \fBno_install\fR (\fBBUNDLE_NO_INSTALL\fR): Whether \fBbundle package\fR should skip installing gems\.
@@ -226,9 +220,6 @@ The following is a list of all configuration keys and their purpose\. You can le
226
220
  \fBno_prune\fR (\fBBUNDLE_NO_PRUNE\fR): Whether Bundler should leave outdated gems unpruned when caching\.
227
221
  .
228
222
  .IP "\(bu" 4
229
- \fBonly_update_to_newer_versions\fR (\fBBUNDLE_ONLY_UPDATE_TO_NEWER_VERSIONS\fR): During \fBbundle update\fR, only resolve to newer versions of the gems in the lockfile\.
230
- .
231
- .IP "\(bu" 4
232
223
  \fBpath\fR (\fBBUNDLE_PATH\fR): The location on disk where all gems in your bundle will be located regardless of \fB$GEM_HOME\fR or \fB$GEM_PATH\fR values\. Bundle gems not found in this location will be installed by \fBbundle install\fR\. Defaults to \fBGem\.dir\fR\. When \-\-deployment is used, defaults to vendor/bundle\.
233
224
  .
234
225
  .IP "\(bu" 4
@@ -244,7 +235,7 @@ The following is a list of all configuration keys and their purpose\. You can le
244
235
  \fBprefer_patch\fR (BUNDLE_PREFER_PATCH): Prefer updating only to next patch version during updates\. Makes \fBbundle update\fR calls equivalent to \fBbundler update \-\-patch\fR\.
245
236
  .
246
237
  .IP "\(bu" 4
247
- \fBprint_only_version_number\fR (\fBBUNDLE_PRINT_ONLY_VERSION_NUMBER\fR) Print only version number from \fBbundler \-\-version\fR\.
238
+ \fBprint_only_version_number\fR (\fBBUNDLE_PRINT_ONLY_VERSION_NUMBER\fR): Print only version number from \fBbundler \-\-version\fR\.
248
239
  .
249
240
  .IP "\(bu" 4
250
241
  \fBredirect\fR (\fBBUNDLE_REDIRECT\fR): The number of redirects allowed for network requests\. Defaults to \fB5\fR\.
@@ -265,12 +256,6 @@ The following is a list of all configuration keys and their purpose\. You can le
265
256
  \fBsilence_root_warning\fR (\fBBUNDLE_SILENCE_ROOT_WARNING\fR): Silence the warning Bundler prints when installing gems as root\.
266
257
  .
267
258
  .IP "\(bu" 4
268
- \fBskip_default_git_sources\fR (\fBBUNDLE_SKIP_DEFAULT_GIT_SOURCES\fR): Whether Bundler should skip adding default git source shortcuts to the Gemfile DSL\.
269
- .
270
- .IP "\(bu" 4
271
- \fBspecific_platform\fR (\fBBUNDLE_SPECIFIC_PLATFORM\fR): Allow bundler to resolve for the specific running platform and store it in the lockfile, instead of only using a generic platform\. A specific platform is the exact platform triple reported by \fBGem::Platform\.local\fR, such as \fBx86_64\-darwin\-16\fR or \fBuniversal\-java\-1\.8\fR\. On the other hand, generic platforms are those such as \fBruby\fR, \fBmswin\fR, or \fBjava\fR\. In this example, \fBx86_64\-darwin\-16\fR would map to \fBruby\fR and \fBuniversal\-java\-1\.8\fR to \fBjava\fR\.
272
- .
273
- .IP "\(bu" 4
274
259
  \fBssl_ca_cert\fR (\fBBUNDLE_SSL_CA_CERT\fR): Path to a designated CA certificate file or folder containing multiple certificates for trusted CAs in PEM format\.
275
260
  .
276
261
  .IP "\(bu" 4
@@ -289,10 +274,7 @@ The following is a list of all configuration keys and their purpose\. You can le
289
274
  \fBtimeout\fR (\fBBUNDLE_TIMEOUT\fR): The seconds allowed before timing out for network requests\. Defaults to \fB10\fR\.
290
275
  .
291
276
  .IP "\(bu" 4
292
- \fBunlock_source_unlocks_spec\fR (\fBBUNDLE_UNLOCK_SOURCE_UNLOCKS_SPEC\fR): Whether running \fBbundle update \-\-source NAME\fR unlocks a gem with the given name\. Defaults to \fBtrue\fR\.
293
- .
294
- .IP "\(bu" 4
295
- \fBupdate_requires_all_flag\fR (\fBBUNDLE_UPDATE_REQUIRES_ALL_FLAG\fR) Require passing \fB\-\-all\fR to \fBbundle update\fR when everything should be updated, and disallow passing no options to \fBbundle update\fR\.
277
+ \fBupdate_requires_all_flag\fR (\fBBUNDLE_UPDATE_REQUIRES_ALL_FLAG\fR): Require passing \fB\-\-all\fR to \fBbundle update\fR when everything should be updated, and disallow passing no options to \fBbundle update\fR\.
296
278
  .
297
279
  .IP "\(bu" 4
298
280
  \fBuser_agent\fR (\fBBUNDLE_USER_AGENT\fR): The custom user agent fragment Bundler includes in API requests\.
@@ -318,7 +300,7 @@ Bundler also allows you to work against a git repository locally instead of usin
318
300
  .
319
301
  .nf
320
302
 
321
- bundle config set local\.GEM_NAME /path/to/local/git/repository
303
+ bundle config set \-\-local local\.GEM_NAME /path/to/local/git/repository
322
304
  .
323
305
  .fi
324
306
  .
@@ -331,7 +313,7 @@ For example, in order to use a local Rack repository, a developer could call:
331
313
  .
332
314
  .nf
333
315
 
334
- bundle config set local\.rack ~/Work/git/rack
316
+ bundle config set \-\-local local\.rack ~/Work/git/rack
335
317
  .
336
318
  .fi
337
319
  .
@@ -353,7 +335,7 @@ Bundler supports overriding gem sources with mirrors\. This allows you to config
353
335
  .
354
336
  .nf
355
337
 
356
- bundle config set mirror\.SOURCE_URL MIRROR_URL
338
+ bundle config set \-\-global mirror\.SOURCE_URL MIRROR_URL
357
339
  .
358
340
  .fi
359
341
  .
@@ -366,7 +348,7 @@ For example, to use a mirror of rubygems\.org hosted at rubygems\-mirror\.org:
366
348
  .
367
349
  .nf
368
350
 
369
- bundle config set mirror\.http://rubygems\.org http://rubygems\-mirror\.org
351
+ bundle config set \-\-global mirror\.http://rubygems\.org http://rubygems\-mirror\.org
370
352
  .
371
353
  .fi
372
354
  .
@@ -379,7 +361,7 @@ Each mirror also provides a fallback timeout setting\. If the mirror does not re
379
361
  .
380
362
  .nf
381
363
 
382
- bundle config set mirror\.SOURCE_URL\.fallback_timeout TIMEOUT
364
+ bundle config set \-\-global mirror\.SOURCE_URL\.fallback_timeout TIMEOUT
383
365
  .
384
366
  .fi
385
367
  .
@@ -392,7 +374,7 @@ For example, to fall back to rubygems\.org after 3 seconds:
392
374
  .
393
375
  .nf
394
376
 
395
- bundle config set mirror\.https://rubygems\.org\.fallback_timeout 3
377
+ bundle config set \-\-global mirror\.https://rubygems\.org\.fallback_timeout 3
396
378
  .
397
379
  .fi
398
380
  .
@@ -408,7 +390,7 @@ Bundler allows you to configure credentials for any gem source, which allows you
408
390
  .
409
391
  .nf
410
392
 
411
- bundle config set SOURCE_HOSTNAME USERNAME:PASSWORD
393
+ bundle config set \-\-global SOURCE_HOSTNAME USERNAME:PASSWORD
412
394
  .
413
395
  .fi
414
396
  .
@@ -421,7 +403,7 @@ For example, to save the credentials of user \fBclaudette\fR for the gem source
421
403
  .
422
404
  .nf
423
405
 
424
- bundle config set gems\.longerous\.com claudette:s00pers3krit
406
+ bundle config set \-\-global gems\.longerous\.com claudette:s00pers3krit
425
407
  .
426
408
  .fi
427
409
  .
@@ -447,7 +429,7 @@ For gems with a git source with HTTP(S) URL you can specify credentials like so:
447
429
  .
448
430
  .nf
449
431
 
450
- bundle config set https://github\.com/bundler/bundler\.git username:password
432
+ bundle config set \-\-global https://github\.com/rubygems/rubygems\.git username:password
451
433
  .
452
434
  .fi
453
435
  .
@@ -467,7 +449,7 @@ export BUNDLE_GITHUB__COM=username:password
467
449
  .IP "" 0
468
450
  .
469
451
  .P
470
- This is especially useful for private repositories on hosts such as Github, where you can use personal OAuth tokens:
452
+ This is especially useful for private repositories on hosts such as GitHub, where you can use personal OAuth tokens:
471
453
  .
472
454
  .IP "" 4
473
455
  .
@@ -479,6 +461,23 @@ export BUNDLE_GITHUB__COM=abcd0123generatedtoken:x\-oauth\-basic
479
461
  .
480
462
  .IP "" 0
481
463
  .
464
+ .P
465
+ Note that any configured credentials will be redacted by informative commands such as \fBbundle config list\fR or \fBbundle config get\fR, unless you use the \fB\-\-parseable\fR flag\. This is to avoid unintentionally leaking credentials when copy\-pasting bundler output\.
466
+ .
467
+ .P
468
+ Also note that to guarantee a sane mapping between valid environment variable names and valid host names, bundler makes the following transformations:
469
+ .
470
+ .IP "\(bu" 4
471
+ Any \fB\-\fR characters in a host name are mapped to a triple dash (\fB___\fR) in the corresponding environment variable\.
472
+ .
473
+ .IP "\(bu" 4
474
+ Any \fB\.\fR characters in a host name are mapped to a double dash (\fB__\fR) in the corresponding environment variable\.
475
+ .
476
+ .IP "" 0
477
+ .
478
+ .P
479
+ This means that if you have a gem server named \fBmy\.gem\-host\.com\fR, you\'ll need to use the \fBBUNDLE_MY__GEM___HOST__COM\fR variable to configure credentials for it through ENV\.
480
+ .
482
481
  .SH "CONFIGURE BUNDLER DIRECTORIES"
483
482
  Bundler\'s home, config, cache and plugin directories are able to be configured through environment variables\. The default location for Bundler\'s home directory is \fB~/\.bundle\fR, which all directories inherit from by default\. The following outlines the available environment variables and their default values
484
483
  .
@@ -11,7 +11,7 @@ This command allows you to interact with Bundler's configuration system.
11
11
 
12
12
  Bundler loads configuration settings in this order:
13
13
 
14
- 1. Local config (`app/.bundle/config`)
14
+ 1. Local config (`<project_root>/.bundle/config` or `$BUNDLE_APP_CONFIG/config`)
15
15
  2. Environmental variables (`ENV`)
16
16
  3. Global config (`~/.bundle/config`)
17
17
  4. Bundler default config
@@ -23,15 +23,19 @@ was set.
23
23
  Executing `bundle config get <name>` will print the value of that configuration
24
24
  setting, and where it was set.
25
25
 
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.
26
+ Executing `bundle config set <name> <value>` defaults to setting `local`
27
+ configuration if executing from within a local application, otherwise it will
28
+ set `global` configuration. See `--local` and `--global` options below.
30
29
 
31
- Executing `bundle config set --global <name> <value>` works the same as above.
30
+ Executing `bundle config set --local <name> <value>` will set that configuration
31
+ in the directory for the local application. The configuration will be stored in
32
+ `<project_root>/.bundle/config`. If `BUNDLE_APP_CONFIG` is set, the configuration
33
+ will be stored in `$BUNDLE_APP_CONFIG/config`.
32
34
 
33
- Executing `bundle config set --local <name> <value>` will set that configuration to
34
- the local application. The configuration will be stored in `app/.bundle/config`.
35
+ Executing `bundle config set --global <name> <value>` will set that
36
+ configuration to the value specified for all bundles executed as the current
37
+ user. The configuration will be stored in `~/.bundle/config`. If <name> already
38
+ is set, <name> will be overridden and user will be warned.
35
39
 
36
40
  Executing `bundle config unset <name>` will delete the configuration in both
37
41
  local and global sources.
@@ -45,10 +49,6 @@ configuration only from the local application.
45
49
  Executing bundle with the `BUNDLE_IGNORE_CONFIG` environment variable set will
46
50
  cause it to ignore all configuration.
47
51
 
48
- Executing `bundle config set disable_multisource true` upgrades the warning about
49
- the Gemfile containing multiple primary sources to an error. Executing `bundle
50
- config unset disable_multisource` downgrades this error to a warning.
51
-
52
52
  ## REMEMBERING OPTIONS
53
53
 
54
54
  Flags passed to `bundle install` or the Bundler runtime, such as `--path foo` or
@@ -57,7 +57,7 @@ application's configuration (normally, `./.bundle/config`).
57
57
 
58
58
  However, this will be changed in bundler 3, so it's better not to rely on this
59
59
  behavior. If these options must be remembered, it's better to set them using
60
- `bundle config` (e.g., `bundle config set path foo`).
60
+ `bundle config` (e.g., `bundle config set --local path foo`).
61
61
 
62
62
  The options that can be configured are:
63
63
 
@@ -85,7 +85,7 @@ The options that can be configured are:
85
85
  A space-separated list of groups referencing gems to skip during installation.
86
86
 
87
87
  * `with`:
88
- A space-separated list of groups referencing gems to include during installation.
88
+ A space-separated list of **optional** groups referencing gems to include during installation.
89
89
 
90
90
  ## BUILD OPTIONS
91
91
 
@@ -101,7 +101,7 @@ pass configuration flags to `gem install` to specify where to find the
101
101
  Since the specific location of that executable can change from machine
102
102
  to machine, you can specify these flags on a per-machine basis.
103
103
 
104
- bundle config set build.mysql --with-mysql-config=/usr/local/mysql/bin/mysql_config
104
+ bundle config set --global build.mysql --with-mysql-config=/usr/local/mysql/bin/mysql_config
105
105
 
106
106
  After running this command, every time bundler needs to install the
107
107
  `mysql` gem, it will pass along the flags you specified.
@@ -131,9 +131,6 @@ the environment variable `BUNDLE_LOCAL__RACK`.
131
131
  The following is a list of all configuration keys and their purpose. You can
132
132
  learn more about their operation in [bundle install(1)](bundle-install.1.html).
133
133
 
134
- * `allow_bundler_dependency_conflicts` (`BUNDLE_ALLOW_BUNDLER_DEPENDENCY_CONFLICTS`):
135
- Allow resolving to specifications that have dependencies on `bundler` that
136
- are incompatible with the running Bundler version.
137
134
  * `allow_deployment_source_credential_changes` (`BUNDLE_ALLOW_DEPLOYMENT_SOURCE_CREDENTIAL_CHANGES`):
138
135
  When in deployment mode, allow changing the credentials to a gem's source.
139
136
  Ex: `https://some.host.com/gems/path/` -> `https://user_name:password@some.host.com/gems/path`
@@ -148,7 +145,8 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
148
145
  Install executables from gems in the bundle to the specified directory.
149
146
  Defaults to `false`.
150
147
  * `cache_all` (`BUNDLE_CACHE_ALL`):
151
- Cache all gems, including path and git gems.
148
+ Cache all gems, including path and git gems. This needs to be explicitly
149
+ configured on bundler 1 and bundler 2, but will be the default on bundler 3.
152
150
  * `cache_all_platforms` (`BUNDLE_CACHE_ALL_PLATFORMS`):
153
151
  Cache gems for all platforms.
154
152
  * `cache_path` (`BUNDLE_CACHE_PATH`):
@@ -175,12 +173,9 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
175
173
  * `disable_local_branch_check` (`BUNDLE_DISABLE_LOCAL_BRANCH_CHECK`):
176
174
  Allow Bundler to use a local git override without a branch specified in the
177
175
  Gemfile.
178
- * `disable_multisource` (`BUNDLE_DISABLE_MULTISOURCE`):
179
- When set, Gemfiles containing multiple sources will produce errors
180
- instead of warnings.
181
- Use `bundle config unset disable_multisource` to unset.
182
- * `disable_platform_warnings` (`BUNDLE_DISABLE_PLATFORM_WARNINGS`):
183
- Disable warnings during bundle install when a dependency is unused on the current platform.
176
+ * `disable_local_revision_check` (`BUNDLE_DISABLE_LOCAL_REVISION_CHECK`):
177
+ Allow Bundler to use a local git override without checking if the revision
178
+ present in the lockfile is present in the repository.
184
179
  * `disable_shared_gems` (`BUNDLE_DISABLE_SHARED_GEMS`):
185
180
  Stop Bundler from accessing gems installed to RubyGems' normal location.
186
181
  * `disable_version_check` (`BUNDLE_DISABLE_VERSION_CHECK`):
@@ -193,6 +188,10 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
193
188
  Disallow changes to the `Gemfile`. When the `Gemfile` is changed and the
194
189
  lockfile has not been updated, running Bundler commands will be blocked.
195
190
  Defaults to `true` when `--deployment` is used.
191
+ * `gem.github_username` (`BUNDLE_GEM__GITHUB_USERNAME`):
192
+ Sets a GitHub username or organization to be used in `README` file when you
193
+ create a new gem via `bundle gem` command. It can be overridden by passing an
194
+ explicit `--github-username` flag to `bundle gem`.
196
195
  * `gem.push_key` (`BUNDLE_GEM__PUSH_KEY`):
197
196
  Sets the `--key` parameter for `gem push` when using the `rake release`
198
197
  command with a private gemstash server.
@@ -205,20 +204,18 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
205
204
  * `global_gem_cache` (`BUNDLE_GLOBAL_GEM_CACHE`):
206
205
  Whether Bundler should cache all gems globally, rather than locally to the
207
206
  installing Ruby installation.
208
- * `ignore_messages` (`BUNDLE_IGNORE_MESSAGES`): When set, no post install
209
- messages will be printed. To silence a single gem, use dot notation like
210
- `ignore_messages.httparty true`.
211
- * `init_gems_rb` (`BUNDLE_INIT_GEMS_RB`)
207
+ * `ignore_messages` (`BUNDLE_IGNORE_MESSAGES`):
208
+ When set, no post install messages will be printed. To silence a single gem,
209
+ use dot notation like `ignore_messages.httparty true`.
210
+ * `init_gems_rb` (`BUNDLE_INIT_GEMS_RB`):
212
211
  Generate a `gems.rb` instead of a `Gemfile` when running `bundle init`.
213
212
  * `jobs` (`BUNDLE_JOBS`):
214
- The number of gems Bundler can install in parallel. Defaults to 1.
213
+ The number of gems Bundler can install in parallel. Defaults to the number of
214
+ available processors.
215
215
  * `no_install` (`BUNDLE_NO_INSTALL`):
216
216
  Whether `bundle package` should skip installing gems.
217
217
  * `no_prune` (`BUNDLE_NO_PRUNE`):
218
218
  Whether Bundler should leave outdated gems unpruned when caching.
219
- * `only_update_to_newer_versions` (`BUNDLE_ONLY_UPDATE_TO_NEWER_VERSIONS`):
220
- During `bundle update`, only resolve to newer versions of the gems in the
221
- lockfile.
222
219
  * `path` (`BUNDLE_PATH`):
223
220
  The location on disk where all gems in your bundle will be located regardless
224
221
  of `$GEM_HOME` or `$GEM_PATH` values. Bundle gems not found in this location
@@ -232,7 +229,7 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
232
229
  Enable Bundler's experimental plugin system.
233
230
  * `prefer_patch` (BUNDLE_PREFER_PATCH):
234
231
  Prefer updating only to next patch version during updates. Makes `bundle update` calls equivalent to `bundler update --patch`.
235
- * `print_only_version_number` (`BUNDLE_PRINT_ONLY_VERSION_NUMBER`)
232
+ * `print_only_version_number` (`BUNDLE_PRINT_ONLY_VERSION_NUMBER`):
236
233
  Print only version number from `bundler --version`.
237
234
  * `redirect` (`BUNDLE_REDIRECT`):
238
235
  The number of redirects allowed for network requests. Defaults to `5`.
@@ -249,17 +246,6 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
249
246
  be changed in the next major version.
250
247
  * `silence_root_warning` (`BUNDLE_SILENCE_ROOT_WARNING`):
251
248
  Silence the warning Bundler prints when installing gems as root.
252
- * `skip_default_git_sources` (`BUNDLE_SKIP_DEFAULT_GIT_SOURCES`):
253
- Whether Bundler should skip adding default git source shortcuts to the
254
- Gemfile DSL.
255
- * `specific_platform` (`BUNDLE_SPECIFIC_PLATFORM`):
256
- Allow bundler to resolve for the specific running platform and store it in
257
- the lockfile, instead of only using a generic platform.
258
- A specific platform is the exact platform triple reported by
259
- `Gem::Platform.local`, such as `x86_64-darwin-16` or `universal-java-1.8`.
260
- On the other hand, generic platforms are those such as `ruby`, `mswin`, or
261
- `java`. In this example, `x86_64-darwin-16` would map to `ruby` and
262
- `universal-java-1.8` to `java`.
263
249
  * `ssl_ca_cert` (`BUNDLE_SSL_CA_CERT`):
264
250
  Path to a designated CA certificate file or folder containing multiple
265
251
  certificates for trusted CAs in PEM format.
@@ -276,10 +262,7 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
276
262
  The location where RubyGems installs binstubs. Defaults to `Gem.bindir`.
277
263
  * `timeout` (`BUNDLE_TIMEOUT`):
278
264
  The seconds allowed before timing out for network requests. Defaults to `10`.
279
- * `unlock_source_unlocks_spec` (`BUNDLE_UNLOCK_SOURCE_UNLOCKS_SPEC`):
280
- Whether running `bundle update --source NAME` unlocks a gem with the given
281
- name. Defaults to `true`.
282
- * `update_requires_all_flag` (`BUNDLE_UPDATE_REQUIRES_ALL_FLAG`)
265
+ * `update_requires_all_flag` (`BUNDLE_UPDATE_REQUIRES_ALL_FLAG`):
283
266
  Require passing `--all` to `bundle update` when everything should be updated,
284
267
  and disallow passing no options to `bundle update`.
285
268
  * `user_agent` (`BUNDLE_USER_AGENT`):
@@ -302,11 +285,11 @@ Bundler also allows you to work against a git repository locally
302
285
  instead of using the remote version. This can be achieved by setting
303
286
  up a local override:
304
287
 
305
- bundle config set local.GEM_NAME /path/to/local/git/repository
288
+ bundle config set --local local.GEM_NAME /path/to/local/git/repository
306
289
 
307
290
  For example, in order to use a local Rack repository, a developer could call:
308
291
 
309
- bundle config set local.rack ~/Work/git/rack
292
+ bundle config set --local local.rack ~/Work/git/rack
310
293
 
311
294
  Now instead of checking out the remote git repository, the local
312
295
  override will be used. Similar to a path source, every time the local
@@ -336,21 +319,21 @@ Bundler supports overriding gem sources with mirrors. This allows you to
336
319
  configure rubygems.org as the gem source in your Gemfile while still using your
337
320
  mirror to fetch gems.
338
321
 
339
- bundle config set mirror.SOURCE_URL MIRROR_URL
322
+ bundle config set --global mirror.SOURCE_URL MIRROR_URL
340
323
 
341
324
  For example, to use a mirror of rubygems.org hosted at rubygems-mirror.org:
342
325
 
343
- bundle config set mirror.http://rubygems.org http://rubygems-mirror.org
326
+ bundle config set --global mirror.http://rubygems.org http://rubygems-mirror.org
344
327
 
345
328
  Each mirror also provides a fallback timeout setting. If the mirror does not
346
329
  respond within the fallback timeout, Bundler will try to use the original
347
330
  server instead of the mirror.
348
331
 
349
- bundle config set mirror.SOURCE_URL.fallback_timeout TIMEOUT
332
+ bundle config set --global mirror.SOURCE_URL.fallback_timeout TIMEOUT
350
333
 
351
334
  For example, to fall back to rubygems.org after 3 seconds:
352
335
 
353
- bundle config set mirror.https://rubygems.org.fallback_timeout 3
336
+ bundle config set --global mirror.https://rubygems.org.fallback_timeout 3
354
337
 
355
338
  The default fallback timeout is 0.1 seconds, but the setting can currently
356
339
  only accept whole seconds (for example, 1, 15, or 30).
@@ -360,12 +343,12 @@ only accept whole seconds (for example, 1, 15, or 30).
360
343
  Bundler allows you to configure credentials for any gem source, which allows
361
344
  you to avoid putting secrets into your Gemfile.
362
345
 
363
- bundle config set SOURCE_HOSTNAME USERNAME:PASSWORD
346
+ bundle config set --global SOURCE_HOSTNAME USERNAME:PASSWORD
364
347
 
365
348
  For example, to save the credentials of user `claudette` for the gem source at
366
349
  `gems.longerous.com`, you would run:
367
350
 
368
- bundle config set gems.longerous.com claudette:s00pers3krit
351
+ bundle config set --global gems.longerous.com claudette:s00pers3krit
369
352
 
370
353
  Or you can set the credentials as an environment variable like this:
371
354
 
@@ -373,17 +356,34 @@ Or you can set the credentials as an environment variable like this:
373
356
 
374
357
  For gems with a git source with HTTP(S) URL you can specify credentials like so:
375
358
 
376
- bundle config set https://github.com/bundler/bundler.git username:password
359
+ bundle config set --global https://github.com/rubygems/rubygems.git username:password
377
360
 
378
361
  Or you can set the credentials as an environment variable like so:
379
362
 
380
363
  export BUNDLE_GITHUB__COM=username:password
381
364
 
382
- This is especially useful for private repositories on hosts such as Github,
365
+ This is especially useful for private repositories on hosts such as GitHub,
383
366
  where you can use personal OAuth tokens:
384
367
 
385
368
  export BUNDLE_GITHUB__COM=abcd0123generatedtoken:x-oauth-basic
386
369
 
370
+ Note that any configured credentials will be redacted by informative commands
371
+ such as `bundle config list` or `bundle config get`, unless you use the
372
+ `--parseable` flag. This is to avoid unintentionally leaking credentials when
373
+ copy-pasting bundler output.
374
+
375
+ Also note that to guarantee a sane mapping between valid environment variable
376
+ names and valid host names, bundler makes the following transformations:
377
+
378
+ * Any `-` characters in a host name are mapped to a triple dash (`___`) in the
379
+ corresponding environment variable.
380
+
381
+ * Any `.` characters in a host name are mapped to a double dash (`__`) in the
382
+ corresponding environment variable.
383
+
384
+ This means that if you have a gem server named `my.gem-host.com`, you'll need to
385
+ use the `BUNDLE_MY__GEM___HOST__COM` variable to configure credentials for it
386
+ through ENV.
387
387
 
388
388
  ## CONFIGURE BUNDLER DIRECTORIES
389
389
 
@@ -396,4 +396,3 @@ outlines the available environment variables and their default values
396
396
  BUNDLE_USER_CACHE : $BUNDLE_USER_HOME/cache
397
397
  BUNDLE_USER_CONFIG : $BUNDLE_USER_HOME/config
398
398
  BUNDLE_USER_PLUGIN : $BUNDLE_USER_HOME/plugin
399
-
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-DOCTOR" "1" "January 2020" "" ""
4
+ .TH "BUNDLE\-DOCTOR" "1" "March 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-doctor\fR \- Checks the bundle for common problems
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-EXEC" "1" "January 2020" "" ""
4
+ .TH "BUNDLE\-EXEC" "1" "March 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-exec\fR \- Execute a command in the context of the bundle
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-GEM" "1" "January 2020" "" ""
4
+ .TH "BUNDLE\-GEM" "1" "March 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-gem\fR \- Generate a project skeleton for creating a rubygem
@@ -64,8 +64,43 @@ Add an MIT license to a \fBLICENSE\.txt\fR file in the root of the generated pro
64
64
  Do not create a \fBLICENSE\.txt\fR (overrides \fB\-\-mit\fR specified in the global config)\.
65
65
  .
66
66
  .TP
67
- \fB\-t\fR, \fB\-\-test=minitest\fR, \fB\-\-test=rspec\fR
68
- Specify the test framework that Bundler should use when generating the project\. Acceptable values are \fBminitest\fR and \fBrspec\fR\. The \fBGEM_NAME\.gemspec\fR will be configured and a skeleton test/spec directory will be created based on this option\. If this option is unspecified, an interactive prompt will be displayed and the answer will be saved in Bundler\'s global config for future \fBbundle gem\fR use\. If no option is specified, the default testing framework is RSpec\.
67
+ \fB\-t\fR, \fB\-\-test=minitest\fR, \fB\-\-test=rspec\fR, \fB\-\-test=test\-unit\fR
68
+ Specify the test framework that Bundler should use when generating the project\. Acceptable values are \fBminitest\fR, \fBrspec\fR and \fBtest\-unit\fR\. The \fBGEM_NAME\.gemspec\fR will be configured and a skeleton test/spec directory will be created based on this option\. Given no option is specified:
69
+ .
70
+ .IP
71
+ When Bundler is configured to generate tests, this defaults to Bundler\'s global config setting \fBgem\.test\fR\.
72
+ .
73
+ .IP
74
+ When Bundler is configured to not generate tests, an interactive prompt will be displayed and the answer will be used for the current rubygem project\.
75
+ .
76
+ .IP
77
+ When Bundler is unconfigured, an interactive prompt will be displayed and the answer will be saved in Bundler\'s global config for future \fBbundle gem\fR use\.
78
+ .
79
+ .TP
80
+ \fB\-\-ci\fR, \fB\-\-ci=github\fR, \fB\-\-ci=travis\fR, \fB\-\-ci=gitlab\fR, \fB\-\-ci=circle\fR
81
+ Specify the continuous integration service that Bundler should use when generating the project\. Acceptable values are \fBgithub\fR, \fBtravis\fR, \fBgitlab\fR and \fBcircle\fR\. A configuration file will be generated in the project directory\. Given no option is specified:
82
+ .
83
+ .IP
84
+ When Bundler is configured to generate CI files, this defaults to Bundler\'s global config setting \fBgem\.ci\fR\.
85
+ .
86
+ .IP
87
+ When Bundler is configured to not generate CI files, an interactive prompt will be displayed and the answer will be used for the current rubygem project\.
88
+ .
89
+ .IP
90
+ When Bundler is unconfigured, an interactive prompt will be displayed and the answer will be saved in Bundler\'s global config for future \fBbundle gem\fR use\.
91
+ .
92
+ .TP
93
+ \fB\-\-linter\fR, \fB\-\-linter=rubocop\fR, \fB\-\-linter=standard\fR
94
+ Specify the linter and code formatter that Bundler should add to the project\'s development dependencies\. Acceptable values are \fBrubocop\fR and \fBstandard\fR\. A configuration file will be generated in the project directory\. Given no option is specified:
95
+ .
96
+ .IP
97
+ When Bundler is configured to add a linter, this defaults to Bundler\'s global config setting \fBgem\.linter\fR\.
98
+ .
99
+ .IP
100
+ When Bundler is configured not to add a linter, an interactive prompt will be displayed and the answer will be used for the current rubygem project\.
101
+ .
102
+ .IP
103
+ When Bundler is unconfigured, an interactive prompt will be displayed and the answer will be saved in Bundler\'s global config for future \fBbundle gem\fR use\.
69
104
  .
70
105
  .TP
71
106
  \fB\-e\fR, \fB\-\-edit[=EDITOR]\fR