rubygems-update 3.0.8 → 3.1.0.pre1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +31 -8
- data/.travis.yml +9 -27
- data/CONTRIBUTING.md +13 -0
- data/History.txt +24 -21
- data/MAINTAINERS.txt +1 -6
- data/Manifest.txt +62 -13
- data/Rakefile +39 -23
- data/bin/gem +0 -6
- data/bundler/CHANGELOG.md +746 -570
- data/bundler/CODE_OF_CONDUCT.md +117 -23
- data/bundler/LICENSE.md +18 -19
- data/bundler/README.md +9 -8
- data/bundler/bundler.gemspec +8 -25
- data/bundler/exe/bundle +19 -3
- data/bundler/lib/bundler.rb +120 -67
- data/bundler/lib/bundler/build_metadata.rb +1 -3
- data/bundler/lib/bundler/capistrano.rb +4 -4
- data/bundler/lib/bundler/cli.rb +129 -121
- data/bundler/lib/bundler/cli/add.rb +27 -16
- data/bundler/lib/bundler/cli/common.rb +11 -12
- data/bundler/lib/bundler/cli/config.rb +161 -86
- data/bundler/lib/bundler/cli/console.rb +1 -1
- data/bundler/lib/bundler/cli/doctor.rb +4 -4
- data/bundler/lib/bundler/cli/exec.rb +4 -9
- data/bundler/lib/bundler/cli/gem.rb +5 -5
- data/bundler/lib/bundler/cli/info.rb +17 -5
- data/bundler/lib/bundler/cli/init.rb +1 -1
- data/bundler/lib/bundler/cli/install.rb +11 -10
- data/bundler/lib/bundler/cli/issue.rb +3 -3
- data/bundler/lib/bundler/cli/open.rb +10 -6
- data/bundler/lib/bundler/cli/outdated.rb +85 -81
- data/bundler/lib/bundler/cli/package.rb +8 -9
- data/bundler/lib/bundler/cli/plugin.rb +9 -2
- data/bundler/lib/bundler/cli/pristine.rb +1 -1
- data/bundler/lib/bundler/cli/show.rb +1 -1
- data/bundler/lib/bundler/cli/update.rb +31 -11
- data/bundler/lib/bundler/compact_index_client.rb +25 -9
- data/bundler/lib/bundler/compact_index_client/updater.rb +2 -6
- data/bundler/lib/bundler/current_ruby.rb +9 -7
- data/bundler/lib/bundler/definition.rb +35 -26
- data/bundler/lib/bundler/dependency.rb +16 -4
- data/bundler/lib/bundler/deployment.rb +1 -1
- data/bundler/lib/bundler/dsl.rb +15 -39
- data/bundler/lib/bundler/env.rb +8 -13
- data/bundler/lib/bundler/environment_preserver.rb +0 -1
- data/bundler/lib/bundler/feature_flag.rb +23 -34
- data/bundler/lib/bundler/fetcher.rb +14 -11
- data/bundler/lib/bundler/fetcher/compact_index.rb +26 -12
- data/bundler/lib/bundler/fetcher/dependency.rb +1 -1
- data/bundler/lib/bundler/fetcher/downloader.rb +4 -1
- data/bundler/lib/bundler/fetcher/index.rb +4 -2
- data/bundler/lib/bundler/friendly_errors.rb +4 -5
- data/bundler/lib/bundler/gem_helper.rb +39 -24
- data/bundler/lib/bundler/gem_helpers.rb +2 -4
- data/bundler/lib/bundler/gem_tasks.rb +1 -1
- data/bundler/lib/bundler/gem_version_promoter.rb +3 -3
- data/bundler/lib/bundler/graph.rb +2 -2
- data/bundler/lib/bundler/injector.rb +10 -8
- data/bundler/lib/bundler/inline.rb +19 -18
- data/bundler/lib/bundler/installer.rb +7 -14
- data/bundler/lib/bundler/installer/gem_installer.rb +5 -1
- data/bundler/lib/bundler/installer/parallel_installer.rb +4 -8
- data/bundler/lib/bundler/installer/standalone.rb +1 -2
- data/bundler/lib/bundler/lazy_specification.rb +2 -2
- data/bundler/lib/bundler/lockfile_parser.rb +13 -21
- data/bundler/lib/bundler/match_platform.rb +1 -1
- data/bundler/lib/bundler/plugin.rb +42 -29
- data/bundler/lib/bundler/plugin/api.rb +1 -1
- data/bundler/lib/bundler/plugin/api/source.rb +2 -2
- data/bundler/lib/bundler/plugin/index.rb +14 -3
- data/bundler/lib/bundler/plugin/installer.rb +28 -15
- data/bundler/lib/bundler/psyched_yaml.rb +1 -1
- data/bundler/lib/bundler/resolver.rb +72 -24
- data/bundler/lib/bundler/resolver/spec_group.rb +3 -2
- data/bundler/lib/bundler/retry.rb +2 -2
- data/bundler/lib/bundler/ruby_version.rb +4 -19
- data/bundler/lib/bundler/rubygems_ext.rb +10 -66
- data/bundler/lib/bundler/rubygems_gem_installer.rb +1 -8
- data/bundler/lib/bundler/rubygems_integration.rb +144 -395
- data/bundler/lib/bundler/runtime.rb +2 -9
- data/bundler/lib/bundler/settings.rb +15 -47
- data/bundler/lib/bundler/setup.rb +6 -5
- data/bundler/lib/bundler/shared_helpers.rb +58 -71
- data/bundler/lib/bundler/similarity_detector.rb +2 -2
- data/bundler/lib/bundler/source.rb +5 -5
- data/bundler/lib/bundler/source/git.rb +19 -12
- data/bundler/lib/bundler/source/git/git_proxy.rb +35 -39
- data/bundler/lib/bundler/source/metadata.rb +7 -2
- data/bundler/lib/bundler/source/path.rb +13 -8
- data/bundler/lib/bundler/source/rubygems.rb +11 -5
- data/bundler/lib/bundler/source/rubygems/remote.rb +1 -2
- data/bundler/lib/bundler/source_list.rb +9 -12
- data/bundler/lib/bundler/spec_set.rb +23 -12
- data/bundler/lib/bundler/stub_specification.rb +18 -30
- data/bundler/lib/bundler/templates/Executable.bundler +23 -14
- data/bundler/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt +3 -3
- data/bundler/lib/bundler/templates/newgem/Gemfile.tt +8 -2
- data/bundler/lib/bundler/templates/newgem/README.md.tt +4 -3
- data/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt +6 -27
- data/bundler/lib/bundler/templates/newgem/test/test_helper.rb.tt +1 -1
- data/bundler/lib/bundler/templates/newgem/travis.yml.tt +0 -1
- data/bundler/lib/bundler/ui.rb +3 -3
- data/bundler/lib/bundler/ui/rg_proxy.rb +1 -1
- data/bundler/lib/bundler/ui/shell.rb +4 -8
- data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool.rb +161 -0
- data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/monotonic_time.rb +66 -0
- data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.rb +176 -0
- data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/version.rb +3 -0
- data/bundler/lib/bundler/vendor/fileutils/lib/fileutils.rb +151 -48
- data/bundler/lib/bundler/vendor/fileutils/lib/fileutils/version.rb +5 -0
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo.rb +6 -6
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +2 -2
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +1 -1
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +1 -1
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +1 -1
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +1 -1
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/log.rb +6 -6
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/set_payload.rb +1 -1
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb +1 -1
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb +30 -8
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +1 -1
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb +4 -4
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/resolver.rb +2 -2
- data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +248 -279
- data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/connection.rb +40 -0
- data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/pool.rb +53 -0
- data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/timed_stack_multi.rb +79 -0
- data/bundler/lib/bundler/vendor/thor/lib/thor.rb +7 -2
- data/bundler/lib/bundler/vendor/thor/lib/thor/actions.rb +21 -11
- data/bundler/lib/bundler/vendor/thor/lib/thor/actions/create_file.rb +1 -1
- data/bundler/lib/bundler/vendor/thor/lib/thor/actions/create_link.rb +1 -1
- data/bundler/lib/bundler/vendor/thor/lib/thor/actions/directory.rb +1 -1
- data/bundler/lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb +11 -2
- data/bundler/lib/bundler/vendor/thor/lib/thor/actions/inject_into_file.rb +1 -1
- data/bundler/lib/bundler/vendor/thor/lib/thor/base.rb +16 -17
- data/bundler/lib/bundler/vendor/thor/lib/thor/error.rb +82 -0
- data/bundler/lib/bundler/vendor/thor/lib/thor/group.rb +3 -3
- data/bundler/lib/bundler/vendor/thor/lib/thor/line_editor.rb +2 -2
- data/bundler/lib/bundler/vendor/thor/lib/thor/parser.rb +4 -4
- data/bundler/lib/bundler/vendor/thor/lib/thor/parser/options.rb +7 -2
- data/bundler/lib/bundler/vendor/thor/lib/thor/runner.rb +6 -6
- data/bundler/lib/bundler/vendor/thor/lib/thor/shell.rb +4 -4
- data/bundler/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +52 -7
- data/bundler/lib/bundler/vendor/thor/lib/thor/shell/color.rb +1 -1
- data/bundler/lib/bundler/vendor/thor/lib/thor/shell/html.rb +1 -1
- data/bundler/lib/bundler/vendor/thor/lib/thor/util.rb +1 -1
- data/bundler/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
- data/bundler/lib/bundler/vendored_fileutils.rb +1 -6
- data/bundler/lib/bundler/vendored_molinillo.rb +1 -1
- data/bundler/lib/bundler/vendored_persistent.rb +7 -5
- data/bundler/lib/bundler/vendored_thor.rb +2 -2
- data/bundler/lib/bundler/version.rb +1 -20
- data/bundler/lib/bundler/version_ranges.rb +51 -5
- data/bundler/lib/bundler/vlad.rb +2 -2
- data/bundler/lib/bundler/worker.rb +1 -3
- data/bundler/lib/bundler/yaml_serializer.rb +2 -3
- data/bundler/man/bundle-add.1 +66 -0
- data/bundler/man/bundle-add.1.txt +58 -0
- data/bundler/man/bundle-add.ronn +7 -1
- data/bundler/man/bundle-binstubs.1 +40 -0
- data/bundler/man/bundle-binstubs.1.txt +48 -0
- data/bundler/man/bundle-binstubs.ronn +1 -1
- data/bundler/man/bundle-check.1 +31 -0
- data/bundler/man/bundle-check.1.txt +33 -0
- data/bundler/man/bundle-clean.1 +24 -0
- data/bundler/man/bundle-clean.1.txt +26 -0
- data/bundler/man/bundle-config.1 +497 -0
- data/bundler/man/bundle-config.1.txt +528 -0
- data/bundler/man/bundle-config.ronn +42 -40
- data/bundler/man/bundle-doctor.1 +44 -0
- data/bundler/man/bundle-doctor.1.txt +44 -0
- data/bundler/man/bundle-exec.1 +165 -0
- data/bundler/man/bundle-exec.1.txt +178 -0
- data/bundler/man/bundle-exec.ronn +1 -1
- data/bundler/man/bundle-gem.1 +80 -0
- data/bundler/man/bundle-gem.1.txt +91 -0
- data/bundler/man/bundle-info.1 +20 -0
- data/bundler/man/bundle-info.1.txt +21 -0
- data/bundler/man/bundle-init.1 +25 -0
- data/bundler/man/bundle-init.1.txt +34 -0
- data/bundler/man/bundle-init.ronn +1 -1
- data/bundler/man/bundle-inject.1 +33 -0
- data/bundler/man/bundle-inject.1.txt +32 -0
- data/bundler/man/bundle-install.1 +311 -0
- data/bundler/man/bundle-install.1.txt +401 -0
- data/bundler/man/bundle-install.ronn +9 -4
- data/bundler/man/bundle-list.1 +50 -0
- data/bundler/man/bundle-list.1.txt +43 -0
- data/bundler/man/bundle-lock.1 +84 -0
- data/bundler/man/bundle-lock.1.txt +93 -0
- data/bundler/man/bundle-open.1 +32 -0
- data/bundler/man/bundle-open.1.txt +29 -0
- data/bundler/man/bundle-outdated.1 +155 -0
- data/bundler/man/bundle-outdated.1.txt +131 -0
- data/bundler/man/bundle-package.1 +55 -0
- data/bundler/man/bundle-package.1.txt +79 -0
- data/bundler/man/bundle-platform.1 +61 -0
- data/bundler/man/bundle-platform.1.txt +57 -0
- data/bundler/man/bundle-pristine.1 +34 -0
- data/bundler/man/bundle-pristine.1.txt +44 -0
- data/bundler/man/bundle-remove.1 +31 -0
- data/bundler/man/bundle-remove.1.txt +34 -0
- data/bundler/man/bundle-show.1 +23 -0
- data/bundler/man/bundle-show.1.txt +27 -0
- data/bundler/man/bundle-update.1 +394 -0
- data/bundler/man/bundle-update.1.txt +390 -0
- data/bundler/man/bundle-update.ronn +3 -3
- data/bundler/man/bundle-viz.1 +39 -0
- data/bundler/man/bundle-viz.1.txt +39 -0
- data/bundler/man/bundle.1 +136 -0
- data/bundler/man/bundle.1.txt +116 -0
- data/bundler/man/bundle.ronn +2 -2
- data/bundler/man/gemfile.5 +686 -0
- data/bundler/man/gemfile.5.ronn +14 -18
- data/bundler/man/gemfile.5.txt +649 -0
- data/bundler/man/index.txt +25 -0
- data/lib/rubygems.rb +80 -48
- data/lib/rubygems/available_set.rb +1 -0
- data/lib/rubygems/basic_specification.rb +17 -6
- data/lib/rubygems/bundler_version_finder.rb +5 -0
- data/lib/rubygems/command.rb +34 -5
- data/lib/rubygems/command_manager.rb +0 -6
- data/lib/rubygems/commands/build_command.rb +21 -8
- data/lib/rubygems/commands/cert_command.rb +0 -1
- data/lib/rubygems/commands/cleanup_command.rb +7 -7
- data/lib/rubygems/commands/contents_command.rb +3 -3
- data/lib/rubygems/commands/dependency_command.rb +4 -3
- data/lib/rubygems/commands/environment_command.rb +0 -3
- data/lib/rubygems/commands/info_command.rb +2 -0
- data/lib/rubygems/commands/install_command.rb +12 -52
- data/lib/rubygems/commands/lock_command.rb +2 -2
- data/lib/rubygems/commands/mirror_command.rb +1 -0
- data/lib/rubygems/commands/open_command.rb +2 -1
- data/lib/rubygems/commands/outdated_command.rb +1 -0
- data/lib/rubygems/commands/owner_command.rb +2 -7
- data/lib/rubygems/commands/pristine_command.rb +3 -0
- data/lib/rubygems/commands/push_command.rb +4 -6
- data/lib/rubygems/commands/query_command.rb +94 -80
- data/lib/rubygems/commands/rdoc_command.rb +1 -0
- data/lib/rubygems/commands/setup_command.rb +10 -8
- data/lib/rubygems/commands/signin_command.rb +1 -0
- data/lib/rubygems/commands/specification_command.rb +1 -0
- data/lib/rubygems/commands/stale_command.rb +2 -0
- data/lib/rubygems/commands/uninstall_command.rb +1 -0
- data/lib/rubygems/commands/unpack_command.rb +2 -29
- data/lib/rubygems/commands/update_command.rb +14 -14
- data/lib/rubygems/commands/which_command.rb +1 -0
- data/lib/rubygems/commands/yank_command.rb +8 -2
- data/lib/rubygems/compatibility.rb +4 -4
- data/lib/rubygems/config_file.rb +28 -23
- data/lib/rubygems/core_ext/kernel_gem.rb +2 -5
- data/lib/rubygems/core_ext/kernel_require.rb +29 -2
- data/lib/rubygems/core_ext/kernel_warn.rb +10 -4
- data/lib/rubygems/defaults.rb +10 -17
- data/lib/rubygems/dependency.rb +21 -6
- data/lib/rubygems/dependency_installer.rb +19 -102
- data/lib/rubygems/dependency_list.rb +11 -10
- data/lib/rubygems/deprecate.rb +5 -5
- data/lib/rubygems/errors.rb +11 -2
- data/lib/rubygems/exceptions.rb +9 -0
- data/lib/rubygems/ext/builder.rb +24 -43
- data/lib/rubygems/ext/cmake_builder.rb +2 -0
- data/lib/rubygems/ext/ext_conf_builder.rb +11 -9
- data/lib/rubygems/ext/rake_builder.rb +1 -1
- data/lib/rubygems/gemcutter_utilities.rb +19 -26
- data/lib/rubygems/indexer.rb +9 -5
- data/lib/rubygems/installer.rb +26 -13
- data/lib/rubygems/installer_test_case.rb +86 -38
- data/lib/rubygems/local_remote_options.rb +1 -1
- data/lib/rubygems/mock_gem_ui.rb +4 -1
- data/lib/rubygems/name_tuple.rb +1 -0
- data/lib/rubygems/package.rb +37 -9
- data/lib/rubygems/package/tar_writer.rb +4 -4
- data/lib/rubygems/path_support.rb +2 -0
- data/lib/rubygems/platform.rb +2 -1
- data/lib/rubygems/psych_tree.rb +2 -0
- data/lib/rubygems/remote_fetcher.rb +5 -1
- data/lib/rubygems/request.rb +5 -3
- data/lib/rubygems/request/connection_pools.rb +4 -4
- data/lib/rubygems/request/http_pool.rb +1 -0
- data/lib/rubygems/request/https_pool.rb +2 -0
- data/lib/rubygems/request_set.rb +2 -2
- data/lib/rubygems/request_set/gem_dependency_api.rb +2 -2
- data/lib/rubygems/request_set/lockfile.rb +5 -2
- data/lib/rubygems/request_set/lockfile/parser.rb +4 -2
- data/lib/rubygems/request_set/lockfile/tokenizer.rb +2 -0
- data/lib/rubygems/requirement.rb +20 -18
- data/lib/rubygems/resolver.rb +4 -5
- data/lib/rubygems/resolver/activation_request.rb +19 -49
- data/lib/rubygems/resolver/best_set.rb +2 -2
- data/lib/rubygems/resolver/conflict.rb +0 -5
- data/lib/rubygems/resolver/installer_set.rb +3 -3
- data/lib/rubygems/resolver/lock_set.rb +1 -1
- data/lib/rubygems/resolver/lock_specification.rb +2 -2
- data/lib/rubygems/resolver/requirement_list.rb +1 -0
- data/lib/rubygems/resolver/specification.rb +1 -0
- data/lib/rubygems/resolver/stats.rb +2 -0
- data/lib/rubygems/security/signer.rb +3 -2
- data/lib/rubygems/server.rb +5 -4
- data/lib/rubygems/source_list.rb +1 -0
- data/lib/rubygems/spec_fetcher.rb +3 -16
- data/lib/rubygems/specification.rb +69 -133
- data/lib/rubygems/specification_policy.rb +7 -2
- data/lib/rubygems/stub_specification.rb +5 -2
- data/lib/rubygems/syck_hack.rb +2 -0
- data/lib/rubygems/test_case.rb +78 -227
- data/lib/rubygems/test_utilities.rb +17 -6
- data/lib/rubygems/text.rb +2 -3
- data/lib/rubygems/uninstaller.rb +15 -15
- data/lib/rubygems/user_interaction.rb +9 -1
- data/lib/rubygems/util.rb +5 -41
- data/lib/rubygems/util/licenses.rb +398 -396
- data/lib/rubygems/util/list.rb +2 -0
- data/lib/rubygems/validator.rb +9 -29
- data/lib/rubygems/version.rb +5 -3
- data/rubygems-update.gemspec +3 -3
- data/test/rubygems/plugin/load/rubygems_plugin.rb +2 -0
- data/test/rubygems/test_deprecate.rb +3 -0
- data/test/rubygems/test_gem.rb +183 -176
- data/test/rubygems/test_gem_available_set.rb +3 -2
- data/test/rubygems/test_gem_bundler_version_finder.rb +3 -1
- data/test/rubygems/test_gem_command.rb +94 -5
- data/test/rubygems/test_gem_command_manager.rb +5 -13
- data/test/rubygems/test_gem_commands_build_command.rb +142 -4
- data/test/rubygems/test_gem_commands_cert_command.rb +15 -1
- data/test/rubygems/test_gem_commands_cleanup_command.rb +22 -6
- data/test/rubygems/test_gem_commands_dependency_command.rb +1 -1
- data/test/rubygems/test_gem_commands_environment_command.rb +1 -11
- data/test/rubygems/test_gem_commands_help_command.rb +2 -0
- data/test/rubygems/test_gem_commands_info_command.rb +1 -0
- data/test/rubygems/test_gem_commands_install_command.rb +207 -2
- data/test/rubygems/test_gem_commands_mirror.rb +1 -0
- data/test/rubygems/test_gem_commands_outdated_command.rb +1 -0
- data/test/rubygems/test_gem_commands_owner_command.rb +4 -5
- data/test/rubygems/test_gem_commands_pristine_command.rb +56 -4
- data/test/rubygems/test_gem_commands_push_command.rb +19 -14
- data/test/rubygems/test_gem_commands_query_command.rb +27 -2
- data/test/rubygems/test_gem_commands_setup_command.rb +62 -37
- data/test/rubygems/test_gem_commands_signin_command.rb +5 -4
- data/test/rubygems/test_gem_commands_sources_command.rb +20 -6
- data/test/rubygems/test_gem_commands_uninstall_command.rb +107 -50
- data/test/rubygems/test_gem_commands_update_command.rb +86 -23
- data/test/rubygems/test_gem_commands_yank_command.rb +46 -1
- data/test/rubygems/test_gem_config_file.rb +9 -2
- data/test/rubygems/test_gem_dependency.rb +6 -0
- data/test/rubygems/test_gem_dependency_installer.rb +67 -36
- data/test/rubygems/test_gem_dependency_list.rb +21 -14
- data/test/rubygems/test_gem_ext_builder.rb +5 -1
- data/test/rubygems/test_gem_ext_cmake_builder.rb +2 -0
- data/test/rubygems/test_gem_ext_configure_builder.rb +8 -0
- data/test/rubygems/test_gem_ext_ext_conf_builder.rb +12 -0
- data/test/rubygems/test_gem_ext_rake_builder.rb +2 -0
- data/test/rubygems/test_gem_gemcutter_utilities.rb +8 -8
- data/test/rubygems/test_gem_indexer.rb +31 -40
- data/test/rubygems/test_gem_install_update_options.rb +31 -17
- data/test/rubygems/test_gem_installer.rb +383 -223
- data/test/rubygems/test_gem_package.rb +99 -14
- data/test/rubygems/test_gem_package_old.rb +57 -54
- data/test/rubygems/test_gem_package_tar_reader_entry.rb +6 -5
- data/test/rubygems/test_gem_package_tar_writer.rb +11 -6
- data/test/rubygems/test_gem_path_support.rb +19 -13
- data/test/rubygems/test_gem_platform.rb +4 -2
- data/test/rubygems/test_gem_rdoc.rb +1 -0
- data/test/rubygems/test_gem_remote_fetcher.rb +29 -16
- data/test/rubygems/test_gem_request.rb +19 -4
- data/test/rubygems/test_gem_request_connection_pools.rb +6 -2
- data/test/rubygems/test_gem_request_set.rb +33 -8
- data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +1 -1
- data/test/rubygems/test_gem_request_set_lockfile.rb +1 -0
- data/test/rubygems/test_gem_request_set_lockfile_parser.rb +2 -1
- data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +2 -0
- data/test/rubygems/test_gem_requirement.rb +7 -1
- data/test/rubygems/test_gem_resolver.rb +67 -23
- data/test/rubygems/test_gem_resolver_activation_request.rb +3 -32
- data/test/rubygems/test_gem_resolver_conflict.rb +0 -4
- data/test/rubygems/test_gem_resolver_git_specification.rb +1 -0
- data/test/rubygems/test_gem_resolver_index_specification.rb +7 -2
- data/test/rubygems/test_gem_resolver_installed_specification.rb +0 -1
- data/test/rubygems/test_gem_resolver_installer_set.rb +3 -1
- data/test/rubygems/test_gem_resolver_specification.rb +2 -0
- data/test/rubygems/test_gem_security.rb +6 -2
- data/test/rubygems/test_gem_security_signer.rb +1 -0
- data/test/rubygems/test_gem_server.rb +7 -2
- data/test/rubygems/test_gem_silent_ui.rb +1 -0
- data/test/rubygems/test_gem_source.rb +7 -7
- data/test/rubygems/test_gem_source_fetch_problem.rb +1 -0
- data/test/rubygems/test_gem_source_git.rb +4 -9
- data/test/rubygems/test_gem_source_installed.rb +6 -6
- data/test/rubygems/test_gem_source_list.rb +1 -0
- data/test/rubygems/test_gem_source_local.rb +5 -4
- data/test/rubygems/test_gem_source_lock.rb +12 -12
- data/test/rubygems/test_gem_source_specific_file.rb +7 -6
- data/test/rubygems/test_gem_source_vendor.rb +4 -4
- data/test/rubygems/test_gem_specification.rb +75 -43
- data/test/rubygems/test_gem_stream_ui.rb +2 -0
- data/test/rubygems/test_gem_stub_specification.rb +3 -1
- data/test/rubygems/test_gem_text.rb +1 -0
- data/test/rubygems/test_gem_uninstaller.rb +31 -10
- data/test/rubygems/test_gem_util.rb +6 -4
- data/test/rubygems/test_gem_validator.rb +3 -4
- data/test/rubygems/test_gem_version.rb +16 -8
- data/test/rubygems/test_kernel.rb +1 -0
- data/test/rubygems/test_rake_package.rb +26 -0
- data/test/rubygems/test_remote_fetch_error.rb +1 -0
- data/test/rubygems/test_require.rb +107 -3
- data/util/bisect +31 -0
- data/util/ci.sh +50 -0
- data/util/generate_spdx_license_list.rb +4 -2
- data/util/rubocop +2 -2
- metadata +90 -18
- data/appveyor.yml +0 -43
- data/bundler/CONTRIBUTING.md +0 -17
- data/bundler/exe/bundle_ruby +0 -60
- data/bundler/lib/bundler/cli/cache.rb +0 -36
- data/bundler/lib/bundler/compatibility_guard.rb +0 -14
- data/bundler/lib/bundler/ssl_certs/.document +0 -1
- data/bundler/lib/bundler/ssl_certs/certificate_manager.rb +0 -66
- data/bundler/lib/bundler/ssl_certs/index.rubygems.org/GlobalSignRootCA.pem +0 -21
- data/bundler/lib/bundler/ssl_certs/rubygems.global.ssl.fastly.net/DigiCertHighAssuranceEVRootCA.pem +0 -23
- data/bundler/lib/bundler/ssl_certs/rubygems.org/AddTrustExternalCARoot.pem +0 -25
- data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/faster.rb +0 -27
- data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/ssl_reuse.rb +0 -129
- data/util/ci +0 -82
@@ -0,0 +1,528 @@
|
|
1
|
+
BUNDLE-CONFIG(1) BUNDLE-CONFIG(1)
|
2
|
+
|
3
|
+
|
4
|
+
|
5
|
+
NAME
|
6
|
+
bundle-config - Set bundler configuration options
|
7
|
+
|
8
|
+
SYNOPSIS
|
9
|
+
bundle config [list|get|set|unset] [name [value]]
|
10
|
+
|
11
|
+
DESCRIPTION
|
12
|
+
This command allows you to interact with Bundler's configuration sys-
|
13
|
+
tem.
|
14
|
+
|
15
|
+
Bundler loads configuration settings in this order:
|
16
|
+
|
17
|
+
1. Local config (app/.bundle/config)
|
18
|
+
|
19
|
+
2. Environmental variables (ENV)
|
20
|
+
|
21
|
+
3. Global config (~/.bundle/config)
|
22
|
+
|
23
|
+
4. Bundler default config
|
24
|
+
|
25
|
+
|
26
|
+
|
27
|
+
Executing bundle config list with will print a list of all bundler con-
|
28
|
+
figuration for the current bundle, and where that configuration was
|
29
|
+
set.
|
30
|
+
|
31
|
+
Executing bundle config get <name> will print the value of that config-
|
32
|
+
uration setting, and where it was set.
|
33
|
+
|
34
|
+
Executing bundle config set <name> <value> will set that configuration
|
35
|
+
to the value specified for all bundles executed as the current user.
|
36
|
+
The configuration will be stored in ~/.bundle/config. If name already
|
37
|
+
is set, name will be overridden and user will be warned.
|
38
|
+
|
39
|
+
Executing bundle config set --global <name> <value> works the same as
|
40
|
+
above.
|
41
|
+
|
42
|
+
Executing bundle config set --local <name> <value> will set that con-
|
43
|
+
figuration to the local application. The configuration will be stored
|
44
|
+
in app/.bundle/config.
|
45
|
+
|
46
|
+
Executing bundle config unset <name> will delete the configuration in
|
47
|
+
both local and global sources.
|
48
|
+
|
49
|
+
Executing bundle config unset --global <name> will delete the configu-
|
50
|
+
ration only from the user configuration.
|
51
|
+
|
52
|
+
Executing bundle config unset --local <name> <value> will delete the
|
53
|
+
configuration only from the local application.
|
54
|
+
|
55
|
+
Executing bundle with the BUNDLE_IGNORE_CONFIG environment variable set
|
56
|
+
will cause it to ignore all configuration.
|
57
|
+
|
58
|
+
Executing bundle config set disable_multisource true upgrades the warn-
|
59
|
+
ing about the Gemfile containing multiple primary sources to an error.
|
60
|
+
Executing bundle config unset disable_multisource downgrades this error
|
61
|
+
to a warning.
|
62
|
+
|
63
|
+
REMEMBERING OPTIONS
|
64
|
+
Flags passed to bundle install or the Bundler runtime, such as --path
|
65
|
+
foo or --without production, are remembered between commands and saved
|
66
|
+
to your local application's configuration (normally, ./.bundle/config).
|
67
|
+
|
68
|
+
However, this will be changed in bundler 3, so it's better not to rely
|
69
|
+
on this behavior. If these options must be remembered, it's better to
|
70
|
+
set them using bundle config (e.g., bundle config set path foo).
|
71
|
+
|
72
|
+
The options that can be configured are:
|
73
|
+
|
74
|
+
bin Creates a directory (defaults to ~/bin) and place any executa-
|
75
|
+
bles from the gem there. These executables run in Bundler's con-
|
76
|
+
text. If used, you might add this directory to your environ-
|
77
|
+
ment's PATH variable. For instance, if the rails gem comes with
|
78
|
+
a rails executable, this flag will create a bin/rails executable
|
79
|
+
that ensures that all referred dependencies will be resolved
|
80
|
+
using the bundled gems.
|
81
|
+
|
82
|
+
deployment
|
83
|
+
In deployment mode, Bundler will 'roll-out' the bundle for pro-
|
84
|
+
duction use. Please check carefully if you want to have this
|
85
|
+
option enabled in development or test environments.
|
86
|
+
|
87
|
+
path The location to install the specified gems to. This defaults to
|
88
|
+
Rubygems' setting. Bundler shares this location with Rubygems,
|
89
|
+
gem install ... will have gem installed there, too. Therefore,
|
90
|
+
gems installed without a --path ... setting will show up by
|
91
|
+
calling gem list. Accordingly, gems installed to other locations
|
92
|
+
will not get listed.
|
93
|
+
|
94
|
+
without
|
95
|
+
A space-separated list of groups referencing gems to skip during
|
96
|
+
installation.
|
97
|
+
|
98
|
+
with A space-separated list of groups referencing gems to include
|
99
|
+
during installation.
|
100
|
+
|
101
|
+
BUILD OPTIONS
|
102
|
+
You can use bundle config to give Bundler the flags to pass to the gem
|
103
|
+
installer every time bundler tries to install a particular gem.
|
104
|
+
|
105
|
+
A very common example, the mysql gem, requires Snow Leopard users to
|
106
|
+
pass configuration flags to gem install to specify where to find the
|
107
|
+
mysql_config executable.
|
108
|
+
|
109
|
+
|
110
|
+
|
111
|
+
gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
|
112
|
+
|
113
|
+
|
114
|
+
|
115
|
+
Since the specific location of that executable can change from machine
|
116
|
+
to machine, you can specify these flags on a per-machine basis.
|
117
|
+
|
118
|
+
|
119
|
+
|
120
|
+
bundle config set build.mysql --with-mysql-config=/usr/local/mysql/bin/mysql_config
|
121
|
+
|
122
|
+
|
123
|
+
|
124
|
+
After running this command, every time bundler needs to install the
|
125
|
+
mysql gem, it will pass along the flags you specified.
|
126
|
+
|
127
|
+
CONFIGURATION KEYS
|
128
|
+
Configuration keys in bundler have two forms: the canonical form and
|
129
|
+
the environment variable form.
|
130
|
+
|
131
|
+
For instance, passing the --without flag to bundle install(1) bun-
|
132
|
+
dle-install.1.html prevents Bundler from installing certain groups
|
133
|
+
specified in the Gemfile(5). Bundler persists this value in app/.bun-
|
134
|
+
dle/config so that calls to Bundler.setup do not try to find gems from
|
135
|
+
the Gemfile that you didn't install. Additionally, subsequent calls to
|
136
|
+
bundle install(1) bundle-install.1.html remember this setting and skip
|
137
|
+
those groups.
|
138
|
+
|
139
|
+
The canonical form of this configuration is "without". To convert the
|
140
|
+
canonical form to the environment variable form, capitalize it, and
|
141
|
+
prepend BUNDLE_. The environment variable form of "without" is BUN-
|
142
|
+
DLE_WITHOUT.
|
143
|
+
|
144
|
+
Any periods in the configuration keys must be replaced with two under-
|
145
|
+
scores when setting it via environment variables. The configuration key
|
146
|
+
local.rack becomes the environment variable BUNDLE_LOCAL__RACK.
|
147
|
+
|
148
|
+
LIST OF AVAILABLE KEYS
|
149
|
+
The following is a list of all configuration keys and their purpose.
|
150
|
+
You can learn more about their operation in bundle install(1) bun-
|
151
|
+
dle-install.1.html.
|
152
|
+
|
153
|
+
o allow_bundler_dependency_conflicts (BUNDLE_ALLOW_BUNDLER_DEPEN-
|
154
|
+
DENCY_CONFLICTS): Allow resolving to specifications that have
|
155
|
+
dependencies on bundler that are incompatible with the running
|
156
|
+
Bundler version.
|
157
|
+
|
158
|
+
o allow_deployment_source_credential_changes (BUNDLE_ALLOW_DEPLOY-
|
159
|
+
MENT_SOURCE_CREDENTIAL_CHANGES): When in deployment mode, allow
|
160
|
+
changing the credentials to a gem's source. Ex:
|
161
|
+
https://some.host.com/gems/path/ -> https://user_name:pass-
|
162
|
+
word@some.host.com/gems/path
|
163
|
+
|
164
|
+
o allow_offline_install (BUNDLE_ALLOW_OFFLINE_INSTALL): Allow Bundler
|
165
|
+
to use cached data when installing without network access.
|
166
|
+
|
167
|
+
o auto_clean_without_path (BUNDLE_AUTO_CLEAN_WITHOUT_PATH): Automati-
|
168
|
+
cally run bundle clean after installing when an explicit path has
|
169
|
+
not been set and Bundler is not installing into the system gems.
|
170
|
+
|
171
|
+
o auto_install (BUNDLE_AUTO_INSTALL): Automatically run bundle
|
172
|
+
install when gems are missing.
|
173
|
+
|
174
|
+
o bin (BUNDLE_BIN): Install executables from gems in the bundle to
|
175
|
+
the specified directory. Defaults to false.
|
176
|
+
|
177
|
+
o cache_all (BUNDLE_CACHE_ALL): Cache all gems, including path and
|
178
|
+
git gems.
|
179
|
+
|
180
|
+
o cache_all_platforms (BUNDLE_CACHE_ALL_PLATFORMS): Cache gems for
|
181
|
+
all platforms.
|
182
|
+
|
183
|
+
o cache_path (BUNDLE_CACHE_PATH): The directory that bundler will
|
184
|
+
place cached gems in when running bundle package, and that bundler
|
185
|
+
will look in when installing gems. Defaults to vendor/cache.
|
186
|
+
|
187
|
+
o clean (BUNDLE_CLEAN): Whether Bundler should run bundle clean auto-
|
188
|
+
matically after bundle install.
|
189
|
+
|
190
|
+
o console (BUNDLE_CONSOLE): The console that bundle console starts.
|
191
|
+
Defaults to irb.
|
192
|
+
|
193
|
+
o default_install_uses_path (BUNDLE_DEFAULT_INSTALL_USES_PATH):
|
194
|
+
Whether a bundle install without an explicit --path argument
|
195
|
+
defaults to installing gems in .bundle.
|
196
|
+
|
197
|
+
o deployment (BUNDLE_DEPLOYMENT): Disallow changes to the Gemfile.
|
198
|
+
When the Gemfile is changed and the lockfile has not been updated,
|
199
|
+
running Bundler commands will be blocked.
|
200
|
+
|
201
|
+
o disable_checksum_validation (BUNDLE_DISABLE_CHECKSUM_VALIDATION):
|
202
|
+
Allow installing gems even if they do not match the checksum pro-
|
203
|
+
vided by RubyGems.
|
204
|
+
|
205
|
+
o disable_exec_load (BUNDLE_DISABLE_EXEC_LOAD): Stop Bundler from
|
206
|
+
using load to launch an executable in-process in bundle exec.
|
207
|
+
|
208
|
+
o disable_local_branch_check (BUNDLE_DISABLE_LOCAL_BRANCH_CHECK):
|
209
|
+
Allow Bundler to use a local git override without a branch speci-
|
210
|
+
fied in the Gemfile.
|
211
|
+
|
212
|
+
o disable_multisource (BUNDLE_DISABLE_MULTISOURCE): When set, Gem-
|
213
|
+
files containing multiple sources will produce errors instead of
|
214
|
+
warnings. Use bundle config unset disable_multisource to unset.
|
215
|
+
|
216
|
+
o disable_platform_warnings (BUNDLE_DISABLE_PLATFORM_WARNINGS): Dis-
|
217
|
+
able warnings during bundle install when a dependency is unused on
|
218
|
+
the current platform.
|
219
|
+
|
220
|
+
o disable_shared_gems (BUNDLE_DISABLE_SHARED_GEMS): Stop Bundler from
|
221
|
+
accessing gems installed to RubyGems' normal location.
|
222
|
+
|
223
|
+
o disable_version_check (BUNDLE_DISABLE_VERSION_CHECK): Stop Bundler
|
224
|
+
from checking if a newer Bundler version is available on
|
225
|
+
rubygems.org.
|
226
|
+
|
227
|
+
o force_ruby_platform (BUNDLE_FORCE_RUBY_PLATFORM): Ignore the cur-
|
228
|
+
rent machine's platform and install only ruby platform gems. As a
|
229
|
+
result, gems with native extensions will be compiled from source.
|
230
|
+
|
231
|
+
o frozen (BUNDLE_FROZEN): Disallow changes to the Gemfile. When the
|
232
|
+
Gemfile is changed and the lockfile has not been updated, running
|
233
|
+
Bundler commands will be blocked. Defaults to true when --deploy-
|
234
|
+
ment is used.
|
235
|
+
|
236
|
+
o gem.push_key (BUNDLE_GEM__PUSH_KEY): Sets the --key parameter for
|
237
|
+
gem push when using the rake release command with a private gem-
|
238
|
+
stash server.
|
239
|
+
|
240
|
+
o gemfile (BUNDLE_GEMFILE): The name of the file that bundler should
|
241
|
+
use as the Gemfile. This location of this file also sets the root
|
242
|
+
of the project, which is used to resolve relative paths in the Gem-
|
243
|
+
file, among other things. By default, bundler will search up from
|
244
|
+
the current working directory until it finds a Gemfile.
|
245
|
+
|
246
|
+
o global_gem_cache (BUNDLE_GLOBAL_GEM_CACHE): Whether Bundler should
|
247
|
+
cache all gems globally, rather than locally to the installing Ruby
|
248
|
+
installation.
|
249
|
+
|
250
|
+
o ignore_messages (BUNDLE_IGNORE_MESSAGES): When set, no post install
|
251
|
+
messages will be printed. To silence a single gem, use dot notation
|
252
|
+
like ignore_messages.httparty true.
|
253
|
+
|
254
|
+
o init_gems_rb (BUNDLE_INIT_GEMS_RB) Generate a gems.rb instead of a
|
255
|
+
Gemfile when running bundle init.
|
256
|
+
|
257
|
+
o jobs (BUNDLE_JOBS): The number of gems Bundler can install in par-
|
258
|
+
allel. Defaults to 1.
|
259
|
+
|
260
|
+
o no_install (BUNDLE_NO_INSTALL): Whether bundle package should skip
|
261
|
+
installing gems.
|
262
|
+
|
263
|
+
o no_prune (BUNDLE_NO_PRUNE): Whether Bundler should leave outdated
|
264
|
+
gems unpruned when caching.
|
265
|
+
|
266
|
+
o only_update_to_newer_versions (BUNDLE_ONLY_UPDATE_TO_NEWER_VER-
|
267
|
+
SIONS): During bundle update, only resolve to newer versions of the
|
268
|
+
gems in the lockfile.
|
269
|
+
|
270
|
+
o path (BUNDLE_PATH): The location on disk where all gems in your
|
271
|
+
bundle will be located regardless of $GEM_HOME or $GEM_PATH values.
|
272
|
+
Bundle gems not found in this location will be installed by bundle
|
273
|
+
install. Defaults to Gem.dir. When --deployment is used, defaults
|
274
|
+
to vendor/bundle.
|
275
|
+
|
276
|
+
o path.system (BUNDLE_PATH__SYSTEM): Whether Bundler will install
|
277
|
+
gems into the default system path (Gem.dir).
|
278
|
+
|
279
|
+
o path_relative_to_cwd (BUNDLE_PATH_RELATIVE_TO_CWD) Makes --path
|
280
|
+
relative to the CWD instead of the Gemfile.
|
281
|
+
|
282
|
+
o plugins (BUNDLE_PLUGINS): Enable Bundler's experimental plugin sys-
|
283
|
+
tem.
|
284
|
+
|
285
|
+
o prefer_patch (BUNDLE_PREFER_PATCH): Prefer updating only to next
|
286
|
+
patch version during updates. Makes bundle update calls equivalent
|
287
|
+
to bundler update --patch.
|
288
|
+
|
289
|
+
o print_only_version_number (BUNDLE_PRINT_ONLY_VERSION_NUMBER) Print
|
290
|
+
only version number from bundler --version.
|
291
|
+
|
292
|
+
o redirect (BUNDLE_REDIRECT): The number of redirects allowed for
|
293
|
+
network requests. Defaults to 5.
|
294
|
+
|
295
|
+
o retry (BUNDLE_RETRY): The number of times to retry failed network
|
296
|
+
requests. Defaults to 3.
|
297
|
+
|
298
|
+
o setup_makes_kernel_gem_public (BUNDLE_SETUP_MAKES_KERNEL_GEM_PUB-
|
299
|
+
LIC): Have Bundler.setup make the Kernel#gem method public, even
|
300
|
+
though RubyGems declares it as private.
|
301
|
+
|
302
|
+
o shebang (BUNDLE_SHEBANG): The program name that should be invoked
|
303
|
+
for generated binstubs. Defaults to the ruby install name used to
|
304
|
+
generate the binstub.
|
305
|
+
|
306
|
+
o silence_deprecations (BUNDLE_SILENCE_DEPRECATIONS): Whether Bundler
|
307
|
+
should silence deprecation warnings for behavior that will be
|
308
|
+
changed in the next major version.
|
309
|
+
|
310
|
+
o silence_root_warning (BUNDLE_SILENCE_ROOT_WARNING): Silence the
|
311
|
+
warning Bundler prints when installing gems as root.
|
312
|
+
|
313
|
+
o skip_default_git_sources (BUNDLE_SKIP_DEFAULT_GIT_SOURCES): Whether
|
314
|
+
Bundler should skip adding default git source shortcuts to the Gem-
|
315
|
+
file DSL.
|
316
|
+
|
317
|
+
o specific_platform (BUNDLE_SPECIFIC_PLATFORM): Allow bundler to
|
318
|
+
resolve for the specific running platform and store it in the lock-
|
319
|
+
file, instead of only using a generic platform. A specific platform
|
320
|
+
is the exact platform triple reported by Gem::Platform.local, such
|
321
|
+
as x86_64-darwin-16 or universal-java-1.8. On the other hand,
|
322
|
+
generic platforms are those such as ruby, mswin, or java. In this
|
323
|
+
example, x86_64-darwin-16 would map to ruby and universal-java-1.8
|
324
|
+
to java.
|
325
|
+
|
326
|
+
o ssl_ca_cert (BUNDLE_SSL_CA_CERT): Path to a designated CA certifi-
|
327
|
+
cate file or folder containing multiple certificates for trusted
|
328
|
+
CAs in PEM format.
|
329
|
+
|
330
|
+
o ssl_client_cert (BUNDLE_SSL_CLIENT_CERT): Path to a designated file
|
331
|
+
containing a X.509 client certificate and key in PEM format.
|
332
|
+
|
333
|
+
o ssl_verify_mode (BUNDLE_SSL_VERIFY_MODE): The SSL verification mode
|
334
|
+
Bundler uses when making HTTPS requests. Defaults to verify peer.
|
335
|
+
|
336
|
+
o suppress_install_using_messages (BUNDLE_SUPPRESS_INSTALL_USING_MES-
|
337
|
+
SAGES): Avoid printing Using ... messages during installation when
|
338
|
+
the version of a gem has not changed.
|
339
|
+
|
340
|
+
o system_bindir (BUNDLE_SYSTEM_BINDIR): The location where RubyGems
|
341
|
+
installs binstubs. Defaults to Gem.bindir.
|
342
|
+
|
343
|
+
o timeout (BUNDLE_TIMEOUT): The seconds allowed before timing out for
|
344
|
+
network requests. Defaults to 10.
|
345
|
+
|
346
|
+
o unlock_source_unlocks_spec (BUNDLE_UNLOCK_SOURCE_UNLOCKS_SPEC):
|
347
|
+
Whether running bundle update --source NAME unlocks a gem with the
|
348
|
+
given name. Defaults to true.
|
349
|
+
|
350
|
+
o update_requires_all_flag (BUNDLE_UPDATE_REQUIRES_ALL_FLAG) Require
|
351
|
+
passing --all to bundle update when everything should be updated,
|
352
|
+
and disallow passing no options to bundle update.
|
353
|
+
|
354
|
+
o user_agent (BUNDLE_USER_AGENT): The custom user agent fragment
|
355
|
+
Bundler includes in API requests.
|
356
|
+
|
357
|
+
o with (BUNDLE_WITH): A :-separated list of groups whose gems bundler
|
358
|
+
should install.
|
359
|
+
|
360
|
+
o without (BUNDLE_WITHOUT): A :-separated list of groups whose gems
|
361
|
+
bundler should not install.
|
362
|
+
|
363
|
+
|
364
|
+
|
365
|
+
In general, you should set these settings per-application by using the
|
366
|
+
applicable flag to the bundle install(1) bundle-install.1.html or bun-
|
367
|
+
dle package(1) bundle-package.1.html command.
|
368
|
+
|
369
|
+
You can set them globally either via environment variables or bundle
|
370
|
+
config, whichever is preferable for your setup. If you use both, envi-
|
371
|
+
ronment variables will take preference over global settings.
|
372
|
+
|
373
|
+
LOCAL GIT REPOS
|
374
|
+
Bundler also allows you to work against a git repository locally
|
375
|
+
instead of using the remote version. This can be achieved by setting up
|
376
|
+
a local override:
|
377
|
+
|
378
|
+
|
379
|
+
|
380
|
+
bundle config set local.GEM_NAME /path/to/local/git/repository
|
381
|
+
|
382
|
+
|
383
|
+
|
384
|
+
For example, in order to use a local Rack repository, a developer could
|
385
|
+
call:
|
386
|
+
|
387
|
+
|
388
|
+
|
389
|
+
bundle config set local.rack ~/Work/git/rack
|
390
|
+
|
391
|
+
|
392
|
+
|
393
|
+
Now instead of checking out the remote git repository, the local over-
|
394
|
+
ride will be used. Similar to a path source, every time the local git
|
395
|
+
repository change, changes will be automatically picked up by Bundler.
|
396
|
+
This means a commit in the local git repo will update the revision in
|
397
|
+
the Gemfile.lock to the local git repo revision. This requires the same
|
398
|
+
attention as git submodules. Before pushing to the remote, you need to
|
399
|
+
ensure the local override was pushed, otherwise you may point to a com-
|
400
|
+
mit that only exists in your local machine. You'll also need to CGI
|
401
|
+
escape your usernames and passwords as well.
|
402
|
+
|
403
|
+
Bundler does many checks to ensure a developer won't work with invalid
|
404
|
+
references. Particularly, we force a developer to specify a branch in
|
405
|
+
the Gemfile in order to use this feature. If the branch specified in
|
406
|
+
the Gemfile and the current branch in the local git repository do not
|
407
|
+
match, Bundler will abort. This ensures that a developer is always
|
408
|
+
working against the correct branches, and prevents accidental locking
|
409
|
+
to a different branch.
|
410
|
+
|
411
|
+
Finally, Bundler also ensures that the current revision in the Gem-
|
412
|
+
file.lock exists in the local git repository. By doing this, Bundler
|
413
|
+
forces you to fetch the latest changes in the remotes.
|
414
|
+
|
415
|
+
MIRRORS OF GEM SOURCES
|
416
|
+
Bundler supports overriding gem sources with mirrors. This allows you
|
417
|
+
to configure rubygems.org as the gem source in your Gemfile while still
|
418
|
+
using your mirror to fetch gems.
|
419
|
+
|
420
|
+
|
421
|
+
|
422
|
+
bundle config set mirror.SOURCE_URL MIRROR_URL
|
423
|
+
|
424
|
+
|
425
|
+
|
426
|
+
For example, to use a mirror of rubygems.org hosted at rubygems-mir-
|
427
|
+
ror.org:
|
428
|
+
|
429
|
+
|
430
|
+
|
431
|
+
bundle config set mirror.http://rubygems.org http://rubygems-mirror.org
|
432
|
+
|
433
|
+
|
434
|
+
|
435
|
+
Each mirror also provides a fallback timeout setting. If the mirror
|
436
|
+
does not respond within the fallback timeout, Bundler will try to use
|
437
|
+
the original server instead of the mirror.
|
438
|
+
|
439
|
+
|
440
|
+
|
441
|
+
bundle config set mirror.SOURCE_URL.fallback_timeout TIMEOUT
|
442
|
+
|
443
|
+
|
444
|
+
|
445
|
+
For example, to fall back to rubygems.org after 3 seconds:
|
446
|
+
|
447
|
+
|
448
|
+
|
449
|
+
bundle config set mirror.https://rubygems.org.fallback_timeout 3
|
450
|
+
|
451
|
+
|
452
|
+
|
453
|
+
The default fallback timeout is 0.1 seconds, but the setting can cur-
|
454
|
+
rently only accept whole seconds (for example, 1, 15, or 30).
|
455
|
+
|
456
|
+
CREDENTIALS FOR GEM SOURCES
|
457
|
+
Bundler allows you to configure credentials for any gem source, which
|
458
|
+
allows you to avoid putting secrets into your Gemfile.
|
459
|
+
|
460
|
+
|
461
|
+
|
462
|
+
bundle config set SOURCE_HOSTNAME USERNAME:PASSWORD
|
463
|
+
|
464
|
+
|
465
|
+
|
466
|
+
For example, to save the credentials of user claudette for the gem
|
467
|
+
source at gems.longerous.com, you would run:
|
468
|
+
|
469
|
+
|
470
|
+
|
471
|
+
bundle config set gems.longerous.com claudette:s00pers3krit
|
472
|
+
|
473
|
+
|
474
|
+
|
475
|
+
Or you can set the credentials as an environment variable like this:
|
476
|
+
|
477
|
+
|
478
|
+
|
479
|
+
export BUNDLE_GEMS__LONGEROUS__COM="claudette:s00pers3krit"
|
480
|
+
|
481
|
+
|
482
|
+
|
483
|
+
For gems with a git source with HTTP(S) URL you can specify credentials
|
484
|
+
like so:
|
485
|
+
|
486
|
+
|
487
|
+
|
488
|
+
bundle config set https://github.com/bundler/bundler.git username:password
|
489
|
+
|
490
|
+
|
491
|
+
|
492
|
+
Or you can set the credentials as an environment variable like so:
|
493
|
+
|
494
|
+
|
495
|
+
|
496
|
+
export BUNDLE_GITHUB__COM=username:password
|
497
|
+
|
498
|
+
|
499
|
+
|
500
|
+
This is especially useful for private repositories on hosts such as
|
501
|
+
Github, where you can use personal OAuth tokens:
|
502
|
+
|
503
|
+
|
504
|
+
|
505
|
+
export BUNDLE_GITHUB__COM=abcd0123generatedtoken:x-oauth-basic
|
506
|
+
|
507
|
+
|
508
|
+
|
509
|
+
CONFIGURE BUNDLER DIRECTORIES
|
510
|
+
Bundler's home, config, cache and plugin directories are able to be
|
511
|
+
configured through environment variables. The default location for
|
512
|
+
Bundler's home directory is ~/.bundle, which all directories inherit
|
513
|
+
from by default. The following outlines the available environment vari-
|
514
|
+
ables and their default values
|
515
|
+
|
516
|
+
|
517
|
+
|
518
|
+
BUNDLE_USER_HOME : $HOME/.bundle
|
519
|
+
BUNDLE_USER_CACHE : $BUNDLE_USER_HOME/cache
|
520
|
+
BUNDLE_USER_CONFIG : $BUNDLE_USER_HOME/config
|
521
|
+
BUNDLE_USER_PLUGIN : $BUNDLE_USER_HOME/plugin
|
522
|
+
|
523
|
+
|
524
|
+
|
525
|
+
|
526
|
+
|
527
|
+
|
528
|
+
September 2019 BUNDLE-CONFIG(1)
|