summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Giddins <segiddins@segiddins.me>2017-07-05 17:48:26 +0200
committerSamuel Giddins <segiddins@segiddins.me>2017-07-05 17:48:26 +0200
commit9dc8ceb295360bd7a0911fa774b7a0218b03f710 (patch)
tree092bd548fc4bda3b828c6f8590f52f6830135166
parentf4c156a971ca08c6bc5c644b9ac64889d3784ba4 (diff)
downloadbundler-seg-sort-documented-settings.tar.gz
Sort all documented settings in the bundle-config man pageseg-sort-documented-settings
-rw-r--r--man/bundle-config.ronn203
-rw-r--r--spec/quality_spec.rb4
2 files changed, 107 insertions, 100 deletions
diff --git a/man/bundle-config.ronn b/man/bundle-config.ronn
index 785229e59a..1260e9692b 100644
--- a/man/bundle-config.ronn
+++ b/man/bundle-config.ronn
@@ -49,27 +49,27 @@ If these options must be remembered,they must be set using `bundle config`
The options that can be configured are:
* `bin`:
- Creates a directory (defaults to `~/bin`) and place any executables from the
- gem there. These executables run in Bundler's context. If used, you might add
- this directory to your environment's `PATH` variable. For instance, if the
- `rails` gem comes with a `rails` executable, this flag will create a
- `bin/rails` executable that ensures that all referred dependencies will be
- resolved using the bundled gems.
+ Creates a directory (defaults to `~/bin`) and place any executables from the
+ gem there. These executables run in Bundler's context. If used, you might add
+ this directory to your environment's `PATH` variable. For instance, if the
+ `rails` gem comes with a `rails` executable, this flag will create a
+ `bin/rails` executable that ensures that all referred dependencies will be
+ resolved using the bundled gems.
* `deployment`:
- In deployment mode, Bundler will 'roll-out' the bundle for
- `production` use. Please check carefully if you want to have this option
- enabled in `development` or `test` environments.
+ In deployment mode, Bundler will 'roll-out' the bundle for
+ `production` use. Please check carefully if you want to have this option
+ enabled in `development` or `test` environments.
* `path`:
- The location to install the specified gems to. This defaults to Rubygems'
- setting. Bundler shares this location with Rubygems, `gem install ...` will
- have gem installed there, too. Therefore, gems installed without a
- `--path ...` setting will show up by calling `gem list`. Accordingly, gems
- installed to other locations will not get listed.
+ The location to install the specified gems to. This defaults to Rubygems'
+ setting. Bundler shares this location with Rubygems, `gem install ...` will
+ have gem installed there, too. Therefore, gems installed without a
+ `--path ...` setting will show up by calling `gem list`. Accordingly, gems
+ installed to other locations will not get listed.
* `without`:
- A space-separated list of groups referencing gems to skip during installation.
+ A space-separated list of groups referencing gems to skip during installation.
## BUILD OPTIONS
@@ -99,8 +99,8 @@ For instance, passing the `--without` flag to [bundle install(1)][bundle-install
prevents Bundler from installing certain groups specified in the Gemfile(5). Bundler
persists this value in `app/.bundle/config` so that calls to `Bundler.setup`
do not try to find gems from the `Gemfile` that you didn't install. Additionally,
-subsequent calls to [bundle install(1)][bundle-install] remember this setting and skip those
-groups.
+subsequent calls to [bundle install(1)][bundle-install] remember this setting
+and skip those groups.
The canonical form of this configuration is `"without"`. To convert the canonical
form to the environment variable form, capitalize it, and prepend `BUNDLE_`. The
@@ -115,84 +115,72 @@ the environment variable `BUNDLE_LOCAL__RACK`.
The following is a list of all configuration keys and their purpose. You can
learn more about their operation in [bundle install(1)][bundle-install].
-* `path` (`BUNDLE_PATH`):
- The location on disk where all gems in your bundle will be located regardless
- of `$GEM_HOME` or `$GEM_PATH` values. Bundle gems not found in this location
- will be installed by `bundle install`. Defaults to `Gem.dir`. When --deployment is
- used, defaults to vendor/bundle.
-* `frozen` (`BUNDLE_FROZEN`):
- Disallow changes to the `Gemfile`. Defaults to `true` when `--deployment`
- is used.
-* `without` (`BUNDLE_WITHOUT`):
- A `:`-separated list of groups whose gems bundler should not install
-* `bin` (`BUNDLE_BIN`):
- Install executables from gems in the bundle to the specified directory.
- Defaults to `false`.
-* `gemfile` (`BUNDLE_GEMFILE`):
- The name of the file that bundler should use as the `Gemfile`. This location
- of this file also sets the root of the project, which is used to resolve
- relative paths in the `Gemfile`, among other things. By default, bundler
- will search up from the current working directory until it finds a
- `Gemfile`.
-* `ssl_ca_cert` (`BUNDLE_SSL_CA_CERT`):
- Path to a designated CA certificate file or folder containing multiple
- certificates for trusted CAs in PEM format.
-* `ssl_client_cert` (`BUNDLE_SSL_CLIENT_CERT`):
- Path to a designated file containing a X.509 client certificate
- and key in PEM format.
-* `cache_path` (`BUNDLE_CACHE_PATH`): The directory that bundler will place
- cached gems in when running <code>bundle package</code>, and that bundler
- will look in when installing gems. Defaults to `vendor/bundle`.
-* `disable_multisource` (`BUNDLE_DISABLE_MULTISOURCE`): When set, Gemfiles
- containing multiple sources will produce errors instead of warnings. Use
- `bundle config --delete disable_multisource` to unset.
-* `ignore_messages` (`BUNDLE_IGNORE_MESSAGES`): When set, no post install
- messages will be printed. To silence a single gem, use dot notation like
- `ignore_messages.httparty true`.
-* `retry` (`BUNDLE_RETRY`):
- The number of times to retry failed network requests. Defaults to `3`.
-* `redirect` (`BUNDLE_REDIRECT`):
- The number of redirects allowed for network requests. Defaults to `5`.
-* `timeout` (`BUNDLE_TIMEOUT`):
- The seconds allowed before timing out for network requests. Defaults to `10`.
-* `force_ruby_platform` (`BUNDLE_FORCE_RUBY_PLATFORM`):
- Ignore the current machine's platform and install only `ruby` platform gems.
- As a result, gems with native extensions will be compiled from source.
-* `specific_platform` (`BUNDLE_SPECIFIC_PLATFORM`):
- 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
- `Gem::Platform.local`, such as `x86_64-darwin-16` or `universal-java-1.8`.
- On the other hand, generic platforms are those such as `ruby`, `mswin`, or
- `java`. In this example, `x86_64-darwin-16` would map to `ruby` and
- `universal-java-1.8` to `java`.
-* `disable_checksum_validation` (`BUNDLE_DISABLE_CHECKSUM_VALIDATION`):
- Allow installing gems even if they do not match the checksum provided by
- RubyGems.
-* `disable_version_check` (`BUNDLE_DISABLE_VERSION_CHECK`):
- Stop Bundler from checking if a newer Bundler version is available on
- rubygems.org.
+* `allow_bundler_dependency_conflicts` (`BUNDLE_ALLOW_BUNDLER_DEPENDENCY_CONFLICTS`):
+ Allow resolving to specifications that have dependencies on `bundler` that
+ are incompatible with the running Bundler version.
* `allow_offline_install` (`BUNDLE_ALLOW_OFFLINE_INSTALL`):
Allow Bundler to use cached data when installing without network access.
* `auto_install` (`BUNDLE_AUTO_INSTALL`):
Automatically run `bundle install` when gems are missing.
-* `cache_all_platforms` (`BUNDLE_CACHE_ALL_PLATFORMS`):
- Cache gems for all platforms.
+* `bin` (`BUNDLE_BIN`):
+ Install executables from gems in the bundle to the specified directory.
+ Defaults to `false`.
* `cache_all` (`BUNDLE_CACHE_ALL`):
Cache all gems, including path and git gems.
+* `cache_all_platforms` (`BUNDLE_CACHE_ALL_PLATFORMS`):
+ Cache gems for all platforms.
+* `cache_path` (`BUNDLE_CACHE_PATH`):
+ The directory that bundler will place cached gems in when running
+ <code>bundle package</code>, and that bundler will look in when installing gems.
+ Defaults to `vendor/bundle`.
* `clean` (`BUNDLE_CLEAN`):
Whether Bundler should run `bundle clean` automatically after
`bundle install`.
* `console` (`BUNDLE_CONSOLE`):
The console that `bundle console` starts. Defaults to `irb`.
+* `disable_checksum_validation` (`BUNDLE_DISABLE_CHECKSUM_VALIDATION`):
+ Allow installing gems even if they do not match the checksum provided by
+ RubyGems.
* `disable_exec_load` (`BUNDLE_DISABLE_EXEC_LOAD`):
Stop Bundler from using `load` to launch an executable in-process in
`bundle exec`.
* `disable_local_branch_check` (`BUNDLE_DISABLE_LOCAL_BRANCH_CHECK`):
Allow Bundler to use a local git override without a branch specified in the
Gemfile.
+* `disable_multisource` (`BUNDLE_DISABLE_MULTISOURCE`):
+ When set, Gemfiles containing multiple sources will produce errors
+ instead of warnings.
+ Use `bundle config --delete disable_multisource` to unset.
* `disable_shared_gems` (`BUNDLE_DISABLE_SHARED_GEMS`):
Stop Bundler from accessing gems installed to RubyGems' normal location.
+* `disable_version_check` (`BUNDLE_DISABLE_VERSION_CHECK`):
+ Stop Bundler from checking if a newer Bundler version is available on
+ rubygems.org.
+* `error_on_stderr` (`BUNDLE_ERROR_ON_STDERR`)
+ Print Bundler errors to stderr.
+* `force_ruby_platform` (`BUNDLE_FORCE_RUBY_PLATFORM`):
+ Ignore the current machine's platform and install only `ruby` platform gems.
+ As a result, gems with native extensions will be compiled from source.
+* `frozen` (`BUNDLE_FROZEN`):
+ Disallow changes to the `Gemfile`. Defaults to `true` when `--deployment`
+ is used.
+* `gem.push_key` (`BUNDLE_GEM__PUSH_KEY`):
+ Sets the `--key` parameter for `gem push` when using the `rake release`
+ command with a private gemstash server.
+* `gemfile` (`BUNDLE_GEMFILE`):
+ The name of the file that bundler should use as the `Gemfile`. This location
+ of this file also sets the root of the project, which is used to resolve
+ relative paths in the `Gemfile`, among other things. By default, bundler
+ will search up from the current working directory until it finds a
+ `Gemfile`.
+* `global_gem_cache` (`BUNDLE_GLOBAL_GEM_CACHE`):
+ Whether Bundler should cache all gems globally, rather than locally to the
+ installing Ruby installation.
+* `ignore_messages` (`BUNDLE_IGNORE_MESSAGES`): When set, no post install
+ messages will be printed. To silence a single gem, use dot notation like
+ `ignore_messages.httparty true`.
+* `init_gems_rb` (`BUNDLE_NEW_GEMFILE_NAME`)
+ Generate a `gems.rb` instead of a `Gemfile` when running `bundle init`.
* `jobs` (`BUNDLE_JOBS`):
The number of gems Bundler can install in parallel. Defaults to 1.
* `major_deprecations` (`BUNDLE_MAJOR_DEPRECATIONS`):
@@ -205,47 +193,64 @@ learn more about their operation in [bundle install(1)][bundle-install].
* `only_update_to_newer_versions` (`BUNDLE_ONLY_UPDATE_TO_NEWER_VERSIONS`):
During `bundle update`, only resolve to newer versions of the gems in the
lockfile.
+* `path` (`BUNDLE_PATH`):
+ The location on disk where all gems in your bundle will be located regardless
+ of `$GEM_HOME` or `$GEM_PATH` values. Bundle gems not found in this location
+ will be installed by `bundle install`. Defaults to `Gem.dir`. When --deployment
+ is used, defaults to vendor/bundle.
* `plugins` (`BUNDLE_PLUGINS`):
Enable Bundler's experimental plugin system.
+* `prefer_gems_rb` (`BUNDLE_PREFER_GEMS_RB`)
+ Prefer `gems.rb` to `Gemfile` when Bundler is searching for a Gemfile.
+* `redirect` (`BUNDLE_REDIRECT`):
+ The number of redirects allowed for network requests. Defaults to `5`.
+* `retry` (`BUNDLE_RETRY`):
+ The number of times to retry failed network requests. Defaults to `3`.
+* `setup_makes_kernel_gem_public` (`BUNDLE_SETUP_MAKES_KERNEL_GEM_PUBLIC`):
+ Have `Bundler.setup` make the `Kernel#gem` method public, even though
+ RubyGems declares it as private.
* `shebang` (`BUNDLE_SHEBANG`):
The program name that should be invoked for generated binstubs. Defaults to
the ruby install name used to generate the binstub.
* `silence_root_warning` (`BUNDLE_SILENCE_ROOT_WARNING`):
Silence the warning Bundler prints when installing gems as root.
+* `skip_default_git_sources` (`BUNDLE_SKIP_DEFAULT_GIT_SOURCES`):
+ Whether Bundler should skip adding default git source shortcuts to the
+ Gemfile DSL.
+* `specific_platform` (`BUNDLE_SPECIFIC_PLATFORM`):
+ 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
+ `Gem::Platform.local`, such as `x86_64-darwin-16` or `universal-java-1.8`.
+ On the other hand, generic platforms are those such as `ruby`, `mswin`, or
+ `java`. In this example, `x86_64-darwin-16` would map to `ruby` and
+ `universal-java-1.8` to `java`.
+* `ssl_ca_cert` (`BUNDLE_SSL_CA_CERT`):
+ Path to a designated CA certificate file or folder containing multiple
+ certificates for trusted CAs in PEM format.
+* `ssl_client_cert` (`BUNDLE_SSL_CLIENT_CERT`):
+ Path to a designated file containing a X.509 client certificate
+ and key in PEM format.
* `ssl_verify_mode` (`BUNDLE_SSL_VERIFY_MODE`):
The SSL verification mode Bundler uses when making HTTPS requests.
Defaults to verify peer.
+* `suppress_install_using_messages` (`BUNDLE_SUPPRESS_INSTALL_USING_MESSAGES`):
+ Avoid printing `Using ...` messages during installation when the version of
+ a gem has not changed.
* `system_bindir` (`BUNDLE_SYSTEM_BINDIR`):
The location where RubyGems installs binstubs. Defaults to `Gem.bindir`.
-* `user_agent` (`BUNDLE_USER_AGENT`):
- The custom user agent fragment Bundler includes in API requests.
-* `gem.push_key` (`BUNDLE_GEM__PUSH_KEY`):
- Sets the `--key` parameter for `gem push` when using the `rake release`
- command with a private gemstash server.
-* `error_on_stderr` (`BUNDLE_ERROR_ON_STDERR`)
- Print Bundler errors to stderr.
-* `init_gems_rb` (`BUNDLE_NEW_GEMFILE_NAME`)
- Generate a `gems.rb` instead of a `Gemfile` when running `bundle init`.
-* `prefer_gems_rb` (`BUNDLE_PREFER_GEMS_RB`)
- Prefer `gems.rb` to `Gemfile` when Bundler is searching for a Gemfile.
+* `timeout` (`BUNDLE_TIMEOUT`):
+ The seconds allowed before timing out for network requests. Defaults to `10`.
* `unlock_source_unlocks_spec` (`BUNDLE_UNLOCK_SOURCE_UNLOCKS_SPEC`):
Whether running `bundle update --source NAME` unlocks a gem with the given
name. Defaults to `true`.
* `update_requires_all_flag` (`BUNDLE_UPDATE_REQUIRES_ALL_FLAG`)
Require passing `--all` to `bundle update` when everything should be updated,
and disallow passing no options to `bundle update`.
-* `allow_bundler_dependency_conflicts` (`BUNDLE_ALLOW_BUNDLER_DEPENDENCY_CONFLICTS`):
- Allow resolving to specifications that have dependencies on `bundler` that
- are incompatible with the running Bundler version.
-* `global_gem_cache` (`BUNDLE_GLOBAL_GEM_CACHE`):
- Whether Bundler should cache all gems globally, rather than locally to the
- installing Ruby installation.
-* `skip_default_git_sources` (`BUNDLE_SKIP_DEFAULT_GIT_SOURCES`):
- Whether Bundler should skip adding default git source shortcuts to the
- Gemfile DSL.
-* `suppress_install_using_messages` (`BUNDLE_SUPPRESS_INSTALL_USING_MESSAGES`):
- Avoid printing `Using ...` messages during installation when the version of
- a gem has not changed.
+* `user_agent` (`BUNDLE_USER_AGENT`):
+ The custom user agent fragment Bundler includes in API requests.
+* `without` (`BUNDLE_WITHOUT`):
+ A `:`-separated list of groups whose gems bundler should not install.
In general, you should set these settings per-application by using the applicable
flag to the [bundle install(1)][bundle-install] or [bundle package(1)][bundle-package] command.
diff --git a/spec/quality_spec.rb b/spec/quality_spec.rb
index ced7f0d2e4..cd752656db 100644
--- a/spec/quality_spec.rb
+++ b/spec/quality_spec.rb
@@ -191,7 +191,7 @@ RSpec.describe "The library itself" do
line.scan(/Bundler\.settings\[:#{key_pattern}\]/).flatten.each {|s| all_settings[s] << "referenced at `#{filename}:#{number.succ}`" }
end
end
- documented_settings = File.read("man/bundle-config.ronn").scan(/^\* `#{key_pattern}`/).flatten
+ documented_settings = File.read("man/bundle-config.ronn")[/LIST OF AVAILABLE KEYS.*/m].scan(/^\* `#{key_pattern}`/).flatten
end
documented_settings.each {|s| all_settings.delete(s) }
@@ -201,6 +201,8 @@ RSpec.describe "The library itself" do
end
expect(error_messages.sort).to be_well_formed
+
+ expect(documented_settings).to be_sorted
end
it "can still be built" do