rubygems-update 3.1.6 → 3.2.0.rc.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CODE_OF_CONDUCT.md +55 -19
- data/CONTRIBUTING.md +1 -2
- data/History.txt +122 -14
- data/Manifest.txt +13 -25
- data/POLICIES.md +2 -9
- data/README.md +1 -1
- data/Rakefile +31 -33
- data/bin/update_rubygems +1 -1
- data/bundler/CHANGELOG.md +806 -741
- data/bundler/README.md +6 -8
- data/bundler/UPGRADING.md +16 -30
- data/bundler/bundler.gemspec +3 -3
- data/bundler/exe/bundle +3 -0
- data/bundler/lib/bundler.rb +15 -4
- data/bundler/lib/bundler/build_metadata.rb +2 -2
- data/bundler/lib/bundler/cli.rb +32 -11
- data/bundler/lib/bundler/cli/console.rb +1 -1
- data/bundler/lib/bundler/cli/gem.rb +83 -10
- data/bundler/lib/bundler/cli/info.rb +13 -3
- data/bundler/lib/bundler/cli/init.rb +1 -1
- data/bundler/lib/bundler/cli/install.rb +5 -14
- data/bundler/lib/bundler/cli/issue.rb +2 -2
- data/bundler/lib/bundler/cli/list.rb +11 -9
- data/bundler/lib/bundler/cli/outdated.rb +88 -65
- data/bundler/lib/bundler/cli/plugin.rb +10 -0
- data/bundler/lib/bundler/cli/pristine.rb +5 -0
- data/bundler/lib/bundler/definition.rb +32 -32
- data/bundler/lib/bundler/dependency.rb +0 -9
- data/bundler/lib/bundler/dsl.rb +1 -5
- data/bundler/lib/bundler/environment_preserver.rb +26 -2
- data/bundler/lib/bundler/errors.rb +1 -0
- data/bundler/lib/bundler/feature_flag.rb +0 -2
- data/bundler/lib/bundler/fetcher.rb +1 -0
- data/bundler/lib/bundler/friendly_errors.rb +4 -10
- data/bundler/lib/bundler/gem_helper.rb +17 -10
- data/bundler/lib/bundler/gem_version_promoter.rb +1 -1
- data/bundler/lib/bundler/injector.rb +14 -3
- data/bundler/lib/bundler/inline.rb +1 -1
- data/bundler/lib/bundler/installer.rb +29 -28
- data/bundler/lib/bundler/installer/gem_installer.rb +2 -2
- data/bundler/lib/bundler/installer/parallel_installer.rb +9 -9
- data/bundler/lib/bundler/lazy_specification.rb +16 -3
- data/bundler/lib/bundler/plugin.rb +26 -0
- data/bundler/lib/bundler/plugin/index.rb +9 -0
- data/bundler/lib/bundler/psyched_yaml.rb +0 -15
- data/bundler/lib/bundler/remote_specification.rb +4 -1
- data/bundler/lib/bundler/resolver.rb +31 -8
- data/bundler/lib/bundler/resolver/spec_group.rb +26 -5
- data/bundler/lib/bundler/rubygems_ext.rb +7 -8
- data/bundler/lib/bundler/rubygems_gem_installer.rb +1 -7
- data/bundler/lib/bundler/rubygems_integration.rb +3 -48
- data/bundler/lib/bundler/runtime.rb +2 -12
- data/bundler/lib/bundler/settings.rb +0 -3
- data/bundler/lib/bundler/shared_helpers.rb +1 -1
- data/bundler/lib/bundler/source/git.rb +4 -4
- data/bundler/lib/bundler/source/git/git_proxy.rb +53 -58
- data/bundler/lib/bundler/source/path.rb +5 -1
- data/bundler/lib/bundler/source/path/installer.rb +7 -9
- data/bundler/lib/bundler/source/rubygems.rb +11 -14
- data/bundler/lib/bundler/stub_specification.rb +16 -4
- data/bundler/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt +57 -47
- data/bundler/lib/bundler/templates/newgem/Gemfile.tt +9 -1
- data/bundler/lib/bundler/templates/newgem/Rakefile.tt +19 -5
- data/bundler/lib/bundler/templates/newgem/bin/console.tt +2 -0
- data/bundler/lib/bundler/templates/newgem/circleci/config.yml.tt +13 -0
- data/bundler/lib/bundler/templates/newgem/ext/newgem/extconf.rb.tt +2 -0
- data/bundler/lib/bundler/templates/newgem/github/workflows/main.yml.tt +18 -0
- data/bundler/lib/bundler/templates/newgem/gitlab-ci.yml.tt +9 -0
- data/bundler/lib/bundler/templates/newgem/lib/newgem.rb.tt +2 -0
- data/bundler/lib/bundler/templates/newgem/lib/newgem/version.rb.tt +2 -0
- data/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt +6 -4
- data/bundler/lib/bundler/templates/newgem/rubocop.yml.tt +10 -0
- data/bundler/lib/bundler/templates/newgem/spec/newgem_spec.rb.tt +2 -0
- data/bundler/lib/bundler/templates/newgem/spec/spec_helper.rb.tt +2 -0
- data/bundler/lib/bundler/templates/newgem/test/{newgem_test.rb.tt → minitest/newgem_test.rb.tt} +2 -0
- data/bundler/lib/bundler/templates/newgem/test/{test_helper.rb.tt → minitest/test_helper.rb.tt} +2 -0
- data/bundler/lib/bundler/templates/newgem/test/test-unit/newgem_test.rb.tt +15 -0
- data/bundler/lib/bundler/templates/newgem/test/test-unit/test_helper.rb.tt +6 -0
- data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +75 -189
- data/bundler/lib/bundler/vendor/thor/lib/thor.rb +0 -7
- data/bundler/lib/bundler/vendor/thor/lib/thor/actions/create_link.rb +2 -1
- data/bundler/lib/bundler/vendor/thor/lib/thor/base.rb +9 -0
- data/bundler/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
- data/bundler/lib/bundler/version.rb +1 -1
- data/bundler/man/bundle-add.1 +1 -1
- data/bundler/man/bundle-add.1.txt +15 -15
- data/bundler/man/bundle-binstubs.1 +1 -1
- data/bundler/man/bundle-binstubs.1.txt +10 -10
- data/bundler/man/bundle-cache.1 +1 -1
- data/bundler/man/bundle-cache.1.txt +15 -15
- data/bundler/man/bundle-check.1 +1 -1
- data/bundler/man/bundle-check.1.txt +8 -8
- data/bundler/man/bundle-clean.1 +1 -1
- data/bundler/man/bundle-clean.1.txt +6 -6
- data/bundler/man/bundle-config.1 +3 -9
- data/bundler/man/bundle-config.1.txt +271 -272
- data/bundler/man/bundle-config.ronn +5 -9
- data/bundler/man/bundle-doctor.1 +1 -1
- data/bundler/man/bundle-doctor.1.txt +9 -9
- data/bundler/man/bundle-exec.1 +1 -1
- data/bundler/man/bundle-exec.1.txt +84 -81
- data/bundler/man/bundle-gem.1 +25 -3
- data/bundler/man/bundle-gem.1.txt +65 -39
- data/bundler/man/bundle-gem.ronn +30 -7
- data/bundler/man/bundle-info.1 +1 -1
- data/bundler/man/bundle-info.1.txt +2 -2
- data/bundler/man/bundle-init.1 +1 -1
- data/bundler/man/bundle-init.1.txt +9 -9
- data/bundler/man/bundle-inject.1 +1 -1
- data/bundler/man/bundle-inject.1.txt +4 -4
- data/bundler/man/bundle-install.1 +1 -1
- data/bundler/man/bundle-install.1.txt +169 -169
- data/bundler/man/bundle-list.1 +7 -7
- data/bundler/man/bundle-list.1.txt +12 -11
- data/bundler/man/bundle-list.ronn +6 -6
- data/bundler/man/bundle-lock.1 +1 -1
- data/bundler/man/bundle-lock.1.txt +28 -28
- data/bundler/man/bundle-open.1 +1 -1
- data/bundler/man/bundle-open.1.txt +3 -3
- data/bundler/man/bundle-outdated.1 +1 -1
- data/bundler/man/bundle-outdated.1.txt +34 -34
- data/bundler/man/bundle-platform.1 +1 -1
- data/bundler/man/bundle-platform.1.txt +16 -16
- data/bundler/man/bundle-pristine.1 +1 -1
- data/bundler/man/bundle-pristine.1.txt +8 -8
- data/bundler/man/bundle-remove.1 +1 -1
- data/bundler/man/bundle-remove.1.txt +9 -9
- data/bundler/man/bundle-show.1 +1 -1
- data/bundler/man/bundle-show.1.txt +8 -8
- data/bundler/man/bundle-update.1 +1 -1
- data/bundler/man/bundle-update.1.txt +149 -148
- data/bundler/man/bundle-viz.1 +1 -1
- data/bundler/man/bundle-viz.1.txt +11 -11
- data/bundler/man/bundle.1 +1 -1
- data/bundler/man/bundle.1.txt +31 -31
- data/bundler/man/gemfile.5 +1 -1
- data/bundler/man/gemfile.5.txt +218 -216
- data/lib/rubygems.rb +68 -148
- data/lib/rubygems/available_set.rb +4 -4
- data/lib/rubygems/basic_specification.rb +11 -5
- data/lib/rubygems/bundler_version_finder.rb +14 -9
- data/lib/rubygems/command.rb +16 -14
- data/lib/rubygems/command_manager.rb +4 -3
- data/lib/rubygems/commands/cert_command.rb +1 -1
- data/lib/rubygems/commands/cleanup_command.rb +3 -3
- data/lib/rubygems/commands/contents_command.rb +4 -4
- data/lib/rubygems/commands/dependency_command.rb +6 -6
- data/lib/rubygems/commands/fetch_command.rb +2 -2
- data/lib/rubygems/commands/help_command.rb +1 -1
- data/lib/rubygems/commands/info_command.rb +9 -4
- data/lib/rubygems/commands/install_command.rb +3 -3
- data/lib/rubygems/commands/list_command.rb +9 -6
- data/lib/rubygems/commands/lock_command.rb +1 -1
- data/lib/rubygems/commands/open_command.rb +0 -2
- data/lib/rubygems/commands/pristine_command.rb +10 -2
- data/lib/rubygems/commands/push_command.rb +4 -42
- data/lib/rubygems/commands/query_command.rb +7 -352
- data/lib/rubygems/commands/search_command.rb +8 -6
- data/lib/rubygems/commands/setup_command.rb +128 -32
- data/lib/rubygems/commands/specification_command.rb +2 -2
- data/lib/rubygems/commands/stale_command.rb +1 -1
- data/lib/rubygems/commands/uninstall_command.rb +1 -1
- data/lib/rubygems/commands/unpack_command.rb +1 -1
- data/lib/rubygems/commands/update_command.rb +40 -10
- data/lib/rubygems/config_file.rb +11 -2
- data/lib/rubygems/core_ext/kernel_require.rb +2 -2
- data/lib/rubygems/defaults.rb +99 -5
- data/lib/rubygems/dependency.rb +2 -5
- data/lib/rubygems/dependency_installer.rb +1 -73
- data/lib/rubygems/dependency_list.rb +7 -7
- data/lib/rubygems/deprecate.rb +46 -1
- data/lib/rubygems/doctor.rb +4 -2
- data/lib/rubygems/errors.rb +3 -2
- data/lib/rubygems/exceptions.rb +2 -13
- data/lib/rubygems/ext.rb +6 -6
- data/lib/rubygems/ext/build_error.rb +2 -0
- data/lib/rubygems/ext/builder.rb +1 -1
- data/lib/rubygems/ext/cmake_builder.rb +1 -1
- data/lib/rubygems/ext/ext_conf_builder.rb +6 -7
- data/lib/rubygems/gem_runner.rb +3 -8
- data/lib/rubygems/gemcutter_utilities.rb +1 -1
- data/lib/rubygems/indexer.rb +1 -19
- data/lib/rubygems/install_update_options.rb +5 -5
- data/lib/rubygems/installer.rb +45 -42
- data/lib/rubygems/installer_test_case.rb +19 -2
- data/lib/rubygems/installer_uninstaller_utils.rb +24 -0
- data/lib/rubygems/local_remote_options.rb +1 -1
- data/lib/rubygems/name_tuple.rb +2 -4
- data/lib/rubygems/package.rb +8 -13
- data/lib/rubygems/package/old.rb +1 -1
- data/lib/rubygems/package/tar_header.rb +3 -3
- data/lib/rubygems/package/tar_reader.rb +0 -1
- data/lib/rubygems/package/tar_reader/entry.rb +0 -1
- data/lib/rubygems/package/tar_test_case.rb +1 -1
- data/lib/rubygems/package/tar_writer.rb +2 -6
- data/lib/rubygems/package_task.rb +1 -5
- data/lib/rubygems/path_support.rb +1 -1
- data/lib/rubygems/platform.rb +3 -3
- data/lib/rubygems/query_utils.rb +362 -0
- data/lib/rubygems/rdoc.rb +0 -12
- data/lib/rubygems/remote_fetcher.rb +5 -19
- data/lib/rubygems/request/connection_pools.rb +1 -1
- data/lib/rubygems/request_set.rb +5 -5
- data/lib/rubygems/request_set/gem_dependency_api.rb +1 -1
- data/lib/rubygems/request_set/lockfile.rb +8 -8
- data/lib/rubygems/request_set/lockfile/tokenizer.rb +1 -1
- data/lib/rubygems/requirement.rb +14 -15
- data/lib/rubygems/resolver.rb +7 -8
- data/lib/rubygems/resolver/api_set.rb +3 -3
- data/lib/rubygems/resolver/composed_set.rb +3 -3
- data/lib/rubygems/resolver/conflict.rb +1 -1
- data/lib/rubygems/resolver/index_set.rb +1 -1
- data/lib/rubygems/resolver/installer_set.rb +3 -3
- data/lib/rubygems/resolver/lock_set.rb +1 -1
- data/lib/rubygems/safe_yaml.rb +4 -4
- data/lib/rubygems/security.rb +25 -25
- data/lib/rubygems/security/policy.rb +3 -3
- data/lib/rubygems/security/signer.rb +4 -4
- data/lib/rubygems/security/trust_dir.rb +1 -1
- data/lib/rubygems/server.rb +8 -8
- data/lib/rubygems/source/git.rb +7 -6
- data/lib/rubygems/source/local.rb +2 -2
- data/lib/rubygems/source_list.rb +4 -5
- data/lib/rubygems/spec_fetcher.rb +18 -15
- data/lib/rubygems/specification.rb +79 -104
- data/lib/rubygems/specification_policy.rb +79 -27
- data/lib/rubygems/ssl_certs/{rubygems.org → index.rubygems.org}/GlobalSignRootCA.pem +0 -0
- data/lib/rubygems/ssl_certs/rubygems.global.ssl.fastly.net/DigiCertHighAssuranceEVRootCA.pem +23 -0
- data/lib/rubygems/ssl_certs/rubygems.org/AddTrustExternalCARoot.pem +25 -0
- data/lib/rubygems/test_case.rb +63 -83
- data/lib/rubygems/test_utilities.rb +6 -6
- data/lib/rubygems/uninstaller.rb +35 -14
- data/lib/rubygems/user_interaction.rb +1 -10
- data/lib/rubygems/util.rb +10 -2
- data/lib/rubygems/util/licenses.rb +4 -4
- data/lib/rubygems/validator.rb +1 -1
- data/lib/rubygems/version.rb +4 -4
- data/rubygems-update.gemspec +2 -2
- data/setup.rb +2 -7
- data/test/rubygems/specifications/bar-0.0.2.gemspec +0 -2
- data/test/rubygems/specifications/rubyforge-0.0.1.gemspec +0 -2
- data/test/rubygems/test_bundled_ca.rb +4 -12
- data/test/rubygems/test_deprecate.rb +43 -4
- data/test/rubygems/test_gem.rb +79 -74
- data/test/rubygems/test_gem_available_set.rb +3 -3
- data/test/rubygems/test_gem_bundler_version_finder.rb +19 -1
- data/test/rubygems/test_gem_command.rb +24 -3
- data/test/rubygems/test_gem_command_manager.rb +37 -4
- data/test/rubygems/test_gem_commands_build_command.rb +7 -2
- data/test/rubygems/test_gem_commands_cert_command.rb +2 -2
- data/test/rubygems/test_gem_commands_cleanup_command.rb +1 -1
- data/test/rubygems/test_gem_commands_contents_command.rb +48 -15
- data/test/rubygems/test_gem_commands_environment_command.rb +21 -21
- data/test/rubygems/test_gem_commands_generate_index_command.rb +1 -5
- data/test/rubygems/test_gem_commands_info_command.rb +6 -6
- data/test/rubygems/test_gem_commands_install_command.rb +31 -31
- data/test/rubygems/test_gem_commands_mirror.rb +1 -1
- data/test/rubygems/test_gem_commands_open_command.rb +4 -4
- data/test/rubygems/test_gem_commands_owner_command.rb +11 -3
- data/test/rubygems/test_gem_commands_pristine_command.rb +41 -8
- data/test/rubygems/test_gem_commands_push_command.rb +7 -2
- data/test/rubygems/test_gem_commands_query_command.rb +9 -5
- data/test/rubygems/test_gem_commands_setup_command.rb +160 -108
- data/test/rubygems/test_gem_commands_signin_command.rb +6 -4
- data/test/rubygems/test_gem_commands_signout_command.rb +0 -5
- data/test/rubygems/test_gem_commands_specification_command.rb +18 -18
- data/test/rubygems/test_gem_commands_uninstall_command.rb +1 -1
- data/test/rubygems/test_gem_commands_update_command.rb +68 -5
- data/test/rubygems/test_gem_commands_which_command.rb +3 -3
- data/test/rubygems/test_gem_commands_yank_command.rb +14 -6
- data/test/rubygems/test_gem_config_file.rb +7 -10
- data/test/rubygems/test_gem_dependency_installer.rb +52 -189
- data/test/rubygems/test_gem_dependency_list.rb +8 -8
- data/test/rubygems/test_gem_dependency_resolution_error.rb +1 -1
- data/test/rubygems/test_gem_doctor.rb +28 -0
- data/test/rubygems/test_gem_ext_builder.rb +14 -25
- data/test/rubygems/test_gem_ext_cmake_builder.rb +13 -12
- data/test/rubygems/test_gem_ext_configure_builder.rb +1 -9
- data/test/rubygems/test_gem_ext_ext_conf_builder.rb +0 -1
- data/test/rubygems/test_gem_ext_rake_builder.rb +9 -9
- data/test/rubygems/test_gem_gem_runner.rb +42 -0
- data/test/rubygems/test_gem_gemcutter_utilities.rb +5 -0
- data/test/rubygems/test_gem_indexer.rb +9 -13
- data/test/rubygems/test_gem_installer.rb +149 -45
- data/test/rubygems/test_gem_package.rb +13 -12
- data/test/rubygems/test_gem_package_tar_header.rb +19 -0
- data/test/rubygems/test_gem_package_tar_writer.rb +3 -3
- data/test/rubygems/test_gem_package_task.rb +46 -11
- data/test/rubygems/test_gem_remote_fetcher.rb +152 -190
- data/test/rubygems/test_gem_request.rb +11 -11
- data/test/rubygems/test_gem_request_set.rb +20 -20
- data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +3 -3
- data/test/rubygems/test_gem_request_set_lockfile_parser.rb +9 -9
- data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +118 -118
- data/test/rubygems/test_gem_requirement.rb +2 -2
- data/test/rubygems/test_gem_resolver.rb +6 -6
- data/test/rubygems/test_gem_resolver_api_set.rb +3 -3
- data/test/rubygems/test_gem_resolver_best_set.rb +2 -2
- data/test/rubygems/test_gem_resolver_index_set.rb +2 -2
- data/test/rubygems/test_gem_resolver_installer_set.rb +7 -7
- data/test/rubygems/test_gem_resolver_lock_set.rb +3 -3
- data/test/rubygems/test_gem_security.rb +20 -20
- data/test/rubygems/test_gem_security_policy.rb +5 -8
- data/test/rubygems/test_gem_security_signer.rb +8 -8
- data/test/rubygems/test_gem_security_trust_dir.rb +2 -2
- data/test/rubygems/test_gem_server.rb +10 -10
- data/test/rubygems/test_gem_source.rb +12 -14
- data/test/rubygems/test_gem_source_git.rb +12 -11
- data/test/rubygems/test_gem_source_installed.rb +7 -7
- data/test/rubygems/test_gem_source_local.rb +8 -8
- data/test/rubygems/test_gem_source_lock.rb +10 -10
- data/test/rubygems/test_gem_source_specific_file.rb +7 -7
- data/test/rubygems/test_gem_source_vendor.rb +7 -7
- data/test/rubygems/test_gem_spec_fetcher.rb +11 -2
- data/test/rubygems/test_gem_specification.rb +143 -113
- data/test/rubygems/test_gem_stream_ui.rb +3 -1
- data/test/rubygems/test_gem_text.rb +1 -1
- data/test/rubygems/test_gem_uninstaller.rb +134 -10
- data/test/rubygems/test_gem_util.rb +7 -5
- data/test/rubygems/test_gem_version.rb +1 -1
- data/test/rubygems/test_kernel.rb +10 -12
- data/test/rubygems/test_project_sanity.rb +8 -1
- data/test/rubygems/test_require.rb +141 -43
- metadata +32 -45
- data/.bundle/config +0 -2
- data/.rubocop.yml +0 -91
- data/Gemfile +0 -8
- data/Gemfile.lock +0 -43
- data/bundler/CODE_OF_CONDUCT.md +0 -136
- data/lib/rubygems/source_local.rb +0 -7
- data/lib/rubygems/source_specific_file.rb +0 -6
- data/lib/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA_R3.pem +0 -21
- data/lib/ubygems.rb +0 -14
- data/tmp/.keep +0 -0
- data/util/CL2notes +0 -55
- data/util/bisect +0 -10
- data/util/ci.sh +0 -62
- data/util/cops/deprecations.rb +0 -52
- data/util/create_certs.rb +0 -171
- data/util/create_certs.sh +0 -27
- data/util/create_encrypted_key.rb +0 -16
- data/util/generate_spdx_license_list.rb +0 -63
- data/util/patch_with_prs.rb +0 -77
- data/util/rubocop +0 -8
- data/util/update_bundled_ca_certificates.rb +0 -137
- data/util/update_changelog.rb +0 -64
data/bundler/README.md
CHANGED
@@ -1,7 +1,5 @@
|
|
1
|
-
[![Version
|
2
|
-
[![
|
3
|
-
[![Inline docs ](https://inch-ci.org/github/bundler/bundler.svg?style=flat)](https://inch-ci.org/github/bundler/bundler)
|
4
|
-
[![Slack ](https://bundler-slackin.herokuapp.com/badge.svg)](https://bundler-slackin.herokuapp.com)
|
1
|
+
[![Version ](https://img.shields.io/gem/v/bundler.svg?style=flat)](https://rubygems.org/gems/bundler)
|
2
|
+
[![Slack ](https://bundler-slackin.herokuapp.com/badge.svg)](https://bundler-slackin.herokuapp.com)
|
5
3
|
|
6
4
|
# Bundler: a gem to bundle gems
|
7
5
|
|
@@ -44,9 +42,9 @@ To get in touch with the Bundler core team and other Bundler users, please see [
|
|
44
42
|
|
45
43
|
### Contributing
|
46
44
|
|
47
|
-
If you'd like to contribute to Bundler, that's awesome, and we <3 you. We've put together [the Bundler contributor guide](https://github.com/
|
45
|
+
If you'd like to contribute to Bundler, that's awesome, and we <3 you. We've put together [the Bundler contributor guide](https://github.com/rubygems/rubygems/blob/master/bundler/doc/contributing/README.md) with all of the information you need to get started.
|
48
46
|
|
49
|
-
If you'd like to request a substantial change to Bundler or
|
47
|
+
If you'd like to request a substantial change to Bundler or its documentation, refer to the [Bundler RFC process](https://github.com/bundler/rfcs) for more information.
|
50
48
|
|
51
49
|
While some Bundler contributors are compensated by Ruby Together, the project maintainers make decisions independent of Ruby Together. As a project, we welcome contributions regardless of the author's affiliation with Ruby Together.
|
52
50
|
|
@@ -57,8 +55,8 @@ While some Bundler contributors are compensated by Ruby Together, the project ma
|
|
57
55
|
|
58
56
|
### Code of Conduct
|
59
57
|
|
60
|
-
Everyone interacting in the Bundler project's codebases, issue trackers, chat rooms, and mailing lists is expected to follow the [Bundler code of conduct](https://github.com/
|
58
|
+
Everyone interacting in the Bundler project's codebases, issue trackers, chat rooms, and mailing lists is expected to follow the [Bundler code of conduct](https://github.com/rubygems/rubygems/blob/master/CODE_OF_CONDUCT.md).
|
61
59
|
|
62
60
|
### License
|
63
61
|
|
64
|
-
Bundler is available under an [MIT License](https://github.com/
|
62
|
+
Bundler is available under an [MIT License](https://github.com/rubygems/rubygems/blob/master/bundler/LICENSE.md).
|
data/bundler/UPGRADING.md
CHANGED
@@ -4,8 +4,7 @@
|
|
4
4
|
|
5
5
|
The following is a summary of the changes that we plan to introduce in Bundler
|
6
6
|
3, why we will be making those changes, and what the deprecation process will
|
7
|
-
look like. All these deprecations
|
8
|
-
Bundler 2.1 release.
|
7
|
+
look like. All these deprecations are printed by default in the Bundler 2.1 release.
|
9
8
|
|
10
9
|
If you don't want to deal with deprecations right now and want to toggle them
|
11
10
|
off, you can do it through configuration. Set the `BUNDLE_SILENCE_DEPRECATIONS`
|
@@ -22,18 +21,19 @@ We do understand that changing behaviour that have been existing for years can
|
|
22
21
|
be annoying for old users, that's why we intend to make this process as smooth
|
23
22
|
as possible for everyone.
|
24
23
|
|
25
|
-
I'll be dividing the deprecations into
|
26
|
-
deprecations, and misc deprecations. Let's dive into each of
|
24
|
+
I'll be dividing the deprecations into four groups: CLI deprecations, Helper
|
25
|
+
deprecations, DSL deprecations, and misc deprecations. Let's dive into each of
|
26
|
+
them.
|
27
27
|
|
28
28
|
#### CLI deprecations
|
29
29
|
|
30
30
|
The CLI defines a set of commands and options that can be used by our users to
|
31
31
|
create command lines that bundler can understand. There's a number of changes
|
32
|
-
|
32
|
+
in the upcoming 3 version.
|
33
33
|
|
34
34
|
* Flags passed to `bundle install` that relied on being remembered across invocations have been deprecated.
|
35
35
|
|
36
|
-
In particular, the `--clean`, `--deployment`, `--frozen`,
|
36
|
+
In particular, the `--clean`, `--deployment`, `--frozen`,
|
37
37
|
`--no-prune`, `--path`, `--shebang`, `--system`, `--without`, and `--with`
|
38
38
|
options to `bundle install`.
|
39
39
|
|
@@ -67,13 +67,12 @@ that we plan to make to this set of commands and options.
|
|
67
67
|
This is the only bundler command requiring external dependencies, both an OS
|
68
68
|
dependency (the `graphviz` package) and a gem dependency (the `ruby-graphviz`
|
69
69
|
gem). Removing these dependencies will make development easier and it was also
|
70
|
-
seen by the bundler team as an opportunity to develop a
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
information about how to install and use the new plugin.
|
70
|
+
seen by the bundler team as an opportunity to develop a bundler plugin that
|
71
|
+
it's officially maintained by the bundler team, and that users can take as a
|
72
|
+
reference to develop their own plugins. The plugin will contain the same code
|
73
|
+
as the old core command, the only difference being that the command is now
|
74
|
+
implemented as `bundle graph` which is much easier to understand. However, the
|
75
|
+
details of the plugin are under discussion. See [#7041](https://github.com/rubygems/bundler/issues/7041).
|
77
76
|
|
78
77
|
* The `bundle console` will be removed and replaced with `bin/console`.
|
79
78
|
|
@@ -83,12 +82,7 @@ that we plan to make to this set of commands and options.
|
|
83
82
|
in favor of a `bin/console` script created by `bundle gem` on gem generation
|
84
83
|
that users can tweak to their needs.
|
85
84
|
|
86
|
-
* The `bundle update` command will no longer update all gems, you'll need to pass `--all` to it
|
87
|
-
|
88
|
-
The bundler team considers that updating all gems at once should not be the
|
89
|
-
main use case for this command, and that it's better to upgrade gems one at a
|
90
|
-
time (or in groups of related gems). You can still upgrade all gems at once,
|
91
|
-
but now you need the `--all` flag.
|
85
|
+
* ~The `bundle update` command will no longer update all gems, you'll need to pass `--all` to it.~ (postponed)
|
92
86
|
|
93
87
|
* The `bundle install` command will no longer accept a `--binstubs` flag.
|
94
88
|
|
@@ -98,17 +92,9 @@ that we plan to make to this set of commands and options.
|
|
98
92
|
hardly useful since most users will only use a subset of all the binstubs
|
99
93
|
available to them. Also, it would force the introduction of a bunch of most
|
100
94
|
likely unused files into source control. Because of this, binstubs now must
|
101
|
-
|
102
|
-
|
103
|
-
* The `bundle config` command has a new subcommand-based interface.
|
95
|
+
be created and checked into version control individually.
|
104
96
|
|
105
|
-
|
106
|
-
combination of flags and number of arguments being passed to the command was
|
107
|
-
confusing. Instead we have introduced a compulsory subcommand argument that
|
108
|
-
can be either `list`, `get`, `set` or `unset`. We believe this will make the
|
109
|
-
`config` command much easier to interact with. The old interface is
|
110
|
-
deprecated, but we are giving suggestions about the new commands that should
|
111
|
-
be used along with the deprecation messages.
|
97
|
+
* ~The `bundle config` command has a new subcommand-based interface.~ (postponed)
|
112
98
|
|
113
99
|
* The `bundle inject` command is deprecated and replaced with `bundle add`.
|
114
100
|
|
@@ -223,7 +209,7 @@ unambiguously defined.
|
|
223
209
|
the `capistrano-bundler` gem, and everyone using Capistrano 3 should be
|
224
210
|
already using that instead. If for some reason, you are still using Capistrano
|
225
211
|
2, feel free to copy the Capistrano tasks out of the Bundler 2 file
|
226
|
-
`bundler/deployment.rb` and put them into your app.
|
212
|
+
`lib/bundler/deployment.rb` and put them into your app.
|
227
213
|
|
228
214
|
In general, we don't want to maintain integrations for every deployment system
|
229
215
|
out there, so that's why we are removing these.
|
data/bundler/bundler.gemspec
CHANGED
@@ -24,10 +24,10 @@ Gem::Specification.new do |s|
|
|
24
24
|
|
25
25
|
if s.respond_to?(:metadata=)
|
26
26
|
s.metadata = {
|
27
|
-
"bug_tracker_uri" => "https://github.com/
|
28
|
-
"changelog_uri" => "https://github.com/
|
27
|
+
"bug_tracker_uri" => "https://github.com/rubygems/rubygems/issues?q=is%3Aopen+is%3Aissue+label%3ABundler",
|
28
|
+
"changelog_uri" => "https://github.com/rubygems/rubygems/blob/master/bundler/CHANGELOG.md",
|
29
29
|
"homepage_uri" => "https://bundler.io/",
|
30
|
-
"source_code_uri" => "https://github.com/
|
30
|
+
"source_code_uri" => "https://github.com/rubygems/rubygems/",
|
31
31
|
}
|
32
32
|
end
|
33
33
|
|
data/bundler/exe/bundle
CHANGED
@@ -15,6 +15,9 @@ else
|
|
15
15
|
require "bundler"
|
16
16
|
end
|
17
17
|
|
18
|
+
# Workaround for non-activated bundler spec due to missing https://github.com/rubygems/rubygems/commit/4e306d7bcdee924b8d80ca9db6125aa59ee4e5a3
|
19
|
+
gem "bundler", Bundler::VERSION if Gem.rubygems_version < Gem::Version.new("2.6.2")
|
20
|
+
|
18
21
|
# Check if an older version of bundler is installed
|
19
22
|
$LOAD_PATH.each do |path|
|
20
23
|
next unless path =~ %r{/bundler-0\.(\d+)} && $1.to_i < 9
|
data/bundler/lib/bundler.rb
CHANGED
@@ -34,9 +34,9 @@ require_relative "bundler/build_metadata"
|
|
34
34
|
# of loaded and required modules.
|
35
35
|
#
|
36
36
|
module Bundler
|
37
|
-
environment_preserver = EnvironmentPreserver.
|
37
|
+
environment_preserver = EnvironmentPreserver.from_env
|
38
38
|
ORIGINAL_ENV = environment_preserver.restore
|
39
|
-
|
39
|
+
environment_preserver.replace_with_backup
|
40
40
|
SUDO_MUTEX = Mutex.new
|
41
41
|
|
42
42
|
autoload :Definition, File.expand_path("bundler/definition", __dir__)
|
@@ -285,7 +285,13 @@ module Bundler
|
|
285
285
|
|
286
286
|
def app_config_path
|
287
287
|
if app_config = ENV["BUNDLE_APP_CONFIG"]
|
288
|
-
Pathname.new(app_config)
|
288
|
+
app_config_pathname = Pathname.new(app_config)
|
289
|
+
|
290
|
+
if app_config_pathname.absolute?
|
291
|
+
app_config_pathname
|
292
|
+
else
|
293
|
+
app_config_pathname.expand_path(root)
|
294
|
+
end
|
289
295
|
else
|
290
296
|
root.join(".bundle")
|
291
297
|
end
|
@@ -451,6 +457,10 @@ EOF
|
|
451
457
|
Bundler.settings[:system_bindir] || Bundler.rubygems.gem_bindir
|
452
458
|
end
|
453
459
|
|
460
|
+
def preferred_gemfile_name
|
461
|
+
Bundler.settings[:init_gems_rb] ? "gems.rb" : "Gemfile"
|
462
|
+
end
|
463
|
+
|
454
464
|
def use_system_gems?
|
455
465
|
configured_bundle_path.use_system_gems?
|
456
466
|
end
|
@@ -512,7 +522,8 @@ EOF
|
|
512
522
|
Your user account isn't allowed to install to the system RubyGems.
|
513
523
|
You can cancel this installation and run:
|
514
524
|
|
515
|
-
bundle
|
525
|
+
bundle config set --local path 'vendor/bundle'
|
526
|
+
bundle install
|
516
527
|
|
517
528
|
to install the gems into ./vendor/bundle/, or you can enter your password
|
518
529
|
and install the bundled gems to RubyGems using sudo.
|
@@ -4,8 +4,8 @@ module Bundler
|
|
4
4
|
# Represents metadata from when the Bundler gem was built.
|
5
5
|
module BuildMetadata
|
6
6
|
# begin ivars
|
7
|
-
@built_at = "
|
8
|
-
@git_commit_sha = "
|
7
|
+
@built_at = "2020-07-07".freeze
|
8
|
+
@git_commit_sha = "1a196432de".freeze
|
9
9
|
@release = false
|
10
10
|
# end ivars
|
11
11
|
|
data/bundler/lib/bundler/cli.rb
CHANGED
@@ -122,16 +122,19 @@ module Bundler
|
|
122
122
|
else command = "bundle-#{cli}"
|
123
123
|
end
|
124
124
|
|
125
|
-
man_path
|
126
|
-
|
125
|
+
man_path = File.expand_path("../../../man", __FILE__)
|
126
|
+
# man files are located under ruby's mandir with the default gems of bundler
|
127
|
+
man_path = RbConfig::CONFIG["mandir"] unless File.directory?(man_path)
|
128
|
+
man_pages = Hash[Dir.glob(File.join(man_path, "**", "*")).grep(/.*\.\d*\Z/).collect do |f|
|
127
129
|
[File.basename(f, ".*"), f]
|
128
130
|
end]
|
129
131
|
|
130
132
|
if man_pages.include?(command)
|
133
|
+
man_page = man_pages[command]
|
131
134
|
if Bundler.which("man") && man_path !~ %r{^file:/.+!/META-INF/jruby.home/.+}
|
132
|
-
Kernel.exec "man #{
|
135
|
+
Kernel.exec "man #{man_page}"
|
133
136
|
else
|
134
|
-
puts File.read("#{
|
137
|
+
puts File.read("#{File.dirname(man_page)}/#{File.basename(man_page)}.txt")
|
135
138
|
end
|
136
139
|
elsif command_path = Bundler.which("bundler-#{cli}")
|
137
140
|
Kernel.exec(command_path, "--help")
|
@@ -247,10 +250,12 @@ module Bundler
|
|
247
250
|
def install
|
248
251
|
SharedHelpers.major_deprecation(2, "The `--force` option has been renamed to `--redownload`") if ARGV.include?("--force")
|
249
252
|
|
250
|
-
%w[clean deployment frozen no-
|
253
|
+
%w[clean deployment frozen no-prune path shebang system without with].each do |option|
|
251
254
|
remembered_flag_deprecation(option)
|
252
255
|
end
|
253
256
|
|
257
|
+
remembered_negative_flag_deprecation("no-deployment")
|
258
|
+
|
254
259
|
require_relative "cli/install"
|
255
260
|
Bundler.settings.temporary(:no_install => false) do
|
256
261
|
Install.new(options.dup).run
|
@@ -342,8 +347,8 @@ module Bundler
|
|
342
347
|
|
343
348
|
desc "list", "List all gems in the bundle"
|
344
349
|
method_option "name-only", :type => :boolean, :banner => "print only the gem names"
|
345
|
-
method_option "only-group", :type => :
|
346
|
-
method_option "without-group", :type => :
|
350
|
+
method_option "only-group", :type => :array, :default => [], :banner => "print gems from a given set of groups"
|
351
|
+
method_option "without-group", :type => :array, :default => [], :banner => "print all gems except from a given set of groups"
|
347
352
|
method_option "paths", :type => :boolean, :banner => "print the path to each gem in the bundle"
|
348
353
|
def list
|
349
354
|
require_relative "cli/list"
|
@@ -567,8 +572,12 @@ module Bundler
|
|
567
572
|
method_option :ext, :type => :boolean, :default => false, :desc => "Generate the boilerplate for C extension code"
|
568
573
|
method_option :git, :type => :boolean, :default => true, :desc => "Initialize a git repo inside your library."
|
569
574
|
method_option :mit, :type => :boolean, :desc => "Generate an MIT license file. Set a default with `bundle config set gem.mit true`."
|
570
|
-
method_option :
|
571
|
-
|
575
|
+
method_option :rubocop, :type => :boolean, :desc => "Add rubocop to the generated Rakefile and gemspec. Set a default with `bundle config set gem.rubocop true`."
|
576
|
+
method_option :test, :type => :string, :lazy_default => Bundler.settings["gem.test"] || "", :aliases => "-t", :banner => "Use the specified test framework for your library",
|
577
|
+
:desc => "Generate a test directory for your library, either rspec, minitest or test-unit. Set a default with `bundle config set gem.test (rspec|minitest|test-unit)`."
|
578
|
+
method_option :ci, :type => :string, :lazy_default => Bundler.settings["gem.ci"] || "",
|
579
|
+
:desc => "Generate CI configuration, either GitHub Actions, Travis CI, GitLab CI or CircleCI. Set a default with `bundle config set gem.ci (github|travis|gitlab|circle)`"
|
580
|
+
|
572
581
|
def gem(name)
|
573
582
|
end
|
574
583
|
|
@@ -808,11 +817,23 @@ module Bundler
|
|
808
817
|
nil
|
809
818
|
end
|
810
819
|
|
820
|
+
def remembered_negative_flag_deprecation(name)
|
821
|
+
positive_name = name.gsub(/\Ano-/, "")
|
822
|
+
option = current_command.options[positive_name]
|
823
|
+
flag_name = "--no-" + option.switch_name.gsub(/\A--/, "")
|
824
|
+
|
825
|
+
flag_deprecation(positive_name, flag_name, option)
|
826
|
+
end
|
827
|
+
|
811
828
|
def remembered_flag_deprecation(name)
|
812
829
|
option = current_command.options[name]
|
813
830
|
flag_name = option.switch_name
|
814
831
|
|
815
|
-
|
832
|
+
flag_deprecation(name, flag_name, option)
|
833
|
+
end
|
834
|
+
|
835
|
+
def flag_deprecation(name, flag_name, option)
|
836
|
+
name_index = ARGV.find {|arg| flag_name == arg.split("=")[0] }
|
816
837
|
return unless name_index
|
817
838
|
|
818
839
|
value = options[name]
|
@@ -821,7 +842,7 @@ module Bundler
|
|
821
842
|
Bundler::SharedHelpers.major_deprecation 2,\
|
822
843
|
"The `#{flag_name}` flag is deprecated because it relies on being " \
|
823
844
|
"remembered across bundler invocations, which bundler will no longer " \
|
824
|
-
"do in future versions. Instead please use `bundle config set #{name} " \
|
845
|
+
"do in future versions. Instead please use `bundle config set #{name.tr("-", "_")} " \
|
825
846
|
"'#{value}'`, and stop using this flag"
|
826
847
|
end
|
827
848
|
end
|
@@ -12,7 +12,7 @@ module Bundler
|
|
12
12
|
Bundler::SharedHelpers.major_deprecation 2, "bundle console will be replaced " \
|
13
13
|
"by `bin/console` generated by `bundle gem <name>`"
|
14
14
|
|
15
|
-
group ? Bundler.require(:default, *group.split.map!(&:to_sym)) : Bundler.require
|
15
|
+
group ? Bundler.require(:default, *group.split(" ").map!(&:to_sym)) : Bundler.require
|
16
16
|
ARGV.clear
|
17
17
|
|
18
18
|
console = get_console(Bundler.settings[:console] || "irb")
|
@@ -12,6 +12,7 @@ module Bundler
|
|
12
12
|
TEST_FRAMEWORK_VERSIONS = {
|
13
13
|
"rspec" => "3.0",
|
14
14
|
"minitest" => "5.0",
|
15
|
+
"test-unit" => "3.0",
|
15
16
|
}.freeze
|
16
17
|
|
17
18
|
attr_reader :options, :gem_name, :thor, :name, :target
|
@@ -62,7 +63,7 @@ module Bundler
|
|
62
63
|
ensure_safe_gem_name(name, constant_array)
|
63
64
|
|
64
65
|
templates = {
|
65
|
-
"
|
66
|
+
"#{Bundler.preferred_gemfile_name}.tt" => Bundler.preferred_gemfile_name,
|
66
67
|
"lib/newgem.rb.tt" => "lib/#{namespaced_path}.rb",
|
67
68
|
"lib/newgem/version.rb.tt" => "lib/#{namespaced_path}/version.rb",
|
68
69
|
"newgem.gemspec.tt" => "#{name}.gemspec",
|
@@ -83,8 +84,6 @@ module Bundler
|
|
83
84
|
config[:test] = test_framework
|
84
85
|
config[:test_framework_version] = TEST_FRAMEWORK_VERSIONS[test_framework]
|
85
86
|
|
86
|
-
templates.merge!("travis.yml.tt" => ".travis.yml")
|
87
|
-
|
88
87
|
case test_framework
|
89
88
|
when "rspec"
|
90
89
|
templates.merge!(
|
@@ -92,15 +91,33 @@ module Bundler
|
|
92
91
|
"spec/spec_helper.rb.tt" => "spec/spec_helper.rb",
|
93
92
|
"spec/newgem_spec.rb.tt" => "spec/#{namespaced_path}_spec.rb"
|
94
93
|
)
|
94
|
+
config[:test_task] = :spec
|
95
95
|
when "minitest"
|
96
96
|
templates.merge!(
|
97
|
-
"test/test_helper.rb.tt" => "test/test_helper.rb",
|
98
|
-
"test/newgem_test.rb.tt" => "test/#{namespaced_path}_test.rb"
|
97
|
+
"test/minitest/test_helper.rb.tt" => "test/test_helper.rb",
|
98
|
+
"test/minitest/newgem_test.rb.tt" => "test/#{namespaced_path}_test.rb"
|
99
|
+
)
|
100
|
+
config[:test_task] = :test
|
101
|
+
when "test-unit"
|
102
|
+
templates.merge!(
|
103
|
+
"test/test-unit/test_helper.rb.tt" => "test/test_helper.rb",
|
104
|
+
"test/test-unit/newgem_test.rb.tt" => "test/#{namespaced_path}_test.rb"
|
99
105
|
)
|
106
|
+
config[:test_task] = :test
|
100
107
|
end
|
101
108
|
end
|
102
109
|
|
103
|
-
config[:
|
110
|
+
config[:ci] = ask_and_set_ci
|
111
|
+
case config[:ci]
|
112
|
+
when "github"
|
113
|
+
templates.merge!("github/workflows/main.yml.tt" => ".github/workflows/main.yml")
|
114
|
+
when "travis"
|
115
|
+
templates.merge!("travis.yml.tt" => ".travis.yml")
|
116
|
+
when "gitlab"
|
117
|
+
templates.merge!("gitlab-ci.yml.tt" => ".gitlab-ci.yml")
|
118
|
+
when "circle"
|
119
|
+
templates.merge!("circleci/config.yml.tt" => ".circleci/config.yml")
|
120
|
+
end
|
104
121
|
|
105
122
|
if ask_and_set(:mit, "Do you want to license your code permissively under the MIT license?",
|
106
123
|
"This means that any other developer or company will be legally allowed to use your code " \
|
@@ -124,6 +141,16 @@ module Bundler
|
|
124
141
|
templates.merge!("CODE_OF_CONDUCT.md.tt" => "CODE_OF_CONDUCT.md")
|
125
142
|
end
|
126
143
|
|
144
|
+
if ask_and_set(:rubocop, "Do you want to add rubocop as a dependency for gems you generate?",
|
145
|
+
"RuboCop is a static code analyzer that has out-of-the-box rules for many " \
|
146
|
+
"of the guidelines in the community style guide. " \
|
147
|
+
"For more information, see the RuboCop docs (https://docs.rubocop.org/en/stable/) " \
|
148
|
+
"and the Ruby Style Guides (https://github.com/rubocop-hq/ruby-style-guide).")
|
149
|
+
config[:rubocop] = true
|
150
|
+
Bundler.ui.info "RuboCop enabled in config"
|
151
|
+
templates.merge!("rubocop.yml.tt" => ".rubocop.yml")
|
152
|
+
end
|
153
|
+
|
127
154
|
templates.merge!("exe/newgem.tt" => "exe/#{name}") if config[:exe]
|
128
155
|
|
129
156
|
if options[:ext]
|
@@ -197,11 +224,12 @@ module Bundler
|
|
197
224
|
def ask_and_set_test_framework
|
198
225
|
test_framework = options[:test] || Bundler.settings["gem.test"]
|
199
226
|
|
200
|
-
if test_framework.
|
227
|
+
if test_framework.to_s.empty?
|
201
228
|
Bundler.ui.confirm "Do you want to generate tests with your gem?"
|
202
|
-
|
203
|
-
|
204
|
-
|
229
|
+
Bundler.ui.info hint_text("test")
|
230
|
+
|
231
|
+
result = Bundler.ui.ask "Enter a test framework. rspec/minitest/test-unit/(none):"
|
232
|
+
if result =~ /rspec|minitest|test-unit/
|
205
233
|
test_framework = result
|
206
234
|
else
|
207
235
|
test_framework = false
|
@@ -212,9 +240,54 @@ module Bundler
|
|
212
240
|
Bundler.settings.set_global("gem.test", test_framework)
|
213
241
|
end
|
214
242
|
|
243
|
+
if options[:test] == Bundler.settings["gem.test"]
|
244
|
+
Bundler.ui.info "#{options[:test]} is already configured, ignoring --test flag."
|
245
|
+
end
|
246
|
+
|
215
247
|
test_framework
|
216
248
|
end
|
217
249
|
|
250
|
+
def hint_text(setting)
|
251
|
+
if Bundler.settings["gem.#{setting}"] == false
|
252
|
+
"Your choice will only be applied to this gem."
|
253
|
+
else
|
254
|
+
"Future `bundle gem` calls will use your choice. " \
|
255
|
+
"This setting can be changed anytime with `bundle config gem.#{setting}`."
|
256
|
+
end
|
257
|
+
end
|
258
|
+
|
259
|
+
def ask_and_set_ci
|
260
|
+
ci_template = options[:ci] || Bundler.settings["gem.ci"]
|
261
|
+
|
262
|
+
if ci_template.to_s.empty?
|
263
|
+
Bundler.ui.confirm "Do you want to set up continuous integration for your gem? " \
|
264
|
+
"Supported services:\n" \
|
265
|
+
"* CircleCI: https://circleci.com/\n" \
|
266
|
+
"* GitHub Actions: https://github.com/features/actions\n" \
|
267
|
+
"* GitLab CI: https://docs.gitlab.com/ee/ci/\n" \
|
268
|
+
"* Travis CI: https://travis-ci.org/\n" \
|
269
|
+
"\n"
|
270
|
+
Bundler.ui.info hint_text("ci")
|
271
|
+
|
272
|
+
result = Bundler.ui.ask "Enter a CI service. github/travis/gitlab/circle/(none):"
|
273
|
+
if result =~ /github|travis|gitlab|circle/
|
274
|
+
ci_template = result
|
275
|
+
else
|
276
|
+
ci_template = false
|
277
|
+
end
|
278
|
+
end
|
279
|
+
|
280
|
+
if Bundler.settings["gem.ci"].nil?
|
281
|
+
Bundler.settings.set_global("gem.ci", ci_template)
|
282
|
+
end
|
283
|
+
|
284
|
+
if options[:ci] == Bundler.settings["gem.ci"]
|
285
|
+
Bundler.ui.info "#{options[:ci]} is already configured, ignoring --ci flag."
|
286
|
+
end
|
287
|
+
|
288
|
+
ci_template
|
289
|
+
end
|
290
|
+
|
218
291
|
def bundler_dependency_version
|
219
292
|
v = Gem::Version.new(Bundler::VERSION)
|
220
293
|
req = v.segments[0..1]
|