rubygems-update 3.4.22 → 3.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +99 -2
- data/Manifest.txt +34 -221
- data/README.md +1 -3
- data/bundler/CHANGELOG.md +53 -0
- data/bundler/bundler.gemspec +4 -2
- data/bundler/exe/bundle +1 -10
- data/bundler/lib/bundler/build_metadata.rb +3 -3
- data/bundler/lib/bundler/capistrano.rb +1 -1
- data/bundler/lib/bundler/checksum.rb +245 -0
- data/bundler/lib/bundler/ci_detector.rb +75 -0
- data/bundler/lib/bundler/cli/add.rb +3 -3
- data/bundler/lib/bundler/cli/binstubs.rb +4 -4
- data/bundler/lib/bundler/cli/cache.rb +1 -1
- data/bundler/lib/bundler/cli/check.rb +1 -1
- data/bundler/lib/bundler/cli/common.rb +9 -1
- data/bundler/lib/bundler/cli/config.rb +8 -7
- data/bundler/lib/bundler/cli/console.rb +3 -2
- data/bundler/lib/bundler/cli/doctor.rb +2 -2
- data/bundler/lib/bundler/cli/exec.rb +1 -1
- data/bundler/lib/bundler/cli/gem.rb +28 -23
- data/bundler/lib/bundler/cli/info.rb +2 -13
- data/bundler/lib/bundler/cli/install.rb +5 -4
- data/bundler/lib/bundler/cli/issue.rb +1 -1
- data/bundler/lib/bundler/cli/lock.rb +4 -4
- data/bundler/lib/bundler/cli/open.rb +1 -1
- data/bundler/lib/bundler/cli/outdated.rb +6 -6
- data/bundler/lib/bundler/cli/plugin.rb +7 -14
- data/bundler/lib/bundler/cli/pristine.rb +38 -30
- data/bundler/lib/bundler/cli/show.rb +2 -2
- data/bundler/lib/bundler/cli/update.rb +5 -5
- data/bundler/lib/bundler/cli.rb +215 -263
- data/bundler/lib/bundler/compact_index_client/cache.rb +29 -9
- data/bundler/lib/bundler/compact_index_client/cache_file.rb +153 -0
- data/bundler/lib/bundler/compact_index_client/gem_parser.rb +7 -3
- data/bundler/lib/bundler/compact_index_client/updater.rb +79 -81
- data/bundler/lib/bundler/compact_index_client.rb +14 -7
- data/bundler/lib/bundler/constants.rb +1 -1
- data/bundler/lib/bundler/current_ruby.rb +5 -21
- data/bundler/lib/bundler/definition.rb +42 -15
- data/bundler/lib/bundler/dependency.rb +16 -12
- data/bundler/lib/bundler/digest.rb +2 -2
- data/bundler/lib/bundler/dsl.rb +43 -25
- data/bundler/lib/bundler/endpoint_specification.rb +5 -1
- data/bundler/lib/bundler/env.rb +1 -3
- data/bundler/lib/bundler/errors.rb +43 -0
- data/bundler/lib/bundler/fetcher/base.rb +3 -1
- data/bundler/lib/bundler/fetcher/compact_index.rb +4 -4
- data/bundler/lib/bundler/fetcher/downloader.rb +13 -11
- data/bundler/lib/bundler/fetcher/gem_remote_fetcher.rb +16 -0
- data/bundler/lib/bundler/fetcher/index.rb +1 -1
- data/bundler/lib/bundler/fetcher.rb +28 -25
- data/bundler/lib/bundler/friendly_errors.rb +5 -5
- data/bundler/lib/bundler/gem_helper.rb +1 -1
- data/bundler/lib/bundler/gem_helpers.rb +5 -2
- data/bundler/lib/bundler/graph.rb +9 -9
- data/bundler/lib/bundler/index.rb +1 -2
- data/bundler/lib/bundler/injector.rb +1 -1
- data/bundler/lib/bundler/inline.rb +3 -3
- data/bundler/lib/bundler/installer/gem_installer.rb +5 -5
- data/bundler/lib/bundler/installer/parallel_installer.rb +16 -8
- data/bundler/lib/bundler/installer/standalone.rb +2 -3
- data/bundler/lib/bundler/installer.rb +9 -9
- data/bundler/lib/bundler/lazy_specification.rb +24 -17
- data/bundler/lib/bundler/lockfile_generator.rb +9 -0
- data/bundler/lib/bundler/lockfile_parser.rb +81 -10
- data/bundler/lib/bundler/man/bundle-add.1 +3 -26
- data/bundler/lib/bundler/man/bundle-binstubs.1 +4 -16
- data/bundler/lib/bundler/man/bundle-cache.1 +3 -24
- data/bundler/lib/bundler/man/bundle-check.1 +3 -12
- data/bundler/lib/bundler/man/bundle-clean.1 +3 -10
- data/bundler/lib/bundler/man/bundle-config.1 +20 -211
- data/bundler/lib/bundler/man/bundle-config.1.ronn +6 -0
- data/bundler/lib/bundler/man/bundle-console.1 +4 -22
- data/bundler/lib/bundler/man/bundle-doctor.1 +4 -18
- data/bundler/lib/bundler/man/bundle-exec.1 +12 -73
- data/bundler/lib/bundler/man/bundle-gem.1 +13 -49
- data/bundler/lib/bundler/man/bundle-help.1 +3 -7
- data/bundler/lib/bundler/man/bundle-info.1 +3 -9
- data/bundler/lib/bundler/man/bundle-init.1 +3 -12
- data/bundler/lib/bundler/man/bundle-inject.1 +6 -19
- data/bundler/lib/bundler/man/bundle-install.1 +27 -125
- data/bundler/lib/bundler/man/bundle-install.1.ronn +1 -0
- data/bundler/lib/bundler/man/bundle-list.1 +4 -19
- data/bundler/lib/bundler/man/bundle-lock.1 +5 -29
- data/bundler/lib/bundler/man/bundle-open.1 +7 -27
- data/bundler/lib/bundler/man/bundle-outdated.1 +3 -55
- data/bundler/lib/bundler/man/bundle-outdated.1.ronn +1 -0
- data/bundler/lib/bundler/man/bundle-platform.1 +5 -27
- data/bundler/lib/bundler/man/bundle-plugin.1 +3 -29
- data/bundler/lib/bundler/man/bundle-pristine.1 +5 -16
- data/bundler/lib/bundler/man/bundle-remove.1 +4 -14
- data/bundler/lib/bundler/man/bundle-show.1 +3 -10
- data/bundler/lib/bundler/man/bundle-update.1 +18 -137
- data/bundler/lib/bundler/man/bundle-version.1 +3 -16
- data/bundler/lib/bundler/man/bundle-viz.1 +4 -16
- data/bundler/lib/bundler/man/bundle.1 +5 -44
- data/bundler/lib/bundler/man/gemfile.5 +24 -301
- data/bundler/lib/bundler/man/gemfile.5.ronn +4 -0
- data/bundler/lib/bundler/match_metadata.rb +4 -0
- data/bundler/lib/bundler/match_platform.rb +1 -1
- data/bundler/lib/bundler/plugin/api/source.rb +3 -2
- data/bundler/lib/bundler/plugin/installer.rb +1 -1
- data/bundler/lib/bundler/plugin.rb +3 -3
- data/bundler/lib/bundler/resolver/base.rb +1 -1
- data/bundler/lib/bundler/resolver/incompatibility.rb +1 -1
- data/bundler/lib/bundler/resolver/spec_group.rb +1 -4
- data/bundler/lib/bundler/resolver.rb +16 -16
- data/bundler/lib/bundler/ruby_dsl.rb +20 -12
- data/bundler/lib/bundler/ruby_version.rb +1 -1
- data/bundler/lib/bundler/rubygems_ext.rb +24 -50
- data/bundler/lib/bundler/rubygems_gem_installer.rb +6 -56
- data/bundler/lib/bundler/rubygems_integration.rb +25 -94
- data/bundler/lib/bundler/runtime.rb +2 -2
- data/bundler/lib/bundler/self_manager.rb +23 -7
- data/bundler/lib/bundler/settings.rb +27 -7
- data/bundler/lib/bundler/setup.rb +4 -1
- data/bundler/lib/bundler/shared_helpers.rb +35 -13
- data/bundler/lib/bundler/source/git/git_proxy.rb +15 -15
- data/bundler/lib/bundler/source/git.rb +4 -3
- data/bundler/lib/bundler/source/metadata.rb +15 -15
- data/bundler/lib/bundler/source/path.rb +7 -6
- data/bundler/lib/bundler/source/rubygems.rb +21 -14
- data/bundler/lib/bundler/source.rb +2 -0
- data/bundler/lib/bundler/spec_set.rb +38 -10
- data/bundler/lib/bundler/stub_specification.rb +1 -0
- data/bundler/lib/bundler/templates/Executable.bundler +1 -1
- data/bundler/lib/bundler/templates/newgem/README.md.tt +3 -3
- data/bundler/lib/bundler/templates/newgem/Rakefile.tt +2 -6
- data/bundler/lib/bundler/templates/newgem/ext/newgem/Cargo.toml.tt +1 -1
- data/bundler/lib/bundler/templates/newgem/standard.yml.tt +1 -1
- data/bundler/lib/bundler/ui/shell.rb +1 -1
- data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/version.rb +1 -1
- data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool.rb +53 -6
- data/bundler/lib/bundler/vendor/fileutils/lib/fileutils.rb +8 -20
- data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/connection.rb +3 -3
- data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/pool.rb +2 -2
- data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/timed_stack_multi.rb +1 -1
- data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +35 -35
- data/bundler/lib/bundler/vendor/tsort/lib/tsort.rb +3 -0
- data/bundler/lib/bundler/vendor/uri/lib/uri/common.rb +256 -132
- data/bundler/lib/bundler/vendor/uri/lib/uri/generic.rb +1 -0
- data/bundler/lib/bundler/vendor/uri/lib/uri/rfc3986_parser.rb +95 -31
- data/bundler/lib/bundler/vendor/uri/lib/uri/version.rb +1 -1
- data/bundler/lib/bundler/vendored_net_http.rb +8 -0
- data/bundler/lib/bundler/vendored_persistent.rb +0 -4
- data/bundler/lib/bundler/vendored_timeout.rb +8 -0
- data/bundler/lib/bundler/version.rb +1 -1
- data/bundler/lib/bundler/vlad.rb +1 -1
- data/bundler/lib/bundler/yaml_serializer.rb +3 -3
- data/bundler/lib/bundler.rb +38 -27
- data/lib/rubygems/available_set.rb +4 -4
- data/lib/rubygems/basic_specification.rb +35 -37
- data/lib/rubygems/bundler_version_finder.rb +4 -4
- data/lib/rubygems/ci_detector.rb +75 -0
- data/lib/rubygems/command.rb +13 -15
- data/lib/rubygems/command_manager.rb +5 -4
- data/lib/rubygems/commands/build_command.rb +2 -2
- data/lib/rubygems/commands/cert_command.rb +1 -2
- data/lib/rubygems/commands/check_command.rb +4 -4
- data/lib/rubygems/commands/cleanup_command.rb +12 -14
- data/lib/rubygems/commands/contents_command.rb +4 -4
- data/lib/rubygems/commands/dependency_command.rb +4 -5
- data/lib/rubygems/commands/environment_command.rb +1 -3
- data/lib/rubygems/commands/exec_command.rb +1 -1
- data/lib/rubygems/commands/fetch_command.rb +2 -2
- data/lib/rubygems/commands/generate_index_command.rb +39 -74
- data/lib/rubygems/commands/help_command.rb +3 -3
- data/lib/rubygems/commands/info_command.rb +2 -2
- data/lib/rubygems/commands/install_command.rb +8 -16
- data/lib/rubygems/commands/list_command.rb +2 -2
- data/lib/rubygems/commands/lock_command.rb +1 -1
- data/lib/rubygems/commands/open_command.rb +1 -1
- data/lib/rubygems/commands/owner_command.rb +1 -1
- data/lib/rubygems/commands/pristine_command.rb +13 -15
- data/lib/rubygems/commands/push_command.rb +2 -2
- data/lib/rubygems/commands/query_command.rb +4 -5
- data/lib/rubygems/commands/rdoc_command.rb +2 -2
- data/lib/rubygems/commands/search_command.rb +2 -2
- data/lib/rubygems/commands/setup_command.rb +31 -34
- data/lib/rubygems/commands/sources_command.rb +12 -12
- data/lib/rubygems/commands/specification_command.rb +10 -10
- data/lib/rubygems/commands/stale_command.rb +1 -1
- data/lib/rubygems/commands/uninstall_command.rb +9 -10
- data/lib/rubygems/commands/unpack_command.rb +4 -4
- data/lib/rubygems/commands/update_command.rb +10 -12
- data/lib/rubygems/commands/which_command.rb +1 -1
- data/lib/rubygems/commands/yank_command.rb +1 -1
- data/lib/rubygems/compatibility.rb +5 -6
- data/lib/rubygems/config_file.rb +4 -4
- data/lib/rubygems/core_ext/kernel_gem.rb +0 -2
- data/lib/rubygems/core_ext/kernel_require.rb +19 -48
- data/lib/rubygems/core_ext/kernel_warn.rb +1 -1
- data/lib/rubygems/core_ext/tcpsocket_init.rb +1 -1
- data/lib/rubygems/defaults.rb +15 -3
- data/lib/rubygems/dependency.rb +12 -14
- data/lib/rubygems/dependency_installer.rb +29 -30
- data/lib/rubygems/dependency_list.rb +1 -1
- data/lib/rubygems/deprecate.rb +16 -15
- data/lib/rubygems/doctor.rb +5 -5
- data/lib/rubygems/errors.rb +2 -6
- data/lib/rubygems/exceptions.rb +2 -1
- data/lib/rubygems/ext/builder.rb +15 -10
- data/lib/rubygems/ext/cargo_builder.rb +5 -5
- data/lib/rubygems/ext/ext_conf_builder.rb +1 -3
- data/lib/rubygems/gem_runner.rb +4 -4
- data/lib/rubygems/gemcutter_utilities/webauthn_listener/response.rb +3 -3
- data/lib/rubygems/gemcutter_utilities/webauthn_poller.rb +3 -3
- data/lib/rubygems/gemcutter_utilities.rb +18 -19
- data/lib/rubygems/install_update_options.rb +18 -19
- data/lib/rubygems/installer.rb +59 -33
- data/lib/rubygems/installer_uninstaller_utils.rb +0 -2
- data/lib/rubygems/local_remote_options.rb +7 -10
- data/lib/rubygems/name_tuple.rb +7 -9
- data/lib/rubygems/net/http.rb +3 -0
- data/lib/rubygems/net-http/LICENSE.txt +22 -0
- data/lib/rubygems/net-http/lib/net/http/backward.rb +40 -0
- data/lib/rubygems/net-http/lib/net/http/exceptions.rb +34 -0
- data/lib/rubygems/net-http/lib/net/http/generic_request.rb +414 -0
- data/lib/rubygems/net-http/lib/net/http/header.rb +981 -0
- data/lib/rubygems/net-http/lib/net/http/proxy_delta.rb +17 -0
- data/lib/rubygems/net-http/lib/net/http/request.rb +88 -0
- data/lib/rubygems/net-http/lib/net/http/requests.rb +425 -0
- data/lib/rubygems/net-http/lib/net/http/response.rb +738 -0
- data/lib/rubygems/net-http/lib/net/http/responses.rb +1174 -0
- data/lib/rubygems/net-http/lib/net/http/status.rb +84 -0
- data/lib/rubygems/net-http/lib/net/http.rb +2496 -0
- data/lib/rubygems/net-http/lib/net/https.rb +23 -0
- data/lib/rubygems/net-protocol/LICENSE.txt +22 -0
- data/lib/rubygems/net-protocol/lib/net/protocol.rb +544 -0
- data/lib/rubygems/optparse/lib/optparse.rb +39 -17
- data/lib/rubygems/package/old.rb +2 -2
- data/lib/rubygems/package/tar_header.rb +45 -39
- data/lib/rubygems/package/tar_reader/entry.rb +5 -4
- data/lib/rubygems/package/tar_reader.rb +5 -3
- data/lib/rubygems/package/tar_writer.rb +19 -17
- data/lib/rubygems/package.rb +27 -26
- data/lib/rubygems/package_task.rb +2 -2
- data/lib/rubygems/path_support.rb +9 -10
- data/lib/rubygems/platform.rb +60 -45
- data/lib/rubygems/query_utils.rb +7 -9
- data/lib/rubygems/remote_fetcher.rb +15 -15
- data/lib/rubygems/request/connection_pools.rb +3 -3
- data/lib/rubygems/request.rb +20 -17
- data/lib/rubygems/request_set/gem_dependency_api.rb +119 -122
- data/lib/rubygems/request_set/lockfile/parser.rb +9 -9
- data/lib/rubygems/request_set/lockfile/tokenizer.rb +20 -12
- data/lib/rubygems/request_set/lockfile.rb +6 -11
- data/lib/rubygems/request_set.rb +5 -5
- data/lib/rubygems/requirement.rb +7 -7
- data/lib/rubygems/resolv/LICENSE.txt +22 -0
- data/lib/rubygems/resolv/lib/resolv.rb +3387 -0
- data/lib/rubygems/resolver/activation_request.rb +1 -3
- data/lib/rubygems/resolver/api_set/gem_parser.rb +7 -3
- data/lib/rubygems/resolver/best_set.rb +1 -1
- data/lib/rubygems/resolver/composed_set.rb +1 -1
- data/lib/rubygems/resolver/conflict.rb +4 -12
- data/lib/rubygems/resolver/index_set.rb +4 -4
- data/lib/rubygems/resolver/index_specification.rb +2 -2
- data/lib/rubygems/resolver/installer_set.rb +5 -6
- data/lib/rubygems/resolver/lock_set.rb +1 -1
- data/lib/rubygems/resolver.rb +3 -10
- data/lib/rubygems/s3_uri_signer.rb +6 -6
- data/lib/rubygems/safe_marshal/elements.rb +138 -0
- data/lib/rubygems/safe_marshal/reader.rb +306 -0
- data/lib/rubygems/safe_marshal/visitors/stream_printer.rb +31 -0
- data/lib/rubygems/safe_marshal/visitors/to_ruby.rb +385 -0
- data/lib/rubygems/safe_marshal/visitors/visitor.rb +74 -0
- data/lib/rubygems/safe_marshal.rb +74 -0
- data/lib/rubygems/safe_yaml.rb +5 -28
- data/lib/rubygems/security/policies.rb +36 -38
- data/lib/rubygems/security/policy.rb +7 -11
- data/lib/rubygems/security/signer.rb +1 -1
- data/lib/rubygems/security/trust_dir.rb +3 -3
- data/lib/rubygems/security.rb +8 -22
- data/lib/rubygems/source/git.rb +1 -3
- data/lib/rubygems/source/installed.rb +0 -2
- data/lib/rubygems/source/local.rb +5 -8
- data/lib/rubygems/source/lock.rb +1 -3
- data/lib/rubygems/source/specific_file.rb +0 -1
- data/lib/rubygems/source/vendor.rb +0 -2
- data/lib/rubygems/source.rb +12 -12
- data/lib/rubygems/source_list.rb +4 -4
- data/lib/rubygems/spec_fetcher.rb +29 -29
- data/lib/rubygems/specification.rb +125 -138
- data/lib/rubygems/specification_policy.rb +55 -25
- data/lib/rubygems/stub_specification.rb +4 -5
- data/lib/rubygems/text.rb +1 -2
- data/lib/rubygems/timeout/LICENSE.txt +22 -0
- data/lib/rubygems/timeout/lib/timeout.rb +199 -0
- data/lib/rubygems/timeout.rb +3 -0
- data/lib/rubygems/tsort/lib/tsort.rb +3 -0
- data/lib/rubygems/uninstaller.rb +7 -9
- data/lib/rubygems/update_suggestion.rb +5 -18
- data/lib/rubygems/uri_formatter.rb +1 -1
- data/lib/rubygems/user_interaction.rb +15 -21
- data/lib/rubygems/util/licenses.rb +65 -35
- data/lib/rubygems/util/list.rb +3 -1
- data/lib/rubygems/util.rb +2 -4
- data/lib/rubygems/validator.rb +5 -3
- data/lib/rubygems/version.rb +34 -28
- data/lib/rubygems/version_option.rb +2 -5
- data/lib/rubygems/yaml_serializer.rb +3 -3
- data/lib/rubygems.rb +37 -37
- data/rubygems-update.gemspec +4 -4
- data/setup.rb +2 -2
- metadata +38 -225
- data/lib/rubygems/indexer.rb +0 -428
- data/lib/rubygems/mock_gem_ui.rb +0 -86
- data/test/rubygems/alternate_cert.pem +0 -19
- data/test/rubygems/alternate_cert_32.pem +0 -19
- data/test/rubygems/alternate_key.pem +0 -27
- data/test/rubygems/bad_rake.rb +0 -3
- data/test/rubygems/bundler_test_gem.rb +0 -424
- data/test/rubygems/ca_cert.pem +0 -77
- data/test/rubygems/child_cert.pem +0 -19
- data/test/rubygems/child_cert_32.pem +0 -19
- data/test/rubygems/child_key.pem +0 -27
- data/test/rubygems/client.pem +0 -107
- data/test/rubygems/data/excon-0.7.7.gemspec.rz +0 -0
- data/test/rubygems/data/gem-private_key.pem +0 -27
- data/test/rubygems/data/gem-public_cert.pem +0 -20
- data/test/rubygems/data/null-required-ruby-version.gemspec.rz +0 -0
- data/test/rubygems/data/null-required-rubygems-version.gemspec.rz +0 -0
- data/test/rubygems/data/pry-0.4.7.gemspec.rz +0 -0
- data/test/rubygems/encrypted_private_key.pem +0 -30
- data/test/rubygems/expired_cert.pem +0 -19
- data/test/rubygems/fake_certlib/openssl.rb +0 -9
- data/test/rubygems/foo/discover.rb +0 -1
- data/test/rubygems/future_cert.pem +0 -19
- data/test/rubygems/future_cert_32.pem +0 -19
- data/test/rubygems/good_rake.rb +0 -3
- data/test/rubygems/grandchild_cert.pem +0 -19
- data/test/rubygems/grandchild_cert_32.pem +0 -19
- data/test/rubygems/grandchild_key.pem +0 -27
- data/test/rubygems/helper.rb +0 -1649
- data/test/rubygems/installer_test_case.rb +0 -248
- data/test/rubygems/invalid_client.pem +0 -49
- data/test/rubygems/invalid_issuer_cert.pem +0 -20
- data/test/rubygems/invalid_issuer_cert_32.pem +0 -20
- data/test/rubygems/invalid_key.pem +0 -27
- data/test/rubygems/invalid_signer_cert.pem +0 -19
- data/test/rubygems/invalid_signer_cert_32.pem +0 -19
- data/test/rubygems/invalidchild_cert.pem +0 -19
- data/test/rubygems/invalidchild_cert_32.pem +0 -19
- data/test/rubygems/invalidchild_key.pem +0 -27
- data/test/rubygems/multifactor_auth_utilities.rb +0 -111
- data/test/rubygems/package/tar_test_case.rb +0 -175
- data/test/rubygems/packages/Bluebie-legs-0.6.2.gem +0 -0
- data/test/rubygems/packages/ascii_binder-0.1.10.1.gem +0 -0
- data/test/rubygems/packages/ill-formatted-platform-1.0.0.10.gem +0 -0
- data/test/rubygems/plugin/exception/rubygems_plugin.rb +0 -4
- data/test/rubygems/plugin/load/rubygems_plugin.rb +0 -5
- data/test/rubygems/plugin/standarderror/rubygems_plugin.rb +0 -4
- data/test/rubygems/private3072_key.pem +0 -40
- data/test/rubygems/private_ec_key.pem +0 -9
- data/test/rubygems/private_key.pem +0 -27
- data/test/rubygems/public3072_cert.pem +0 -25
- data/test/rubygems/public_cert.pem +0 -20
- data/test/rubygems/public_cert_32.pem +0 -19
- data/test/rubygems/public_key.pem +0 -9
- data/test/rubygems/rubygems/commands/crash_command.rb +0 -5
- data/test/rubygems/rubygems_plugin.rb +0 -24
- data/test/rubygems/sff/discover.rb +0 -1
- data/test/rubygems/simple_gem.rb +0 -68
- data/test/rubygems/specifications/bar-0.0.2.gemspec +0 -9
- data/test/rubygems/specifications/foo-0.0.1-x86-mswin32.gemspec +0 -0
- data/test/rubygems/specifications/rubyforge-0.0.1.gemspec +0 -14
- data/test/rubygems/ssl_cert.pem +0 -80
- data/test/rubygems/ssl_key.pem +0 -27
- data/test/rubygems/test_bundled_ca.rb +0 -61
- data/test/rubygems/test_config.rb +0 -28
- data/test/rubygems/test_deprecate.rb +0 -158
- data/test/rubygems/test_exit.rb +0 -17
- data/test/rubygems/test_gem.rb +0 -1799
- data/test/rubygems/test_gem_available_set.rb +0 -130
- data/test/rubygems/test_gem_bundler_version_finder.rb +0 -127
- data/test/rubygems/test_gem_command.rb +0 -403
- data/test/rubygems/test_gem_command_manager.rb +0 -400
- data/test/rubygems/test_gem_commands_build_command.rb +0 -739
- data/test/rubygems/test_gem_commands_cert_command.rb +0 -866
- data/test/rubygems/test_gem_commands_check_command.rb +0 -68
- data/test/rubygems/test_gem_commands_cleanup_command.rb +0 -292
- data/test/rubygems/test_gem_commands_contents_command.rb +0 -271
- data/test/rubygems/test_gem_commands_dependency_command.rb +0 -228
- data/test/rubygems/test_gem_commands_environment_command.rb +0 -169
- data/test/rubygems/test_gem_commands_exec_command.rb +0 -857
- data/test/rubygems/test_gem_commands_fetch_command.rb +0 -258
- data/test/rubygems/test_gem_commands_generate_index_command.rb +0 -81
- data/test/rubygems/test_gem_commands_help_command.rb +0 -94
- data/test/rubygems/test_gem_commands_info_command.rb +0 -70
- data/test/rubygems/test_gem_commands_install_command.rb +0 -1573
- data/test/rubygems/test_gem_commands_list_command.rb +0 -33
- data/test/rubygems/test_gem_commands_lock_command.rb +0 -67
- data/test/rubygems/test_gem_commands_mirror.rb +0 -20
- data/test/rubygems/test_gem_commands_open_command.rb +0 -101
- data/test/rubygems/test_gem_commands_outdated_command.rb +0 -50
- data/test/rubygems/test_gem_commands_owner_command.rb +0 -503
- data/test/rubygems/test_gem_commands_pristine_command.rb +0 -708
- data/test/rubygems/test_gem_commands_push_command.rb +0 -603
- data/test/rubygems/test_gem_commands_query_command.rb +0 -858
- data/test/rubygems/test_gem_commands_search_command.rb +0 -16
- data/test/rubygems/test_gem_commands_server_command.rb +0 -20
- data/test/rubygems/test_gem_commands_setup_command.rb +0 -474
- data/test/rubygems/test_gem_commands_signin_command.rb +0 -259
- data/test/rubygems/test_gem_commands_signout_command.rb +0 -30
- data/test/rubygems/test_gem_commands_sources_command.rb +0 -534
- data/test/rubygems/test_gem_commands_specification_command.rb +0 -277
- data/test/rubygems/test_gem_commands_stale_command.rb +0 -43
- data/test/rubygems/test_gem_commands_uninstall_command.rb +0 -542
- data/test/rubygems/test_gem_commands_unpack_command.rb +0 -224
- data/test/rubygems/test_gem_commands_update_command.rb +0 -836
- data/test/rubygems/test_gem_commands_which_command.rb +0 -85
- data/test/rubygems/test_gem_commands_yank_command.rb +0 -299
- data/test/rubygems/test_gem_config_file.rb +0 -551
- data/test/rubygems/test_gem_dependency.rb +0 -398
- data/test/rubygems/test_gem_dependency_installer.rb +0 -1190
- data/test/rubygems/test_gem_dependency_list.rb +0 -265
- data/test/rubygems/test_gem_dependency_resolution_error.rb +0 -27
- data/test/rubygems/test_gem_doctor.rb +0 -195
- data/test/rubygems/test_gem_ext_builder.rb +0 -337
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/.gitignore +0 -1
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/custom_name.gemspec +0 -10
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/ext/custom_name_lib/Cargo.lock +0 -249
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/ext/custom_name_lib/Cargo.toml +0 -10
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/ext/custom_name_lib/src/lib.rs +0 -27
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/lib/custom_name.rb +0 -3
- data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/.gitignore +0 -1
- data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.lock +0 -249
- data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.toml +0 -10
- data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/rust_ruby_example.gemspec +0 -10
- data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/src/lib.rs +0 -51
- data/test/rubygems/test_gem_ext_cargo_builder.rb +0 -167
- data/test/rubygems/test_gem_ext_cargo_builder_link_flag_converter.rb +0 -34
- data/test/rubygems/test_gem_ext_cargo_builder_unit.rb +0 -60
- data/test/rubygems/test_gem_ext_cmake_builder.rb +0 -84
- data/test/rubygems/test_gem_ext_configure_builder.rb +0 -80
- data/test/rubygems/test_gem_ext_ext_conf_builder.rb +0 -229
- data/test/rubygems/test_gem_ext_rake_builder.rb +0 -113
- data/test/rubygems/test_gem_gem_runner.rb +0 -119
- data/test/rubygems/test_gem_gemcutter_utilities.rb +0 -361
- data/test/rubygems/test_gem_impossible_dependencies_error.rb +0 -60
- data/test/rubygems/test_gem_indexer.rb +0 -381
- data/test/rubygems/test_gem_install_update_options.rb +0 -208
- data/test/rubygems/test_gem_installer.rb +0 -2512
- data/test/rubygems/test_gem_local_remote_options.rb +0 -133
- data/test/rubygems/test_gem_name_tuple.rb +0 -43
- data/test/rubygems/test_gem_package.rb +0 -1306
- data/test/rubygems/test_gem_package_old.rb +0 -91
- data/test/rubygems/test_gem_package_tar_header.rb +0 -226
- data/test/rubygems/test_gem_package_tar_reader.rb +0 -150
- data/test/rubygems/test_gem_package_tar_reader_entry.rb +0 -350
- data/test/rubygems/test_gem_package_tar_writer.rb +0 -331
- data/test/rubygems/test_gem_package_task.rb +0 -118
- data/test/rubygems/test_gem_path_support.rb +0 -139
- data/test/rubygems/test_gem_platform.rb +0 -497
- data/test/rubygems/test_gem_rdoc.rb +0 -137
- data/test/rubygems/test_gem_remote_fetcher.rb +0 -1227
- data/test/rubygems/test_gem_request.rb +0 -547
- data/test/rubygems/test_gem_request_connection_pools.rb +0 -152
- data/test/rubygems/test_gem_request_set.rb +0 -672
- data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +0 -853
- data/test/rubygems/test_gem_request_set_lockfile.rb +0 -469
- data/test/rubygems/test_gem_request_set_lockfile_parser.rb +0 -544
- data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +0 -307
- data/test/rubygems/test_gem_requirement.rb +0 -505
- data/test/rubygems/test_gem_resolver.rb +0 -859
- data/test/rubygems/test_gem_resolver_activation_request.rb +0 -43
- data/test/rubygems/test_gem_resolver_api_set.rb +0 -210
- data/test/rubygems/test_gem_resolver_api_specification.rb +0 -167
- data/test/rubygems/test_gem_resolver_best_set.rb +0 -159
- data/test/rubygems/test_gem_resolver_composed_set.rb +0 -44
- data/test/rubygems/test_gem_resolver_conflict.rb +0 -82
- data/test/rubygems/test_gem_resolver_dependency_request.rb +0 -83
- data/test/rubygems/test_gem_resolver_git_set.rb +0 -188
- data/test/rubygems/test_gem_resolver_git_specification.rb +0 -114
- data/test/rubygems/test_gem_resolver_index_set.rb +0 -88
- data/test/rubygems/test_gem_resolver_index_specification.rb +0 -93
- data/test/rubygems/test_gem_resolver_installed_specification.rb +0 -47
- data/test/rubygems/test_gem_resolver_installer_set.rb +0 -320
- data/test/rubygems/test_gem_resolver_local_specification.rb +0 -44
- data/test/rubygems/test_gem_resolver_lock_set.rb +0 -62
- data/test/rubygems/test_gem_resolver_lock_specification.rb +0 -98
- data/test/rubygems/test_gem_resolver_requirement_list.rb +0 -19
- data/test/rubygems/test_gem_resolver_specification.rb +0 -63
- data/test/rubygems/test_gem_resolver_vendor_set.rb +0 -82
- data/test/rubygems/test_gem_resolver_vendor_specification.rb +0 -82
- data/test/rubygems/test_gem_security.rb +0 -341
- data/test/rubygems/test_gem_security_policy.rb +0 -535
- data/test/rubygems/test_gem_security_signer.rb +0 -218
- data/test/rubygems/test_gem_security_trust_dir.rb +0 -99
- data/test/rubygems/test_gem_silent_ui.rb +0 -123
- data/test/rubygems/test_gem_source.rb +0 -254
- data/test/rubygems/test_gem_source_fetch_problem.rb +0 -37
- data/test/rubygems/test_gem_source_git.rb +0 -310
- data/test/rubygems/test_gem_source_installed.rb +0 -35
- data/test/rubygems/test_gem_source_list.rb +0 -119
- data/test/rubygems/test_gem_source_local.rb +0 -107
- data/test/rubygems/test_gem_source_lock.rb +0 -113
- data/test/rubygems/test_gem_source_specific_file.rb +0 -76
- data/test/rubygems/test_gem_source_subpath_problem.rb +0 -50
- data/test/rubygems/test_gem_source_vendor.rb +0 -30
- data/test/rubygems/test_gem_spec_fetcher.rb +0 -338
- data/test/rubygems/test_gem_specification.rb +0 -3856
- data/test/rubygems/test_gem_stream_ui.rb +0 -255
- data/test/rubygems/test_gem_stub_specification.rb +0 -278
- data/test/rubygems/test_gem_text.rb +0 -103
- data/test/rubygems/test_gem_uninstaller.rb +0 -675
- data/test/rubygems/test_gem_unsatisfiable_dependency_error.rb +0 -31
- data/test/rubygems/test_gem_update_suggestion.rb +0 -209
- data/test/rubygems/test_gem_uri.rb +0 -41
- data/test/rubygems/test_gem_uri_formatter.rb +0 -27
- data/test/rubygems/test_gem_util.rb +0 -91
- data/test/rubygems/test_gem_validator.rb +0 -42
- data/test/rubygems/test_gem_version.rb +0 -305
- data/test/rubygems/test_gem_version_option.rb +0 -165
- data/test/rubygems/test_kernel.rb +0 -124
- data/test/rubygems/test_project_sanity.rb +0 -49
- data/test/rubygems/test_remote_fetch_error.rb +0 -20
- data/test/rubygems/test_require.rb +0 -732
- data/test/rubygems/test_rubygems.rb +0 -76
- data/test/rubygems/test_webauthn_listener.rb +0 -143
- data/test/rubygems/test_webauthn_listener_response.rb +0 -93
- data/test/rubygems/test_webauthn_poller.rb +0 -124
- data/test/rubygems/utilities.rb +0 -436
- data/test/rubygems/wrong_key_cert.pem +0 -19
- data/test/rubygems/wrong_key_cert_32.pem +0 -19
- data/test/test_changelog_generator.rb +0 -17
@@ -11,10 +11,10 @@ class Gem::Commands::PristineCommand < Gem::Command
|
|
11
11
|
def initialize
|
12
12
|
super "pristine",
|
13
13
|
"Restores installed gems to pristine condition from files located in the gem cache",
|
14
|
-
:
|
15
|
-
:
|
16
|
-
:
|
17
|
-
:
|
14
|
+
version: Gem::Requirement.default,
|
15
|
+
extensions: true,
|
16
|
+
extensions_set: false,
|
17
|
+
all: false
|
18
18
|
|
19
19
|
add_option("--all",
|
20
20
|
"Restore all installed gems to pristine",
|
@@ -114,16 +114,14 @@ extensions will be restored.
|
|
114
114
|
spec.extensions && !spec.extensions.empty?
|
115
115
|
end
|
116
116
|
elsif options[:only_missing_extensions]
|
117
|
-
Gem::Specification.select
|
118
|
-
spec.missing_extensions?
|
119
|
-
end
|
117
|
+
Gem::Specification.select(&:missing_extensions?)
|
120
118
|
else
|
121
119
|
get_all_gem_names.sort.map do |gem_name|
|
122
120
|
Gem::Specification.find_all_by_name(gem_name, options[:version]).reverse
|
123
121
|
end.flatten
|
124
122
|
end
|
125
123
|
|
126
|
-
specs = specs.select {|spec|
|
124
|
+
specs = specs.select {|spec| spec.platform == RUBY_ENGINE || Gem::Platform.local === spec.platform || spec.platform == Gem::Platform::RUBY }
|
127
125
|
|
128
126
|
if specs.to_a.empty?
|
129
127
|
raise Gem::Exception,
|
@@ -138,7 +136,7 @@ extensions will be restored.
|
|
138
136
|
next
|
139
137
|
end
|
140
138
|
|
141
|
-
if options.
|
139
|
+
if options.key? :skip
|
142
140
|
if options[:skip].include? spec.name
|
143
141
|
say "Skipped #{spec.full_name}, it was given through options"
|
144
142
|
next
|
@@ -181,12 +179,12 @@ extensions will be restored.
|
|
181
179
|
install_dir = options[:install_dir] if options[:install_dir]
|
182
180
|
|
183
181
|
installer_options = {
|
184
|
-
:
|
185
|
-
:
|
186
|
-
:
|
187
|
-
:
|
188
|
-
:
|
189
|
-
:
|
182
|
+
wrappers: true,
|
183
|
+
force: true,
|
184
|
+
install_dir: install_dir || spec.base_dir,
|
185
|
+
env_shebang: env_shebang,
|
186
|
+
build_args: spec.build_args,
|
187
|
+
bin_dir: bin_dir,
|
190
188
|
}
|
191
189
|
|
192
190
|
if options[:only_executables]
|
@@ -30,7 +30,7 @@ The push command will use ~/.gem/credentials to authenticate to a server, but yo
|
|
30
30
|
end
|
31
31
|
|
32
32
|
def initialize
|
33
|
-
super "push", "Push a gem up to the gem server", :
|
33
|
+
super "push", "Push a gem up to the gem server", host: host
|
34
34
|
|
35
35
|
@user_defined_host = false
|
36
36
|
|
@@ -75,7 +75,7 @@ The push command will use ~/.gem/credentials to authenticate to a server, but yo
|
|
75
75
|
@host ||= push_host
|
76
76
|
|
77
77
|
# Always include @host, even if it's nil
|
78
|
-
args += [
|
78
|
+
args += [@host, push_host]
|
79
79
|
|
80
80
|
say "Pushing gem to #{@host || Gem.host}..."
|
81
81
|
|
@@ -10,7 +10,7 @@ class Gem::Commands::QueryCommand < Gem::Command
|
|
10
10
|
|
11
11
|
include Gem::QueryUtils
|
12
12
|
|
13
|
-
|
13
|
+
alias_method :warning_without_suggested_alternatives, :deprecation_warning
|
14
14
|
def deprecation_warning
|
15
15
|
warning_without_suggested_alternatives
|
16
16
|
|
@@ -18,11 +18,10 @@ class Gem::Commands::QueryCommand < Gem::Command
|
|
18
18
|
alert_warning message unless Gem::Deprecate.skip
|
19
19
|
end
|
20
20
|
|
21
|
-
def initialize(name = "query",
|
22
|
-
summary = "Query gem information in local or remote repositories")
|
21
|
+
def initialize(name = "query", summary = "Query gem information in local or remote repositories")
|
23
22
|
super name, summary,
|
24
|
-
:
|
25
|
-
:
|
23
|
+
domain: :local, details: false, versions: true,
|
24
|
+
installed: nil, version: Gem::Requirement.default
|
26
25
|
|
27
26
|
add_option("-n", "--name-matches REGEXP",
|
28
27
|
"Name of gem(s) to query on matches the",
|
@@ -10,8 +10,8 @@ class Gem::Commands::RdocCommand < Gem::Command
|
|
10
10
|
|
11
11
|
def initialize
|
12
12
|
super "rdoc", "Generates RDoc for pre-installed gems",
|
13
|
-
:
|
14
|
-
:
|
13
|
+
version: Gem::Requirement.default,
|
14
|
+
include_rdoc: false, include_ri: true, overwrite: false
|
15
15
|
|
16
16
|
add_option("--all",
|
17
17
|
"Generate RDoc/RI documentation for all",
|
@@ -8,8 +8,8 @@ class Gem::Commands::SearchCommand < Gem::Command
|
|
8
8
|
|
9
9
|
def initialize
|
10
10
|
super "search", "Display remote gems whose name matches REGEXP",
|
11
|
-
:
|
12
|
-
:
|
11
|
+
domain: :remote, details: false, versions: true,
|
12
|
+
installed: nil, version: Gem::Requirement.default
|
13
13
|
|
14
14
|
add_query_options
|
15
15
|
end
|
@@ -7,19 +7,19 @@ require_relative "../command"
|
|
7
7
|
# RubyGems checkout or tarball.
|
8
8
|
|
9
9
|
class Gem::Commands::SetupCommand < Gem::Command
|
10
|
-
HISTORY_HEADER =
|
11
|
-
VERSION_MATCHER =
|
10
|
+
HISTORY_HEADER = %r{^#\s*[\d.a-zA-Z]+\s*/\s*\d{4}-\d{2}-\d{2}\s*$}
|
11
|
+
VERSION_MATCHER = %r{^#\s*([\d.a-zA-Z]+)\s*/\s*\d{4}-\d{2}-\d{2}\s*$}
|
12
12
|
|
13
13
|
ENV_PATHS = %w[/usr/bin/env /bin/env].freeze
|
14
14
|
|
15
15
|
def initialize
|
16
16
|
super "setup", "Install RubyGems",
|
17
|
-
:
|
18
|
-
:
|
19
|
-
:
|
20
|
-
:
|
21
|
-
:
|
22
|
-
:
|
17
|
+
format_executable: false, document: %w[ri],
|
18
|
+
force: true,
|
19
|
+
site_or_vendor: "sitelibdir",
|
20
|
+
destdir: "", prefix: "", previous_version: "",
|
21
|
+
regenerate_binstubs: true,
|
22
|
+
regenerate_plugins: true
|
23
23
|
|
24
24
|
add_option "--previous-version=VERSION",
|
25
25
|
"Previous version of RubyGems",
|
@@ -55,9 +55,9 @@ class Gem::Commands::SetupCommand < Gem::Command
|
|
55
55
|
"List the documentation types you wish to",
|
56
56
|
"generate. For example: rdoc,ri" do |value, options|
|
57
57
|
options[:document] = case value
|
58
|
-
|
59
|
-
|
60
|
-
|
58
|
+
when nil then %w[rdoc ri]
|
59
|
+
when false then []
|
60
|
+
else value
|
61
61
|
end
|
62
62
|
end
|
63
63
|
|
@@ -265,7 +265,7 @@ By default, this RubyGems will install gem as:
|
|
265
265
|
fp.puts bin.join
|
266
266
|
end
|
267
267
|
|
268
|
-
install bin_tmp_file, dest_file, :
|
268
|
+
install bin_tmp_file, dest_file, mode: prog_mode
|
269
269
|
bin_file_names << dest_file
|
270
270
|
ensure
|
271
271
|
rm bin_tmp_file
|
@@ -287,7 +287,7 @@ By default, this RubyGems will install gem as:
|
|
287
287
|
TEXT
|
288
288
|
end
|
289
289
|
|
290
|
-
install bin_cmd_file, "#{dest_file}.bat", :
|
290
|
+
install bin_cmd_file, "#{dest_file}.bat", mode: prog_mode
|
291
291
|
ensure
|
292
292
|
rm bin_cmd_file
|
293
293
|
end
|
@@ -369,18 +369,21 @@ By default, this RubyGems will install gem as:
|
|
369
369
|
File.dirname(loaded_from)
|
370
370
|
else
|
371
371
|
target_specs_dir = File.join(default_dir, "specifications", "default")
|
372
|
-
mkdir_p target_specs_dir, :
|
372
|
+
mkdir_p target_specs_dir, mode: 0o755
|
373
373
|
target_specs_dir
|
374
374
|
end
|
375
375
|
|
376
|
-
|
377
|
-
|
378
|
-
|
376
|
+
new_bundler_spec = Dir.chdir("bundler") { Gem::Specification.load("bundler.gemspec") }
|
377
|
+
full_name = new_bundler_spec.full_name
|
378
|
+
gemspec_path = "#{full_name}.gemspec"
|
379
|
+
|
380
|
+
default_spec_path = File.join(specs_dir, gemspec_path)
|
381
|
+
Gem.write_binary(default_spec_path, new_bundler_spec.to_ruby)
|
379
382
|
|
380
383
|
bundler_spec = Gem::Specification.load(default_spec_path)
|
381
384
|
|
382
385
|
# Remove gemspec that was same version of vendored bundler.
|
383
|
-
normal_gemspec = File.join(default_dir, "specifications",
|
386
|
+
normal_gemspec = File.join(default_dir, "specifications", gemspec_path)
|
384
387
|
if File.file? normal_gemspec
|
385
388
|
File.delete normal_gemspec
|
386
389
|
end
|
@@ -388,20 +391,14 @@ By default, this RubyGems will install gem as:
|
|
388
391
|
# Remove gem files that were same version of vendored bundler.
|
389
392
|
if File.directory? bundler_spec.gems_dir
|
390
393
|
Dir.entries(bundler_spec.gems_dir).
|
391
|
-
select {|default_gem| File.basename(default_gem) ==
|
394
|
+
select {|default_gem| File.basename(default_gem) == full_name }.
|
392
395
|
each {|default_gem| rm_r File.join(bundler_spec.gems_dir, default_gem) }
|
393
396
|
end
|
394
397
|
|
395
|
-
bundler_bin_dir = bundler_spec.bin_dir
|
396
|
-
mkdir_p bundler_bin_dir, :mode => 0o755
|
397
|
-
bundler_spec.executables.each do |e|
|
398
|
-
cp File.join("bundler", bundler_spec.bindir, e), File.join(bundler_bin_dir, e)
|
399
|
-
end
|
400
|
-
|
401
398
|
require_relative "../installer"
|
402
399
|
|
403
400
|
Dir.chdir("bundler") do
|
404
|
-
built_gem = Gem::Package.build(
|
401
|
+
built_gem = Gem::Package.build(new_bundler_spec)
|
405
402
|
begin
|
406
403
|
Gem::Installer.at(
|
407
404
|
built_gem,
|
@@ -418,9 +415,9 @@ By default, this RubyGems will install gem as:
|
|
418
415
|
end
|
419
416
|
end
|
420
417
|
|
421
|
-
|
418
|
+
new_bundler_spec.executables.each {|executable| bin_file_names << target_bin_path(bin_dir, executable) }
|
422
419
|
|
423
|
-
say "Bundler #{
|
420
|
+
say "Bundler #{new_bundler_spec.version} installed"
|
424
421
|
end
|
425
422
|
|
426
423
|
def make_destination_dirs
|
@@ -430,8 +427,8 @@ By default, this RubyGems will install gem as:
|
|
430
427
|
lib_dir, bin_dir = generate_default_dirs
|
431
428
|
end
|
432
429
|
|
433
|
-
mkdir_p lib_dir, :
|
434
|
-
mkdir_p bin_dir, :
|
430
|
+
mkdir_p lib_dir, mode: 0o755
|
431
|
+
mkdir_p bin_dir, mode: 0o755
|
435
432
|
|
436
433
|
[lib_dir, bin_dir]
|
437
434
|
end
|
@@ -576,8 +573,8 @@ abort "#{deprecation_message}"
|
|
576
573
|
def uninstall_old_gemcutter
|
577
574
|
require_relative "../uninstaller"
|
578
575
|
|
579
|
-
ui = Gem::Uninstaller.new("gemcutter", :
|
580
|
-
:
|
576
|
+
ui = Gem::Uninstaller.new("gemcutter", all: true, ignore: true,
|
577
|
+
version: "< 0.4")
|
581
578
|
ui.uninstall
|
582
579
|
rescue Gem::InstallError
|
583
580
|
end
|
@@ -639,10 +636,10 @@ abort "#{deprecation_message}"
|
|
639
636
|
dest_file = File.join dest_dir, file
|
640
637
|
dest_dir = File.dirname dest_file
|
641
638
|
unless File.directory? dest_dir
|
642
|
-
mkdir_p dest_dir, :
|
639
|
+
mkdir_p dest_dir, mode: 0o755
|
643
640
|
end
|
644
641
|
|
645
|
-
install file, dest_file, :
|
642
|
+
install file, dest_file, mode: options[:data_mode] || 0o644
|
646
643
|
end
|
647
644
|
|
648
645
|
def remove_file_list(files, dir)
|
@@ -71,7 +71,7 @@ class Gem::Commands::SourcesCommand < Gem::Command
|
|
71
71
|
def check_typo_squatting(source)
|
72
72
|
if source.typo_squatting?("rubygems.org")
|
73
73
|
question = <<-QUESTION.chomp
|
74
|
-
#{source.uri
|
74
|
+
#{source.uri} is too similar to https://rubygems.org
|
75
75
|
|
76
76
|
Do you want to add this source?
|
77
77
|
QUESTION
|
@@ -83,8 +83,8 @@ Do you want to add this source?
|
|
83
83
|
def check_rubygems_https(source_uri) # :nodoc:
|
84
84
|
uri = URI source_uri
|
85
85
|
|
86
|
-
if uri.scheme && uri.scheme.
|
87
|
-
uri.host.
|
86
|
+
if uri.scheme && uri.scheme.casecmp("http").zero? &&
|
87
|
+
uri.host.casecmp("rubygems.org").zero?
|
88
88
|
question = <<-QUESTION.chomp
|
89
89
|
https://rubygems.org is recommended for security over #{uri}
|
90
90
|
|
@@ -99,16 +99,16 @@ Do you want to add this insecure source?
|
|
99
99
|
path = Gem.spec_cache_dir
|
100
100
|
FileUtils.rm_rf path
|
101
101
|
|
102
|
-
|
103
|
-
|
104
|
-
else
|
105
|
-
unless File.writable? path
|
106
|
-
say "*** Unable to remove source cache (write protected) ***"
|
107
|
-
else
|
102
|
+
if File.exist? path
|
103
|
+
if File.writable? path
|
108
104
|
say "*** Unable to remove source cache ***"
|
105
|
+
else
|
106
|
+
say "*** Unable to remove source cache (write protected) ***"
|
109
107
|
end
|
110
108
|
|
111
109
|
terminate_interaction 1
|
110
|
+
else
|
111
|
+
say "*** Removed specs cache ***"
|
112
112
|
end
|
113
113
|
end
|
114
114
|
|
@@ -194,13 +194,13 @@ To remove a source use the --remove argument:
|
|
194
194
|
end
|
195
195
|
|
196
196
|
def remove_source(source_uri) # :nodoc:
|
197
|
-
|
198
|
-
say "source #{source_uri} not present in cache"
|
199
|
-
else
|
197
|
+
if Gem.sources.include? source_uri
|
200
198
|
Gem.sources.delete source_uri
|
201
199
|
Gem.configuration.write
|
202
200
|
|
203
201
|
say "#{source_uri} removed from sources"
|
202
|
+
else
|
203
|
+
say "source #{source_uri} not present in cache"
|
204
204
|
end
|
205
205
|
end
|
206
206
|
|
@@ -13,27 +13,27 @@ class Gem::Commands::SpecificationCommand < Gem::Command
|
|
13
13
|
Gem.load_yaml
|
14
14
|
|
15
15
|
super "specification", "Display gem specification (in yaml)",
|
16
|
-
:
|
17
|
-
:
|
16
|
+
domain: :local, version: Gem::Requirement.default,
|
17
|
+
format: :yaml
|
18
18
|
|
19
19
|
add_version_option("examine")
|
20
20
|
add_platform_option
|
21
21
|
add_prerelease_option
|
22
22
|
|
23
23
|
add_option("--all", "Output specifications for all versions of",
|
24
|
-
"the gem") do |
|
24
|
+
"the gem") do |_value, options|
|
25
25
|
options[:all] = true
|
26
26
|
end
|
27
27
|
|
28
|
-
add_option("--ruby", "Output ruby format") do |
|
28
|
+
add_option("--ruby", "Output ruby format") do |_value, options|
|
29
29
|
options[:format] = :ruby
|
30
30
|
end
|
31
31
|
|
32
|
-
add_option("--yaml", "Output YAML format") do |
|
32
|
+
add_option("--yaml", "Output YAML format") do |_value, options|
|
33
33
|
options[:format] = :yaml
|
34
34
|
end
|
35
35
|
|
36
|
-
add_option("--marshal", "Output Marshal format") do |
|
36
|
+
add_option("--marshal", "Output Marshal format") do |_value, options|
|
37
37
|
options[:format] = :marshal
|
38
38
|
end
|
39
39
|
|
@@ -138,16 +138,16 @@ Specific fields in the specification can be extracted in YAML format:
|
|
138
138
|
end
|
139
139
|
|
140
140
|
unless options[:all]
|
141
|
-
specs = [specs.max_by
|
141
|
+
specs = [specs.max_by(&:version)]
|
142
142
|
end
|
143
143
|
|
144
144
|
specs.each do |s|
|
145
145
|
s = s.send field if field
|
146
146
|
|
147
147
|
say case options[:format]
|
148
|
-
|
149
|
-
|
150
|
-
|
148
|
+
when :ruby then s.to_ruby
|
149
|
+
when :marshal then Marshal.dump s
|
150
|
+
else s.to_yaml
|
151
151
|
end
|
152
152
|
|
153
153
|
say "\n"
|
@@ -15,12 +15,11 @@ class Gem::Commands::UninstallCommand < Gem::Command
|
|
15
15
|
|
16
16
|
def initialize
|
17
17
|
super "uninstall", "Uninstall gems from the local repository",
|
18
|
-
:
|
19
|
-
:
|
18
|
+
version: Gem::Requirement.default, user_install: true,
|
19
|
+
check_dev: false, vendor: false
|
20
20
|
|
21
21
|
add_option("-a", "--[no-]all",
|
22
|
-
"Uninstall all matching versions"
|
23
|
-
) do |value, options|
|
22
|
+
"Uninstall all matching versions") do |value, options|
|
24
23
|
options[:all] = value
|
25
24
|
end
|
26
25
|
|
@@ -80,7 +79,7 @@ class Gem::Commands::UninstallCommand < Gem::Command
|
|
80
79
|
|
81
80
|
add_option("--vendor",
|
82
81
|
"Uninstall gem from the vendor directory.",
|
83
|
-
"Only for use by gem repackagers.") do |
|
82
|
+
"Only for use by gem repackagers.") do |_value, options|
|
84
83
|
unless Gem.vendor_dir
|
85
84
|
raise Gem::OptionParser::InvalidOption.new "your platform is not supported"
|
86
85
|
end
|
@@ -96,7 +95,7 @@ class Gem::Commands::UninstallCommand < Gem::Command
|
|
96
95
|
end
|
97
96
|
|
98
97
|
def defaults_str # :nodoc:
|
99
|
-
"--version '#{Gem::Requirement.default}' --no-force "
|
98
|
+
"--version '#{Gem::Requirement.default}' --no-force " \
|
100
99
|
"--user-install"
|
101
100
|
end
|
102
101
|
|
@@ -139,7 +138,7 @@ that is a dependency of an existing gem. You can use the
|
|
139
138
|
end
|
140
139
|
|
141
140
|
def uninstall_all
|
142
|
-
specs = Gem::Specification.reject
|
141
|
+
specs = Gem::Specification.reject(&:default_gem?)
|
143
142
|
|
144
143
|
specs.each do |spec|
|
145
144
|
options[:version] = spec.version
|
@@ -184,12 +183,12 @@ that is a dependency of an existing gem. You can use the
|
|
184
183
|
uninstall(gem_name)
|
185
184
|
rescue Gem::GemNotInHomeException => e
|
186
185
|
spec = e.spec
|
187
|
-
alert("In order to remove #{spec.name}, please execute:\n"
|
186
|
+
alert("In order to remove #{spec.name}, please execute:\n" \
|
188
187
|
"\tgem uninstall #{spec.name} --install-dir=#{spec.installation_path}")
|
189
188
|
rescue Gem::UninstallError => e
|
190
189
|
spec = e.spec
|
191
|
-
alert_error("Error: unable to successfully uninstall '#{spec.name}' which is "
|
192
|
-
"located at '#{spec.full_gem_path}'. This is most likely because"
|
190
|
+
alert_error("Error: unable to successfully uninstall '#{spec.name}' which is " \
|
191
|
+
"located at '#{spec.full_gem_path}'. This is most likely because" \
|
193
192
|
"the current user does not have the appropriate permissions")
|
194
193
|
terminate_interaction 1
|
195
194
|
end
|
@@ -21,15 +21,15 @@ class Gem::Commands::UnpackCommand < Gem::Command
|
|
21
21
|
require "fileutils"
|
22
22
|
|
23
23
|
super "unpack", "Unpack an installed gem to the current directory",
|
24
|
-
:
|
25
|
-
:
|
24
|
+
version: Gem::Requirement.default,
|
25
|
+
target: Dir.pwd
|
26
26
|
|
27
27
|
add_option("--target=DIR",
|
28
28
|
"target directory for unpacking") do |value, options|
|
29
29
|
options[:target] = value
|
30
30
|
end
|
31
31
|
|
32
|
-
add_option("--spec", "unpack the gem specification") do |
|
32
|
+
add_option("--spec", "unpack the gem specification") do |_value, options|
|
33
33
|
options[:spec] = true
|
34
34
|
end
|
35
35
|
|
@@ -155,7 +155,7 @@ command help for an example.
|
|
155
155
|
|
156
156
|
specs = dependency.matching_specs
|
157
157
|
|
158
|
-
selected = specs.max_by
|
158
|
+
selected = specs.max_by(&:version)
|
159
159
|
|
160
160
|
return Gem::RemoteFetcher.fetcher.download_to_cache(dependency) unless
|
161
161
|
selected
|
@@ -21,7 +21,7 @@ class Gem::Commands::UpdateCommand < Gem::Command
|
|
21
21
|
|
22
22
|
def initialize
|
23
23
|
options = {
|
24
|
-
:
|
24
|
+
force: false,
|
25
25
|
}
|
26
26
|
|
27
27
|
options.merge!(install_update_options)
|
@@ -37,10 +37,10 @@ class Gem::Commands::UpdateCommand < Gem::Command
|
|
37
37
|
end
|
38
38
|
|
39
39
|
add_option("--system [VERSION]", Gem::Version,
|
40
|
-
"Update the RubyGems system software") do |value,
|
41
|
-
value
|
40
|
+
"Update the RubyGems system software") do |value, opts|
|
41
|
+
value ||= true
|
42
42
|
|
43
|
-
|
43
|
+
opts[:system] = value
|
44
44
|
end
|
45
45
|
|
46
46
|
add_local_remote_options
|
@@ -120,7 +120,7 @@ command to remove old versions.
|
|
120
120
|
updated = update_gems gems_to_update
|
121
121
|
|
122
122
|
installed_names = highest_installed_gems.keys
|
123
|
-
updated_names = updated.map
|
123
|
+
updated_names = updated.map(&:name)
|
124
124
|
not_updated_names = options[:args].uniq - updated_names
|
125
125
|
not_installed_names = not_updated_names - installed_names
|
126
126
|
up_to_date_names = not_updated_names - not_installed_names
|
@@ -186,7 +186,9 @@ command to remove old versions.
|
|
186
186
|
system Gem.ruby, "--disable-gems", "setup.rb", *args
|
187
187
|
end
|
188
188
|
|
189
|
-
|
189
|
+
unless options[:silent]
|
190
|
+
say "RubyGems system software updated" if installed
|
191
|
+
end
|
190
192
|
end
|
191
193
|
end
|
192
194
|
|
@@ -301,7 +303,7 @@ command to remove old versions.
|
|
301
303
|
def which_to_update(highest_installed_gems, gem_names)
|
302
304
|
result = []
|
303
305
|
|
304
|
-
highest_installed_gems.each do |
|
306
|
+
highest_installed_gems.each do |_l_name, l_spec|
|
305
307
|
next if !gem_names.empty? &&
|
306
308
|
gem_names.none? {|name| name == l_spec.name }
|
307
309
|
|
@@ -326,12 +328,8 @@ command to remove old versions.
|
|
326
328
|
@oldest_supported_version ||=
|
327
329
|
if Gem.ruby_version > Gem::Version.new("3.1.a")
|
328
330
|
Gem::Version.new("3.3.3")
|
329
|
-
elsif Gem.ruby_version > Gem::Version.new("3.0.a")
|
330
|
-
Gem::Version.new("3.2.3")
|
331
|
-
elsif Gem.ruby_version > Gem::Version.new("2.7.a")
|
332
|
-
Gem::Version.new("3.1.2")
|
333
331
|
else
|
334
|
-
Gem::Version.new("3.
|
332
|
+
Gem::Version.new("3.2.3")
|
335
333
|
end
|
336
334
|
end
|
337
335
|
end
|
@@ -5,7 +5,7 @@ require_relative "../command"
|
|
5
5
|
class Gem::Commands::WhichCommand < Gem::Command
|
6
6
|
def initialize
|
7
7
|
super "which", "Find the location of a library file you can require",
|
8
|
-
:
|
8
|
+
search_gems_first: false, show_all: false
|
9
9
|
|
10
10
|
add_option "-a", "--[no-]all", "show all matching files" do |show_all, options|
|
11
11
|
options[:show_all] = show_all
|
@@ -62,7 +62,7 @@ data you will need to change them immediately and yank your gem.
|
|
62
62
|
end
|
63
63
|
|
64
64
|
def yank_gem(version, platform)
|
65
|
-
say "Yanking gem from #{
|
65
|
+
say "Yanking gem from #{host}..."
|
66
66
|
args = [:delete, version, platform, "api/v1/gems/yank"]
|
67
67
|
response = yank_api_request(*args)
|
68
68
|
|
@@ -26,17 +26,16 @@ module Gem
|
|
26
26
|
rubylibdir
|
27
27
|
].freeze
|
28
28
|
|
29
|
-
|
29
|
+
if defined?(ConfigMap)
|
30
|
+
RbConfigPriorities.each do |key|
|
31
|
+
ConfigMap[key.to_sym] = RbConfig::CONFIG[key]
|
32
|
+
end
|
33
|
+
else
|
30
34
|
##
|
31
35
|
# Configuration settings from ::RbConfig
|
32
36
|
ConfigMap = Hash.new do |cm, key|
|
33
37
|
cm[key] = RbConfig::CONFIG[key.to_s]
|
34
38
|
end
|
35
39
|
deprecate_constant(:ConfigMap)
|
36
|
-
else
|
37
|
-
RbConfigPriorities.each do |key|
|
38
|
-
ConfigMap[key.to_sym] = RbConfig::CONFIG[key]
|
39
|
-
end
|
40
40
|
end
|
41
|
-
|
42
41
|
end
|
data/lib/rubygems/config_file.rb
CHANGED
@@ -188,10 +188,10 @@ class Gem::ConfigFile
|
|
188
188
|
operating_system_config = Marshal.load Marshal.dump(OPERATING_SYSTEM_DEFAULTS)
|
189
189
|
platform_config = Marshal.load Marshal.dump(PLATFORM_DEFAULTS)
|
190
190
|
system_config = load_file SYSTEM_WIDE_CONFIG_FILE
|
191
|
-
user_config = load_file config_file_name
|
191
|
+
user_config = load_file config_file_name
|
192
192
|
|
193
|
-
environment_config = (ENV["GEMRC"] || "")
|
194
|
-
|
193
|
+
environment_config = (ENV["GEMRC"] || "").
|
194
|
+
split(File::PATH_SEPARATOR).inject({}) do |result, file|
|
195
195
|
result.merge load_file file
|
196
196
|
end
|
197
197
|
|
@@ -473,7 +473,7 @@ if you believe they were disclosed to a third party.
|
|
473
473
|
yaml_hash[:ssl_client_cert] =
|
474
474
|
@hash[:ssl_client_cert] if @hash.key? :ssl_client_cert
|
475
475
|
|
476
|
-
keys = yaml_hash.keys.map
|
476
|
+
keys = yaml_hash.keys.map(&:to_s)
|
477
477
|
keys << "debug"
|
478
478
|
re = Regexp.union(*keys)
|
479
479
|
|