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
data/lib/rubygems/query_utils.rb
CHANGED
@@ -6,7 +6,6 @@ require_relative "version_option"
|
|
6
6
|
require_relative "text"
|
7
7
|
|
8
8
|
module Gem::QueryUtils
|
9
|
-
|
10
9
|
include Gem::Text
|
11
10
|
include Gem::LocalRemoteOptions
|
12
11
|
include Gem::VersionOption
|
@@ -17,7 +16,7 @@ module Gem::QueryUtils
|
|
17
16
|
options[:installed] = value
|
18
17
|
end
|
19
18
|
|
20
|
-
add_option("-I", "Equivalent to --no-installed") do |
|
19
|
+
add_option("-I", "Equivalent to --no-installed") do |_value, options|
|
21
20
|
options[:installed] = false
|
22
21
|
end
|
23
22
|
|
@@ -119,7 +118,7 @@ module Gem::QueryUtils
|
|
119
118
|
end
|
120
119
|
end
|
121
120
|
|
122
|
-
#Guts of original execute
|
121
|
+
# Guts of original execute
|
123
122
|
def show_gems(name)
|
124
123
|
show_local_gems(name) if local?
|
125
124
|
show_remote_gems(name) if remote?
|
@@ -197,7 +196,7 @@ module Gem::QueryUtils
|
|
197
196
|
end
|
198
197
|
|
199
198
|
def output_versions(output, versions)
|
200
|
-
versions.each do |
|
199
|
+
versions.each do |_gem_name, matching_tuples|
|
201
200
|
matching_tuples = matching_tuples.sort_by {|n,_| n.version }.reverse
|
202
201
|
|
203
202
|
platforms = Hash.new {|h,version| h[version] = [] }
|
@@ -243,7 +242,7 @@ module Gem::QueryUtils
|
|
243
242
|
|
244
243
|
list =
|
245
244
|
if platforms.empty? || options[:details]
|
246
|
-
name_tuples.map
|
245
|
+
name_tuples.map(&:version).uniq
|
247
246
|
else
|
248
247
|
platforms.sort.reverse.map do |version, pls|
|
249
248
|
out = version.to_s
|
@@ -312,8 +311,8 @@ module Gem::QueryUtils
|
|
312
311
|
label = "Installed at"
|
313
312
|
specs.each do |s|
|
314
313
|
version = s.version.to_s
|
315
|
-
|
316
|
-
entry << "\n" << " #{label} (#{version}): #{s.base_dir}"
|
314
|
+
default = ", default" if s.default_gem?
|
315
|
+
entry << "\n" << " #{label} (#{version}#{default}): #{s.base_dir}"
|
317
316
|
label = " " * label.length
|
318
317
|
end
|
319
318
|
end
|
@@ -332,7 +331,7 @@ module Gem::QueryUtils
|
|
332
331
|
else
|
333
332
|
entry << " Platforms:\n"
|
334
333
|
|
335
|
-
sorted_platforms = platforms.
|
334
|
+
sorted_platforms = platforms.sort
|
336
335
|
|
337
336
|
sorted_platforms.each do |version, pls|
|
338
337
|
label = " #{version}: "
|
@@ -347,5 +346,4 @@ module Gem::QueryUtils
|
|
347
346
|
summary = truncate_text(spec.summary, "the summary for #{spec.full_name}")
|
348
347
|
entry << "\n\n" << format_text(summary, 68, 4)
|
349
348
|
end
|
350
|
-
|
351
349
|
end
|
@@ -53,7 +53,7 @@ class Gem::RemoteFetcher
|
|
53
53
|
# Cached RemoteFetcher instance.
|
54
54
|
|
55
55
|
def self.fetcher
|
56
|
-
@fetcher ||=
|
56
|
+
@fetcher ||= new Gem.configuration[:http_proxy]
|
57
57
|
end
|
58
58
|
|
59
59
|
attr_accessor :headers
|
@@ -74,7 +74,7 @@ class Gem::RemoteFetcher
|
|
74
74
|
|
75
75
|
def initialize(proxy=nil, dns=nil, headers={})
|
76
76
|
require_relative "core_ext/tcpsocket_init" if Gem.configuration.ipv4_fallback_enabled
|
77
|
-
|
77
|
+
require_relative "net/http"
|
78
78
|
require "stringio"
|
79
79
|
require "uri"
|
80
80
|
|
@@ -115,7 +115,7 @@ class Gem::RemoteFetcher
|
|
115
115
|
cache_dir =
|
116
116
|
if Dir.pwd == install_dir # see fetch_command
|
117
117
|
install_dir
|
118
|
-
elsif File.writable?(install_cache_dir) || (File.writable?(install_dir) &&
|
118
|
+
elsif File.writable?(install_cache_dir) || (File.writable?(install_dir) && !File.exist?(install_cache_dir))
|
119
119
|
install_cache_dir
|
120
120
|
else
|
121
121
|
File.join Gem.user_dir, "cache"
|
@@ -148,7 +148,7 @@ class Gem::RemoteFetcher
|
|
148
148
|
|
149
149
|
remote_gem_path = source_uri + "gems/#{gem_file_name}"
|
150
150
|
|
151
|
-
|
151
|
+
cache_update_path remote_gem_path, local_gem_path
|
152
152
|
rescue FetchError
|
153
153
|
raise if spec.original_platform == spec.platform
|
154
154
|
|
@@ -158,7 +158,7 @@ class Gem::RemoteFetcher
|
|
158
158
|
|
159
159
|
remote_gem_path = source_uri + "gems/#{alternate_name}"
|
160
160
|
|
161
|
-
|
161
|
+
cache_update_path remote_gem_path, local_gem_path
|
162
162
|
end
|
163
163
|
end
|
164
164
|
when "file" then
|
@@ -210,17 +210,17 @@ class Gem::RemoteFetcher
|
|
210
210
|
# HTTP Fetcher. Dispatched by +fetch_path+. Use it instead.
|
211
211
|
|
212
212
|
def fetch_http(uri, last_modified = nil, head = false, depth = 0)
|
213
|
-
fetch_type = head ? Net::HTTP::Head : Net::HTTP::Get
|
213
|
+
fetch_type = head ? Gem::Net::HTTP::Head : Gem::Net::HTTP::Get
|
214
214
|
response = request uri, fetch_type, last_modified do |req|
|
215
215
|
headers.each {|k,v| req.add_field(k,v) }
|
216
216
|
end
|
217
217
|
|
218
218
|
case response
|
219
|
-
when Net::HTTPOK, Net::HTTPNotModified then
|
219
|
+
when Gem::Net::HTTPOK, Gem::Net::HTTPNotModified then
|
220
220
|
response.uri = uri
|
221
221
|
head ? response : response.body
|
222
|
-
when Net::HTTPMovedPermanently, Net::HTTPFound, Net::HTTPSeeOther,
|
223
|
-
Net::HTTPTemporaryRedirect then
|
222
|
+
when Gem::Net::HTTPMovedPermanently, Gem::Net::HTTPFound, Gem::Net::HTTPSeeOther,
|
223
|
+
Gem::Net::HTTPTemporaryRedirect then
|
224
224
|
raise FetchError.new("too many redirects", uri) if depth > 10
|
225
225
|
|
226
226
|
unless location = response["Location"]
|
@@ -238,7 +238,7 @@ class Gem::RemoteFetcher
|
|
238
238
|
end
|
239
239
|
end
|
240
240
|
|
241
|
-
|
241
|
+
alias_method :fetch_https, :fetch_http
|
242
242
|
|
243
243
|
##
|
244
244
|
# Downloads +uri+ and returns it as a String.
|
@@ -261,7 +261,7 @@ class Gem::RemoteFetcher
|
|
261
261
|
end
|
262
262
|
|
263
263
|
data
|
264
|
-
rescue Timeout::Error, IOError, SocketError, SystemCallError,
|
264
|
+
rescue Gem::Timeout::Error, IOError, SocketError, SystemCallError,
|
265
265
|
*(OpenSSL::SSL::SSLError if Gem::HAVE_OPENSSL) => e
|
266
266
|
raise FetchError.new("#{e.class}: #{e}", uri)
|
267
267
|
end
|
@@ -305,8 +305,8 @@ class Gem::RemoteFetcher
|
|
305
305
|
end
|
306
306
|
|
307
307
|
##
|
308
|
-
# Performs a Net::HTTP request of type +request_class+ on +uri+ returning
|
309
|
-
# a Net::HTTP response object. request maintains a table of persistent
|
308
|
+
# Performs a Gem::Net::HTTP request of type +request_class+ on +uri+ returning
|
309
|
+
# a Gem::Net::HTTP response object. request maintains a table of persistent
|
310
310
|
# connections to reduce connect overhead.
|
311
311
|
|
312
312
|
def request(uri, request_class, last_modified = nil)
|
@@ -321,11 +321,11 @@ class Gem::RemoteFetcher
|
|
321
321
|
end
|
322
322
|
|
323
323
|
def https?(uri)
|
324
|
-
uri.scheme.
|
324
|
+
uri.scheme.casecmp("https").zero?
|
325
325
|
end
|
326
326
|
|
327
327
|
def close_all
|
328
|
-
@pools.each_value
|
328
|
+
@pools.each_value(&:close_all)
|
329
329
|
end
|
330
330
|
|
331
331
|
private
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
class Gem::Request::ConnectionPools # :nodoc:
|
4
|
-
@client = Net::HTTP
|
4
|
+
@client = Gem::Net::HTTP
|
5
5
|
|
6
6
|
class << self
|
7
7
|
attr_accessor :client
|
@@ -28,7 +28,7 @@ class Gem::Request::ConnectionPools # :nodoc:
|
|
28
28
|
end
|
29
29
|
|
30
30
|
def close_all
|
31
|
-
@pools.each_value
|
31
|
+
@pools.each_value(&:close_all)
|
32
32
|
end
|
33
33
|
|
34
34
|
private
|
@@ -45,7 +45,7 @@ class Gem::Request::ConnectionPools # :nodoc:
|
|
45
45
|
end
|
46
46
|
|
47
47
|
def https?(uri)
|
48
|
-
uri.scheme.
|
48
|
+
uri.scheme.casecmp("https").zero?
|
49
49
|
end
|
50
50
|
|
51
51
|
def no_proxy?(host, env_no_proxy)
|
data/lib/rubygems/request.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
3
|
+
require_relative "net/http"
|
4
4
|
require_relative "user_interaction"
|
5
5
|
|
6
6
|
class Gem::Request
|
@@ -36,8 +36,13 @@ class Gem::Request
|
|
36
36
|
@connection_pool = pool
|
37
37
|
end
|
38
38
|
|
39
|
-
def proxy_uri
|
40
|
-
|
39
|
+
def proxy_uri
|
40
|
+
@connection_pool.proxy_uri
|
41
|
+
end
|
42
|
+
|
43
|
+
def cert_files
|
44
|
+
@connection_pool.cert_files
|
45
|
+
end
|
41
46
|
|
42
47
|
def self.get_cert_files
|
43
48
|
pattern = File.expand_path("./ssl_certs/*/*.pem", __dir__)
|
@@ -160,23 +165,22 @@ class Gem::Request
|
|
160
165
|
# environment variables.
|
161
166
|
|
162
167
|
def self.get_proxy_from_env(scheme = "http")
|
163
|
-
|
164
|
-
|
165
|
-
env_proxy = ENV["#{
|
168
|
+
downcase_scheme = scheme.downcase
|
169
|
+
upcase_scheme = scheme.upcase
|
170
|
+
env_proxy = ENV["#{downcase_scheme}_proxy"] || ENV["#{upcase_scheme}_PROXY"]
|
166
171
|
|
167
172
|
no_env_proxy = env_proxy.nil? || env_proxy.empty?
|
168
173
|
|
169
174
|
if no_env_proxy
|
170
|
-
return
|
171
|
-
:no_proxy : get_proxy_from_env("http")
|
175
|
+
return ["https", "http"].include?(downcase_scheme) ? :no_proxy : get_proxy_from_env("http")
|
172
176
|
end
|
173
177
|
|
174
178
|
require "uri"
|
175
179
|
uri = URI(Gem::UriFormatter.new(env_proxy).normalize)
|
176
180
|
|
177
181
|
if uri && uri.user.nil? && uri.password.nil?
|
178
|
-
user = ENV["#{
|
179
|
-
password = ENV["#{
|
182
|
+
user = ENV["#{downcase_scheme}_proxy_user"] || ENV["#{upcase_scheme}_PROXY_USER"]
|
183
|
+
password = ENV["#{downcase_scheme}_proxy_pass"] || ENV["#{upcase_scheme}_PROXY_PASS"]
|
180
184
|
|
181
185
|
uri.user = Gem::UriFormatter.new(user).escape
|
182
186
|
uri.password = Gem::UriFormatter.new(password).escape
|
@@ -201,7 +205,7 @@ class Gem::Request
|
|
201
205
|
if request.response_body_permitted? && file_name =~ /\.gem$/
|
202
206
|
reporter = ui.download_reporter
|
203
207
|
response = connection.request(request) do |incomplete_response|
|
204
|
-
if Net::HTTPOK === incomplete_response
|
208
|
+
if Gem::Net::HTTPOK === incomplete_response
|
205
209
|
reporter.fetch(file_name, incomplete_response.content_length)
|
206
210
|
downloaded = 0
|
207
211
|
data = String.new
|
@@ -224,8 +228,7 @@ class Gem::Request
|
|
224
228
|
end
|
225
229
|
|
226
230
|
verbose "#{response.code} #{response.message}"
|
227
|
-
|
228
|
-
rescue Net::HTTPBadResponse
|
231
|
+
rescue Gem::Net::HTTPBadResponse
|
229
232
|
verbose "bad response"
|
230
233
|
|
231
234
|
reset connection
|
@@ -234,14 +237,14 @@ class Gem::Request
|
|
234
237
|
|
235
238
|
bad_response = true
|
236
239
|
retry
|
237
|
-
rescue Net::HTTPFatalError
|
240
|
+
rescue Gem::Net::HTTPFatalError
|
238
241
|
verbose "fatal error"
|
239
242
|
|
240
243
|
raise Gem::RemoteFetcher::FetchError.new("fatal error", @uri)
|
241
|
-
# HACK: work around EOFError bug in Net::HTTP
|
244
|
+
# HACK: work around EOFError bug in Gem::Net::HTTP
|
242
245
|
# NOTE Errno::ECONNABORTED raised a lot on Windows, and make impossible
|
243
246
|
# to install gems.
|
244
|
-
rescue EOFError, Timeout::Error,
|
247
|
+
rescue EOFError, Gem::Timeout::Error,
|
245
248
|
Errno::ECONNABORTED, Errno::ECONNRESET, Errno::EPIPE
|
246
249
|
|
247
250
|
requests = @requests[connection.object_id]
|
@@ -279,7 +282,7 @@ class Gem::Request
|
|
279
282
|
ua << " Ruby/#{ruby_version} (#{RUBY_RELEASE_DATE}"
|
280
283
|
if RUBY_PATCHLEVEL >= 0
|
281
284
|
ua << " patchlevel #{RUBY_PATCHLEVEL}"
|
282
|
-
|
285
|
+
else
|
283
286
|
ua << " revision #{RUBY_REVISION}"
|
284
287
|
end
|
285
288
|
ua << ")"
|
@@ -33,22 +33,22 @@
|
|
33
33
|
|
34
34
|
class Gem::RequestSet::GemDependencyAPI
|
35
35
|
ENGINE_MAP = { # :nodoc:
|
36
|
-
:
|
37
|
-
:
|
38
|
-
:
|
39
|
-
:
|
40
|
-
:
|
41
|
-
:
|
42
|
-
:
|
43
|
-
:
|
44
|
-
:
|
45
|
-
:
|
46
|
-
:
|
47
|
-
:
|
48
|
-
:
|
49
|
-
:
|
50
|
-
:
|
51
|
-
:
|
36
|
+
jruby: %w[jruby],
|
37
|
+
jruby_18: %w[jruby],
|
38
|
+
jruby_19: %w[jruby],
|
39
|
+
maglev: %w[maglev],
|
40
|
+
mri: %w[ruby],
|
41
|
+
mri_18: %w[ruby],
|
42
|
+
mri_19: %w[ruby],
|
43
|
+
mri_20: %w[ruby],
|
44
|
+
mri_21: %w[ruby],
|
45
|
+
rbx: %w[rbx],
|
46
|
+
truffleruby: %w[truffleruby],
|
47
|
+
ruby: %w[ruby rbx maglev truffleruby],
|
48
|
+
ruby_18: %w[ruby rbx maglev truffleruby],
|
49
|
+
ruby_19: %w[ruby rbx maglev truffleruby],
|
50
|
+
ruby_20: %w[ruby rbx maglev truffleruby],
|
51
|
+
ruby_21: %w[ruby rbx maglev truffleruby],
|
52
52
|
}.freeze
|
53
53
|
|
54
54
|
mswin = Gem::Platform.new "x86-mswin32"
|
@@ -57,39 +57,39 @@ class Gem::RequestSet::GemDependencyAPI
|
|
57
57
|
x64_mingw = Gem::Platform.new "x64-mingw32"
|
58
58
|
|
59
59
|
PLATFORM_MAP = { # :nodoc:
|
60
|
-
:
|
61
|
-
:
|
62
|
-
:
|
63
|
-
:
|
64
|
-
:
|
65
|
-
:
|
66
|
-
:
|
67
|
-
:
|
68
|
-
:
|
69
|
-
:
|
70
|
-
:
|
71
|
-
:
|
72
|
-
:
|
73
|
-
:
|
74
|
-
:
|
75
|
-
:
|
76
|
-
:
|
77
|
-
:
|
78
|
-
:
|
79
|
-
:
|
80
|
-
:
|
81
|
-
:
|
82
|
-
:
|
83
|
-
:
|
84
|
-
:
|
85
|
-
:
|
86
|
-
:
|
87
|
-
:
|
88
|
-
:
|
89
|
-
:
|
90
|
-
:
|
91
|
-
:
|
92
|
-
:
|
60
|
+
jruby: Gem::Platform::RUBY,
|
61
|
+
jruby_18: Gem::Platform::RUBY,
|
62
|
+
jruby_19: Gem::Platform::RUBY,
|
63
|
+
maglev: Gem::Platform::RUBY,
|
64
|
+
mingw: x86_mingw,
|
65
|
+
mingw_18: x86_mingw,
|
66
|
+
mingw_19: x86_mingw,
|
67
|
+
mingw_20: x86_mingw,
|
68
|
+
mingw_21: x86_mingw,
|
69
|
+
mri: Gem::Platform::RUBY,
|
70
|
+
mri_18: Gem::Platform::RUBY,
|
71
|
+
mri_19: Gem::Platform::RUBY,
|
72
|
+
mri_20: Gem::Platform::RUBY,
|
73
|
+
mri_21: Gem::Platform::RUBY,
|
74
|
+
mswin: mswin,
|
75
|
+
mswin_18: mswin,
|
76
|
+
mswin_19: mswin,
|
77
|
+
mswin_20: mswin,
|
78
|
+
mswin_21: mswin,
|
79
|
+
mswin64: mswin64,
|
80
|
+
mswin64_19: mswin64,
|
81
|
+
mswin64_20: mswin64,
|
82
|
+
mswin64_21: mswin64,
|
83
|
+
rbx: Gem::Platform::RUBY,
|
84
|
+
ruby: Gem::Platform::RUBY,
|
85
|
+
ruby_18: Gem::Platform::RUBY,
|
86
|
+
ruby_19: Gem::Platform::RUBY,
|
87
|
+
ruby_20: Gem::Platform::RUBY,
|
88
|
+
ruby_21: Gem::Platform::RUBY,
|
89
|
+
truffleruby: Gem::Platform::RUBY,
|
90
|
+
x64_mingw: x64_mingw,
|
91
|
+
x64_mingw_20: x64_mingw,
|
92
|
+
x64_mingw_21: x64_mingw,
|
93
93
|
}.freeze
|
94
94
|
|
95
95
|
gt_eq_0 = Gem::Requirement.new ">= 0"
|
@@ -99,70 +99,70 @@ class Gem::RequestSet::GemDependencyAPI
|
|
99
99
|
tilde_gt_2_1_0 = Gem::Requirement.new "~> 2.1.0"
|
100
100
|
|
101
101
|
VERSION_MAP = { # :nodoc:
|
102
|
-
:
|
103
|
-
:
|
104
|
-
:
|
105
|
-
:
|
106
|
-
:
|
107
|
-
:
|
108
|
-
:
|
109
|
-
:
|
110
|
-
:
|
111
|
-
:
|
112
|
-
:
|
113
|
-
:
|
114
|
-
:
|
115
|
-
:
|
116
|
-
:
|
117
|
-
:
|
118
|
-
:
|
119
|
-
:
|
120
|
-
:
|
121
|
-
:
|
122
|
-
:
|
123
|
-
:
|
124
|
-
:
|
125
|
-
:
|
126
|
-
:
|
127
|
-
:
|
128
|
-
:
|
129
|
-
:
|
130
|
-
:
|
131
|
-
:
|
132
|
-
:
|
133
|
-
:
|
134
|
-
:
|
102
|
+
jruby: gt_eq_0,
|
103
|
+
jruby_18: tilde_gt_1_8_0,
|
104
|
+
jruby_19: tilde_gt_1_9_0,
|
105
|
+
maglev: gt_eq_0,
|
106
|
+
mingw: gt_eq_0,
|
107
|
+
mingw_18: tilde_gt_1_8_0,
|
108
|
+
mingw_19: tilde_gt_1_9_0,
|
109
|
+
mingw_20: tilde_gt_2_0_0,
|
110
|
+
mingw_21: tilde_gt_2_1_0,
|
111
|
+
mri: gt_eq_0,
|
112
|
+
mri_18: tilde_gt_1_8_0,
|
113
|
+
mri_19: tilde_gt_1_9_0,
|
114
|
+
mri_20: tilde_gt_2_0_0,
|
115
|
+
mri_21: tilde_gt_2_1_0,
|
116
|
+
mswin: gt_eq_0,
|
117
|
+
mswin_18: tilde_gt_1_8_0,
|
118
|
+
mswin_19: tilde_gt_1_9_0,
|
119
|
+
mswin_20: tilde_gt_2_0_0,
|
120
|
+
mswin_21: tilde_gt_2_1_0,
|
121
|
+
mswin64: gt_eq_0,
|
122
|
+
mswin64_19: tilde_gt_1_9_0,
|
123
|
+
mswin64_20: tilde_gt_2_0_0,
|
124
|
+
mswin64_21: tilde_gt_2_1_0,
|
125
|
+
rbx: gt_eq_0,
|
126
|
+
ruby: gt_eq_0,
|
127
|
+
ruby_18: tilde_gt_1_8_0,
|
128
|
+
ruby_19: tilde_gt_1_9_0,
|
129
|
+
ruby_20: tilde_gt_2_0_0,
|
130
|
+
ruby_21: tilde_gt_2_1_0,
|
131
|
+
truffleruby: gt_eq_0,
|
132
|
+
x64_mingw: gt_eq_0,
|
133
|
+
x64_mingw_20: tilde_gt_2_0_0,
|
134
|
+
x64_mingw_21: tilde_gt_2_1_0,
|
135
135
|
}.freeze
|
136
136
|
|
137
137
|
WINDOWS = { # :nodoc:
|
138
|
-
:
|
139
|
-
:
|
140
|
-
:
|
141
|
-
:
|
142
|
-
:
|
143
|
-
:
|
144
|
-
:
|
145
|
-
:
|
146
|
-
:
|
147
|
-
:
|
148
|
-
:
|
149
|
-
:
|
150
|
-
:
|
151
|
-
:
|
152
|
-
:
|
153
|
-
:
|
154
|
-
:
|
155
|
-
:
|
156
|
-
:
|
157
|
-
:
|
158
|
-
:
|
159
|
-
:
|
160
|
-
:
|
161
|
-
:
|
162
|
-
:
|
163
|
-
:
|
164
|
-
:
|
165
|
-
:
|
138
|
+
mingw: :only,
|
139
|
+
mingw_18: :only,
|
140
|
+
mingw_19: :only,
|
141
|
+
mingw_20: :only,
|
142
|
+
mingw_21: :only,
|
143
|
+
mri: :never,
|
144
|
+
mri_18: :never,
|
145
|
+
mri_19: :never,
|
146
|
+
mri_20: :never,
|
147
|
+
mri_21: :never,
|
148
|
+
mswin: :only,
|
149
|
+
mswin_18: :only,
|
150
|
+
mswin_19: :only,
|
151
|
+
mswin_20: :only,
|
152
|
+
mswin_21: :only,
|
153
|
+
mswin64: :only,
|
154
|
+
mswin64_19: :only,
|
155
|
+
mswin64_20: :only,
|
156
|
+
mswin64_21: :only,
|
157
|
+
rbx: :never,
|
158
|
+
ruby: :never,
|
159
|
+
ruby_18: :never,
|
160
|
+
ruby_19: :never,
|
161
|
+
ruby_20: :never,
|
162
|
+
ruby_21: :never,
|
163
|
+
x64_mingw: :only,
|
164
|
+
x64_mingw_20: :only,
|
165
|
+
x64_mingw_21: :only,
|
166
166
|
}.freeze
|
167
167
|
|
168
168
|
##
|
@@ -262,7 +262,7 @@ class Gem::RequestSet::GemDependencyAPI
|
|
262
262
|
raise ArgumentError, "no gemspecs found at #{Dir.pwd}"
|
263
263
|
else
|
264
264
|
raise ArgumentError,
|
265
|
-
"found multiple gemspecs at #{Dir.pwd}, "
|
265
|
+
"found multiple gemspecs at #{Dir.pwd}, " \
|
266
266
|
"use the name: option to specify the one you want"
|
267
267
|
end
|
268
268
|
end
|
@@ -280,7 +280,7 @@ class Gem::RequestSet::GemDependencyAPI
|
|
280
280
|
# Loads the gem dependency file and returns self.
|
281
281
|
|
282
282
|
def load
|
283
|
-
instance_eval File.read(@path)
|
283
|
+
instance_eval File.read(@path), @path, 1
|
284
284
|
|
285
285
|
self
|
286
286
|
end
|
@@ -533,8 +533,8 @@ Gem dependencies file #{@path} includes git reference for both ref/branch and ta
|
|
533
533
|
# platform matches the current platform.
|
534
534
|
|
535
535
|
def gem_platforms(name, options) # :nodoc:
|
536
|
-
platform_names = Array(options.delete
|
537
|
-
platform_names.concat Array(options.delete
|
536
|
+
platform_names = Array(options.delete(:platform))
|
537
|
+
platform_names.concat Array(options.delete(:platforms))
|
538
538
|
platform_names.concat @current_platforms if @current_platforms
|
539
539
|
|
540
540
|
return true if platform_names.empty?
|
@@ -593,7 +593,6 @@ Gem dependencies file #{@path} includes git reference for both ref/branch and ta
|
|
593
593
|
@current_repository = repository
|
594
594
|
|
595
595
|
yield
|
596
|
-
|
597
596
|
ensure
|
598
597
|
@current_repository = nil
|
599
598
|
end
|
@@ -685,7 +684,6 @@ Gem dependencies file #{@path} includes git reference for both ref/branch and ta
|
|
685
684
|
@current_groups = groups
|
686
685
|
|
687
686
|
yield
|
688
|
-
|
689
687
|
ensure
|
690
688
|
@current_groups = nil
|
691
689
|
end
|
@@ -760,7 +758,6 @@ Gem dependencies file #{@path} includes git reference for both ref/branch and ta
|
|
760
758
|
@current_platforms = platforms
|
761
759
|
|
762
760
|
yield
|
763
|
-
|
764
761
|
ensure
|
765
762
|
@current_platforms = nil
|
766
763
|
end
|
@@ -771,7 +768,7 @@ Gem dependencies file #{@path} includes git reference for both ref/branch and ta
|
|
771
768
|
# Block form for restricting gems to a particular set of platforms. See
|
772
769
|
# #platform.
|
773
770
|
|
774
|
-
|
771
|
+
alias_method :platforms, :platform
|
775
772
|
|
776
773
|
##
|
777
774
|
# :category: Gem Dependencies DSL
|
@@ -793,15 +790,15 @@ Gem dependencies file #{@path} includes git reference for both ref/branch and ta
|
|
793
790
|
|
794
791
|
return true if @installing
|
795
792
|
|
796
|
-
unless
|
797
|
-
message = "Your Ruby version is #{RUBY_VERSION}, "
|
793
|
+
unless version == RUBY_VERSION
|
794
|
+
message = "Your Ruby version is #{RUBY_VERSION}, " \
|
798
795
|
"but your #{gem_deps_file} requires #{version}"
|
799
796
|
|
800
797
|
raise Gem::RubyVersionMismatch, message
|
801
798
|
end
|
802
799
|
|
803
800
|
if engine && engine != Gem.ruby_engine
|
804
|
-
message = "Your Ruby engine is #{Gem.ruby_engine}, "
|
801
|
+
message = "Your Ruby engine is #{Gem.ruby_engine}, " \
|
805
802
|
"but your #{gem_deps_file} requires #{engine}"
|
806
803
|
|
807
804
|
raise Gem::RubyVersionMismatch, message
|
@@ -810,7 +807,7 @@ Gem dependencies file #{@path} includes git reference for both ref/branch and ta
|
|
810
807
|
if engine_version
|
811
808
|
if engine_version != RUBY_ENGINE_VERSION
|
812
809
|
message =
|
813
|
-
"Your Ruby engine version is #{Gem.ruby_engine} #{RUBY_ENGINE_VERSION}, "
|
810
|
+
"Your Ruby engine version is #{Gem.ruby_engine} #{RUBY_ENGINE_VERSION}, " \
|
814
811
|
"but your #{gem_deps_file} requires #{engine} #{engine_version}"
|
815
812
|
|
816
813
|
raise Gem::RubyVersionMismatch, message
|