rubygems-update 3.1.6 → 3.2.0
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 +24 -10
- data/History.txt +362 -186
- data/Manifest.txt +41 -74
- data/POLICIES.md +2 -9
- data/README.md +1 -1
- data/Rakefile +41 -79
- data/bin/update_rubygems +1 -1
- data/bundler/CHANGELOG.md +1563 -1426
- data/bundler/README.md +6 -8
- data/bundler/UPGRADING.md +18 -32
- data/bundler/bundler.gemspec +3 -3
- data/bundler/exe/bundle +3 -0
- data/bundler/lib/bundler.rb +25 -7
- data/bundler/lib/bundler/build_metadata.rb +4 -12
- data/bundler/lib/bundler/cli.rb +58 -21
- data/bundler/lib/bundler/cli/add.rb +1 -1
- data/bundler/lib/bundler/cli/binstubs.rb +6 -2
- data/bundler/lib/bundler/cli/cache.rb +1 -7
- data/bundler/lib/bundler/cli/clean.rb +1 -1
- data/bundler/lib/bundler/cli/common.rb +14 -0
- data/bundler/lib/bundler/cli/console.rb +1 -1
- data/bundler/lib/bundler/cli/doctor.rb +1 -1
- data/bundler/lib/bundler/cli/exec.rb +4 -4
- data/bundler/lib/bundler/cli/fund.rb +36 -0
- data/bundler/lib/bundler/cli/gem.rb +84 -11
- data/bundler/lib/bundler/cli/info.rb +15 -4
- data/bundler/lib/bundler/cli/init.rb +2 -2
- data/bundler/lib/bundler/cli/inject.rb +1 -1
- data/bundler/lib/bundler/cli/install.rb +9 -16
- data/bundler/lib/bundler/cli/issue.rb +2 -2
- data/bundler/lib/bundler/cli/list.rb +12 -10
- data/bundler/lib/bundler/cli/outdated.rb +88 -67
- data/bundler/lib/bundler/cli/plugin.rb +10 -0
- data/bundler/lib/bundler/cli/pristine.rb +5 -0
- data/bundler/lib/bundler/cli/show.rb +1 -1
- data/bundler/lib/bundler/cli/update.rb +2 -0
- data/bundler/lib/bundler/compact_index_client.rb +1 -1
- data/bundler/lib/bundler/compact_index_client/cache.rb +1 -1
- data/bundler/lib/bundler/compact_index_client/updater.rb +5 -5
- data/bundler/lib/bundler/definition.rb +47 -61
- data/bundler/lib/bundler/dep_proxy.rb +1 -1
- data/bundler/lib/bundler/dependency.rb +0 -9
- data/bundler/lib/bundler/dsl.rb +5 -9
- data/bundler/lib/bundler/endpoint_specification.rb +1 -1
- data/bundler/lib/bundler/env.rb +1 -1
- 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 -3
- data/bundler/lib/bundler/fetcher.rb +4 -3
- data/bundler/lib/bundler/fetcher/base.rb +1 -1
- data/bundler/lib/bundler/fetcher/compact_index.rb +1 -1
- data/bundler/lib/bundler/fetcher/downloader.rb +1 -1
- data/bundler/lib/bundler/fetcher/index.rb +3 -4
- data/bundler/lib/bundler/friendly_errors.rb +22 -13
- data/bundler/lib/bundler/gem_helper.rb +32 -17
- data/bundler/lib/bundler/gem_helpers.rb +6 -1
- data/bundler/lib/bundler/gem_version_promoter.rb +2 -2
- data/bundler/lib/bundler/graph.rb +1 -1
- data/bundler/lib/bundler/index.rb +6 -2
- data/bundler/lib/bundler/injector.rb +22 -4
- data/bundler/lib/bundler/inline.rb +1 -1
- data/bundler/lib/bundler/installer.rb +35 -32
- data/bundler/lib/bundler/installer/gem_installer.rb +3 -3
- data/bundler/lib/bundler/installer/parallel_installer.rb +10 -10
- data/bundler/lib/bundler/installer/standalone.rb +2 -2
- data/bundler/lib/bundler/lazy_specification.rb +20 -9
- data/bundler/lib/bundler/lockfile_generator.rb +1 -1
- data/bundler/lib/bundler/lockfile_parser.rb +1 -1
- data/bundler/lib/bundler/man/.document +1 -0
- data/bundler/{man/bundle-add.ronn → lib/bundler/man/bundle-add.1.ronn} +0 -0
- data/bundler/{man/bundle-binstubs.ronn → lib/bundler/man/bundle-binstubs.1.ronn} +2 -4
- data/bundler/{man/bundle-cache.ronn → lib/bundler/man/bundle-cache.1.ronn} +0 -0
- data/bundler/{man/bundle-check.ronn → lib/bundler/man/bundle-check.1.ronn} +0 -0
- data/bundler/{man/bundle-clean.ronn → lib/bundler/man/bundle-clean.1.ronn} +0 -0
- data/bundler/{man/bundle-config.ronn → lib/bundler/man/bundle-config.1.ronn} +19 -30
- data/bundler/{man/bundle-doctor.ronn → lib/bundler/man/bundle-doctor.1.ronn} +0 -0
- data/bundler/{man/bundle-exec.ronn → lib/bundler/man/bundle-exec.1.ronn} +0 -0
- data/bundler/{man/bundle-gem.ronn → lib/bundler/man/bundle-gem.1.ronn} +30 -7
- data/bundler/{man/bundle-info.ronn → lib/bundler/man/bundle-info.1.ronn} +0 -0
- data/bundler/{man/bundle-init.ronn → lib/bundler/man/bundle-init.1.ronn} +0 -0
- data/bundler/{man/bundle-inject.ronn → lib/bundler/man/bundle-inject.1.ronn} +0 -0
- data/bundler/{man/bundle-install.ronn → lib/bundler/man/bundle-install.1.ronn} +25 -3
- data/bundler/{man/bundle-list.ronn → lib/bundler/man/bundle-list.1.ronn} +6 -6
- data/bundler/{man/bundle-lock.ronn → lib/bundler/man/bundle-lock.1.ronn} +0 -0
- data/bundler/{man/bundle-open.ronn → lib/bundler/man/bundle-open.1.ronn} +0 -0
- data/bundler/{man/bundle-outdated.ronn → lib/bundler/man/bundle-outdated.1.ronn} +0 -0
- data/bundler/{man/bundle-platform.ronn → lib/bundler/man/bundle-platform.1.ronn} +0 -0
- data/bundler/{man/bundle-pristine.ronn → lib/bundler/man/bundle-pristine.1.ronn} +0 -0
- data/bundler/{man/bundle-remove.ronn → lib/bundler/man/bundle-remove.1.ronn} +0 -0
- data/bundler/{man/bundle-show.ronn → lib/bundler/man/bundle-show.1.ronn} +0 -0
- data/bundler/{man/bundle-update.ronn → lib/bundler/man/bundle-update.1.ronn} +0 -0
- data/bundler/{man/bundle-viz.ronn → lib/bundler/man/bundle-viz.1.ronn} +0 -0
- data/bundler/{man/bundle.ronn → lib/bundler/man/bundle.1.ronn} +0 -0
- data/bundler/{man → lib/bundler/man}/gemfile.5.ronn +4 -4
- data/bundler/lib/bundler/mirror.rb +2 -2
- data/bundler/lib/bundler/plugin.rb +30 -5
- data/bundler/lib/bundler/plugin/api/source.rb +1 -1
- data/bundler/lib/bundler/plugin/dsl.rb +1 -1
- data/bundler/lib/bundler/plugin/index.rb +10 -1
- data/bundler/lib/bundler/plugin/installer.rb +1 -1
- data/bundler/lib/bundler/plugin/installer/rubygems.rb +1 -1
- data/bundler/lib/bundler/plugin/source_list.rb +1 -1
- data/bundler/lib/bundler/psyched_yaml.rb +0 -15
- data/bundler/lib/bundler/remote_specification.rb +5 -2
- data/bundler/lib/bundler/resolver.rb +32 -10
- data/bundler/lib/bundler/resolver/spec_group.rb +27 -6
- data/bundler/lib/bundler/retry.rb +1 -1
- data/bundler/lib/bundler/ruby_version.rb +1 -1
- data/bundler/lib/bundler/rubygems_ext.rb +53 -9
- data/bundler/lib/bundler/rubygems_gem_installer.rb +3 -9
- data/bundler/lib/bundler/rubygems_integration.rb +25 -54
- data/bundler/lib/bundler/runtime.rb +4 -14
- data/bundler/lib/bundler/settings.rb +49 -46
- data/bundler/lib/bundler/shared_helpers.rb +2 -2
- data/bundler/lib/bundler/similarity_detector.rb +1 -1
- data/bundler/lib/bundler/source.rb +1 -1
- data/bundler/lib/bundler/source/git.rb +5 -5
- data/bundler/lib/bundler/source/git/git_proxy.rb +57 -60
- data/bundler/lib/bundler/source/path.rb +7 -3
- data/bundler/lib/bundler/source/path/installer.rb +8 -10
- data/bundler/lib/bundler/source/rubygems.rb +13 -16
- data/bundler/lib/bundler/source/rubygems/remote.rb +1 -1
- data/bundler/lib/bundler/source_list.rb +2 -2
- data/bundler/lib/bundler/spec_set.rb +2 -1
- data/bundler/lib/bundler/stub_specification.rb +17 -5
- 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/README.md.tt +1 -2
- data/bundler/lib/bundler/templates/newgem/Rakefile.tt +19 -5
- data/bundler/lib/bundler/templates/newgem/bin/console.tt +1 -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 +4 -2
- data/bundler/lib/bundler/templates/newgem/lib/newgem/version.rb.tt +2 -0
- data/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt +14 -6
- 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 -1
- 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/ui/shell.rb +5 -5
- data/bundler/lib/bundler/uri_credentials_filter.rb +3 -1
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo.rb +0 -1
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +34 -1
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb +2 -2
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +1 -1
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb +1 -1
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb +38 -40
- 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/vendor/tmpdir/lib/tmpdir.rb +154 -0
- data/bundler/lib/bundler/vendored_persistent.rb +0 -7
- data/bundler/lib/bundler/vendored_tmpdir.rb +4 -0
- data/bundler/lib/bundler/version.rb +1 -1
- data/bundler/lib/bundler/worker.rb +1 -1
- data/bundler/lib/bundler/yaml_serializer.rb +1 -1
- data/bundler/man/bundle-add.1 +1 -1
- data/bundler/man/bundle-binstubs.1 +5 -3
- data/bundler/man/bundle-cache.1 +1 -1
- data/bundler/man/bundle-check.1 +1 -1
- data/bundler/man/bundle-clean.1 +1 -1
- data/bundler/man/bundle-config.1 +16 -25
- data/bundler/man/bundle-doctor.1 +1 -1
- data/bundler/man/bundle-exec.1 +1 -1
- data/bundler/man/bundle-gem.1 +25 -3
- data/bundler/man/bundle-info.1 +1 -1
- data/bundler/man/bundle-init.1 +1 -1
- data/bundler/man/bundle-inject.1 +1 -1
- data/bundler/man/bundle-install.1 +30 -3
- data/bundler/man/bundle-list.1 +7 -7
- data/bundler/man/bundle-lock.1 +1 -1
- data/bundler/man/bundle-open.1 +1 -1
- data/bundler/man/bundle-outdated.1 +1 -1
- data/bundler/man/bundle-platform.1 +1 -1
- data/bundler/man/bundle-pristine.1 +1 -1
- data/bundler/man/bundle-remove.1 +1 -1
- data/bundler/man/bundle-show.1 +1 -1
- data/bundler/man/bundle-update.1 +1 -1
- data/bundler/man/bundle-viz.1 +1 -1
- data/bundler/man/bundle.1 +1 -1
- data/bundler/man/gemfile.5 +4 -4
- data/lib/rubygems.rb +71 -150
- data/lib/rubygems/available_set.rb +4 -6
- data/lib/rubygems/basic_specification.rb +11 -9
- data/lib/rubygems/bundler_version_finder.rb +14 -9
- data/lib/rubygems/command.rb +16 -16
- data/lib/rubygems/command_manager.rb +5 -6
- data/lib/rubygems/commands/build_command.rb +40 -20
- data/lib/rubygems/commands/cert_command.rb +2 -10
- data/lib/rubygems/commands/check_command.rb +0 -2
- data/lib/rubygems/commands/cleanup_command.rb +11 -7
- data/lib/rubygems/commands/contents_command.rb +4 -6
- data/lib/rubygems/commands/dependency_command.rb +6 -8
- data/lib/rubygems/commands/environment_command.rb +1 -3
- data/lib/rubygems/commands/fetch_command.rb +2 -4
- data/lib/rubygems/commands/generate_index_command.rb +0 -2
- data/lib/rubygems/commands/help_command.rb +3 -3
- data/lib/rubygems/commands/info_command.rb +8 -5
- data/lib/rubygems/commands/install_command.rb +3 -5
- data/lib/rubygems/commands/list_command.rb +8 -7
- data/lib/rubygems/commands/lock_command.rb +1 -3
- data/lib/rubygems/commands/mirror_command.rb +0 -2
- data/lib/rubygems/commands/open_command.rb +0 -4
- data/lib/rubygems/commands/outdated_command.rb +0 -2
- data/lib/rubygems/commands/owner_command.rb +9 -3
- data/lib/rubygems/commands/pristine_command.rb +11 -5
- data/lib/rubygems/commands/push_command.rb +10 -46
- data/lib/rubygems/commands/query_command.rb +14 -344
- data/lib/rubygems/commands/rdoc_command.rb +0 -2
- data/lib/rubygems/commands/search_command.rb +7 -7
- data/lib/rubygems/commands/server_command.rb +3 -1
- data/lib/rubygems/commands/setup_command.rb +131 -58
- data/lib/rubygems/commands/signin_command.rb +0 -2
- data/lib/rubygems/commands/signout_command.rb +0 -2
- data/lib/rubygems/commands/sources_command.rb +6 -4
- data/lib/rubygems/commands/specification_command.rb +8 -4
- data/lib/rubygems/commands/stale_command.rb +1 -3
- data/lib/rubygems/commands/uninstall_command.rb +1 -3
- data/lib/rubygems/commands/unpack_command.rb +1 -3
- data/lib/rubygems/commands/update_command.rb +59 -14
- data/lib/rubygems/commands/which_command.rb +0 -2
- data/lib/rubygems/commands/yank_command.rb +4 -6
- data/lib/rubygems/config_file.rb +11 -4
- data/lib/rubygems/core_ext/kernel_require.rb +5 -2
- data/lib/rubygems/core_ext/kernel_warn.rb +12 -13
- data/lib/rubygems/defaults.rb +101 -7
- data/lib/rubygems/dependency.rb +3 -8
- data/lib/rubygems/dependency_installer.rb +5 -78
- data/lib/rubygems/dependency_list.rb +7 -9
- data/lib/rubygems/deprecate.rb +46 -1
- data/lib/rubygems/doctor.rb +4 -4
- data/lib/rubygems/errors.rb +3 -14
- data/lib/rubygems/exceptions.rb +2 -33
- data/lib/rubygems/ext.rb +6 -6
- data/lib/rubygems/ext/build_error.rb +2 -0
- data/lib/rubygems/ext/builder.rb +14 -35
- data/lib/rubygems/ext/cmake_builder.rb +5 -7
- data/lib/rubygems/ext/configure_builder.rb +4 -6
- data/lib/rubygems/ext/ext_conf_builder.rb +21 -19
- data/lib/rubygems/ext/rake_builder.rb +3 -5
- data/lib/rubygems/gem_runner.rb +3 -10
- data/lib/rubygems/gemcutter_utilities.rb +91 -15
- data/lib/rubygems/indexer.rb +1 -22
- data/lib/rubygems/install_update_options.rb +7 -7
- data/lib/rubygems/installer.rb +59 -57
- data/lib/rubygems/installer_test_case.rb +25 -11
- data/lib/rubygems/installer_uninstaller_utils.rb +24 -0
- data/lib/rubygems/local_remote_options.rb +1 -1
- data/lib/rubygems/mock_gem_ui.rb +0 -6
- data/lib/rubygems/name_tuple.rb +3 -7
- data/lib/rubygems/openssl.rb +7 -0
- data/lib/rubygems/package.rb +14 -25
- data/lib/rubygems/package/digest_io.rb +0 -2
- data/lib/rubygems/package/file_source.rb +0 -2
- data/lib/rubygems/package/io_source.rb +0 -2
- data/lib/rubygems/package/old.rb +1 -3
- data/lib/rubygems/package/tar_header.rb +4 -6
- data/lib/rubygems/package/tar_reader.rb +0 -3
- data/lib/rubygems/package/tar_reader/entry.rb +0 -3
- data/lib/rubygems/package/tar_test_case.rb +2 -4
- data/lib/rubygems/package/tar_writer.rb +2 -12
- data/lib/rubygems/package_task.rb +1 -7
- data/lib/rubygems/path_support.rb +1 -3
- data/lib/rubygems/platform.rb +21 -12
- data/lib/rubygems/psych_tree.rb +0 -2
- data/lib/rubygems/query_utils.rb +353 -0
- data/lib/rubygems/rdoc.rb +0 -12
- data/lib/rubygems/remote_fetcher.rb +10 -27
- data/lib/rubygems/request.rb +4 -11
- data/lib/rubygems/request/connection_pools.rb +1 -5
- data/lib/rubygems/request/http_pool.rb +0 -2
- data/lib/rubygems/request/https_pool.rb +0 -2
- data/lib/rubygems/request_set.rb +5 -7
- data/lib/rubygems/request_set/gem_dependency_api.rb +5 -7
- data/lib/rubygems/request_set/lockfile.rb +8 -12
- data/lib/rubygems/request_set/lockfile/parser.rb +0 -2
- data/lib/rubygems/request_set/lockfile/tokenizer.rb +1 -3
- data/lib/rubygems/requirement.rb +20 -21
- data/lib/rubygems/resolver.rb +8 -11
- data/lib/rubygems/resolver/activation_request.rb +9 -3
- data/lib/rubygems/resolver/api_set.rb +3 -5
- data/lib/rubygems/resolver/api_specification.rb +20 -7
- data/lib/rubygems/resolver/best_set.rb +0 -2
- data/lib/rubygems/resolver/composed_set.rb +3 -5
- data/lib/rubygems/resolver/conflict.rb +2 -4
- data/lib/rubygems/resolver/current_set.rb +0 -2
- data/lib/rubygems/resolver/dependency_request.rb +1 -3
- data/lib/rubygems/resolver/git_set.rb +0 -2
- data/lib/rubygems/resolver/git_specification.rb +0 -2
- data/lib/rubygems/resolver/index_set.rb +1 -3
- data/lib/rubygems/resolver/index_specification.rb +11 -2
- data/lib/rubygems/resolver/installed_specification.rb +0 -2
- data/lib/rubygems/resolver/installer_set.rb +4 -7
- data/lib/rubygems/resolver/local_specification.rb +0 -2
- data/lib/rubygems/resolver/lock_set.rb +2 -4
- data/lib/rubygems/resolver/lock_specification.rb +0 -2
- data/lib/rubygems/resolver/molinillo/lib/molinillo.rb +6 -5
- data/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/resolution_state.rb +7 -0
- data/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/specification_provider.rb +1 -0
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb +39 -5
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/action.rb +1 -0
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +2 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +2 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +2 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +2 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/log.rb +7 -6
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/set_payload.rb +2 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/tag.rb +4 -3
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/vertex.rb +43 -10
- data/lib/rubygems/resolver/molinillo/lib/molinillo/errors.rb +75 -7
- data/lib/rubygems/resolver/molinillo/lib/molinillo/gem_metadata.rb +2 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/modules/specification_provider.rb +1 -0
- data/lib/rubygems/resolver/molinillo/lib/molinillo/modules/ui.rb +3 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/resolution.rb +506 -165
- data/lib/rubygems/resolver/molinillo/lib/molinillo/resolver.rb +3 -2
- data/lib/rubygems/resolver/molinillo/lib/molinillo/state.rb +8 -4
- data/lib/rubygems/resolver/requirement_list.rb +0 -2
- data/lib/rubygems/resolver/set.rb +0 -2
- data/lib/rubygems/resolver/source_set.rb +0 -2
- data/lib/rubygems/resolver/spec_specification.rb +0 -2
- data/lib/rubygems/resolver/specification.rb +1 -3
- data/lib/rubygems/resolver/stats.rb +0 -2
- data/lib/rubygems/resolver/vendor_set.rb +0 -2
- data/lib/rubygems/resolver/vendor_specification.rb +0 -2
- data/lib/rubygems/s3_uri_signer.rb +2 -8
- data/lib/rubygems/safe_yaml.rb +4 -4
- data/lib/rubygems/security.rb +27 -34
- data/lib/rubygems/security/policy.rb +4 -8
- data/lib/rubygems/security/signer.rb +5 -7
- data/lib/rubygems/security/trust_dir.rb +1 -3
- data/lib/rubygems/server.rb +9 -11
- data/lib/rubygems/source.rb +13 -7
- data/lib/rubygems/source/git.rb +7 -8
- data/lib/rubygems/source/installed.rb +0 -2
- data/lib/rubygems/source/local.rb +2 -4
- data/lib/rubygems/source/lock.rb +0 -2
- data/lib/rubygems/source/specific_file.rb +0 -2
- data/lib/rubygems/source/vendor.rb +0 -2
- data/lib/rubygems/source_list.rb +4 -7
- data/lib/rubygems/spec_fetcher.rb +19 -18
- data/lib/rubygems/specification.rb +101 -118
- data/lib/rubygems/specification_policy.rb +79 -29
- data/lib/rubygems/stub_specification.rb +1 -5
- data/lib/rubygems/syck_hack.rb +0 -2
- data/lib/rubygems/test_case.rb +78 -122
- data/lib/rubygems/test_utilities.rb +6 -14
- data/lib/rubygems/uninstaller.rb +35 -16
- data/lib/rubygems/uri_formatter.rb +2 -3
- data/lib/rubygems/uri_parser.rb +0 -2
- data/lib/rubygems/user_interaction.rb +1 -26
- data/lib/rubygems/util.rb +8 -2
- data/lib/rubygems/util/licenses.rb +4 -6
- data/lib/rubygems/util/list.rb +0 -2
- data/lib/rubygems/validator.rb +1 -3
- data/lib/rubygems/version.rb +4 -6
- data/lib/rubygems/version_option.rb +6 -0
- data/rubygems-update.gemspec +2 -2
- data/setup.rb +2 -7
- data/test/rubygems/plugin/load/rubygems_plugin.rb +0 -2
- data/test/rubygems/rubygems/commands/crash_command.rb +0 -2
- data/test/rubygems/rubygems_plugin.rb +0 -2
- 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 +41 -48
- data/test/rubygems/test_config.rb +0 -2
- data/test/rubygems/test_deprecate.rb +40 -7
- data/test/rubygems/test_gem.rb +82 -79
- data/test/rubygems/test_gem_available_set.rb +3 -5
- data/test/rubygems/test_gem_bundler_version_finder.rb +19 -3
- data/test/rubygems/test_gem_command.rb +24 -7
- data/test/rubygems/test_gem_command_manager.rb +36 -5
- data/test/rubygems/test_gem_commands_build_command.rb +233 -15
- data/test/rubygems/test_gem_commands_cert_command.rb +4 -6
- data/test/rubygems/test_gem_commands_check_command.rb +0 -2
- data/test/rubygems/test_gem_commands_cleanup_command.rb +14 -5
- data/test/rubygems/test_gem_commands_contents_command.rb +50 -19
- data/test/rubygems/test_gem_commands_dependency_command.rb +0 -2
- data/test/rubygems/test_gem_commands_environment_command.rb +21 -23
- data/test/rubygems/test_gem_commands_fetch_command.rb +0 -2
- data/test/rubygems/test_gem_commands_generate_index_command.rb +1 -7
- data/test/rubygems/test_gem_commands_help_command.rb +15 -4
- data/test/rubygems/test_gem_commands_info_command.rb +6 -8
- data/test/rubygems/test_gem_commands_install_command.rb +32 -34
- data/test/rubygems/test_gem_commands_list_command.rb +0 -2
- data/test/rubygems/test_gem_commands_lock_command.rb +0 -2
- data/test/rubygems/test_gem_commands_mirror.rb +1 -3
- data/test/rubygems/test_gem_commands_open_command.rb +4 -6
- data/test/rubygems/test_gem_commands_outdated_command.rb +0 -2
- data/test/rubygems/test_gem_commands_owner_command.rb +59 -5
- data/test/rubygems/test_gem_commands_pristine_command.rb +43 -12
- data/test/rubygems/test_gem_commands_push_command.rb +38 -9
- data/test/rubygems/test_gem_commands_query_command.rb +12 -12
- data/test/rubygems/test_gem_commands_search_command.rb +0 -2
- data/test/rubygems/test_gem_commands_server_command.rb +0 -2
- data/test/rubygems/test_gem_commands_setup_command.rb +165 -124
- data/test/rubygems/test_gem_commands_signin_command.rb +33 -9
- data/test/rubygems/test_gem_commands_signout_command.rb +0 -7
- data/test/rubygems/test_gem_commands_sources_command.rb +60 -2
- data/test/rubygems/test_gem_commands_specification_command.rb +46 -20
- data/test/rubygems/test_gem_commands_stale_command.rb +0 -2
- data/test/rubygems/test_gem_commands_uninstall_command.rb +1 -3
- data/test/rubygems/test_gem_commands_unpack_command.rb +0 -2
- data/test/rubygems/test_gem_commands_update_command.rb +116 -7
- data/test/rubygems/test_gem_commands_which_command.rb +3 -5
- data/test/rubygems/test_gem_commands_yank_command.rb +44 -8
- data/test/rubygems/test_gem_config_file.rb +7 -12
- data/test/rubygems/test_gem_dependency.rb +0 -2
- data/test/rubygems/test_gem_dependency_installer.rb +90 -193
- data/test/rubygems/test_gem_dependency_list.rb +10 -12
- data/test/rubygems/test_gem_dependency_resolution_error.rb +1 -3
- data/test/rubygems/test_gem_doctor.rb +28 -2
- data/test/rubygems/test_gem_ext_builder.rb +26 -47
- data/test/rubygems/test_gem_ext_cmake_builder.rb +16 -23
- data/test/rubygems/test_gem_ext_configure_builder.rb +4 -20
- data/test/rubygems/test_gem_ext_ext_conf_builder.rb +9 -29
- data/test/rubygems/test_gem_ext_rake_builder.rb +14 -24
- data/test/rubygems/test_gem_gem_runner.rb +44 -1
- data/test/rubygems/test_gem_gemcutter_utilities.rb +8 -5
- data/test/rubygems/test_gem_impossible_dependencies_error.rb +0 -2
- data/test/rubygems/test_gem_indexer.rb +9 -15
- data/test/rubygems/test_gem_install_update_options.rb +14 -4
- data/test/rubygems/test_gem_installer.rb +256 -59
- data/test/rubygems/test_gem_local_remote_options.rb +0 -2
- data/test/rubygems/test_gem_name_tuple.rb +0 -2
- data/test/rubygems/test_gem_package.rb +38 -31
- data/test/rubygems/test_gem_package_old.rb +4 -6
- data/test/rubygems/test_gem_package_tar_header.rb +18 -1
- data/test/rubygems/test_gem_package_tar_reader.rb +0 -2
- data/test/rubygems/test_gem_package_tar_reader_entry.rb +0 -2
- data/test/rubygems/test_gem_package_tar_writer.rb +4 -6
- data/test/rubygems/test_gem_package_task.rb +46 -13
- data/test/rubygems/test_gem_path_support.rb +0 -2
- data/test/rubygems/test_gem_platform.rb +63 -6
- data/test/rubygems/test_gem_rdoc.rb +0 -2
- data/test/rubygems/test_gem_remote_fetcher.rb +168 -211
- data/test/rubygems/test_gem_request.rb +13 -17
- data/test/rubygems/test_gem_request_connection_pools.rb +0 -4
- data/test/rubygems/test_gem_request_set.rb +20 -22
- data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +3 -5
- data/test/rubygems/test_gem_request_set_lockfile.rb +4 -6
- data/test/rubygems/test_gem_request_set_lockfile_parser.rb +9 -11
- data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +118 -120
- data/test/rubygems/test_gem_requirement.rb +10 -4
- data/test/rubygems/test_gem_resolver.rb +6 -8
- data/test/rubygems/test_gem_resolver_activation_request.rb +0 -2
- data/test/rubygems/test_gem_resolver_api_set.rb +11 -13
- data/test/rubygems/test_gem_resolver_api_specification.rb +0 -2
- data/test/rubygems/test_gem_resolver_best_set.rb +2 -4
- data/test/rubygems/test_gem_resolver_composed_set.rb +0 -2
- data/test/rubygems/test_gem_resolver_conflict.rb +1 -3
- data/test/rubygems/test_gem_resolver_dependency_request.rb +0 -2
- data/test/rubygems/test_gem_resolver_git_set.rb +0 -2
- data/test/rubygems/test_gem_resolver_git_specification.rb +0 -2
- data/test/rubygems/test_gem_resolver_index_set.rb +2 -4
- data/test/rubygems/test_gem_resolver_index_specification.rb +0 -2
- data/test/rubygems/test_gem_resolver_installed_specification.rb +0 -2
- data/test/rubygems/test_gem_resolver_installer_set.rb +7 -9
- data/test/rubygems/test_gem_resolver_local_specification.rb +0 -2
- data/test/rubygems/test_gem_resolver_lock_set.rb +3 -5
- data/test/rubygems/test_gem_resolver_lock_specification.rb +0 -2
- data/test/rubygems/test_gem_resolver_requirement_list.rb +0 -2
- data/test/rubygems/test_gem_resolver_specification.rb +0 -4
- data/test/rubygems/test_gem_resolver_vendor_set.rb +1 -3
- data/test/rubygems/test_gem_resolver_vendor_specification.rb +0 -2
- data/test/rubygems/test_gem_security.rb +22 -24
- data/test/rubygems/test_gem_security_policy.rb +7 -12
- data/test/rubygems/test_gem_security_signer.rb +10 -12
- data/test/rubygems/test_gem_security_trust_dir.rb +4 -6
- data/test/rubygems/test_gem_server.rb +10 -14
- data/test/rubygems/test_gem_silent_ui.rb +0 -2
- data/test/rubygems/test_gem_source.rb +17 -16
- data/test/rubygems/test_gem_source_fetch_problem.rb +0 -2
- data/test/rubygems/test_gem_source_git.rb +12 -13
- data/test/rubygems/test_gem_source_installed.rb +7 -9
- data/test/rubygems/test_gem_source_list.rb +1 -2
- data/test/rubygems/test_gem_source_local.rb +8 -10
- data/test/rubygems/test_gem_source_lock.rb +10 -12
- data/test/rubygems/test_gem_source_specific_file.rb +7 -9
- data/test/rubygems/test_gem_source_subpath_problem.rb +49 -0
- data/test/rubygems/test_gem_source_vendor.rb +7 -9
- data/test/rubygems/test_gem_spec_fetcher.rb +11 -4
- data/test/rubygems/test_gem_specification.rb +156 -125
- data/test/rubygems/test_gem_stream_ui.rb +3 -3
- data/test/rubygems/test_gem_stub_specification.rb +4 -6
- data/test/rubygems/test_gem_text.rb +1 -3
- data/test/rubygems/test_gem_uninstaller.rb +134 -12
- data/test/rubygems/test_gem_unsatisfiable_dependency_error.rb +0 -2
- data/test/rubygems/test_gem_uri_formatter.rb +0 -2
- data/test/rubygems/test_gem_util.rb +7 -7
- data/test/rubygems/test_gem_validator.rb +1 -3
- data/test/rubygems/test_gem_version.rb +1 -3
- data/test/rubygems/test_gem_version_option.rb +1 -3
- data/test/rubygems/test_kernel.rb +10 -14
- data/test/rubygems/test_project_sanity.rb +7 -2
- data/test/rubygems/test_remote_fetch_error.rb +0 -2
- data/test/rubygems/test_require.rb +191 -60
- metadata +60 -94
- 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/bundler/lib/bundler/vendor/molinillo/lib/molinillo/compatibility.rb +0 -26
- data/bundler/man/bundle-add.1.txt +0 -58
- data/bundler/man/bundle-binstubs.1.txt +0 -48
- data/bundler/man/bundle-cache.1.txt +0 -78
- data/bundler/man/bundle-check.1.txt +0 -33
- data/bundler/man/bundle-clean.1.txt +0 -26
- data/bundler/man/bundle-config.1.txt +0 -528
- data/bundler/man/bundle-doctor.1.txt +0 -44
- data/bundler/man/bundle-exec.1.txt +0 -178
- data/bundler/man/bundle-gem.1.txt +0 -91
- data/bundler/man/bundle-info.1.txt +0 -21
- data/bundler/man/bundle-init.1.txt +0 -34
- data/bundler/man/bundle-inject.1.txt +0 -32
- data/bundler/man/bundle-install.1.txt +0 -401
- data/bundler/man/bundle-list.1.txt +0 -43
- data/bundler/man/bundle-lock.1.txt +0 -93
- data/bundler/man/bundle-open.1.txt +0 -29
- data/bundler/man/bundle-outdated.1.txt +0 -131
- data/bundler/man/bundle-platform.1.txt +0 -57
- data/bundler/man/bundle-pristine.1.txt +0 -44
- data/bundler/man/bundle-remove.1.txt +0 -34
- data/bundler/man/bundle-show.1.txt +0 -27
- data/bundler/man/bundle-update.1.txt +0 -390
- data/bundler/man/bundle-viz.1.txt +0 -39
- data/bundler/man/bundle.1.txt +0 -116
- data/bundler/man/gemfile.5.txt +0 -649
- data/lib/rubygems/source_local.rb +0 -7
- data/lib/rubygems/source_specific_file.rb +0 -6
- 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/man/bundle-doctor.1
CHANGED
data/bundler/man/bundle-exec.1
CHANGED
data/bundler/man/bundle-gem.1
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-GEM" "1" "
|
4
|
+
.TH "BUNDLE\-GEM" "1" "November 2020" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-gem\fR \- Generate a project skeleton for creating a rubygem
|
@@ -64,8 +64,30 @@ Add an MIT license to a \fBLICENSE\.txt\fR file in the root of the generated pro
|
|
64
64
|
Do not create a \fBLICENSE\.txt\fR (overrides \fB\-\-mit\fR specified in the global config)\.
|
65
65
|
.
|
66
66
|
.TP
|
67
|
-
\fB\-t\fR, \fB\-\-test=minitest\fR, \fB\-\-test=rspec\fR
|
68
|
-
Specify the test framework that Bundler should use when generating the project\. Acceptable values are \fBminitest\fR and \
|
67
|
+
\fB\-t\fR, \fB\-\-test=minitest\fR, \fB\-\-test=rspec\fR, \fB\-\-test=test\-unit\fR
|
68
|
+
Specify the test framework that Bundler should use when generating the project\. Acceptable values are \fBminitest\fR, \fBrspec\fR and \fBtest\-unit\fR\. The \fBGEM_NAME\.gemspec\fR will be configured and a skeleton test/spec directory will be created based on this option\. Given no option is specified:
|
69
|
+
.
|
70
|
+
.IP
|
71
|
+
When Bundler is configured to generate tests, this defaults to Bundler\'s global config setting \fBgem\.test\fR\.
|
72
|
+
.
|
73
|
+
.IP
|
74
|
+
When Bundler is configured to not generate tests, an interactive prompt will be displayed and the answer will be used for the current rubygem project\.
|
75
|
+
.
|
76
|
+
.IP
|
77
|
+
When Bundler is unconfigured, an interactive prompt will be displayed and the answer will be saved in Bundler\'s global config for future \fBbundle gem\fR use\.
|
78
|
+
.
|
79
|
+
.TP
|
80
|
+
\fB\-\-ci\fR, \fB\-\-ci=github\fR, \fB\-\-ci=travis\fR, \fB\-\-ci=gitlab\fR, \fB\-\-ci=circle\fR
|
81
|
+
Specify the continuous integration service that Bundler should use when generating the project\. Acceptable values are \fBgithub\fR, \fBtravis\fR, \fBgitlab\fR and \fBcircle\fR\. A configuration file will be generated in the project directory\. Given no option is specified:
|
82
|
+
.
|
83
|
+
.IP
|
84
|
+
When Bundler is configured to generate CI files, this defaults to Bundler\'s global config setting \fBgem\.ci\fR\.
|
85
|
+
.
|
86
|
+
.IP
|
87
|
+
When Bundler is configured to not generate CI files, an interactive prompt will be displayed and the answer will be used for the current rubygem project\.
|
88
|
+
.
|
89
|
+
.IP
|
90
|
+
When Bundler is unconfigured, an interactive prompt will be displayed and the answer will be saved in Bundler\'s global config for future \fBbundle gem\fR use\.
|
69
91
|
.
|
70
92
|
.TP
|
71
93
|
\fB\-e\fR, \fB\-\-edit[=EDITOR]\fR
|
data/bundler/man/bundle-info.1
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-INFO" "1" "
|
4
|
+
.TH "BUNDLE\-INFO" "1" "November 2020" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-info\fR \- Show information for the given gem in your bundle
|
data/bundler/man/bundle-init.1
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-INIT" "1" "
|
4
|
+
.TH "BUNDLE\-INIT" "1" "November 2020" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-init\fR \- Generates a Gemfile into the current working directory
|
data/bundler/man/bundle-inject.1
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-INJECT" "1" "
|
4
|
+
.TH "BUNDLE\-INJECT" "1" "November 2020" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-inject\fR \- Add named gem(s) with version requirements to Gemfile
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-INSTALL" "1" "
|
4
|
+
.TH "BUNDLE\-INSTALL" "1" "November 2020" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-install\fR \- Install the dependencies specified in your Gemfile
|
@@ -19,7 +19,7 @@ If a \fBGemfile\.lock\fR does exist, and you have not updated your Gemfile(5), B
|
|
19
19
|
If a \fBGemfile\.lock\fR does exist, and you have updated your Gemfile(5), Bundler will use the dependencies in the \fBGemfile\.lock\fR for all gems that you did not update, but will re\-resolve the dependencies of gems that you did update\. You can find more information about this update process below under \fICONSERVATIVE UPDATING\fR\.
|
20
20
|
.
|
21
21
|
.SH "OPTIONS"
|
22
|
-
|
22
|
+
The \fB\-\-clean\fR, \fB\-\-deployment\fR, \fB\-\-frozen\fR, \fB\-\-no\-prune\fR, \fB\-\-path\fR, \fB\-\-shebang\fR, \fB\-\-system\fR, \fB\-\-without\fR and \fB\-\-with\fR options are deprecated because they only make sense if they are applied to every subsequent \fBbundle install\fR run automatically and that requires \fBbundler\fR to silently remember them\. Since \fBbundler\fR will no longer remember CLI flags in future versions, \fBbundle config\fR (see bundle\-config(1)) should be used to apply them permanently\.
|
23
23
|
.
|
24
24
|
.TP
|
25
25
|
\fB\-\-binstubs[=<directory>]\fR
|
@@ -32,10 +32,16 @@ Creates a directory (defaults to \fB~/bin\fR) and places any executables from th
|
|
32
32
|
\fB\-\-clean\fR
|
33
33
|
On finishing the installation Bundler is going to remove any gems not present in the current Gemfile(5)\. Don\'t worry, gems currently in use will not be removed\.
|
34
34
|
.
|
35
|
+
.IP
|
36
|
+
This option is deprecated in favor of the \fBclean\fR setting\.
|
37
|
+
.
|
35
38
|
.TP
|
36
39
|
\fB\-\-deployment\fR
|
37
40
|
In \fIdeployment mode\fR, Bundler will \'roll\-out\' the bundle for production or CI use\. Please check carefully if you want to have this option enabled in your development environment\.
|
38
41
|
.
|
42
|
+
.IP
|
43
|
+
This option is deprecated in favor of the \fBdeployment\fR setting\.
|
44
|
+
.
|
39
45
|
.TP
|
40
46
|
\fB\-\-redownload\fR
|
41
47
|
Force download every gem, even if the required versions are already available locally\.
|
@@ -44,6 +50,9 @@ Force download every gem, even if the required versions are already available lo
|
|
44
50
|
\fB\-\-frozen\fR
|
45
51
|
Do not allow the Gemfile\.lock to be updated after this install\. Exits non\-zero if there are going to be changes to the Gemfile\.lock\.
|
46
52
|
.
|
53
|
+
.IP
|
54
|
+
This option is deprecated in favor of the \fBfrozen\fR setting\.
|
55
|
+
.
|
47
56
|
.TP
|
48
57
|
\fB\-\-full\-index\fR
|
49
58
|
Bundler will not call Rubygems\' API endpoint (default) but download and cache a (currently big) index file of all gems\. Performance can be improved for large bundles that seldom change by enabling this option\.
|
@@ -58,7 +67,7 @@ The maximum number of parallel download and install jobs\. The default is \fB1\f
|
|
58
67
|
.
|
59
68
|
.TP
|
60
69
|
\fB\-\-local\fR
|
61
|
-
Do not attempt to connect to \fBrubygems\.org\fR\. Instead, Bundler will use the gems already present in Rubygems\' cache or in \fBvendor/cache\fR\. Note that if
|
70
|
+
Do not attempt to connect to \fBrubygems\.org\fR\. Instead, Bundler will use the gems already present in Rubygems\' cache or in \fBvendor/cache\fR\. Note that if an appropriate platform\-specific gem exists on \fBrubygems\.org\fR it will not be found\.
|
62
71
|
.
|
63
72
|
.TP
|
64
73
|
\fB\-\-no\-cache\fR
|
@@ -68,10 +77,16 @@ Do not update the cache in \fBvendor/cache\fR with the newly bundled gems\. This
|
|
68
77
|
\fB\-\-no\-prune\fR
|
69
78
|
Don\'t remove stale gems from the cache when the installation finishes\.
|
70
79
|
.
|
80
|
+
.IP
|
81
|
+
This option is deprecated in favor of the \fBno_prune\fR setting\.
|
82
|
+
.
|
71
83
|
.TP
|
72
84
|
\fB\-\-path=<path>\fR
|
73
85
|
The location to install the specified gems to\. This defaults to Rubygems\' setting\. Bundler shares this location with Rubygems, \fBgem install \.\.\.\fR will have gem installed there, too\. Therefore, gems installed without a \fB\-\-path \.\.\.\fR setting will show up by calling \fBgem list\fR\. Accordingly, gems installed to other locations will not get listed\.
|
74
86
|
.
|
87
|
+
.IP
|
88
|
+
This option is deprecated in favor of the \fBpath\fR setting\.
|
89
|
+
.
|
75
90
|
.TP
|
76
91
|
\fB\-\-quiet\fR
|
77
92
|
Do not print progress information to the standard output\. Instead, Bundler will exit using a status code (\fB$?\fR)\.
|
@@ -84,6 +99,9 @@ Retry failed network or git requests for \fInumber\fR times\.
|
|
84
99
|
\fB\-\-shebang=<ruby\-executable>\fR
|
85
100
|
Uses the specified ruby executable (usually \fBruby\fR) to execute the scripts created with \fB\-\-binstubs\fR\. In addition, if you use \fB\-\-binstubs\fR together with \fB\-\-shebang jruby\fR these executables will be changed to execute \fBjruby\fR instead\.
|
86
101
|
.
|
102
|
+
.IP
|
103
|
+
This option is deprecated in favor of the \fBshebang\fR setting\.
|
104
|
+
.
|
87
105
|
.TP
|
88
106
|
\fB\-\-standalone[=<list>]\fR
|
89
107
|
Makes a bundle that can work without depending on Rubygems or Bundler at runtime\. A space separated list of groups to install has to be specified\. Bundler creates a directory named \fBbundle\fR and installs the bundle there\. It also generates a \fBbundle/bundler/setup\.rb\fR file to replace Bundler\'s own setup in the manner required\. Using this option implicitly sets \fBpath\fR, which is a [remembered option][REMEMBERED OPTIONS]\.
|
@@ -92,6 +110,9 @@ Makes a bundle that can work without depending on Rubygems or Bundler at runtime
|
|
92
110
|
\fB\-\-system\fR
|
93
111
|
Installs the gems specified in the bundle to the system\'s Rubygems location\. This overrides any previous configuration of \fB\-\-path\fR\.
|
94
112
|
.
|
113
|
+
.IP
|
114
|
+
This option is deprecated in favor of the \fBsystem\fR setting\.
|
115
|
+
.
|
95
116
|
.TP
|
96
117
|
\fB\-\-trust\-policy=[<policy>]\fR
|
97
118
|
Apply the Rubygems security policy \fIpolicy\fR, where policy is one of \fBHighSecurity\fR, \fBMediumSecurity\fR, \fBLowSecurity\fR, \fBAlmostNoSecurity\fR, or \fBNoSecurity\fR\. For more details, please see the Rubygems signing documentation linked below in \fISEE ALSO\fR\.
|
@@ -100,10 +121,16 @@ Apply the Rubygems security policy \fIpolicy\fR, where policy is one of \fBHighS
|
|
100
121
|
\fB\-\-with=<list>\fR
|
101
122
|
A space\-separated list of groups referencing gems to install\. If an optional group is given it is installed\. If a group is given that is in the remembered list of groups given to \-\-without, it is removed from that list\.
|
102
123
|
.
|
124
|
+
.IP
|
125
|
+
This option is deprecated in favor of the \fBwith\fR setting\.
|
126
|
+
.
|
103
127
|
.TP
|
104
128
|
\fB\-\-without=<list>\fR
|
105
129
|
A space\-separated list of groups referencing gems to skip during installation\. If a group is given that is in the remembered list of groups given to \-\-with, it is removed from that list\.
|
106
130
|
.
|
131
|
+
.IP
|
132
|
+
This option is deprecated in favor of the \fBwithout\fR setting\.
|
133
|
+
.
|
107
134
|
.SH "DEPLOYMENT MODE"
|
108
135
|
Bundler\'s defaults are optimized for development\. To switch to defaults optimized for deployment and for CI, use the \fB\-\-deployment\fR flag\. Do not activate deployment mode on development machines, as it will cause an error when the Gemfile(5) is modified\.
|
109
136
|
.
|
data/bundler/man/bundle-list.1
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-LIST" "1" "
|
4
|
+
.TH "BUNDLE\-LIST" "1" "November 2020" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-list\fR \- List all the gems in the bundle
|
8
8
|
.
|
9
9
|
.SH "SYNOPSIS"
|
10
|
-
\fBbundle list\fR [\-\-name\-only] [\-\-paths] [\-\-without\-group=GROUP] [\-\-only\-group=GROUP]
|
10
|
+
\fBbundle list\fR [\-\-name\-only] [\-\-paths] [\-\-without\-group=GROUP[ GROUP\.\.\.]] [\-\-only\-group=GROUP[ GROUP\.\.\.]]
|
11
11
|
.
|
12
12
|
.SH "DESCRIPTION"
|
13
13
|
Prints a list of all the gems in the bundle including their version\.
|
@@ -28,7 +28,7 @@ bundle list \-\-without\-group test
|
|
28
28
|
bundle list \-\-only\-group dev
|
29
29
|
.
|
30
30
|
.P
|
31
|
-
bundle list \-\-only\-group dev \-\-paths
|
31
|
+
bundle list \-\-only\-group dev test \-\-paths
|
32
32
|
.
|
33
33
|
.SH "OPTIONS"
|
34
34
|
.
|
@@ -41,10 +41,10 @@ Print only the name of each gem\.
|
|
41
41
|
Print the path to each gem in the bundle\.
|
42
42
|
.
|
43
43
|
.TP
|
44
|
-
\fB\-\-without\-group
|
45
|
-
|
44
|
+
\fB\-\-without\-group=<list>\fR
|
45
|
+
A space\-separated list of groups of gems to skip during printing\.
|
46
46
|
.
|
47
47
|
.TP
|
48
|
-
\fB\-\-only\-group
|
49
|
-
|
48
|
+
\fB\-\-only\-group=<list>\fR
|
49
|
+
A space\-separated list of groups of gems to print\.
|
50
50
|
|
data/bundler/man/bundle-lock.1
CHANGED
data/bundler/man/bundle-open.1
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-OPEN" "1" "
|
4
|
+
.TH "BUNDLE\-OPEN" "1" "November 2020" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-open\fR \- Opens the source directory for a gem in your bundle
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-OUTDATED" "1" "
|
4
|
+
.TH "BUNDLE\-OUTDATED" "1" "November 2020" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-outdated\fR \- List installed gems with newer versions available
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-PLATFORM" "1" "
|
4
|
+
.TH "BUNDLE\-PLATFORM" "1" "November 2020" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-platform\fR \- Displays platform compatibility information
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-PRISTINE" "1" "
|
4
|
+
.TH "BUNDLE\-PRISTINE" "1" "November 2020" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-pristine\fR \- Restores installed gems to their pristine condition
|
data/bundler/man/bundle-remove.1
CHANGED
data/bundler/man/bundle-show.1
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-SHOW" "1" "
|
4
|
+
.TH "BUNDLE\-SHOW" "1" "November 2020" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-show\fR \- Shows all the gems in your bundle, or the path to a gem
|
data/bundler/man/bundle-update.1
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-UPDATE" "1" "
|
4
|
+
.TH "BUNDLE\-UPDATE" "1" "November 2020" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-update\fR \- Update your gems to the latest available versions
|
data/bundler/man/bundle-viz.1
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-VIZ" "1" "
|
4
|
+
.TH "BUNDLE\-VIZ" "1" "November 2020" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-viz\fR \- Generates a visual dependency graph for your Gemfile
|
data/bundler/man/bundle.1
CHANGED
data/bundler/man/gemfile.5
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "GEMFILE" "5" "
|
4
|
+
.TH "GEMFILE" "5" "November 2020" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBGemfile\fR \- A format for describing gem dependencies for Ruby programs
|
@@ -150,7 +150,7 @@ gem "RedCloth", ">= 4\.1\.0", "< 4\.2\.0"
|
|
150
150
|
.IP "" 0
|
151
151
|
.
|
152
152
|
.SS "REQUIRE AS"
|
153
|
-
Each \fIgem\fR \fBMAY\fR specify files that should be used when autorequiring via \fBBundler\.require\fR\. You may pass an array with multiple files or \fBtrue\fR if file you want \fBrequired\fR has same name as \fIgem\fR or \fBfalse\fR to prevent any file from being autorequired\.
|
153
|
+
Each \fIgem\fR \fBMAY\fR specify files that should be used when autorequiring via \fBBundler\.require\fR\. You may pass an array with multiple files or \fBtrue\fR if the file you want \fBrequired\fR has the same name as \fIgem\fR or \fBfalse\fR to prevent any file from being autorequired\.
|
154
154
|
.
|
155
155
|
.IP "" 4
|
156
156
|
.
|
@@ -227,8 +227,8 @@ To specify multiple groups to ignore, specify a list of groups separated by spac
|
|
227
227
|
.
|
228
228
|
.nf
|
229
229
|
|
230
|
-
bundle config set without test
|
231
|
-
bundle config set without development test
|
230
|
+
bundle config set \-\-local without test
|
231
|
+
bundle config set \-\-local without development test
|
232
232
|
.
|
233
233
|
.fi
|
234
234
|
.
|
data/lib/rubygems.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
# -*- ruby -*-
|
3
2
|
#--
|
4
3
|
# Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others.
|
5
4
|
# All rights reserved.
|
@@ -9,7 +8,7 @@
|
|
9
8
|
require 'rbconfig'
|
10
9
|
|
11
10
|
module Gem
|
12
|
-
VERSION = "3.
|
11
|
+
VERSION = "3.2.0".freeze
|
13
12
|
end
|
14
13
|
|
15
14
|
# Must be first since it unloads the prelude from 1.9.2
|
@@ -43,10 +42,10 @@ require 'rubygems/errors'
|
|
43
42
|
#
|
44
43
|
# == RubyGems Plugins
|
45
44
|
#
|
46
|
-
#
|
45
|
+
# RubyGems will load plugins in the latest version of each installed gem or
|
47
46
|
# $LOAD_PATH. Plugins must be named 'rubygems_plugin' (.rb, .so, etc) and
|
48
|
-
# placed at the root of your gem's #require_path. Plugins are
|
49
|
-
#
|
47
|
+
# placed at the root of your gem's #require_path. Plugins are installed at a
|
48
|
+
# special location and loaded on boot.
|
50
49
|
#
|
51
50
|
# For an example plugin, see the {Graph gem}[https://github.com/seattlerb/graph]
|
52
51
|
# which adds a `gem graph` command.
|
@@ -120,6 +119,10 @@ module Gem
|
|
120
119
|
# to avoid deprecation warnings in Ruby 2.7.
|
121
120
|
UNTAINT = RUBY_VERSION < '2.7' ? :untaint.to_sym : proc{}
|
122
121
|
|
122
|
+
# When https://bugs.ruby-lang.org/issues/17259 is available, there is no need to override Kernel#warn
|
123
|
+
KERNEL_WARN_IGNORES_INTERNAL_ENTRIES = RUBY_ENGINE == "truffleruby" ||
|
124
|
+
(RUBY_ENGINE == "ruby" && RUBY_VERSION >= '3.0')
|
125
|
+
|
123
126
|
##
|
124
127
|
# An Array of Regexps that match windows Ruby platforms.
|
125
128
|
|
@@ -148,6 +151,7 @@ module Gem
|
|
148
151
|
doc
|
149
152
|
extensions
|
150
153
|
gems
|
154
|
+
plugins
|
151
155
|
specifications
|
152
156
|
].freeze
|
153
157
|
|
@@ -317,6 +321,13 @@ module Gem
|
|
317
321
|
Gem.default_bindir
|
318
322
|
end
|
319
323
|
|
324
|
+
##
|
325
|
+
# The path were rubygems plugins are to be installed.
|
326
|
+
|
327
|
+
def self.plugindir(install_dir=Gem.dir)
|
328
|
+
File.join install_dir, 'plugins'
|
329
|
+
end
|
330
|
+
|
320
331
|
##
|
321
332
|
# Reset the +dir+ and +path+ values. The next time +dir+ or +path+
|
322
333
|
# is requested, the values will be calculated from scratch. This is
|
@@ -329,13 +340,6 @@ module Gem
|
|
329
340
|
Gem::Security.reset if defined?(Gem::Security)
|
330
341
|
end
|
331
342
|
|
332
|
-
##
|
333
|
-
# The path to standard location of the user's .gemrc file.
|
334
|
-
|
335
|
-
def self.config_file
|
336
|
-
@config_file ||= File.join Gem.user_home, '.gemrc'
|
337
|
-
end
|
338
|
-
|
339
343
|
##
|
340
344
|
# The standard configuration object for gems.
|
341
345
|
|
@@ -393,11 +397,11 @@ module Gem
|
|
393
397
|
target[k] = v
|
394
398
|
when Array
|
395
399
|
unless Gem::Deprecate.skip
|
396
|
-
warn <<-
|
400
|
+
warn <<-EOWARN
|
397
401
|
Array values in the parameter to `Gem.paths=` are deprecated.
|
398
402
|
Please use a String or nil.
|
399
403
|
An Array (#{env.inspect}) was passed in from #{caller[3]}
|
400
|
-
|
404
|
+
EOWARN
|
401
405
|
end
|
402
406
|
target[k] = v.join File::PATH_SEPARATOR
|
403
407
|
end
|
@@ -411,8 +415,6 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
|
|
411
415
|
|
412
416
|
##
|
413
417
|
# The path where gems are to be installed.
|
414
|
-
#--
|
415
|
-
# FIXME deprecate these once everything else has been done -ebh
|
416
418
|
|
417
419
|
def self.dir
|
418
420
|
paths.home
|
@@ -465,7 +467,10 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
|
|
465
467
|
subdirs.each do |name|
|
466
468
|
subdir = File.join dir, name
|
467
469
|
next if File.exist? subdir
|
468
|
-
|
470
|
+
begin
|
471
|
+
FileUtils.mkdir_p subdir, **options
|
472
|
+
rescue Errno::EACCES
|
473
|
+
end
|
469
474
|
end
|
470
475
|
ensure
|
471
476
|
File.umask old_umask
|
@@ -502,7 +507,7 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
|
|
502
507
|
|
503
508
|
gem_specifications = @gemdeps ? Gem.loaded_specs.values : Gem::Specification.stubs
|
504
509
|
|
505
|
-
files.concat gem_specifications.map {
|
510
|
+
files.concat gem_specifications.map {|spec|
|
506
511
|
spec.matches_for_glob("#{glob}#{Gem.suffix_pattern}")
|
507
512
|
}.flatten
|
508
513
|
|
@@ -517,7 +522,7 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
|
|
517
522
|
glob_with_suffixes = "#{glob}#{Gem.suffix_pattern}"
|
518
523
|
$LOAD_PATH.map do |load_path|
|
519
524
|
Gem::Util.glob_files_in_dir(glob_with_suffixes, load_path)
|
520
|
-
end.flatten.select {
|
525
|
+
end.flatten.select {|file| File.file? file.tap(&Gem::UNTAINT) }
|
521
526
|
end
|
522
527
|
|
523
528
|
##
|
@@ -537,7 +542,7 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
|
|
537
542
|
|
538
543
|
files = find_files_from_load_path glob if check_load_path
|
539
544
|
|
540
|
-
files.concat Gem::Specification.latest_specs(true).map {
|
545
|
+
files.concat Gem::Specification.latest_specs(true).map {|spec|
|
541
546
|
spec.matches_for_glob("#{glob}#{Gem.suffix_pattern}")
|
542
547
|
}.flatten
|
543
548
|
|
@@ -548,83 +553,12 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
|
|
548
553
|
return files
|
549
554
|
end
|
550
555
|
|
551
|
-
##
|
552
|
-
# Finds the user's home directory.
|
553
|
-
#--
|
554
|
-
# Some comments from the ruby-talk list regarding finding the home
|
555
|
-
# directory:
|
556
|
-
#
|
557
|
-
# I have HOME, USERPROFILE and HOMEDRIVE + HOMEPATH. Ruby seems
|
558
|
-
# to be depending on HOME in those code samples. I propose that
|
559
|
-
# it should fallback to USERPROFILE and HOMEDRIVE + HOMEPATH (at
|
560
|
-
# least on Win32).
|
561
|
-
#++
|
562
|
-
#--
|
563
|
-
#
|
564
|
-
#++
|
565
|
-
|
566
|
-
def self.find_home
|
567
|
-
Dir.home.dup
|
568
|
-
rescue
|
569
|
-
if Gem.win_platform?
|
570
|
-
File.expand_path File.join(ENV['HOMEDRIVE'] || ENV['SystemDrive'], '/')
|
571
|
-
else
|
572
|
-
File.expand_path "/"
|
573
|
-
end
|
574
|
-
end
|
575
|
-
|
576
|
-
private_class_method :find_home
|
577
|
-
|
578
|
-
# TODO: remove in RubyGems 4.0
|
579
|
-
|
580
|
-
##
|
581
|
-
# Zlib::GzipReader wrapper that unzips +data+.
|
582
|
-
|
583
|
-
def self.gunzip(data)
|
584
|
-
Gem::Util.gunzip data
|
585
|
-
end
|
586
|
-
|
587
|
-
class << self
|
588
|
-
|
589
|
-
extend Gem::Deprecate
|
590
|
-
deprecate :gunzip, "Gem::Util.gunzip", 2018, 12
|
591
|
-
|
592
|
-
end
|
593
|
-
|
594
|
-
##
|
595
|
-
# Zlib::GzipWriter wrapper that zips +data+.
|
596
|
-
|
597
|
-
def self.gzip(data)
|
598
|
-
Gem::Util.gzip data
|
599
|
-
end
|
600
|
-
|
601
|
-
class << self
|
602
|
-
|
603
|
-
extend Gem::Deprecate
|
604
|
-
deprecate :gzip, "Gem::Util.gzip", 2018, 12
|
605
|
-
|
606
|
-
end
|
607
|
-
|
608
|
-
##
|
609
|
-
# A Zlib::Inflate#inflate wrapper
|
610
|
-
|
611
|
-
def self.inflate(data)
|
612
|
-
Gem::Util.inflate data
|
613
|
-
end
|
614
|
-
|
615
|
-
class << self
|
616
|
-
|
617
|
-
extend Gem::Deprecate
|
618
|
-
deprecate :inflate, "Gem::Util.inflate", 2018, 12
|
619
|
-
|
620
|
-
end
|
621
|
-
|
622
556
|
##
|
623
557
|
# Top level install helper method. Allows you to install gems interactively:
|
624
558
|
#
|
625
559
|
# % irb
|
626
560
|
# >> Gem.install "minitest"
|
627
|
-
# Fetching: minitest-
|
561
|
+
# Fetching: minitest-5.14.0.gem (100%)
|
628
562
|
# => [#<Gem::Specification:0x1013b4528 @name="minitest", ...>]
|
629
563
|
|
630
564
|
def self.install(name, version = Gem::Requirement.default, *options)
|
@@ -687,14 +621,6 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
|
|
687
621
|
|
688
622
|
def self.load_yaml
|
689
623
|
return if @yaml_loaded
|
690
|
-
return unless defined?(gem)
|
691
|
-
|
692
|
-
begin
|
693
|
-
gem 'psych', '>= 2.0.0'
|
694
|
-
rescue Gem::LoadError
|
695
|
-
# It's OK if the user does not have the psych gem installed. We will
|
696
|
-
# attempt to require the stdlib version
|
697
|
-
end
|
698
624
|
|
699
625
|
begin
|
700
626
|
# Try requiring the gem version *or* stdlib version of psych.
|
@@ -909,8 +835,7 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
|
|
909
835
|
|
910
836
|
def self.ruby
|
911
837
|
if @ruby.nil?
|
912
|
-
@ruby =
|
913
|
-
"#{RbConfig::CONFIG['ruby_install_name']}#{RbConfig::CONFIG['EXEEXT']}")
|
838
|
+
@ruby = RbConfig.ruby
|
914
839
|
|
915
840
|
@ruby = "\"#{@ruby}\"" if @ruby =~ /\s/
|
916
841
|
end
|
@@ -1023,21 +948,38 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
|
|
1023
948
|
@suffix_pattern ||= "{#{suffixes.join(',')}}"
|
1024
949
|
end
|
1025
950
|
|
951
|
+
##
|
952
|
+
# Regexp for require-able path suffixes.
|
953
|
+
|
1026
954
|
def self.suffix_regexp
|
1027
955
|
@suffix_regexp ||= /#{Regexp.union(suffixes)}\z/
|
1028
956
|
end
|
1029
957
|
|
958
|
+
##
|
959
|
+
# Glob pattern for require-able plugin suffixes.
|
960
|
+
|
961
|
+
def self.plugin_suffix_pattern
|
962
|
+
@plugin_suffix_pattern ||= "_plugin#{suffix_pattern}"
|
963
|
+
end
|
964
|
+
|
965
|
+
##
|
966
|
+
# Regexp for require-able plugin suffixes.
|
967
|
+
|
968
|
+
def self.plugin_suffix_regexp
|
969
|
+
@plugin_suffix_regexp ||= /_plugin#{suffix_regexp}\z/
|
970
|
+
end
|
971
|
+
|
1030
972
|
##
|
1031
973
|
# Suffixes for require-able paths.
|
1032
974
|
|
1033
975
|
def self.suffixes
|
1034
976
|
@suffixes ||= ['',
|
1035
977
|
'.rb',
|
1036
|
-
*%w
|
978
|
+
*%w[DLEXT DLEXT2].map do |key|
|
1037
979
|
val = RbConfig::CONFIG[key]
|
1038
980
|
next unless val and not val.empty?
|
1039
981
|
".#{val}"
|
1040
|
-
end
|
982
|
+
end,
|
1041
983
|
].compact.uniq
|
1042
984
|
end
|
1043
985
|
|
@@ -1074,24 +1016,17 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
|
|
1074
1016
|
paths.flatten!
|
1075
1017
|
paths.compact!
|
1076
1018
|
hash = { "GEM_HOME" => home, "GEM_PATH" => paths.empty? ? home : paths.join(File::PATH_SEPARATOR) }
|
1077
|
-
hash.delete_if {
|
1019
|
+
hash.delete_if {|_, v| v.nil? }
|
1078
1020
|
self.paths = hash
|
1079
1021
|
end
|
1080
1022
|
|
1081
|
-
##
|
1082
|
-
# The home directory for the user.
|
1083
|
-
|
1084
|
-
def self.user_home
|
1085
|
-
@user_home ||= find_home.tap(&Gem::UNTAINT)
|
1086
|
-
end
|
1087
|
-
|
1088
1023
|
##
|
1089
1024
|
# Is this a windows platform?
|
1090
1025
|
|
1091
1026
|
def self.win_platform?
|
1092
1027
|
if @@win_platform.nil?
|
1093
1028
|
ruby_platform = RbConfig::CONFIG['host_os']
|
1094
|
-
@@win_platform = !!WIN_PATTERNS.find {
|
1029
|
+
@@win_platform = !!WIN_PATTERNS.find {|r| ruby_platform =~ r }
|
1095
1030
|
end
|
1096
1031
|
|
1097
1032
|
@@win_platform
|
@@ -1125,35 +1060,17 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
|
|
1125
1060
|
end
|
1126
1061
|
|
1127
1062
|
##
|
1128
|
-
# Find
|
1129
|
-
# them
|
1063
|
+
# Find rubygems plugin files in the standard location and load them
|
1130
1064
|
|
1131
1065
|
def self.load_plugins
|
1132
|
-
|
1133
|
-
if ENV['RUBYGEMS_LOAD_ALL_PLUGINS']
|
1134
|
-
load_plugin_files find_files('rubygems_plugin', false)
|
1135
|
-
else
|
1136
|
-
load_plugin_files find_latest_files('rubygems_plugin', false)
|
1137
|
-
end
|
1066
|
+
load_plugin_files Gem::Util.glob_files_in_dir("*#{Gem.plugin_suffix_pattern}", plugindir)
|
1138
1067
|
end
|
1139
1068
|
|
1140
1069
|
##
|
1141
1070
|
# Find all 'rubygems_plugin' files in $LOAD_PATH and load them
|
1142
1071
|
|
1143
1072
|
def self.load_env_plugins
|
1144
|
-
|
1145
|
-
|
1146
|
-
files = []
|
1147
|
-
glob = "#{path}#{Gem.suffix_pattern}"
|
1148
|
-
$LOAD_PATH.each do |load_path|
|
1149
|
-
globbed = Gem::Util.glob_files_in_dir(glob, load_path)
|
1150
|
-
|
1151
|
-
globbed.each do |load_path_file|
|
1152
|
-
files << load_path_file if File.file?(load_path_file.tap(&Gem::UNTAINT))
|
1153
|
-
end
|
1154
|
-
end
|
1155
|
-
|
1156
|
-
load_plugin_files files
|
1073
|
+
load_plugin_files find_files_from_load_path("rubygems_plugin")
|
1157
1074
|
end
|
1158
1075
|
|
1159
1076
|
##
|
@@ -1186,7 +1103,7 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
|
|
1186
1103
|
|
1187
1104
|
if path == "-"
|
1188
1105
|
Gem::Util.traverse_parents Dir.pwd do |directory|
|
1189
|
-
dep_file = GEM_DEP_FILES.find {
|
1106
|
+
dep_file = GEM_DEP_FILES.find {|f| File.file?(f) }
|
1190
1107
|
|
1191
1108
|
next unless dep_file
|
1192
1109
|
|
@@ -1228,18 +1145,6 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
|
|
1228
1145
|
end
|
1229
1146
|
end
|
1230
1147
|
|
1231
|
-
class << self
|
1232
|
-
|
1233
|
-
##
|
1234
|
-
# TODO remove with RubyGems 4.0
|
1235
|
-
|
1236
|
-
alias detect_gemdeps use_gemdeps # :nodoc:
|
1237
|
-
|
1238
|
-
extend Gem::Deprecate
|
1239
|
-
deprecate :detect_gemdeps, "Gem.use_gemdeps", 2018, 12
|
1240
|
-
|
1241
|
-
end
|
1242
|
-
|
1243
1148
|
##
|
1244
1149
|
# If the SOURCE_DATE_EPOCH environment variable is set, returns it's value.
|
1245
1150
|
# Otherwise, returns the time that `Gem.source_date_epoch_string` was
|
@@ -1284,6 +1189,11 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
|
|
1284
1189
|
# methods, and then we switch over to `class << self` here. Pick one or the
|
1285
1190
|
# other.
|
1286
1191
|
class << self
|
1192
|
+
##
|
1193
|
+
# RubyGems distributors (like operating system package managers) can
|
1194
|
+
# disable RubyGems update by setting this to error message printed to
|
1195
|
+
# end-users on gem update --system instead of actual update.
|
1196
|
+
attr_accessor :disable_system_update_message
|
1287
1197
|
|
1288
1198
|
##
|
1289
1199
|
# Hash of loaded Gem::Specification keyed by name
|
@@ -1309,7 +1219,7 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
|
|
1309
1219
|
#
|
1310
1220
|
|
1311
1221
|
def register_default_spec(spec)
|
1312
|
-
extended_require_paths = spec.require_paths.map {|f| f + "/"}
|
1222
|
+
extended_require_paths = spec.require_paths.map {|f| f + "/" }
|
1313
1223
|
new_format = extended_require_paths.any? {|path| spec.files.any? {|f| f.start_with? path } }
|
1314
1224
|
|
1315
1225
|
if new_format
|
@@ -1323,6 +1233,8 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
|
|
1323
1233
|
next unless $~
|
1324
1234
|
end
|
1325
1235
|
|
1236
|
+
spec.activate if already_loaded?(file)
|
1237
|
+
|
1326
1238
|
@path_to_default_spec_map[file] = spec
|
1327
1239
|
@path_to_default_spec_map[file.sub(suffix_regexp, "")] = spec
|
1328
1240
|
end
|
@@ -1388,6 +1300,17 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
|
|
1388
1300
|
|
1389
1301
|
attr_reader :pre_uninstall_hooks
|
1390
1302
|
|
1303
|
+
private
|
1304
|
+
|
1305
|
+
def already_loaded?(file)
|
1306
|
+
$LOADED_FEATURES.any? do |feature_path|
|
1307
|
+
feature_path.end_with?(file) && default_gem_load_paths.any? {|load_path_entry| feature_path == "#{load_path_entry}/#{file}" }
|
1308
|
+
end
|
1309
|
+
end
|
1310
|
+
|
1311
|
+
def default_gem_load_paths
|
1312
|
+
@default_gem_load_paths ||= $LOAD_PATH[load_path_insert_index..-1]
|
1313
|
+
end
|
1391
1314
|
end
|
1392
1315
|
|
1393
1316
|
##
|
@@ -1413,8 +1336,6 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
|
|
1413
1336
|
autoload :Specification, File.expand_path('rubygems/specification', __dir__)
|
1414
1337
|
autoload :Util, File.expand_path('rubygems/util', __dir__)
|
1415
1338
|
autoload :Version, File.expand_path('rubygems/version', __dir__)
|
1416
|
-
|
1417
|
-
require "rubygems/specification"
|
1418
1339
|
end
|
1419
1340
|
|
1420
1341
|
require 'rubygems/exceptions'
|