bundler 2.1.1 → 2.2.0.rc.2

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of bundler might be problematic. Click here for more details.

Files changed (194) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +1543 -1418
  3. data/README.md +6 -8
  4. data/bundler.gemspec +3 -3
  5. data/exe/bundle +3 -0
  6. data/lib/bundler.rb +21 -7
  7. data/lib/bundler/build_metadata.rb +3 -11
  8. data/lib/bundler/cli.rb +54 -20
  9. data/lib/bundler/cli/add.rb +1 -1
  10. data/lib/bundler/cli/cache.rb +1 -7
  11. data/lib/bundler/cli/clean.rb +1 -1
  12. data/lib/bundler/cli/common.rb +14 -0
  13. data/lib/bundler/cli/console.rb +1 -1
  14. data/lib/bundler/cli/doctor.rb +1 -1
  15. data/lib/bundler/cli/exec.rb +1 -1
  16. data/lib/bundler/cli/fund.rb +36 -0
  17. data/lib/bundler/cli/gem.rb +84 -11
  18. data/lib/bundler/cli/info.rb +15 -4
  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 +12 -18
  22. data/lib/bundler/cli/issue.rb +2 -2
  23. data/lib/bundler/cli/list.rb +12 -10
  24. data/lib/bundler/cli/outdated.rb +89 -66
  25. data/lib/bundler/cli/plugin.rb +10 -0
  26. data/lib/bundler/cli/pristine.rb +5 -0
  27. data/lib/bundler/cli/show.rb +1 -1
  28. data/lib/bundler/cli/update.rb +2 -0
  29. data/lib/bundler/compact_index_client.rb +1 -1
  30. data/lib/bundler/compact_index_client/cache.rb +1 -1
  31. data/lib/bundler/definition.rb +51 -60
  32. data/lib/bundler/dep_proxy.rb +1 -1
  33. data/lib/bundler/dependency.rb +0 -9
  34. data/lib/bundler/dsl.rb +5 -9
  35. data/lib/bundler/endpoint_specification.rb +1 -1
  36. data/lib/bundler/environment_preserver.rb +26 -2
  37. data/lib/bundler/errors.rb +1 -0
  38. data/lib/bundler/feature_flag.rb +0 -2
  39. data/lib/bundler/fetcher.rb +4 -3
  40. data/lib/bundler/fetcher/base.rb +1 -1
  41. data/lib/bundler/fetcher/compact_index.rb +1 -1
  42. data/lib/bundler/fetcher/downloader.rb +1 -1
  43. data/lib/bundler/fetcher/index.rb +1 -1
  44. data/lib/bundler/friendly_errors.rb +7 -13
  45. data/lib/bundler/gem_helper.rb +33 -19
  46. data/lib/bundler/gem_helpers.rb +6 -1
  47. data/lib/bundler/gem_version_promoter.rb +2 -2
  48. data/lib/bundler/graph.rb +1 -1
  49. data/lib/bundler/index.rb +1 -1
  50. data/lib/bundler/injector.rb +15 -4
  51. data/lib/bundler/inline.rb +2 -2
  52. data/lib/bundler/installer.rb +30 -29
  53. data/lib/bundler/installer/gem_installer.rb +3 -3
  54. data/lib/bundler/installer/parallel_installer.rb +10 -10
  55. data/lib/bundler/installer/standalone.rb +2 -2
  56. data/lib/bundler/lazy_specification.rb +19 -6
  57. data/lib/bundler/lockfile_generator.rb +1 -1
  58. data/lib/bundler/lockfile_parser.rb +1 -1
  59. data/lib/bundler/mirror.rb +2 -2
  60. data/lib/bundler/plugin.rb +30 -5
  61. data/lib/bundler/plugin/index.rb +10 -1
  62. data/lib/bundler/plugin/installer.rb +1 -1
  63. data/lib/bundler/plugin/installer/rubygems.rb +1 -1
  64. data/lib/bundler/plugin/source_list.rb +1 -1
  65. data/lib/bundler/psyched_yaml.rb +0 -15
  66. data/lib/bundler/remote_specification.rb +5 -2
  67. data/lib/bundler/resolver.rb +32 -9
  68. data/lib/bundler/resolver/spec_group.rb +27 -6
  69. data/lib/bundler/retry.rb +1 -1
  70. data/lib/bundler/ruby_version.rb +1 -1
  71. data/lib/bundler/rubygems_ext.rb +53 -9
  72. data/lib/bundler/rubygems_gem_installer.rb +3 -9
  73. data/lib/bundler/rubygems_integration.rb +23 -54
  74. data/lib/bundler/runtime.rb +4 -14
  75. data/lib/bundler/settings.rb +49 -45
  76. data/lib/bundler/shared_helpers.rb +2 -2
  77. data/lib/bundler/similarity_detector.rb +1 -1
  78. data/lib/bundler/source.rb +1 -1
  79. data/lib/bundler/source/git.rb +5 -5
  80. data/lib/bundler/source/git/git_proxy.rb +56 -59
  81. data/lib/bundler/source/path.rb +7 -3
  82. data/lib/bundler/source/path/installer.rb +8 -10
  83. data/lib/bundler/source/rubygems.rb +13 -16
  84. data/lib/bundler/source/rubygems/remote.rb +1 -1
  85. data/lib/bundler/source_list.rb +2 -2
  86. data/lib/bundler/spec_set.rb +1 -1
  87. data/lib/bundler/stub_specification.rb +17 -5
  88. data/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt +57 -47
  89. data/lib/bundler/templates/newgem/Gemfile.tt +9 -1
  90. data/lib/bundler/templates/newgem/README.md.tt +1 -1
  91. data/lib/bundler/templates/newgem/Rakefile.tt +19 -5
  92. data/lib/bundler/templates/newgem/bin/console.tt +1 -0
  93. data/lib/bundler/templates/newgem/circleci/config.yml.tt +13 -0
  94. data/lib/bundler/templates/newgem/ext/newgem/extconf.rb.tt +2 -0
  95. data/lib/bundler/templates/newgem/github/workflows/main.yml.tt +18 -0
  96. data/lib/bundler/templates/newgem/gitlab-ci.yml.tt +9 -0
  97. data/lib/bundler/templates/newgem/lib/newgem.rb.tt +2 -0
  98. data/lib/bundler/templates/newgem/lib/newgem/version.rb.tt +2 -0
  99. data/lib/bundler/templates/newgem/newgem.gemspec.tt +8 -6
  100. data/lib/bundler/templates/newgem/rubocop.yml.tt +10 -0
  101. data/lib/bundler/templates/newgem/spec/newgem_spec.rb.tt +2 -0
  102. data/lib/bundler/templates/newgem/spec/spec_helper.rb.tt +2 -1
  103. data/lib/bundler/templates/newgem/test/{newgem_test.rb.tt → minitest/newgem_test.rb.tt} +2 -0
  104. data/lib/bundler/templates/newgem/test/{test_helper.rb.tt → minitest/test_helper.rb.tt} +2 -0
  105. data/lib/bundler/templates/newgem/test/test-unit/newgem_test.rb.tt +15 -0
  106. data/lib/bundler/templates/newgem/test/test-unit/test_helper.rb.tt +6 -0
  107. data/lib/bundler/ui/shell.rb +5 -5
  108. data/lib/bundler/uri_credentials_filter.rb +1 -1
  109. data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +79 -212
  110. data/lib/bundler/vendor/thor/lib/thor.rb +0 -7
  111. data/lib/bundler/vendor/thor/lib/thor/actions/create_link.rb +2 -1
  112. data/lib/bundler/vendor/thor/lib/thor/base.rb +9 -0
  113. data/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
  114. data/lib/bundler/vendored_persistent.rb +0 -7
  115. data/lib/bundler/version.rb +1 -1
  116. data/lib/bundler/worker.rb +1 -1
  117. data/lib/bundler/yaml_serializer.rb +1 -1
  118. data/man/bundle-add.1 +1 -1
  119. data/man/{bundle-add.ronn → bundle-add.1.ronn} +0 -0
  120. data/man/bundle-binstubs.1 +5 -3
  121. data/man/{bundle-binstubs.ronn → bundle-binstubs.1.ronn} +2 -4
  122. data/man/bundle-cache.1 +1 -1
  123. data/man/{bundle-cache.ronn → bundle-cache.1.ronn} +0 -0
  124. data/man/bundle-check.1 +1 -1
  125. data/man/{bundle-check.ronn → bundle-check.1.ronn} +0 -0
  126. data/man/bundle-clean.1 +1 -1
  127. data/man/{bundle-clean.ronn → bundle-clean.1.ronn} +0 -0
  128. data/man/bundle-config.1 +16 -22
  129. data/man/{bundle-config.ronn → bundle-config.1.ronn} +19 -22
  130. data/man/bundle-doctor.1 +1 -1
  131. data/man/{bundle-doctor.ronn → bundle-doctor.1.ronn} +0 -0
  132. data/man/bundle-exec.1 +1 -1
  133. data/man/{bundle-exec.ronn → bundle-exec.1.ronn} +0 -0
  134. data/man/bundle-gem.1 +25 -3
  135. data/man/{bundle-gem.ronn → bundle-gem.1.ronn} +30 -7
  136. data/man/bundle-info.1 +1 -1
  137. data/man/{bundle-info.ronn → bundle-info.1.ronn} +0 -0
  138. data/man/bundle-init.1 +1 -1
  139. data/man/{bundle-init.ronn → bundle-init.1.ronn} +0 -0
  140. data/man/bundle-inject.1 +1 -1
  141. data/man/{bundle-inject.ronn → bundle-inject.1.ronn} +0 -0
  142. data/man/bundle-install.1 +29 -2
  143. data/man/{bundle-install.ronn → bundle-install.1.ronn} +24 -2
  144. data/man/bundle-list.1 +7 -7
  145. data/man/{bundle-list.ronn → bundle-list.1.ronn} +6 -6
  146. data/man/bundle-lock.1 +1 -1
  147. data/man/{bundle-lock.ronn → bundle-lock.1.ronn} +0 -0
  148. data/man/bundle-open.1 +1 -1
  149. data/man/{bundle-open.ronn → bundle-open.1.ronn} +0 -0
  150. data/man/bundle-outdated.1 +1 -1
  151. data/man/{bundle-outdated.ronn → bundle-outdated.1.ronn} +0 -0
  152. data/man/bundle-platform.1 +1 -1
  153. data/man/{bundle-platform.ronn → bundle-platform.1.ronn} +0 -0
  154. data/man/bundle-pristine.1 +1 -1
  155. data/man/{bundle-pristine.ronn → bundle-pristine.1.ronn} +0 -0
  156. data/man/bundle-remove.1 +1 -1
  157. data/man/{bundle-remove.ronn → bundle-remove.1.ronn} +0 -0
  158. data/man/bundle-show.1 +1 -1
  159. data/man/{bundle-show.ronn → bundle-show.1.ronn} +0 -0
  160. data/man/bundle-update.1 +1 -1
  161. data/man/{bundle-update.ronn → bundle-update.1.ronn} +0 -0
  162. data/man/bundle-viz.1 +1 -1
  163. data/man/{bundle-viz.ronn → bundle-viz.1.ronn} +0 -0
  164. data/man/bundle.1 +1 -1
  165. data/man/{bundle.ronn → bundle.1.ronn} +0 -0
  166. data/man/gemfile.5 +4 -4
  167. data/man/gemfile.5.ronn +4 -4
  168. metadata +39 -58
  169. data/man/bundle-add.1.txt +0 -58
  170. data/man/bundle-binstubs.1.txt +0 -48
  171. data/man/bundle-cache.1.txt +0 -78
  172. data/man/bundle-check.1.txt +0 -33
  173. data/man/bundle-clean.1.txt +0 -26
  174. data/man/bundle-config.1.txt +0 -528
  175. data/man/bundle-doctor.1.txt +0 -44
  176. data/man/bundle-exec.1.txt +0 -178
  177. data/man/bundle-gem.1.txt +0 -91
  178. data/man/bundle-info.1.txt +0 -21
  179. data/man/bundle-init.1.txt +0 -34
  180. data/man/bundle-inject.1.txt +0 -32
  181. data/man/bundle-install.1.txt +0 -401
  182. data/man/bundle-list.1.txt +0 -43
  183. data/man/bundle-lock.1.txt +0 -93
  184. data/man/bundle-open.1.txt +0 -29
  185. data/man/bundle-outdated.1.txt +0 -131
  186. data/man/bundle-platform.1.txt +0 -57
  187. data/man/bundle-pristine.1.txt +0 -44
  188. data/man/bundle-remove.1.txt +0 -34
  189. data/man/bundle-show.1.txt +0 -27
  190. data/man/bundle-update.1.txt +0 -390
  191. data/man/bundle-viz.1.txt +0 -39
  192. data/man/bundle.1.txt +0 -116
  193. data/man/gemfile.5.txt +0 -649
  194. data/man/index.txt +0 -25
@@ -344,13 +344,6 @@ class Bundler::Thor
344
344
  command && disable_required_check.include?(command.name.to_sym)
345
345
  end
346
346
 
347
- def deprecation_warning(message) #:nodoc:
348
- unless ENV['THOR_SILENCE_DEPRECATION']
349
- warn "Deprecation warning: #{message}\n" +
350
- 'You can silence deprecations warning by setting the environment variable THOR_SILENCE_DEPRECATION.'
351
- end
352
- end
353
-
354
347
  protected
355
348
 
356
349
  def stop_on_unknown_option #:nodoc:
@@ -33,7 +33,8 @@ class Bundler::Thor
33
33
  # Boolean:: true if it is identical, false otherwise.
34
34
  #
35
35
  def identical?
36
- exists? && File.identical?(render, destination)
36
+ source = File.expand_path(render, File.dirname(destination))
37
+ exists? && File.identical?(source, destination)
37
38
  end
38
39
 
39
40
  def invoke!
@@ -22,6 +22,15 @@ class Bundler::Thor
22
22
 
23
23
  TEMPLATE_EXTNAME = ".tt"
24
24
 
25
+ class << self
26
+ def deprecation_warning(message) #:nodoc:
27
+ unless ENV['THOR_SILENCE_DEPRECATION']
28
+ warn "Deprecation warning: #{message}\n" +
29
+ 'You can silence deprecations warning by setting the environment variable THOR_SILENCE_DEPRECATION.'
30
+ end
31
+ end
32
+ end
33
+
25
34
  module Base
26
35
  attr_accessor :options, :parent_options, :args
27
36
 
@@ -1,3 +1,3 @@
1
1
  class Bundler::Thor
2
- VERSION = "1.0.0"
2
+ VERSION = "1.0.1"
3
3
  end
@@ -1,12 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # We forcibly require OpenSSL, because net/http/persistent will only autoload
4
- # it. On some Rubies, autoload fails but explicit require succeeds.
5
- begin
6
- require "openssl"
7
- rescue LoadError
8
- # some Ruby builds don't have OpenSSL
9
- end
10
3
  module Bundler
11
4
  module Persistent
12
5
  module Net
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: false
2
2
 
3
3
  module Bundler
4
- VERSION = "2.1.1".freeze
4
+ VERSION = "2.2.0.rc.2".freeze
5
5
 
6
6
  def self.bundler_major_version
7
7
  @bundler_major_version ||= VERSION.split(".").first.to_i
@@ -48,7 +48,7 @@ module Bundler
48
48
  stop_threads
49
49
  end
50
50
 
51
- private
51
+ private
52
52
 
53
53
  def process_queue(i)
54
54
  loop do
@@ -3,7 +3,7 @@
3
3
  module Bundler
4
4
  # A stub yaml serializer that can handle only hashes and strings (as of now).
5
5
  module YAMLSerializer
6
- module_function
6
+ module_function
7
7
 
8
8
  def dump(hash)
9
9
  yaml = String.new("---")
@@ -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\-ADD" "1" "December 2019" "" ""
4
+ .TH "BUNDLE\-ADD" "1" "October 2020" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-add\fR \- Add gem to the Gemfile and run bundle install
@@ -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\-BINSTUBS" "1" "December 2019" "" ""
4
+ .TH "BUNDLE\-BINSTUBS" "1" "October 2020" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-binstubs\fR \- Install the binstubs of the listed gems
@@ -36,5 +36,7 @@ Makes binstubs that can work without depending on Rubygems or Bundler at runtime
36
36
  \fB\-\-shebang\fR
37
37
  Specify a different shebang executable name than the default (default \'ruby\')
38
38
  .
39
- .SH "BUNDLE INSTALL \-\-BINSTUBS"
40
- To create binstubs for all the gems in the bundle you can use the \fB\-\-binstubs\fR flag in bundle install(1) \fIbundle\-install\.1\.html\fR\.
39
+ .TP
40
+ \fB\-\-all\fR
41
+ Create binstubs for all gems in the bundle\.
42
+
@@ -37,7 +37,5 @@ Calling binstubs with [GEM [GEM]] will create binstubs for all given gems.
37
37
  * `--shebang`:
38
38
  Specify a different shebang executable name than the default (default 'ruby')
39
39
 
40
- ## BUNDLE INSTALL --BINSTUBS
41
-
42
- To create binstubs for all the gems in the bundle you can use the `--binstubs`
43
- flag in [bundle install(1)](bundle-install.1.html).
40
+ * `--all`:
41
+ Create binstubs for all gems in 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\-CACHE" "1" "December 2019" "" ""
4
+ .TH "BUNDLE\-CACHE" "1" "October 2020" "" ""
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" "December 2019" "" ""
4
+ .TH "BUNDLE\-CHECK" "1" "October 2020" "" ""
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" "December 2019" "" ""
4
+ .TH "BUNDLE\-CLEAN" "1" "October 2020" "" ""
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" "December 2019" "" ""
4
+ .TH "BUNDLE\-CONFIG" "1" "October 2020" "" ""
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\.
@@ -57,13 +57,13 @@ Executing \fBbundle config unset \-\-local <name> <value>\fR will delete the con
57
57
  Executing bundle with the \fBBUNDLE_IGNORE_CONFIG\fR environment variable set will cause it to ignore all configuration\.
58
58
  .
59
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\.
60
+ Executing \fBbundle config set \-\-local 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
61
  .
62
62
  .SH "REMEMBERING OPTIONS"
63
63
  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
64
  .
65
65
  .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)\.
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 \-\-local path foo\fR)\.
67
67
  .
68
68
  .P
69
69
  The options that can be configured are:
@@ -111,7 +111,7 @@ Since the specific location of that executable can change from machine to machin
111
111
  .
112
112
  .nf
113
113
 
114
- bundle config set build\.mysql \-\-with\-mysql\-config=/usr/local/mysql/bin/mysql_config
114
+ bundle config set \-\-global build\.mysql \-\-with\-mysql\-config=/usr/local/mysql/bin/mysql_config
115
115
  .
116
116
  .fi
117
117
  .
@@ -154,7 +154,7 @@ The following is a list of all configuration keys and their purpose\. You can le
154
154
  \fBbin\fR (\fBBUNDLE_BIN\fR): Install executables from gems in the bundle to the specified directory\. Defaults to \fBfalse\fR\.
155
155
  .
156
156
  .IP "\(bu" 4
157
- \fBcache_all\fR (\fBBUNDLE_CACHE_ALL\fR): Cache all gems, including path and git gems\.
157
+ \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
158
  .
159
159
  .IP "\(bu" 4
160
160
  \fBcache_all_platforms\fR (\fBBUNDLE_CACHE_ALL_PLATFORMS\fR): Cache gems for all platforms\.
@@ -187,9 +187,6 @@ The following is a list of all configuration keys and their purpose\. You can le
187
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
188
  .
189
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\.
191
- .
192
- .IP "\(bu" 4
193
190
  \fBdisable_shared_gems\fR (\fBBUNDLE_DISABLE_SHARED_GEMS\fR): Stop Bundler from accessing gems installed to RubyGems\' normal location\.
194
191
  .
195
192
  .IP "\(bu" 4
@@ -265,9 +262,6 @@ The following is a list of all configuration keys and their purpose\. You can le
265
262
  \fBsilence_root_warning\fR (\fBBUNDLE_SILENCE_ROOT_WARNING\fR): Silence the warning Bundler prints when installing gems as root\.
266
263
  .
267
264
  .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
265
  \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
266
  .
273
267
  .IP "\(bu" 4
@@ -318,7 +312,7 @@ Bundler also allows you to work against a git repository locally instead of usin
318
312
  .
319
313
  .nf
320
314
 
321
- bundle config set local\.GEM_NAME /path/to/local/git/repository
315
+ bundle config set \-\-local local\.GEM_NAME /path/to/local/git/repository
322
316
  .
323
317
  .fi
324
318
  .
@@ -331,7 +325,7 @@ For example, in order to use a local Rack repository, a developer could call:
331
325
  .
332
326
  .nf
333
327
 
334
- bundle config set local\.rack ~/Work/git/rack
328
+ bundle config set \-\-local local\.rack ~/Work/git/rack
335
329
  .
336
330
  .fi
337
331
  .
@@ -353,7 +347,7 @@ Bundler supports overriding gem sources with mirrors\. This allows you to config
353
347
  .
354
348
  .nf
355
349
 
356
- bundle config set mirror\.SOURCE_URL MIRROR_URL
350
+ bundle config set \-\-global mirror\.SOURCE_URL MIRROR_URL
357
351
  .
358
352
  .fi
359
353
  .
@@ -366,7 +360,7 @@ For example, to use a mirror of rubygems\.org hosted at rubygems\-mirror\.org:
366
360
  .
367
361
  .nf
368
362
 
369
- bundle config set mirror\.http://rubygems\.org http://rubygems\-mirror\.org
363
+ bundle config set \-\-global mirror\.http://rubygems\.org http://rubygems\-mirror\.org
370
364
  .
371
365
  .fi
372
366
  .
@@ -379,7 +373,7 @@ Each mirror also provides a fallback timeout setting\. If the mirror does not re
379
373
  .
380
374
  .nf
381
375
 
382
- bundle config set mirror\.SOURCE_URL\.fallback_timeout TIMEOUT
376
+ bundle config set \-\-global mirror\.SOURCE_URL\.fallback_timeout TIMEOUT
383
377
  .
384
378
  .fi
385
379
  .
@@ -392,7 +386,7 @@ For example, to fall back to rubygems\.org after 3 seconds:
392
386
  .
393
387
  .nf
394
388
 
395
- bundle config set mirror\.https://rubygems\.org\.fallback_timeout 3
389
+ bundle config set \-\-global mirror\.https://rubygems\.org\.fallback_timeout 3
396
390
  .
397
391
  .fi
398
392
  .
@@ -408,7 +402,7 @@ Bundler allows you to configure credentials for any gem source, which allows you
408
402
  .
409
403
  .nf
410
404
 
411
- bundle config set SOURCE_HOSTNAME USERNAME:PASSWORD
405
+ bundle config set \-\-global SOURCE_HOSTNAME USERNAME:PASSWORD
412
406
  .
413
407
  .fi
414
408
  .
@@ -421,7 +415,7 @@ For example, to save the credentials of user \fBclaudette\fR for the gem source
421
415
  .
422
416
  .nf
423
417
 
424
- bundle config set gems\.longerous\.com claudette:s00pers3krit
418
+ bundle config set \-\-global gems\.longerous\.com claudette:s00pers3krit
425
419
  .
426
420
  .fi
427
421
  .
@@ -447,7 +441,7 @@ For gems with a git source with HTTP(S) URL you can specify credentials like so:
447
441
  .
448
442
  .nf
449
443
 
450
- bundle config set https://github\.com/bundler/bundler\.git username:password
444
+ bundle config set \-\-global https://github\.com/bundler/bundler\.git username:password
451
445
  .
452
446
  .fi
453
447
  .
@@ -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,7 +47,7 @@ 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
50
+ Executing `bundle config set --local disable_multisource true` upgrades the warning about
49
51
  the Gemfile containing multiple primary sources to an error. Executing `bundle
50
52
  config unset disable_multisource` downgrades this error to a warning.
51
53
 
@@ -57,7 +59,7 @@ application's configuration (normally, `./.bundle/config`).
57
59
 
58
60
  However, this will be changed in bundler 3, so it's better not to rely on this
59
61
  behavior. If these options must be remembered, it's better to set them using
60
- `bundle config` (e.g., `bundle config set path foo`).
62
+ `bundle config` (e.g., `bundle config set --local path foo`).
61
63
 
62
64
  The options that can be configured are:
63
65
 
@@ -101,7 +103,7 @@ pass configuration flags to `gem install` to specify where to find the
101
103
  Since the specific location of that executable can change from machine
102
104
  to machine, you can specify these flags on a per-machine basis.
103
105
 
104
- bundle config set build.mysql --with-mysql-config=/usr/local/mysql/bin/mysql_config
106
+ bundle config set --global build.mysql --with-mysql-config=/usr/local/mysql/bin/mysql_config
105
107
 
106
108
  After running this command, every time bundler needs to install the
107
109
  `mysql` gem, it will pass along the flags you specified.
@@ -148,7 +150,8 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
148
150
  Install executables from gems in the bundle to the specified directory.
149
151
  Defaults to `false`.
150
152
  * `cache_all` (`BUNDLE_CACHE_ALL`):
151
- Cache all gems, including path and git gems.
153
+ Cache all gems, including path and git gems. This needs to be explicitly
154
+ configured on bundler 1 and bundler 2, but will be the default on bundler 3.
152
155
  * `cache_all_platforms` (`BUNDLE_CACHE_ALL_PLATFORMS`):
153
156
  Cache gems for all platforms.
154
157
  * `cache_path` (`BUNDLE_CACHE_PATH`):
@@ -179,8 +182,6 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
179
182
  When set, Gemfiles containing multiple sources will produce errors
180
183
  instead of warnings.
181
184
  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.
184
185
  * `disable_shared_gems` (`BUNDLE_DISABLE_SHARED_GEMS`):
185
186
  Stop Bundler from accessing gems installed to RubyGems' normal location.
186
187
  * `disable_version_check` (`BUNDLE_DISABLE_VERSION_CHECK`):
@@ -249,9 +250,6 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
249
250
  be changed in the next major version.
250
251
  * `silence_root_warning` (`BUNDLE_SILENCE_ROOT_WARNING`):
251
252
  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
253
  * `specific_platform` (`BUNDLE_SPECIFIC_PLATFORM`):
256
254
  Allow bundler to resolve for the specific running platform and store it in
257
255
  the lockfile, instead of only using a generic platform.
@@ -302,11 +300,11 @@ Bundler also allows you to work against a git repository locally
302
300
  instead of using the remote version. This can be achieved by setting
303
301
  up a local override:
304
302
 
305
- bundle config set local.GEM_NAME /path/to/local/git/repository
303
+ bundle config set --local local.GEM_NAME /path/to/local/git/repository
306
304
 
307
305
  For example, in order to use a local Rack repository, a developer could call:
308
306
 
309
- bundle config set local.rack ~/Work/git/rack
307
+ bundle config set --local local.rack ~/Work/git/rack
310
308
 
311
309
  Now instead of checking out the remote git repository, the local
312
310
  override will be used. Similar to a path source, every time the local
@@ -336,21 +334,21 @@ Bundler supports overriding gem sources with mirrors. This allows you to
336
334
  configure rubygems.org as the gem source in your Gemfile while still using your
337
335
  mirror to fetch gems.
338
336
 
339
- bundle config set mirror.SOURCE_URL MIRROR_URL
337
+ bundle config set --global mirror.SOURCE_URL MIRROR_URL
340
338
 
341
339
  For example, to use a mirror of rubygems.org hosted at rubygems-mirror.org:
342
340
 
343
- bundle config set mirror.http://rubygems.org http://rubygems-mirror.org
341
+ bundle config set --global mirror.http://rubygems.org http://rubygems-mirror.org
344
342
 
345
343
  Each mirror also provides a fallback timeout setting. If the mirror does not
346
344
  respond within the fallback timeout, Bundler will try to use the original
347
345
  server instead of the mirror.
348
346
 
349
- bundle config set mirror.SOURCE_URL.fallback_timeout TIMEOUT
347
+ bundle config set --global mirror.SOURCE_URL.fallback_timeout TIMEOUT
350
348
 
351
349
  For example, to fall back to rubygems.org after 3 seconds:
352
350
 
353
- bundle config set mirror.https://rubygems.org.fallback_timeout 3
351
+ bundle config set --global mirror.https://rubygems.org.fallback_timeout 3
354
352
 
355
353
  The default fallback timeout is 0.1 seconds, but the setting can currently
356
354
  only accept whole seconds (for example, 1, 15, or 30).
@@ -360,12 +358,12 @@ only accept whole seconds (for example, 1, 15, or 30).
360
358
  Bundler allows you to configure credentials for any gem source, which allows
361
359
  you to avoid putting secrets into your Gemfile.
362
360
 
363
- bundle config set SOURCE_HOSTNAME USERNAME:PASSWORD
361
+ bundle config set --global SOURCE_HOSTNAME USERNAME:PASSWORD
364
362
 
365
363
  For example, to save the credentials of user `claudette` for the gem source at
366
364
  `gems.longerous.com`, you would run:
367
365
 
368
- bundle config set gems.longerous.com claudette:s00pers3krit
366
+ bundle config set --global gems.longerous.com claudette:s00pers3krit
369
367
 
370
368
  Or you can set the credentials as an environment variable like this:
371
369
 
@@ -373,7 +371,7 @@ Or you can set the credentials as an environment variable like this:
373
371
 
374
372
  For gems with a git source with HTTP(S) URL you can specify credentials like so:
375
373
 
376
- bundle config set https://github.com/bundler/bundler.git username:password
374
+ bundle config set --global https://github.com/bundler/bundler.git username:password
377
375
 
378
376
  Or you can set the credentials as an environment variable like so:
379
377
 
@@ -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
-