bundler 2.1.4 → 2.2.33

Sign up to get free protection for your applications and to get access to all the features.
Files changed (251) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +2017 -1430
  3. data/README.md +7 -9
  4. data/bundler.gemspec +5 -6
  5. data/exe/bundle +3 -0
  6. data/lib/bundler/build_metadata.rb +3 -11
  7. data/lib/bundler/cli/add.rb +1 -1
  8. data/lib/bundler/cli/binstubs.rb +6 -2
  9. data/lib/bundler/cli/cache.rb +3 -8
  10. data/lib/bundler/cli/check.rb +4 -2
  11. data/lib/bundler/cli/clean.rb +1 -1
  12. data/lib/bundler/cli/common.rb +29 -2
  13. data/lib/bundler/cli/console.rb +1 -1
  14. data/lib/bundler/cli/doctor.rb +16 -5
  15. data/lib/bundler/cli/exec.rb +5 -10
  16. data/lib/bundler/cli/fund.rb +36 -0
  17. data/lib/bundler/cli/gem.rb +209 -28
  18. data/lib/bundler/cli/info.rb +28 -5
  19. data/lib/bundler/cli/init.rb +2 -2
  20. data/lib/bundler/cli/inject.rb +1 -1
  21. data/lib/bundler/cli/install.rb +22 -34
  22. data/lib/bundler/cli/issue.rb +5 -4
  23. data/lib/bundler/cli/list.rb +19 -11
  24. data/lib/bundler/cli/lock.rb +5 -1
  25. data/lib/bundler/cli/open.rb +1 -2
  26. data/lib/bundler/cli/outdated.rb +95 -75
  27. data/lib/bundler/cli/plugin.rb +10 -0
  28. data/lib/bundler/cli/pristine.rb +5 -0
  29. data/lib/bundler/cli/remove.rb +1 -2
  30. data/lib/bundler/cli/show.rb +1 -1
  31. data/lib/bundler/cli/update.rb +14 -7
  32. data/lib/bundler/cli.rb +89 -66
  33. data/lib/bundler/compact_index_client/cache.rb +6 -14
  34. data/lib/bundler/compact_index_client/gem_parser.rb +28 -0
  35. data/lib/bundler/compact_index_client/updater.rb +13 -22
  36. data/lib/bundler/compact_index_client.rb +3 -3
  37. data/lib/bundler/current_ruby.rb +5 -4
  38. data/lib/bundler/definition.rb +193 -363
  39. data/lib/bundler/dep_proxy.rb +16 -9
  40. data/lib/bundler/dependency.rb +3 -10
  41. data/lib/bundler/digest.rb +71 -0
  42. data/lib/bundler/dsl.rb +71 -47
  43. data/lib/bundler/endpoint_specification.rb +1 -1
  44. data/lib/bundler/env.rb +1 -1
  45. data/lib/bundler/environment_preserver.rb +29 -2
  46. data/lib/bundler/errors.rb +20 -3
  47. data/lib/bundler/feature_flag.rb +0 -8
  48. data/lib/bundler/fetcher/base.rb +1 -1
  49. data/lib/bundler/fetcher/compact_index.rb +2 -2
  50. data/lib/bundler/fetcher/downloader.rb +10 -7
  51. data/lib/bundler/fetcher/index.rb +3 -5
  52. data/lib/bundler/fetcher.rb +7 -5
  53. data/lib/bundler/friendly_errors.rb +25 -43
  54. data/lib/bundler/gem_helper.rb +53 -31
  55. data/lib/bundler/gem_helpers.rb +36 -25
  56. data/lib/bundler/gem_version_promoter.rb +4 -4
  57. data/lib/bundler/graph.rb +1 -1
  58. data/lib/bundler/index.rb +9 -9
  59. data/lib/bundler/injector.rb +23 -5
  60. data/lib/bundler/inline.rb +3 -2
  61. data/lib/bundler/installer/gem_installer.rb +6 -19
  62. data/lib/bundler/installer/parallel_installer.rb +46 -25
  63. data/lib/bundler/installer/standalone.rb +30 -10
  64. data/lib/bundler/installer.rb +36 -56
  65. data/lib/bundler/lazy_specification.rb +62 -26
  66. data/lib/bundler/lockfile_generator.rb +1 -1
  67. data/lib/bundler/lockfile_parser.rb +8 -34
  68. data/lib/bundler/man/.document +1 -0
  69. data/{man → lib/bundler/man}/bundle-add.1 +1 -1
  70. data/{man/bundle-add.ronn → lib/bundler/man/bundle-add.1.ronn} +0 -0
  71. data/{man → lib/bundler/man}/bundle-binstubs.1 +5 -3
  72. data/{man/bundle-binstubs.ronn → lib/bundler/man/bundle-binstubs.1.ronn} +2 -4
  73. data/{man → lib/bundler/man}/bundle-cache.1 +1 -1
  74. data/{man/bundle-cache.ronn → lib/bundler/man/bundle-cache.1.ronn} +0 -0
  75. data/{man → lib/bundler/man}/bundle-check.1 +1 -1
  76. data/{man/bundle-check.ronn → lib/bundler/man/bundle-check.1.ronn} +0 -0
  77. data/{man → lib/bundler/man}/bundle-clean.1 +1 -1
  78. data/{man/bundle-clean.ronn → lib/bundler/man/bundle-clean.1.ronn} +0 -0
  79. data/{man → lib/bundler/man}/bundle-config.1 +40 -41
  80. data/{man/bundle-config.ronn → lib/bundler/man/bundle-config.1.ronn} +50 -53
  81. data/{man → lib/bundler/man}/bundle-doctor.1 +1 -1
  82. data/{man/bundle-doctor.ronn → lib/bundler/man/bundle-doctor.1.ronn} +0 -0
  83. data/{man → lib/bundler/man}/bundle-exec.1 +1 -1
  84. data/{man/bundle-exec.ronn → lib/bundler/man/bundle-exec.1.ronn} +0 -0
  85. data/{man → lib/bundler/man}/bundle-gem.1 +38 -3
  86. data/{man/bundle-gem.ronn → lib/bundler/man/bundle-gem.1.ronn} +46 -7
  87. data/{man → lib/bundler/man}/bundle-info.1 +1 -1
  88. data/{man/bundle-info.ronn → lib/bundler/man/bundle-info.1.ronn} +0 -0
  89. data/{man → lib/bundler/man}/bundle-init.1 +1 -1
  90. data/{man/bundle-init.ronn → lib/bundler/man/bundle-init.1.ronn} +0 -0
  91. data/{man → lib/bundler/man}/bundle-inject.1 +1 -1
  92. data/{man/bundle-inject.ronn → lib/bundler/man/bundle-inject.1.ronn} +0 -0
  93. data/{man → lib/bundler/man}/bundle-install.1 +30 -3
  94. data/{man/bundle-install.ronn → lib/bundler/man/bundle-install.1.ronn} +25 -3
  95. data/{man → lib/bundler/man}/bundle-list.1 +7 -7
  96. data/{man/bundle-list.ronn → lib/bundler/man/bundle-list.1.ronn} +6 -6
  97. data/{man → lib/bundler/man}/bundle-lock.1 +1 -1
  98. data/{man/bundle-lock.ronn → lib/bundler/man/bundle-lock.1.ronn} +0 -0
  99. data/{man → lib/bundler/man}/bundle-open.1 +1 -1
  100. data/{man/bundle-open.ronn → lib/bundler/man/bundle-open.1.ronn} +0 -0
  101. data/{man → lib/bundler/man}/bundle-outdated.1 +1 -1
  102. data/{man/bundle-outdated.ronn → lib/bundler/man/bundle-outdated.1.ronn} +0 -0
  103. data/{man → lib/bundler/man}/bundle-platform.1 +1 -1
  104. data/{man/bundle-platform.ronn → lib/bundler/man/bundle-platform.1.ronn} +0 -0
  105. data/{man → lib/bundler/man}/bundle-pristine.1 +1 -1
  106. data/{man/bundle-pristine.ronn → lib/bundler/man/bundle-pristine.1.ronn} +0 -0
  107. data/{man → lib/bundler/man}/bundle-remove.1 +1 -1
  108. data/{man/bundle-remove.ronn → lib/bundler/man/bundle-remove.1.ronn} +0 -0
  109. data/{man → lib/bundler/man}/bundle-show.1 +1 -1
  110. data/{man/bundle-show.ronn → lib/bundler/man/bundle-show.1.ronn} +0 -0
  111. data/{man → lib/bundler/man}/bundle-update.1 +4 -4
  112. data/{man/bundle-update.ronn → lib/bundler/man/bundle-update.1.ronn} +3 -3
  113. data/{man → lib/bundler/man}/bundle-viz.1 +1 -1
  114. data/{man/bundle-viz.ronn → lib/bundler/man/bundle-viz.1.ronn} +0 -0
  115. data/{man → lib/bundler/man}/bundle.1 +1 -1
  116. data/{man/bundle.ronn → lib/bundler/man/bundle.1.ronn} +0 -0
  117. data/{man → lib/bundler/man}/gemfile.5 +30 -4
  118. data/{man → lib/bundler/man}/gemfile.5.ronn +12 -4
  119. data/{man → lib/bundler/man}/index.txt +0 -0
  120. data/lib/bundler/mirror.rb +2 -2
  121. data/lib/bundler/plugin/api/source.rb +23 -1
  122. data/lib/bundler/plugin/dsl.rb +1 -1
  123. data/lib/bundler/plugin/index.rb +13 -1
  124. data/lib/bundler/plugin/installer/rubygems.rb +1 -1
  125. data/lib/bundler/plugin/installer.rb +11 -11
  126. data/lib/bundler/plugin/source_list.rb +5 -1
  127. data/lib/bundler/plugin.rb +56 -11
  128. data/lib/bundler/psyched_yaml.rb +0 -15
  129. data/lib/bundler/remote_specification.rb +5 -2
  130. data/lib/bundler/resolver/spec_group.rb +56 -53
  131. data/lib/bundler/resolver.rb +94 -128
  132. data/lib/bundler/retry.rb +2 -2
  133. data/lib/bundler/ruby_version.rb +1 -1
  134. data/lib/bundler/rubygems_ext.rb +96 -16
  135. data/lib/bundler/rubygems_gem_installer.rb +69 -8
  136. data/lib/bundler/rubygems_integration.rb +57 -72
  137. data/lib/bundler/runtime.rb +22 -25
  138. data/lib/bundler/settings.rb +142 -64
  139. data/lib/bundler/setup.rb +2 -2
  140. data/lib/bundler/shared_helpers.rb +5 -13
  141. data/lib/bundler/similarity_detector.rb +1 -1
  142. data/lib/bundler/source/git/git_proxy.rb +88 -84
  143. data/lib/bundler/source/git.rb +43 -23
  144. data/lib/bundler/source/metadata.rb +0 -4
  145. data/lib/bundler/source/path/installer.rb +10 -10
  146. data/lib/bundler/source/path.rb +10 -4
  147. data/lib/bundler/source/rubygems/remote.rb +1 -1
  148. data/lib/bundler/source/rubygems.rb +126 -116
  149. data/lib/bundler/source/rubygems_aggregate.rb +68 -0
  150. data/lib/bundler/source.rb +22 -1
  151. data/lib/bundler/source_list.rb +101 -63
  152. data/lib/bundler/source_map.rb +58 -0
  153. data/lib/bundler/spec_set.rb +26 -41
  154. data/lib/bundler/stub_specification.rb +25 -7
  155. data/lib/bundler/templates/Executable.bundler +6 -6
  156. data/lib/bundler/templates/Gemfile +1 -1
  157. data/lib/bundler/templates/gems.rb +1 -1
  158. data/lib/bundler/templates/newgem/CHANGELOG.md.tt +5 -0
  159. data/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt +57 -47
  160. data/lib/bundler/templates/newgem/Gemfile.tt +12 -1
  161. data/lib/bundler/templates/newgem/README.md.tt +6 -5
  162. data/lib/bundler/templates/newgem/Rakefile.tt +23 -5
  163. data/lib/bundler/templates/newgem/bin/console.tt +1 -0
  164. data/lib/bundler/templates/newgem/circleci/config.yml.tt +13 -0
  165. data/lib/bundler/templates/newgem/ext/newgem/extconf.rb.tt +2 -0
  166. data/lib/bundler/templates/newgem/github/workflows/main.yml.tt +27 -0
  167. data/lib/bundler/templates/newgem/gitlab-ci.yml.tt +9 -0
  168. data/lib/bundler/templates/newgem/lib/newgem/version.rb.tt +2 -0
  169. data/lib/bundler/templates/newgem/lib/newgem.rb.tt +4 -2
  170. data/lib/bundler/templates/newgem/newgem.gemspec.tt +27 -17
  171. data/lib/bundler/templates/newgem/rubocop.yml.tt +13 -0
  172. data/lib/bundler/templates/newgem/sig/newgem.rbs.tt +8 -0
  173. data/lib/bundler/templates/newgem/spec/newgem_spec.rb.tt +2 -0
  174. data/lib/bundler/templates/newgem/spec/spec_helper.rb.tt +2 -1
  175. data/lib/bundler/templates/newgem/standard.yml.tt +2 -0
  176. data/lib/bundler/templates/newgem/test/{newgem_test.rb.tt → minitest/newgem_test.rb.tt} +2 -0
  177. data/lib/bundler/templates/newgem/test/{test_helper.rb.tt → minitest/test_helper.rb.tt} +2 -0
  178. data/lib/bundler/templates/newgem/test/test-unit/newgem_test.rb.tt +15 -0
  179. data/lib/bundler/templates/newgem/test/test-unit/test_helper.rb.tt +6 -0
  180. data/lib/bundler/ui/shell.rb +5 -5
  181. data/lib/bundler/uri_credentials_filter.rb +3 -1
  182. data/lib/bundler/vendor/.document +1 -0
  183. data/lib/bundler/vendor/connection_pool/LICENSE +20 -0
  184. data/lib/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.rb +19 -21
  185. data/lib/bundler/vendor/connection_pool/lib/connection_pool/version.rb +1 -1
  186. data/lib/bundler/vendor/connection_pool/lib/connection_pool/wrapper.rb +57 -0
  187. data/lib/bundler/vendor/connection_pool/lib/connection_pool.rb +39 -74
  188. data/lib/bundler/vendor/fileutils/LICENSE.txt +22 -0
  189. data/lib/bundler/vendor/molinillo/LICENSE +9 -0
  190. data/lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb +7 -0
  191. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb +2 -2
  192. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb +11 -5
  193. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +36 -4
  194. data/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +3 -3
  195. data/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb +1 -1
  196. data/lib/bundler/vendor/molinillo/lib/molinillo/modules/specification_provider.rb +12 -1
  197. data/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb +49 -47
  198. data/lib/bundler/vendor/molinillo/lib/molinillo.rb +0 -1
  199. data/lib/bundler/vendor/net-http-persistent/README.rdoc +82 -0
  200. data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +82 -189
  201. data/lib/bundler/vendor/thor/LICENSE.md +20 -0
  202. data/lib/bundler/vendor/thor/lib/thor/actions/create_link.rb +2 -1
  203. data/lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb +4 -2
  204. data/lib/bundler/vendor/thor/lib/thor/actions.rb +1 -1
  205. data/lib/bundler/vendor/thor/lib/thor/base.rb +9 -0
  206. data/lib/bundler/vendor/thor/lib/thor/error.rb +1 -1
  207. data/lib/bundler/vendor/thor/lib/thor/parser/arguments.rb +5 -1
  208. data/lib/bundler/vendor/thor/lib/thor/parser/options.rb +9 -8
  209. data/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +5 -2
  210. data/lib/bundler/vendor/thor/lib/thor/shell/color.rb +5 -1
  211. data/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
  212. data/lib/bundler/vendor/thor/lib/thor.rb +5 -13
  213. data/lib/bundler/vendor/tmpdir/lib/tmpdir.rb +154 -0
  214. data/lib/bundler/vendor/tsort/LICENSE.txt +22 -0
  215. data/lib/bundler/vendor/tsort/lib/tsort.rb +453 -0
  216. data/lib/bundler/vendor/uri/LICENSE.txt +22 -0
  217. data/lib/bundler/vendored_persistent.rb +0 -7
  218. data/lib/bundler/vendored_tmpdir.rb +4 -0
  219. data/lib/bundler/vendored_tsort.rb +4 -0
  220. data/lib/bundler/version.rb +1 -1
  221. data/lib/bundler/worker.rb +20 -5
  222. data/lib/bundler/yaml_serializer.rb +1 -1
  223. data/lib/bundler.rb +52 -37
  224. metadata +90 -89
  225. data/lib/bundler/vendor/connection_pool/lib/connection_pool/monotonic_time.rb +0 -66
  226. data/lib/bundler/vendor/molinillo/lib/molinillo/compatibility.rb +0 -26
  227. data/man/bundle-add.1.txt +0 -58
  228. data/man/bundle-binstubs.1.txt +0 -48
  229. data/man/bundle-cache.1.txt +0 -78
  230. data/man/bundle-check.1.txt +0 -33
  231. data/man/bundle-clean.1.txt +0 -26
  232. data/man/bundle-config.1.txt +0 -528
  233. data/man/bundle-doctor.1.txt +0 -44
  234. data/man/bundle-exec.1.txt +0 -178
  235. data/man/bundle-gem.1.txt +0 -91
  236. data/man/bundle-info.1.txt +0 -21
  237. data/man/bundle-init.1.txt +0 -34
  238. data/man/bundle-inject.1.txt +0 -32
  239. data/man/bundle-install.1.txt +0 -401
  240. data/man/bundle-list.1.txt +0 -43
  241. data/man/bundle-lock.1.txt +0 -93
  242. data/man/bundle-open.1.txt +0 -29
  243. data/man/bundle-outdated.1.txt +0 -131
  244. data/man/bundle-platform.1.txt +0 -57
  245. data/man/bundle-pristine.1.txt +0 -44
  246. data/man/bundle-remove.1.txt +0 -34
  247. data/man/bundle-show.1.txt +0 -27
  248. data/man/bundle-update.1.txt +0 -390
  249. data/man/bundle-viz.1.txt +0 -39
  250. data/man/bundle.1.txt +0 -116
  251. data/man/gemfile.5.txt +0 -649
@@ -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\-CACHE" "1" "January 2020" "" ""
4
+ .TH "BUNDLE\-CACHE" "1" "December 2021" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-cache\fR \- Package your needed \fB\.gem\fR files into your application
@@ -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\-CHECK" "1" "January 2020" "" ""
4
+ .TH "BUNDLE\-CHECK" "1" "December 2021" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-check\fR \- Verifies if dependencies are satisfied by installed gems
@@ -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\-CLEAN" "1" "January 2020" "" ""
4
+ .TH "BUNDLE\-CLEAN" "1" "December 2021" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-clean\fR \- Cleans up unused gems in your bundler directory
@@ -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" "December 2021" "" ""
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)
@@ -42,7 +42,7 @@ Executing \fBbundle config set <name> <value>\fR will set that configuration to
42
42
  Executing \fBbundle config set \-\-global <name> <value>\fR works the same as above\.
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 \-\-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\.
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:
@@ -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 1 on Windows, and to the the number of processors on other platforms\.
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
  .
@@ -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
@@ -30,8 +30,10 @@ overridden and user will be warned.
30
30
 
31
31
  Executing `bundle config set --global <name> <value>` works the same as above.
32
32
 
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`.
33
+ Executing `bundle config set --local <name> <value>` will set that configuration
34
+ in the directory for the local application. The configuration will be stored in
35
+ `<project_root>/.bundle/config`. If `BUNDLE_APP_CONFIG` is set, the configuration
36
+ will be stored in `$BUNDLE_APP_CONFIG/config`.
35
37
 
36
38
  Executing `bundle config unset <name>` will delete the configuration in both
37
39
  local and global sources.
@@ -45,10 +47,6 @@ configuration only from the local application.
45
47
  Executing bundle with the `BUNDLE_IGNORE_CONFIG` environment variable set will
46
48
  cause it to ignore all configuration.
47
49
 
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
50
  ## REMEMBERING OPTIONS
53
51
 
54
52
  Flags passed to `bundle install` or the Bundler runtime, such as `--path foo` or
@@ -57,7 +55,7 @@ application's configuration (normally, `./.bundle/config`).
57
55
 
58
56
  However, this will be changed in bundler 3, so it's better not to rely on this
59
57
  behavior. If these options must be remembered, it's better to set them using
60
- `bundle config` (e.g., `bundle config set path foo`).
58
+ `bundle config` (e.g., `bundle config set --local path foo`).
61
59
 
62
60
  The options that can be configured are:
63
61
 
@@ -101,7 +99,7 @@ pass configuration flags to `gem install` to specify where to find the
101
99
  Since the specific location of that executable can change from machine
102
100
  to machine, you can specify these flags on a per-machine basis.
103
101
 
104
- bundle config set build.mysql --with-mysql-config=/usr/local/mysql/bin/mysql_config
102
+ bundle config set --global build.mysql --with-mysql-config=/usr/local/mysql/bin/mysql_config
105
103
 
106
104
  After running this command, every time bundler needs to install the
107
105
  `mysql` gem, it will pass along the flags you specified.
@@ -131,9 +129,6 @@ the environment variable `BUNDLE_LOCAL__RACK`.
131
129
  The following is a list of all configuration keys and their purpose. You can
132
130
  learn more about their operation in [bundle install(1)](bundle-install.1.html).
133
131
 
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
132
  * `allow_deployment_source_credential_changes` (`BUNDLE_ALLOW_DEPLOYMENT_SOURCE_CREDENTIAL_CHANGES`):
138
133
  When in deployment mode, allow changing the credentials to a gem's source.
139
134
  Ex: `https://some.host.com/gems/path/` -> `https://user_name:password@some.host.com/gems/path`
@@ -148,7 +143,8 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
148
143
  Install executables from gems in the bundle to the specified directory.
149
144
  Defaults to `false`.
150
145
  * `cache_all` (`BUNDLE_CACHE_ALL`):
151
- Cache all gems, including path and git gems.
146
+ Cache all gems, including path and git gems. This needs to be explicitly
147
+ configured on bundler 1 and bundler 2, but will be the default on bundler 3.
152
148
  * `cache_all_platforms` (`BUNDLE_CACHE_ALL_PLATFORMS`):
153
149
  Cache gems for all platforms.
154
150
  * `cache_path` (`BUNDLE_CACHE_PATH`):
@@ -175,12 +171,9 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
175
171
  * `disable_local_branch_check` (`BUNDLE_DISABLE_LOCAL_BRANCH_CHECK`):
176
172
  Allow Bundler to use a local git override without a branch specified in the
177
173
  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.
174
+ * `disable_local_revision_check` (`BUNDLE_DISABLE_LOCAL_REVISION_CHECK`):
175
+ Allow Bundler to use a local git override without checking if the revision
176
+ present in the lockfile is present in the repository.
184
177
  * `disable_shared_gems` (`BUNDLE_DISABLE_SHARED_GEMS`):
185
178
  Stop Bundler from accessing gems installed to RubyGems' normal location.
186
179
  * `disable_version_check` (`BUNDLE_DISABLE_VERSION_CHECK`):
@@ -193,6 +186,10 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
193
186
  Disallow changes to the `Gemfile`. When the `Gemfile` is changed and the
194
187
  lockfile has not been updated, running Bundler commands will be blocked.
195
188
  Defaults to `true` when `--deployment` is used.
189
+ * `gem.github_username` (`BUNDLE_GEM__GITHUB_USERNAME`):
190
+ Sets a GitHub username or organization to be used in `README` file when you
191
+ create a new gem via `bundle gem` command. It can be overridden by passing an
192
+ explicit `--github-username` flag to `bundle gem`.
196
193
  * `gem.push_key` (`BUNDLE_GEM__PUSH_KEY`):
197
194
  Sets the `--key` parameter for `gem push` when using the `rake release`
198
195
  command with a private gemstash server.
@@ -205,20 +202,18 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
205
202
  * `global_gem_cache` (`BUNDLE_GLOBAL_GEM_CACHE`):
206
203
  Whether Bundler should cache all gems globally, rather than locally to the
207
204
  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`)
205
+ * `ignore_messages` (`BUNDLE_IGNORE_MESSAGES`):
206
+ When set, no post install messages will be printed. To silence a single gem,
207
+ use dot notation like `ignore_messages.httparty true`.
208
+ * `init_gems_rb` (`BUNDLE_INIT_GEMS_RB`):
212
209
  Generate a `gems.rb` instead of a `Gemfile` when running `bundle init`.
213
210
  * `jobs` (`BUNDLE_JOBS`):
214
- The number of gems Bundler can install in parallel. Defaults to 1.
211
+ The number of gems Bundler can install in parallel. Defaults to 1 on Windows,
212
+ and to the the number of processors on other platforms.
215
213
  * `no_install` (`BUNDLE_NO_INSTALL`):
216
214
  Whether `bundle package` should skip installing gems.
217
215
  * `no_prune` (`BUNDLE_NO_PRUNE`):
218
216
  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
217
  * `path` (`BUNDLE_PATH`):
223
218
  The location on disk where all gems in your bundle will be located regardless
224
219
  of `$GEM_HOME` or `$GEM_PATH` values. Bundle gems not found in this location
@@ -232,7 +227,7 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
232
227
  Enable Bundler's experimental plugin system.
233
228
  * `prefer_patch` (BUNDLE_PREFER_PATCH):
234
229
  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`)
230
+ * `print_only_version_number` (`BUNDLE_PRINT_ONLY_VERSION_NUMBER`):
236
231
  Print only version number from `bundler --version`.
237
232
  * `redirect` (`BUNDLE_REDIRECT`):
238
233
  The number of redirects allowed for network requests. Defaults to `5`.
@@ -249,17 +244,6 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
249
244
  be changed in the next major version.
250
245
  * `silence_root_warning` (`BUNDLE_SILENCE_ROOT_WARNING`):
251
246
  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
247
  * `ssl_ca_cert` (`BUNDLE_SSL_CA_CERT`):
264
248
  Path to a designated CA certificate file or folder containing multiple
265
249
  certificates for trusted CAs in PEM format.
@@ -276,10 +260,7 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
276
260
  The location where RubyGems installs binstubs. Defaults to `Gem.bindir`.
277
261
  * `timeout` (`BUNDLE_TIMEOUT`):
278
262
  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`)
263
+ * `update_requires_all_flag` (`BUNDLE_UPDATE_REQUIRES_ALL_FLAG`):
283
264
  Require passing `--all` to `bundle update` when everything should be updated,
284
265
  and disallow passing no options to `bundle update`.
285
266
  * `user_agent` (`BUNDLE_USER_AGENT`):
@@ -302,11 +283,11 @@ Bundler also allows you to work against a git repository locally
302
283
  instead of using the remote version. This can be achieved by setting
303
284
  up a local override:
304
285
 
305
- bundle config set local.GEM_NAME /path/to/local/git/repository
286
+ bundle config set --local local.GEM_NAME /path/to/local/git/repository
306
287
 
307
288
  For example, in order to use a local Rack repository, a developer could call:
308
289
 
309
- bundle config set local.rack ~/Work/git/rack
290
+ bundle config set --local local.rack ~/Work/git/rack
310
291
 
311
292
  Now instead of checking out the remote git repository, the local
312
293
  override will be used. Similar to a path source, every time the local
@@ -336,21 +317,21 @@ Bundler supports overriding gem sources with mirrors. This allows you to
336
317
  configure rubygems.org as the gem source in your Gemfile while still using your
337
318
  mirror to fetch gems.
338
319
 
339
- bundle config set mirror.SOURCE_URL MIRROR_URL
320
+ bundle config set --global mirror.SOURCE_URL MIRROR_URL
340
321
 
341
322
  For example, to use a mirror of rubygems.org hosted at rubygems-mirror.org:
342
323
 
343
- bundle config set mirror.http://rubygems.org http://rubygems-mirror.org
324
+ bundle config set --global mirror.http://rubygems.org http://rubygems-mirror.org
344
325
 
345
326
  Each mirror also provides a fallback timeout setting. If the mirror does not
346
327
  respond within the fallback timeout, Bundler will try to use the original
347
328
  server instead of the mirror.
348
329
 
349
- bundle config set mirror.SOURCE_URL.fallback_timeout TIMEOUT
330
+ bundle config set --global mirror.SOURCE_URL.fallback_timeout TIMEOUT
350
331
 
351
332
  For example, to fall back to rubygems.org after 3 seconds:
352
333
 
353
- bundle config set mirror.https://rubygems.org.fallback_timeout 3
334
+ bundle config set --global mirror.https://rubygems.org.fallback_timeout 3
354
335
 
355
336
  The default fallback timeout is 0.1 seconds, but the setting can currently
356
337
  only accept whole seconds (for example, 1, 15, or 30).
@@ -360,12 +341,12 @@ only accept whole seconds (for example, 1, 15, or 30).
360
341
  Bundler allows you to configure credentials for any gem source, which allows
361
342
  you to avoid putting secrets into your Gemfile.
362
343
 
363
- bundle config set SOURCE_HOSTNAME USERNAME:PASSWORD
344
+ bundle config set --global SOURCE_HOSTNAME USERNAME:PASSWORD
364
345
 
365
346
  For example, to save the credentials of user `claudette` for the gem source at
366
347
  `gems.longerous.com`, you would run:
367
348
 
368
- bundle config set gems.longerous.com claudette:s00pers3krit
349
+ bundle config set --global gems.longerous.com claudette:s00pers3krit
369
350
 
370
351
  Or you can set the credentials as an environment variable like this:
371
352
 
@@ -373,7 +354,7 @@ Or you can set the credentials as an environment variable like this:
373
354
 
374
355
  For gems with a git source with HTTP(S) URL you can specify credentials like so:
375
356
 
376
- bundle config set https://github.com/bundler/bundler.git username:password
357
+ bundle config set --global https://github.com/rubygems/rubygems.git username:password
377
358
 
378
359
  Or you can set the credentials as an environment variable like so:
379
360
 
@@ -384,6 +365,23 @@ where you can use personal OAuth tokens:
384
365
 
385
366
  export BUNDLE_GITHUB__COM=abcd0123generatedtoken:x-oauth-basic
386
367
 
368
+ Note that any configured credentials will be redacted by informative commands
369
+ such as `bundle config list` or `bundle config get`, unless you use the
370
+ `--parseable` flag. This is to avoid unintentionally leaking credentials when
371
+ copy-pasting bundler output.
372
+
373
+ Also note that to guarantee a sane mapping between valid environment variable
374
+ names and valid host names, bundler makes the following transformations:
375
+
376
+ * Any `-` characters in a host name are mapped to a triple dash (`___`) in the
377
+ corresponding environment variable.
378
+
379
+ * Any `.` characters in a host name are mapped to a double dash (`__`) in the
380
+ corresponding environment variable.
381
+
382
+ This means that if you have a gem server named `my.gem-host.com`, you'll need to
383
+ use the `BUNDLE_MY__GEM___HOST__COM` variable to configure credentials for it
384
+ through ENV.
387
385
 
388
386
  ## CONFIGURE BUNDLER DIRECTORIES
389
387
 
@@ -396,4 +394,3 @@ outlines the available environment variables and their default values
396
394
  BUNDLE_USER_CACHE : $BUNDLE_USER_HOME/cache
397
395
  BUNDLE_USER_CONFIG : $BUNDLE_USER_HOME/config
398
396
  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" "December 2021" "" ""
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" "December 2021" "" ""
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" "December 2021" "" ""
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