rubygems-update 3.3.18 → 3.3.22
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 +65 -0
- data/Manifest.txt +11 -0
- data/bin/gem +2 -2
- data/bin/update_rubygems +4 -4
- data/bundler/CHANGELOG.md +100 -0
- data/bundler/UPGRADING.md +11 -4
- data/bundler/bundler.gemspec +6 -8
- data/bundler/lib/bundler/build_metadata.rb +2 -2
- data/bundler/lib/bundler/cli/common.rb +1 -0
- data/bundler/lib/bundler/cli/install.rb +5 -2
- data/bundler/lib/bundler/cli/outdated.rb +12 -3
- data/bundler/lib/bundler/cli/platform.rb +1 -1
- data/bundler/lib/bundler/cli.rb +7 -4
- data/bundler/lib/bundler/current_ruby.rb +14 -5
- data/bundler/lib/bundler/definition.rb +102 -31
- data/bundler/lib/bundler/dependency.rb +18 -85
- data/bundler/lib/bundler/dsl.rb +2 -2
- data/bundler/lib/bundler/endpoint_specification.rb +2 -13
- data/bundler/lib/bundler/feature_flag.rb +0 -1
- data/bundler/lib/bundler/fetcher.rb +6 -6
- data/bundler/lib/bundler/gem_helpers.rb +7 -1
- data/bundler/lib/bundler/gem_version_promoter.rb +8 -18
- data/bundler/lib/bundler/index.rb +10 -12
- data/bundler/lib/bundler/injector.rb +2 -1
- data/bundler/lib/bundler/inline.rb +1 -1
- data/bundler/lib/bundler/installer/standalone.rb +1 -1
- data/bundler/lib/bundler/installer.rb +14 -12
- data/bundler/lib/bundler/lazy_specification.rb +30 -23
- data/bundler/lib/bundler/lockfile_generator.rb +1 -1
- data/bundler/lib/bundler/man/bundle-add.1 +6 -2
- data/bundler/lib/bundler/man/bundle-add.1.ronn +4 -1
- data/bundler/lib/bundler/man/bundle-binstubs.1 +1 -1
- data/bundler/lib/bundler/man/bundle-cache.1 +7 -1
- data/bundler/lib/bundler/man/bundle-cache.1.ronn +7 -0
- data/bundler/lib/bundler/man/bundle-check.1 +1 -1
- data/bundler/lib/bundler/man/bundle-clean.1 +1 -1
- data/bundler/lib/bundler/man/bundle-config.1 +25 -6
- data/bundler/lib/bundler/man/bundle-config.1.ronn +16 -6
- data/bundler/lib/bundler/man/bundle-console.1 +53 -0
- data/bundler/lib/bundler/man/bundle-console.1.ronn +44 -0
- data/bundler/lib/bundler/man/bundle-doctor.1 +1 -1
- data/bundler/lib/bundler/man/bundle-exec.1 +2 -2
- data/bundler/lib/bundler/man/bundle-exec.1.ronn +1 -1
- data/bundler/lib/bundler/man/bundle-gem.1 +1 -1
- data/bundler/lib/bundler/man/bundle-help.1 +13 -0
- data/bundler/lib/bundler/man/bundle-help.1.ronn +12 -0
- data/bundler/lib/bundler/man/bundle-info.1 +1 -1
- data/bundler/lib/bundler/man/bundle-init.1 +1 -1
- data/bundler/lib/bundler/man/bundle-inject.1 +5 -2
- data/bundler/lib/bundler/man/bundle-inject.1.ronn +3 -1
- data/bundler/lib/bundler/man/bundle-install.1 +5 -1
- data/bundler/lib/bundler/man/bundle-install.1.ronn +6 -0
- data/bundler/lib/bundler/man/bundle-list.1 +1 -1
- data/bundler/lib/bundler/man/bundle-lock.1 +1 -1
- data/bundler/lib/bundler/man/bundle-open.1 +1 -1
- data/bundler/lib/bundler/man/bundle-outdated.1 +1 -1
- data/bundler/lib/bundler/man/bundle-platform.1 +16 -6
- data/bundler/lib/bundler/man/bundle-platform.1.ronn +14 -7
- data/bundler/lib/bundler/man/bundle-plugin.1 +81 -0
- data/bundler/lib/bundler/man/bundle-plugin.1.ronn +59 -0
- data/bundler/lib/bundler/man/bundle-pristine.1 +1 -1
- data/bundler/lib/bundler/man/bundle-remove.1 +1 -1
- data/bundler/lib/bundler/man/bundle-show.1 +1 -1
- data/bundler/lib/bundler/man/bundle-update.1 +1 -1
- data/bundler/lib/bundler/man/bundle-version.1 +35 -0
- data/bundler/lib/bundler/man/bundle-version.1.ronn +24 -0
- data/bundler/lib/bundler/man/bundle-viz.1 +4 -1
- data/bundler/lib/bundler/man/bundle-viz.1.ronn +2 -0
- data/bundler/lib/bundler/man/bundle.1 +15 -10
- data/bundler/lib/bundler/man/bundle.1.ronn +12 -7
- data/bundler/lib/bundler/man/gemfile.5 +23 -47
- data/bundler/lib/bundler/man/gemfile.5.ronn +32 -43
- data/bundler/lib/bundler/man/index.txt +4 -0
- data/bundler/lib/bundler/match_metadata.rb +13 -0
- data/bundler/lib/bundler/match_remote_metadata.rb +29 -0
- data/bundler/lib/bundler/plugin.rb +2 -0
- data/bundler/lib/bundler/remote_specification.rb +6 -11
- data/bundler/lib/bundler/resolver/base.rb +50 -0
- data/bundler/lib/bundler/resolver/spec_group.rb +11 -8
- data/bundler/lib/bundler/resolver.rb +95 -90
- data/bundler/lib/bundler/ruby_dsl.rb +1 -1
- data/bundler/lib/bundler/ruby_version.rb +5 -5
- data/bundler/lib/bundler/rubygems_ext.rb +52 -1
- data/bundler/lib/bundler/rubygems_gem_installer.rb +19 -12
- data/bundler/lib/bundler/settings.rb +1 -1
- data/bundler/lib/bundler/source/metadata.rb +1 -1
- data/bundler/lib/bundler/source_list.rb +4 -0
- data/bundler/lib/bundler/spec_set.rb +48 -33
- data/bundler/lib/bundler/version.rb +1 -1
- data/bundler/lib/bundler.rb +3 -3
- data/lib/rubygems/available_set.rb +3 -3
- data/lib/rubygems/basic_specification.rb +4 -4
- data/lib/rubygems/command.rb +25 -25
- data/lib/rubygems/command_manager.rb +9 -9
- data/lib/rubygems/commands/build_command.rb +8 -8
- data/lib/rubygems/commands/cert_command.rb +33 -33
- data/lib/rubygems/commands/check_command.rb +20 -20
- data/lib/rubygems/commands/cleanup_command.rb +17 -17
- data/lib/rubygems/commands/contents_command.rb +13 -13
- data/lib/rubygems/commands/dependency_command.rb +16 -16
- data/lib/rubygems/commands/environment_command.rb +5 -5
- data/lib/rubygems/commands/fetch_command.rb +8 -8
- data/lib/rubygems/commands/generate_index_command.rb +17 -17
- data/lib/rubygems/commands/help_command.rb +3 -3
- data/lib/rubygems/commands/info_command.rb +3 -3
- data/lib/rubygems/commands/install_command.rb +20 -20
- data/lib/rubygems/commands/list_command.rb +3 -3
- data/lib/rubygems/commands/lock_command.rb +4 -4
- data/lib/rubygems/commands/mirror_command.rb +3 -3
- data/lib/rubygems/commands/open_command.rb +9 -9
- data/lib/rubygems/commands/outdated_command.rb +5 -5
- data/lib/rubygems/commands/owner_command.rb +11 -11
- data/lib/rubygems/commands/pristine_command.rb +36 -36
- data/lib/rubygems/commands/push_command.rb +8 -8
- data/lib/rubygems/commands/query_command.rb +8 -8
- data/lib/rubygems/commands/rdoc_command.rb +17 -17
- data/lib/rubygems/commands/search_command.rb +3 -3
- data/lib/rubygems/commands/server_command.rb +3 -3
- data/lib/rubygems/commands/setup_command.rb +96 -106
- data/lib/rubygems/commands/signin_command.rb +9 -9
- data/lib/rubygems/commands/signout_command.rb +7 -7
- data/lib/rubygems/commands/sources_command.rb +21 -21
- data/lib/rubygems/commands/specification_command.rb +13 -13
- data/lib/rubygems/commands/stale_command.rb +2 -2
- data/lib/rubygems/commands/uninstall_command.rb +40 -40
- data/lib/rubygems/commands/unpack_command.rb +12 -12
- data/lib/rubygems/commands/update_command.rb +40 -56
- data/lib/rubygems/commands/which_command.rb +7 -7
- data/lib/rubygems/commands/yank_command.rb +11 -11
- data/lib/rubygems/config_file.rb +21 -21
- data/lib/rubygems/core_ext/kernel_gem.rb +1 -1
- data/lib/rubygems/core_ext/kernel_require.rb +1 -1
- 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 +16 -16
- data/lib/rubygems/dependency.rb +9 -9
- data/lib/rubygems/dependency_installer.rb +13 -13
- data/lib/rubygems/dependency_list.rb +6 -6
- data/lib/rubygems/doctor.rb +18 -18
- data/lib/rubygems/errors.rb +2 -2
- data/lib/rubygems/exceptions.rb +5 -5
- data/lib/rubygems/ext/build_error.rb +1 -1
- data/lib/rubygems/ext/builder.rb +16 -16
- data/lib/rubygems/ext/cargo_builder.rb +7 -7
- data/lib/rubygems/ext/cmake_builder.rb +2 -2
- data/lib/rubygems/ext/configure_builder.rb +1 -1
- data/lib/rubygems/ext/ext_conf_builder.rb +8 -8
- data/lib/rubygems/ext/rake_builder.rb +3 -3
- data/lib/rubygems/ext.rb +7 -7
- data/lib/rubygems/gem_runner.rb +5 -5
- data/lib/rubygems/gemcutter_utilities.rb +31 -28
- data/lib/rubygems/indexer.rb +27 -27
- data/lib/rubygems/install_default_message.rb +2 -2
- data/lib/rubygems/install_message.rb +2 -2
- data/lib/rubygems/install_update_options.rb +55 -55
- data/lib/rubygems/installer.rb +32 -40
- data/lib/rubygems/installer_uninstaller_utils.rb +2 -2
- data/lib/rubygems/local_remote_options.rb +18 -20
- data/lib/rubygems/mock_gem_ui.rb +2 -2
- data/lib/rubygems/name_tuple.rb +4 -4
- data/lib/rubygems/optparse.rb +1 -1
- data/lib/rubygems/package/file_source.rb +2 -2
- data/lib/rubygems/package/old.rb +8 -8
- data/lib/rubygems/package/tar_header.rb +50 -50
- data/lib/rubygems/package/tar_reader/entry.rb +2 -2
- data/lib/rubygems/package/tar_reader.rb +1 -1
- data/lib/rubygems/package/tar_writer.rb +7 -7
- data/lib/rubygems/package.rb +54 -43
- data/lib/rubygems/package_task.rb +4 -4
- data/lib/rubygems/platform.rb +66 -55
- data/lib/rubygems/psych_tree.rb +1 -1
- data/lib/rubygems/query_utils.rb +35 -35
- data/lib/rubygems/rdoc.rb +2 -2
- data/lib/rubygems/remote_fetcher.rb +22 -22
- data/lib/rubygems/request/connection_pools.rb +4 -4
- data/lib/rubygems/request/http_pool.rb +1 -1
- data/lib/rubygems/request.rb +22 -22
- data/lib/rubygems/request_set/gem_dependency_api.rb +18 -18
- data/lib/rubygems/request_set/lockfile/parser.rb +26 -26
- data/lib/rubygems/request_set/lockfile/tokenizer.rb +4 -4
- data/lib/rubygems/request_set/lockfile.rb +5 -5
- data/lib/rubygems/request_set.rb +17 -17
- data/lib/rubygems/requirement.rb +6 -6
- data/lib/rubygems/resolver/activation_request.rb +3 -3
- data/lib/rubygems/resolver/api_set.rb +4 -4
- data/lib/rubygems/resolver/api_specification.rb +6 -6
- data/lib/rubygems/resolver/best_set.rb +5 -5
- data/lib/rubygems/resolver/conflict.rb +10 -10
- data/lib/rubygems/resolver/dependency_request.rb +2 -2
- data/lib/rubygems/resolver/git_set.rb +2 -2
- data/lib/rubygems/resolver/git_specification.rb +6 -6
- data/lib/rubygems/resolver/index_set.rb +3 -3
- data/lib/rubygems/resolver/index_specification.rb +6 -5
- data/lib/rubygems/resolver/installed_specification.rb +4 -4
- data/lib/rubygems/resolver/installer_set.rb +11 -16
- data/lib/rubygems/resolver/local_specification.rb +2 -2
- data/lib/rubygems/resolver/lock_set.rb +4 -4
- data/lib/rubygems/resolver/lock_specification.rb +4 -4
- data/lib/rubygems/resolver/molinillo.rb +1 -1
- data/lib/rubygems/resolver/specification.rb +1 -1
- data/lib/rubygems/resolver/vendor_set.rb +1 -1
- data/lib/rubygems/resolver/vendor_specification.rb +3 -3
- data/lib/rubygems/resolver.rb +39 -39
- data/lib/rubygems/s3_uri_signer.rb +6 -6
- data/lib/rubygems/safe_yaml.rb +2 -2
- data/lib/rubygems/security/policies.rb +11 -11
- data/lib/rubygems/security/policy.rb +18 -18
- data/lib/rubygems/security/signer.rb +5 -5
- data/lib/rubygems/security/trust_dir.rb +3 -3
- data/lib/rubygems/security.rb +28 -28
- data/lib/rubygems/security_option.rb +5 -5
- data/lib/rubygems/source/git.rb +21 -21
- data/lib/rubygems/source/installed.rb +1 -1
- data/lib/rubygems/source/local.rb +2 -2
- data/lib/rubygems/source/specific_file.rb +1 -1
- data/lib/rubygems/source.rb +16 -16
- data/lib/rubygems/spec_fetcher.rb +9 -9
- data/lib/rubygems/specification.rb +63 -62
- data/lib/rubygems/specification_policy.rb +15 -15
- data/lib/rubygems/stub_specification.rb +5 -5
- data/lib/rubygems/tsort.rb +1 -1
- data/lib/rubygems/uninstaller.rb +18 -18
- data/lib/rubygems/uri.rb +4 -4
- data/lib/rubygems/uri_formatter.rb +1 -1
- data/lib/rubygems/user_interaction.rb +33 -19
- data/lib/rubygems/util/licenses.rb +3 -3
- data/lib/rubygems/util.rb +10 -10
- data/lib/rubygems/validator.rb +5 -5
- data/lib/rubygems/version.rb +15 -9
- data/lib/rubygems/version_option.rb +3 -3
- data/lib/rubygems.rb +62 -61
- data/rubygems-update.gemspec +2 -2
- data/setup.rb +9 -9
- data/test/rubygems/helper.rb +132 -134
- data/test/rubygems/installer_test_case.rb +13 -13
- data/test/rubygems/package/tar_test_case.rb +2 -2
- data/test/rubygems/plugin/exception/rubygems_plugin.rb +1 -1
- data/test/rubygems/plugin/standarderror/rubygems_plugin.rb +1 -1
- data/test/rubygems/rubygems_plugin.rb +2 -2
- data/test/rubygems/specifications/rubyforge-0.0.1.gemspec +4 -4
- data/test/rubygems/test_bundled_ca.rb +10 -10
- data/test/rubygems/test_config.rb +3 -3
- data/test/rubygems/test_deprecate.rb +3 -3
- data/test/rubygems/test_exit.rb +2 -2
- data/test/rubygems/test_gem.rb +342 -342
- data/test/rubygems/test_gem_available_set.rb +21 -21
- data/test/rubygems/test_gem_bundler_version_finder.rb +1 -1
- data/test/rubygems/test_gem_command.rb +44 -44
- data/test/rubygems/test_gem_command_manager.rb +29 -29
- data/test/rubygems/test_gem_commands_build_command.rb +63 -63
- data/test/rubygems/test_gem_commands_cert_command.rb +97 -99
- data/test/rubygems/test_gem_commands_check_command.rb +4 -4
- data/test/rubygems/test_gem_commands_cleanup_command.rb +40 -40
- data/test/rubygems/test_gem_commands_contents_command.rb +27 -27
- data/test/rubygems/test_gem_commands_dependency_command.rb +36 -36
- data/test/rubygems/test_gem_commands_environment_command.rb +16 -16
- data/test/rubygems/test_gem_commands_fetch_command.rb +37 -37
- data/test/rubygems/test_gem_commands_generate_index_command.rb +7 -7
- data/test/rubygems/test_gem_commands_help_command.rb +13 -13
- data/test/rubygems/test_gem_commands_info_command.rb +28 -2
- data/test/rubygems/test_gem_commands_install_command.rb +131 -131
- data/test/rubygems/test_gem_commands_list_command.rb +4 -4
- data/test/rubygems/test_gem_commands_lock_command.rb +10 -10
- data/test/rubygems/test_gem_commands_mirror.rb +2 -2
- data/test/rubygems/test_gem_commands_open_command.rb +4 -4
- data/test/rubygems/test_gem_commands_outdated_command.rb +9 -9
- data/test/rubygems/test_gem_commands_owner_command.rb +41 -41
- data/test/rubygems/test_gem_commands_pristine_command.rb +92 -92
- data/test/rubygems/test_gem_commands_push_command.rb +54 -54
- data/test/rubygems/test_gem_commands_query_command.rb +73 -73
- data/test/rubygems/test_gem_commands_search_command.rb +2 -2
- data/test/rubygems/test_gem_commands_server_command.rb +2 -2
- data/test/rubygems/test_gem_commands_setup_command.rb +119 -85
- data/test/rubygems/test_gem_commands_signin_command.rb +45 -31
- data/test/rubygems/test_gem_commands_signout_command.rb +3 -3
- data/test/rubygems/test_gem_commands_sources_command.rb +28 -29
- data/test/rubygems/test_gem_commands_specification_command.rb +32 -32
- data/test/rubygems/test_gem_commands_stale_command.rb +4 -4
- data/test/rubygems/test_gem_commands_uninstall_command.rb +75 -75
- data/test/rubygems/test_gem_commands_unpack_command.rb +31 -31
- data/test/rubygems/test_gem_commands_update_command.rb +89 -89
- data/test/rubygems/test_gem_commands_which_command.rb +6 -6
- data/test/rubygems/test_gem_commands_yank_command.rb +40 -40
- data/test/rubygems/test_gem_config_file.rb +93 -81
- data/test/rubygems/test_gem_dependency.rb +73 -73
- data/test/rubygems/test_gem_dependency_installer.rb +165 -165
- data/test/rubygems/test_gem_dependency_list.rb +47 -47
- data/test/rubygems/test_gem_dependency_resolution_error.rb +4 -4
- data/test/rubygems/test_gem_doctor.rb +26 -26
- data/test/rubygems/test_gem_ext_builder.rb +59 -59
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/Cargo.lock +6 -6
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/Cargo.toml +1 -1
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/build.rb +8 -8
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/custom_name.gemspec +1 -1
- data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.lock +6 -6
- data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.toml +1 -1
- data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/build.rb +8 -8
- data/test/rubygems/test_gem_ext_cargo_builder.rb +26 -26
- data/test/rubygems/test_gem_ext_cargo_builder_link_flag_converter.rb +3 -3
- data/test/rubygems/test_gem_ext_cargo_builder_unit.rb +23 -23
- data/test/rubygems/test_gem_ext_cmake_builder.rb +15 -15
- data/test/rubygems/test_gem_ext_configure_builder.rb +13 -13
- data/test/rubygems/test_gem_ext_ext_conf_builder.rb +51 -52
- data/test/rubygems/test_gem_ext_rake_builder.rb +15 -15
- data/test/rubygems/test_gem_gem_runner.rb +7 -7
- data/test/rubygems/test_gem_gemcutter_utilities.rb +66 -66
- data/test/rubygems/test_gem_impossible_dependencies_error.rb +4 -4
- data/test/rubygems/test_gem_indexer.rb +48 -48
- data/test/rubygems/test_gem_install_update_options.rb +16 -16
- data/test/rubygems/test_gem_installer.rb +303 -300
- data/test/rubygems/test_gem_local_remote_options.rb +10 -10
- data/test/rubygems/test_gem_name_tuple.rb +4 -4
- data/test/rubygems/test_gem_package.rb +228 -206
- data/test/rubygems/test_gem_package_old.rb +13 -13
- data/test/rubygems/test_gem_package_tar_header.rb +42 -42
- data/test/rubygems/test_gem_package_tar_reader.rb +8 -8
- data/test/rubygems/test_gem_package_tar_reader_entry.rb +10 -10
- data/test/rubygems/test_gem_package_tar_writer.rb +76 -76
- data/test/rubygems/test_gem_package_task.rb +18 -18
- data/test/rubygems/test_gem_path_support.rb +14 -14
- data/test/rubygems/test_gem_platform.rb +298 -227
- data/test/rubygems/test_gem_rdoc.rb +14 -14
- data/test/rubygems/test_gem_remote_fetcher.rb +149 -149
- data/test/rubygems/test_gem_request.rb +55 -55
- data/test/rubygems/test_gem_request_connection_pools.rb +29 -29
- data/test/rubygems/test_gem_request_set.rb +99 -99
- data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +204 -206
- data/test/rubygems/test_gem_request_set_lockfile.rb +86 -86
- data/test/rubygems/test_gem_request_set_lockfile_parser.rb +56 -56
- data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +62 -62
- data/test/rubygems/test_gem_requirement.rb +47 -41
- data/test/rubygems/test_gem_resolver.rb +133 -99
- data/test/rubygems/test_gem_resolver_activation_request.rb +6 -6
- data/test/rubygems/test_gem_resolver_api_set.rb +33 -33
- data/test/rubygems/test_gem_resolver_api_specification.rb +47 -47
- data/test/rubygems/test_gem_resolver_best_set.rb +22 -22
- data/test/rubygems/test_gem_resolver_composed_set.rb +1 -1
- data/test/rubygems/test_gem_resolver_conflict.rb +12 -12
- data/test/rubygems/test_gem_resolver_dependency_request.rb +15 -15
- data/test/rubygems/test_gem_resolver_git_set.rb +21 -21
- data/test/rubygems/test_gem_resolver_git_specification.rb +21 -21
- data/test/rubygems/test_gem_resolver_index_set.rb +12 -12
- data/test/rubygems/test_gem_resolver_index_specification.rb +16 -16
- data/test/rubygems/test_gem_resolver_installed_specification.rb +5 -5
- data/test/rubygems/test_gem_resolver_installer_set.rb +78 -34
- data/test/rubygems/test_gem_resolver_local_specification.rb +7 -7
- data/test/rubygems/test_gem_resolver_lock_set.rb +12 -12
- data/test/rubygems/test_gem_resolver_lock_specification.rb +17 -17
- data/test/rubygems/test_gem_resolver_requirement_list.rb +1 -1
- data/test/rubygems/test_gem_resolver_specification.rb +8 -8
- data/test/rubygems/test_gem_resolver_vendor_set.rb +6 -6
- data/test/rubygems/test_gem_resolver_vendor_specification.rb +10 -10
- data/test/rubygems/test_gem_security.rb +67 -67
- data/test/rubygems/test_gem_security_policy.rb +62 -62
- data/test/rubygems/test_gem_security_signer.rb +28 -28
- data/test/rubygems/test_gem_security_trust_dir.rb +4 -4
- data/test/rubygems/test_gem_silent_ui.rb +38 -32
- data/test/rubygems/test_gem_source.rb +44 -44
- data/test/rubygems/test_gem_source_fetch_problem.rb +9 -9
- data/test/rubygems/test_gem_source_git.rb +59 -59
- data/test/rubygems/test_gem_source_installed.rb +16 -16
- data/test/rubygems/test_gem_source_list.rb +5 -5
- data/test/rubygems/test_gem_source_local.rb +14 -14
- data/test/rubygems/test_gem_source_lock.rb +31 -31
- data/test/rubygems/test_gem_source_specific_file.rb +17 -17
- data/test/rubygems/test_gem_source_subpath_problem.rb +7 -7
- data/test/rubygems/test_gem_source_vendor.rb +13 -13
- data/test/rubygems/test_gem_spec_fetcher.rb +72 -72
- data/test/rubygems/test_gem_specification.rb +444 -436
- data/test/rubygems/test_gem_stream_ui.rb +19 -19
- data/test/rubygems/test_gem_stub_specification.rb +32 -32
- data/test/rubygems/test_gem_text.rb +1 -1
- data/test/rubygems/test_gem_uninstaller.rb +112 -112
- data/test/rubygems/test_gem_unsatisfiable_dependency_error.rb +3 -3
- data/test/rubygems/test_gem_uri.rb +4 -4
- data/test/rubygems/test_gem_uri_formatter.rb +14 -14
- data/test/rubygems/test_gem_util.rb +23 -23
- data/test/rubygems/test_gem_validator.rb +8 -8
- data/test/rubygems/test_gem_version.rb +22 -15
- data/test/rubygems/test_gem_version_option.rb +15 -15
- data/test/rubygems/test_kernel.rb +31 -31
- data/test/rubygems/test_project_sanity.rb +1 -1
- data/test/rubygems/test_remote_fetch_error.rb +6 -6
- data/test/rubygems/test_require.rb +43 -43
- data/test/rubygems/test_rubygems.rb +8 -8
- data/test/rubygems/utilities.rb +19 -19
- metadata +14 -3
data/lib/rubygems.rb
CHANGED
@@ -5,18 +5,18 @@
|
|
5
5
|
# See LICENSE.txt for permissions.
|
6
6
|
#++
|
7
7
|
|
8
|
-
require
|
8
|
+
require "rbconfig"
|
9
9
|
|
10
10
|
module Gem
|
11
|
-
VERSION = "3.3.
|
11
|
+
VERSION = "3.3.22".freeze
|
12
12
|
end
|
13
13
|
|
14
14
|
# Must be first since it unloads the prelude from 1.9.2
|
15
|
-
require_relative
|
15
|
+
require_relative "rubygems/compatibility"
|
16
16
|
|
17
|
-
require_relative
|
18
|
-
require_relative
|
19
|
-
require_relative
|
17
|
+
require_relative "rubygems/defaults"
|
18
|
+
require_relative "rubygems/deprecate"
|
19
|
+
require_relative "rubygems/errors"
|
20
20
|
|
21
21
|
##
|
22
22
|
# RubyGems is the Ruby standard for publishing and managing third party
|
@@ -117,11 +117,11 @@ module Gem
|
|
117
117
|
# Taint support is deprecated in Ruby 2.7.
|
118
118
|
# This allows switching ".untaint" to ".tap(&Gem::UNTAINT)",
|
119
119
|
# to avoid deprecation warnings in Ruby 2.7.
|
120
|
-
UNTAINT = RUBY_VERSION <
|
120
|
+
UNTAINT = RUBY_VERSION < "2.7" ? :untaint.to_sym : proc {}
|
121
121
|
|
122
122
|
# When https://bugs.ruby-lang.org/issues/17259 is available, there is no need to override Kernel#warn
|
123
123
|
KERNEL_WARN_IGNORES_INTERNAL_ENTRIES = RUBY_ENGINE == "truffleruby" ||
|
124
|
-
|
124
|
+
(RUBY_ENGINE == "ruby" && RUBY_VERSION >= "3.0")
|
125
125
|
|
126
126
|
##
|
127
127
|
# An Array of Regexps that match windows Ruby platforms.
|
@@ -293,14 +293,14 @@ module Gem
|
|
293
293
|
# The mode needed to read a file as straight binary.
|
294
294
|
|
295
295
|
def self.binary_mode
|
296
|
-
|
296
|
+
"rb"
|
297
297
|
end
|
298
298
|
|
299
299
|
##
|
300
300
|
# The path where gem executables are to be installed.
|
301
301
|
|
302
302
|
def self.bindir(install_dir=Gem.dir)
|
303
|
-
return File.join install_dir,
|
303
|
+
return File.join install_dir, "bin" unless
|
304
304
|
install_dir.to_s == Gem.default_dir.to_s
|
305
305
|
Gem.default_bindir
|
306
306
|
end
|
@@ -309,7 +309,7 @@ module Gem
|
|
309
309
|
# The path were rubygems plugins are to be installed.
|
310
310
|
|
311
311
|
def self.plugindir(install_dir=Gem.dir)
|
312
|
-
File.join install_dir,
|
312
|
+
File.join install_dir, "plugins"
|
313
313
|
end
|
314
314
|
|
315
315
|
##
|
@@ -353,7 +353,7 @@ module Gem
|
|
353
353
|
# A Zlib::Deflate.deflate wrapper
|
354
354
|
|
355
355
|
def self.deflate(data)
|
356
|
-
require
|
356
|
+
require "zlib"
|
357
357
|
Zlib::Deflate.deflate data
|
358
358
|
end
|
359
359
|
|
@@ -375,7 +375,7 @@ module Gem
|
|
375
375
|
target = {}
|
376
376
|
env.each_pair do |k,v|
|
377
377
|
case k
|
378
|
-
when
|
378
|
+
when "GEM_HOME", "GEM_PATH", "GEM_SPEC_CACHE"
|
379
379
|
case v
|
380
380
|
when nil, String
|
381
381
|
target[k] = v
|
@@ -442,8 +442,6 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
|
|
442
442
|
old_umask = File.umask
|
443
443
|
File.umask old_umask | 002
|
444
444
|
|
445
|
-
require 'fileutils'
|
446
|
-
|
447
445
|
options = {}
|
448
446
|
|
449
447
|
options[:mode] = mode if mode
|
@@ -451,6 +449,9 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
|
|
451
449
|
subdirs.each do |name|
|
452
450
|
subdir = File.join dir, name
|
453
451
|
next if File.exist? subdir
|
452
|
+
|
453
|
+
require "fileutils"
|
454
|
+
|
454
455
|
begin
|
455
456
|
FileUtils.mkdir_p subdir, **options
|
456
457
|
rescue SystemCallError
|
@@ -465,7 +466,7 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
|
|
465
466
|
# distinction as extensions cannot be shared between the two.
|
466
467
|
|
467
468
|
def self.extension_api_version # :nodoc:
|
468
|
-
if
|
469
|
+
if "no" == RbConfig::CONFIG["ENABLE_SHARED"]
|
469
470
|
"#{ruby_api_version}-static"
|
470
471
|
else
|
471
472
|
ruby_api_version
|
@@ -575,7 +576,7 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
|
|
575
576
|
return i if path.instance_variable_defined?(:@gem_prelude_index)
|
576
577
|
end
|
577
578
|
|
578
|
-
index = $LOAD_PATH.index RbConfig::CONFIG[
|
579
|
+
index = $LOAD_PATH.index RbConfig::CONFIG["sitelibdir"]
|
579
580
|
|
580
581
|
index || 0
|
581
582
|
end
|
@@ -606,10 +607,10 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
|
|
606
607
|
def self.load_yaml
|
607
608
|
return if @yaml_loaded
|
608
609
|
|
609
|
-
require
|
610
|
-
require_relative
|
610
|
+
require "psych"
|
611
|
+
require_relative "rubygems/psych_tree"
|
611
612
|
|
612
|
-
require_relative
|
613
|
+
require_relative "rubygems/safe_yaml"
|
613
614
|
|
614
615
|
@yaml_loaded = true
|
615
616
|
end
|
@@ -740,9 +741,9 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
|
|
740
741
|
def self.prefix
|
741
742
|
prefix = File.dirname RUBYGEMS_DIR
|
742
743
|
|
743
|
-
if prefix != File.expand_path(RbConfig::CONFIG[
|
744
|
-
prefix != File.expand_path(RbConfig::CONFIG[
|
745
|
-
|
744
|
+
if prefix != File.expand_path(RbConfig::CONFIG["sitelibdir"]) &&
|
745
|
+
prefix != File.expand_path(RbConfig::CONFIG["libdir"]) &&
|
746
|
+
"lib" == File.basename(RUBYGEMS_DIR)
|
746
747
|
prefix
|
747
748
|
end
|
748
749
|
end
|
@@ -758,11 +759,11 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
|
|
758
759
|
# Safely read a file in binary mode on all platforms.
|
759
760
|
|
760
761
|
def self.read_binary(path)
|
761
|
-
open_file(path,
|
762
|
+
open_file(path, "rb+") do |io|
|
762
763
|
io.read
|
763
764
|
end
|
764
765
|
rescue Errno::EACCES, Errno::EROFS
|
765
|
-
open_file(path,
|
766
|
+
open_file(path, "rb") do |io|
|
766
767
|
io.read
|
767
768
|
end
|
768
769
|
end
|
@@ -770,7 +771,7 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
|
|
770
771
|
##
|
771
772
|
# Safely write a file in binary mode on all platforms.
|
772
773
|
def self.write_binary(path, data)
|
773
|
-
open_file(path,
|
774
|
+
open_file(path, "wb") do |io|
|
774
775
|
io.write data
|
775
776
|
end
|
776
777
|
end
|
@@ -815,13 +816,13 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
|
|
815
816
|
# Returns a String containing the API compatibility version of Ruby
|
816
817
|
|
817
818
|
def self.ruby_api_version
|
818
|
-
@ruby_api_version ||= RbConfig::CONFIG[
|
819
|
+
@ruby_api_version ||= RbConfig::CONFIG["ruby_version"].dup
|
819
820
|
end
|
820
821
|
|
821
822
|
def self.env_requirement(gem_name)
|
822
823
|
@env_requirements_by_name ||= {}
|
823
824
|
@env_requirements_by_name[gem_name] ||= begin
|
824
|
-
req = ENV["GEM_REQUIREMENT_#{gem_name.upcase}"] ||
|
825
|
+
req = ENV["GEM_REQUIREMENT_#{gem_name.upcase}"] || ">= 0".freeze
|
825
826
|
Gem::Requirement.create(req)
|
826
827
|
end
|
827
828
|
end
|
@@ -844,8 +845,8 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
|
|
844
845
|
# Returns the latest release version of RubyGems.
|
845
846
|
|
846
847
|
def self.latest_rubygems_version
|
847
|
-
latest_version_for(
|
848
|
-
raise
|
848
|
+
latest_version_for("rubygems-update") ||
|
849
|
+
raise("Can't find 'rubygems-update' in any repo. Check `gem source list`.")
|
849
850
|
end
|
850
851
|
|
851
852
|
##
|
@@ -853,7 +854,7 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
|
|
853
854
|
|
854
855
|
def self.latest_version_for(name)
|
855
856
|
spec = latest_spec_for name
|
856
|
-
spec
|
857
|
+
spec && spec.version
|
857
858
|
end
|
858
859
|
|
859
860
|
##
|
@@ -939,11 +940,11 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
|
|
939
940
|
# Suffixes for require-able paths.
|
940
941
|
|
941
942
|
def self.suffixes
|
942
|
-
@suffixes ||= [
|
943
|
-
|
943
|
+
@suffixes ||= ["",
|
944
|
+
".rb",
|
944
945
|
*%w[DLEXT DLEXT2].map do |key|
|
945
946
|
val = RbConfig::CONFIG[key]
|
946
|
-
next unless val
|
947
|
+
next unless val && !val.empty?
|
947
948
|
".#{val}"
|
948
949
|
end,
|
949
950
|
].compact.uniq
|
@@ -969,7 +970,7 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
|
|
969
970
|
# Lazily loads DefaultUserInteraction and returns the default UI.
|
970
971
|
|
971
972
|
def self.ui
|
972
|
-
require_relative
|
973
|
+
require_relative "rubygems/user_interaction"
|
973
974
|
|
974
975
|
Gem::DefaultUserInteraction.ui
|
975
976
|
end
|
@@ -991,7 +992,7 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
|
|
991
992
|
|
992
993
|
def self.win_platform?
|
993
994
|
if @@win_platform.nil?
|
994
|
-
ruby_platform = RbConfig::CONFIG[
|
995
|
+
ruby_platform = RbConfig::CONFIG["host_os"]
|
995
996
|
@@win_platform = !!WIN_PATTERNS.find {|r| ruby_platform =~ r }
|
996
997
|
end
|
997
998
|
|
@@ -1017,7 +1018,6 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
|
|
1017
1018
|
|
1018
1019
|
def self.load_plugin_files(plugins) # :nodoc:
|
1019
1020
|
plugins.each do |plugin|
|
1020
|
-
|
1021
1021
|
# Skip older versions of the GemCutter plugin: Its commands are in
|
1022
1022
|
# RubyGems proper now.
|
1023
1023
|
|
@@ -1071,7 +1071,7 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
|
|
1071
1071
|
def self.use_gemdeps(path = nil)
|
1072
1072
|
raise_exception = path
|
1073
1073
|
|
1074
|
-
path ||= ENV[
|
1074
|
+
path ||= ENV["RUBYGEMS_GEMDEPS"]
|
1075
1075
|
return unless path
|
1076
1076
|
|
1077
1077
|
path = path.dup
|
@@ -1096,7 +1096,7 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
|
|
1096
1096
|
end
|
1097
1097
|
|
1098
1098
|
ENV["BUNDLE_GEMFILE"] ||= File.expand_path(path)
|
1099
|
-
require_relative
|
1099
|
+
require_relative "rubygems/user_interaction"
|
1100
1100
|
require "bundler"
|
1101
1101
|
begin
|
1102
1102
|
Gem::DefaultUserInteraction.use_ui(ui) do
|
@@ -1293,33 +1293,34 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
|
|
1293
1293
|
|
1294
1294
|
MARSHAL_SPEC_DIR = "quick/Marshal.#{Gem.marshal_version}/".freeze
|
1295
1295
|
|
1296
|
-
autoload :BundlerVersionFinder, File.expand_path(
|
1297
|
-
autoload :ConfigFile, File.expand_path(
|
1298
|
-
autoload :Dependency, File.expand_path(
|
1299
|
-
autoload :DependencyList, File.expand_path(
|
1300
|
-
autoload :Installer, File.expand_path(
|
1301
|
-
autoload :Licenses, File.expand_path(
|
1302
|
-
autoload :NameTuple, File.expand_path(
|
1303
|
-
autoload :PathSupport, File.expand_path(
|
1304
|
-
autoload :RequestSet, File.expand_path(
|
1305
|
-
autoload :
|
1306
|
-
autoload :
|
1307
|
-
autoload :
|
1308
|
-
autoload :
|
1309
|
-
autoload :
|
1310
|
-
autoload :
|
1311
|
-
autoload :
|
1296
|
+
autoload :BundlerVersionFinder, File.expand_path("rubygems/bundler_version_finder", __dir__)
|
1297
|
+
autoload :ConfigFile, File.expand_path("rubygems/config_file", __dir__)
|
1298
|
+
autoload :Dependency, File.expand_path("rubygems/dependency", __dir__)
|
1299
|
+
autoload :DependencyList, File.expand_path("rubygems/dependency_list", __dir__)
|
1300
|
+
autoload :Installer, File.expand_path("rubygems/installer", __dir__)
|
1301
|
+
autoload :Licenses, File.expand_path("rubygems/util/licenses", __dir__)
|
1302
|
+
autoload :NameTuple, File.expand_path("rubygems/name_tuple", __dir__)
|
1303
|
+
autoload :PathSupport, File.expand_path("rubygems/path_support", __dir__)
|
1304
|
+
autoload :RequestSet, File.expand_path("rubygems/request_set", __dir__)
|
1305
|
+
autoload :Requirement, File.expand_path("rubygems/requirement", __dir__)
|
1306
|
+
autoload :Resolver, File.expand_path("rubygems/resolver", __dir__)
|
1307
|
+
autoload :Source, File.expand_path("rubygems/source", __dir__)
|
1308
|
+
autoload :SourceList, File.expand_path("rubygems/source_list", __dir__)
|
1309
|
+
autoload :SpecFetcher, File.expand_path("rubygems/spec_fetcher", __dir__)
|
1310
|
+
autoload :SpecificationPolicy, File.expand_path("rubygems/specification_policy", __dir__)
|
1311
|
+
autoload :Util, File.expand_path("rubygems/util", __dir__)
|
1312
|
+
autoload :Version, File.expand_path("rubygems/version", __dir__)
|
1312
1313
|
end
|
1313
1314
|
|
1314
|
-
require_relative
|
1315
|
-
require_relative
|
1315
|
+
require_relative "rubygems/exceptions"
|
1316
|
+
require_relative "rubygems/specification"
|
1316
1317
|
|
1317
1318
|
# REFACTOR: This should be pulled out into some kind of hacks file.
|
1318
1319
|
begin
|
1319
1320
|
##
|
1320
1321
|
# Defaults the operating system (or packager) wants to provide for RubyGems.
|
1321
1322
|
|
1322
|
-
require
|
1323
|
+
require "rubygems/defaults/operating_system"
|
1323
1324
|
rescue LoadError
|
1324
1325
|
# Ignored
|
1325
1326
|
rescue StandardError => e
|
@@ -1344,6 +1345,6 @@ end
|
|
1344
1345
|
# Loads the default specs.
|
1345
1346
|
Gem::Specification.load_defaults
|
1346
1347
|
|
1347
|
-
require_relative
|
1348
|
-
require_relative
|
1349
|
-
require_relative
|
1348
|
+
require_relative "rubygems/core_ext/kernel_gem"
|
1349
|
+
require_relative "rubygems/core_ext/kernel_require"
|
1350
|
+
require_relative "rubygems/core_ext/kernel_warn"
|
data/rubygems-update.gemspec
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = "rubygems-update"
|
5
|
-
s.version = "3.3.
|
5
|
+
s.version = "3.3.22"
|
6
6
|
s.authors = ["Jim Weirich", "Chad Fowler", "Eric Hodel", "Luis Lavena", "Aaron Patterson", "Samuel Giddins", "André Arko", "Evan Phoenix", "Hiroshi SHIBATA"]
|
7
7
|
s.email = ["", "", "drbrain@segment7.net", "luislavena@gmail.com", "aaron@tenderlovemaking.com", "segiddins@segiddins.me", "andre@arko.net", "evan@phx.io", "hsbt@ruby-lang.org"]
|
8
8
|
|
@@ -16,7 +16,7 @@ Gem::Specification.new do |s|
|
|
16
16
|
s.homepage = "https://rubygems.org"
|
17
17
|
s.licenses = ["Ruby", "MIT"]
|
18
18
|
|
19
|
-
s.files = File.read(
|
19
|
+
s.files = File.read("Manifest.txt").split
|
20
20
|
s.executables = ["update_rubygems"]
|
21
21
|
s.require_paths = ["hide_lib_for_update"]
|
22
22
|
s.rdoc_options = ["--main", "README.md", "--title=RubyGems Update Documentation"]
|
data/setup.rb
CHANGED
@@ -7,27 +7,27 @@
|
|
7
7
|
#++
|
8
8
|
|
9
9
|
# Make sure rubygems isn't already loaded.
|
10
|
-
if ENV[
|
11
|
-
ENV.delete
|
10
|
+
if ENV["RUBYOPT"] || defined? Gem
|
11
|
+
ENV.delete "RUBYOPT"
|
12
12
|
|
13
|
-
require
|
14
|
-
cmd = [RbConfig.ruby,
|
13
|
+
require "rbconfig"
|
14
|
+
cmd = [RbConfig.ruby, "--disable-gems", "setup.rb", *ARGV]
|
15
15
|
|
16
16
|
exec(*cmd)
|
17
17
|
end
|
18
18
|
|
19
19
|
Dir.chdir __dir__
|
20
20
|
|
21
|
-
$:.unshift File.expand_path(
|
22
|
-
require
|
23
|
-
require
|
21
|
+
$:.unshift File.expand_path("lib")
|
22
|
+
require "rubygems"
|
23
|
+
require "rubygems/gem_runner"
|
24
24
|
|
25
25
|
Gem::CommandManager.instance.register_command :setup
|
26
26
|
|
27
27
|
args = ARGV.clone
|
28
28
|
if ENV["GEM_PREV_VER"]
|
29
|
-
args = [
|
29
|
+
args = [ "--previous-version", ENV["GEM_PREV_VER"] ] + args
|
30
30
|
end
|
31
|
-
args.unshift
|
31
|
+
args.unshift "setup"
|
32
32
|
|
33
33
|
Gem::GemRunner.new.run args
|