rubygems-update 3.4.17 → 3.4.19
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 +24 -0
- data/Manifest.txt +7 -4
- data/POLICIES.md +2 -2
- data/bundler/CHANGELOG.md +30 -0
- data/bundler/lib/bundler/build_metadata.rb +2 -2
- data/bundler/lib/bundler/cli/binstubs.rb +1 -1
- data/bundler/lib/bundler/cli/info.rb +1 -1
- data/bundler/lib/bundler/cli/install.rb +1 -1
- data/bundler/lib/bundler/cli/outdated.rb +1 -1
- data/bundler/lib/bundler/cli/platform.rb +7 -5
- data/bundler/lib/bundler/definition.rb +25 -20
- data/bundler/lib/bundler/dsl.rb +1 -1
- data/bundler/lib/bundler/env.rb +1 -1
- data/bundler/lib/bundler/fetcher/compact_index.rb +3 -3
- data/bundler/lib/bundler/fetcher/downloader.rb +2 -0
- data/bundler/lib/bundler/fetcher/index.rb +1 -2
- data/bundler/lib/bundler/fetcher.rb +11 -1
- data/bundler/lib/bundler/friendly_errors.rb +1 -1
- data/bundler/lib/bundler/gem_helper.rb +3 -4
- data/bundler/lib/bundler/installer/parallel_installer.rb +1 -1
- data/bundler/lib/bundler/man/bundle-add.1 +1 -1
- data/bundler/lib/bundler/man/bundle-binstubs.1 +1 -1
- data/bundler/lib/bundler/man/bundle-cache.1 +1 -1
- 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 +1 -1
- data/bundler/lib/bundler/man/bundle-console.1 +1 -1
- data/bundler/lib/bundler/man/bundle-doctor.1 +1 -1
- data/bundler/lib/bundler/man/bundle-exec.1 +1 -1
- data/bundler/lib/bundler/man/bundle-gem.1 +1 -1
- data/bundler/lib/bundler/man/bundle-help.1 +1 -1
- data/bundler/lib/bundler/man/bundle-info.1 +3 -3
- data/bundler/lib/bundler/man/bundle-info.1.ronn +3 -3
- data/bundler/lib/bundler/man/bundle-init.1 +1 -1
- data/bundler/lib/bundler/man/bundle-inject.1 +1 -1
- data/bundler/lib/bundler/man/bundle-install.1 +1 -1
- 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 +13 -9
- data/bundler/lib/bundler/man/bundle-outdated.1.ronn +12 -9
- data/bundler/lib/bundler/man/bundle-platform.1 +1 -1
- data/bundler/lib/bundler/man/bundle-plugin.1 +1 -1
- 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 +1 -1
- data/bundler/lib/bundler/man/bundle-viz.1 +1 -1
- data/bundler/lib/bundler/man/bundle.1 +1 -1
- data/bundler/lib/bundler/man/gemfile.5 +14 -1
- data/bundler/lib/bundler/man/gemfile.5.ronn +5 -0
- data/bundler/lib/bundler/plugin/index.rb +1 -1
- data/bundler/lib/bundler/ruby_dsl.rb +6 -0
- data/bundler/lib/bundler/ruby_version.rb +2 -2
- data/bundler/lib/bundler/rubygems_integration.rb +1 -1
- data/bundler/lib/bundler/source/git.rb +7 -0
- data/bundler/lib/bundler/source_list.rb +0 -4
- data/bundler/lib/bundler/templates/newgem/ext/newgem/Cargo.toml.tt +1 -1
- data/bundler/lib/bundler/templates/newgem/ext/newgem/src/lib.rs.tt +4 -4
- data/bundler/lib/bundler/ui/rg_proxy.rb +1 -1
- data/bundler/lib/bundler/vendor/fileutils/lib/fileutils.rb +1 -1
- data/bundler/lib/bundler/vendor/uri/lib/uri/rfc2396_parser.rb +2 -2
- data/bundler/lib/bundler/vendor/uri/lib/uri/rfc3986_parser.rb +1 -1
- data/bundler/lib/bundler/vendor/uri/lib/uri/version.rb +1 -1
- data/bundler/lib/bundler/version.rb +1 -1
- data/bundler/lib/bundler.rb +1 -1
- data/{bin → exe}/gem +2 -0
- data/{bin → exe}/update_rubygems +7 -5
- data/lib/rubygems/available_set.rb +1 -0
- data/lib/rubygems/basic_specification.rb +1 -0
- data/lib/rubygems/bundler_version_finder.rb +1 -1
- data/lib/rubygems/command.rb +1 -0
- data/lib/rubygems/command_manager.rb +1 -0
- data/lib/rubygems/commands/build_command.rb +1 -0
- data/lib/rubygems/commands/cert_command.rb +1 -0
- data/lib/rubygems/commands/check_command.rb +1 -0
- data/lib/rubygems/commands/cleanup_command.rb +1 -0
- data/lib/rubygems/commands/contents_command.rb +1 -0
- data/lib/rubygems/commands/dependency_command.rb +1 -0
- data/lib/rubygems/commands/environment_command.rb +1 -0
- data/lib/rubygems/commands/exec_command.rb +1 -0
- data/lib/rubygems/commands/fetch_command.rb +1 -0
- data/lib/rubygems/commands/generate_index_command.rb +1 -0
- data/lib/rubygems/commands/help_command.rb +1 -0
- data/lib/rubygems/commands/install_command.rb +1 -0
- data/lib/rubygems/commands/list_command.rb +1 -0
- data/lib/rubygems/commands/lock_command.rb +1 -0
- data/lib/rubygems/commands/mirror_command.rb +1 -0
- data/lib/rubygems/commands/open_command.rb +1 -0
- data/lib/rubygems/commands/outdated_command.rb +1 -0
- data/lib/rubygems/commands/owner_command.rb +1 -0
- data/lib/rubygems/commands/pristine_command.rb +1 -0
- data/lib/rubygems/commands/push_command.rb +1 -0
- data/lib/rubygems/commands/query_command.rb +1 -0
- data/lib/rubygems/commands/rdoc_command.rb +1 -0
- data/lib/rubygems/commands/search_command.rb +1 -0
- data/lib/rubygems/commands/server_command.rb +1 -0
- data/lib/rubygems/commands/setup_command.rb +2 -1
- data/lib/rubygems/commands/signin_command.rb +1 -0
- data/lib/rubygems/commands/signout_command.rb +1 -0
- data/lib/rubygems/commands/sources_command.rb +1 -0
- data/lib/rubygems/commands/specification_command.rb +1 -0
- data/lib/rubygems/commands/stale_command.rb +1 -0
- data/lib/rubygems/commands/uninstall_command.rb +1 -0
- data/lib/rubygems/commands/unpack_command.rb +1 -0
- data/lib/rubygems/commands/update_command.rb +1 -0
- data/lib/rubygems/commands/which_command.rb +1 -0
- data/lib/rubygems/commands/yank_command.rb +1 -0
- data/lib/rubygems/config_file.rb +1 -0
- data/lib/rubygems/core_ext/kernel_require.rb +1 -0
- data/lib/rubygems/core_ext/tcpsocket_init.rb +2 -0
- data/lib/rubygems/defaults.rb +1 -0
- data/lib/rubygems/dependency.rb +1 -0
- data/lib/rubygems/dependency_installer.rb +1 -0
- data/lib/rubygems/dependency_list.rb +1 -0
- data/lib/rubygems/deprecate.rb +1 -0
- data/lib/rubygems/doctor.rb +1 -0
- data/lib/rubygems/errors.rb +1 -0
- data/lib/rubygems/ext/build_error.rb +1 -0
- data/lib/rubygems/ext/builder.rb +1 -0
- data/lib/rubygems/ext/configure_builder.rb +1 -0
- data/lib/rubygems/ext/ext_conf_builder.rb +1 -0
- data/lib/rubygems/ext.rb +1 -0
- data/lib/rubygems/gem_runner.rb +1 -0
- data/lib/rubygems/gemcutter_utilities/webauthn_listener/response.rb +163 -0
- data/lib/rubygems/gemcutter_utilities/webauthn_listener.rb +105 -0
- data/lib/rubygems/gemcutter_utilities/webauthn_poller.rb +78 -0
- data/lib/rubygems/gemcutter_utilities.rb +30 -26
- data/lib/rubygems/indexer.rb +1 -0
- data/lib/rubygems/install_default_message.rb +1 -0
- data/lib/rubygems/install_message.rb +1 -0
- data/lib/rubygems/install_update_options.rb +1 -0
- data/lib/rubygems/installer.rb +1 -0
- data/lib/rubygems/local_remote_options.rb +1 -0
- data/lib/rubygems/mock_gem_ui.rb +1 -0
- data/lib/rubygems/name_tuple.rb +1 -0
- data/lib/rubygems/package/digest_io.rb +1 -0
- data/lib/rubygems/package/file_source.rb +1 -0
- data/lib/rubygems/package/io_source.rb +1 -0
- data/lib/rubygems/package/old.rb +1 -0
- data/lib/rubygems/package/source.rb +1 -0
- data/lib/rubygems/package/tar_header.rb +1 -0
- data/lib/rubygems/package/tar_reader/entry.rb +1 -0
- data/lib/rubygems/package/tar_reader.rb +1 -0
- data/lib/rubygems/package/tar_writer.rb +1 -0
- data/lib/rubygems/package.rb +2 -2
- data/lib/rubygems/package_task.rb +1 -0
- data/lib/rubygems/path_support.rb +1 -0
- data/lib/rubygems/platform.rb +1 -0
- data/lib/rubygems/psych_tree.rb +1 -0
- data/lib/rubygems/rdoc.rb +1 -0
- data/lib/rubygems/remote_fetcher.rb +1 -0
- data/lib/rubygems/request/http_pool.rb +1 -0
- data/lib/rubygems/request/https_pool.rb +1 -0
- data/lib/rubygems/request.rb +1 -0
- data/lib/rubygems/request_set/gem_dependency_api.rb +1 -0
- data/lib/rubygems/request_set/lockfile/parser.rb +2 -1
- data/lib/rubygems/request_set/lockfile/tokenizer.rb +2 -0
- data/lib/rubygems/request_set/lockfile.rb +1 -0
- data/lib/rubygems/request_set.rb +1 -0
- data/lib/rubygems/requirement.rb +1 -0
- data/lib/rubygems/resolver/activation_request.rb +1 -0
- data/lib/rubygems/resolver/api_set.rb +1 -0
- data/lib/rubygems/resolver/api_specification.rb +1 -0
- data/lib/rubygems/resolver/best_set.rb +1 -0
- data/lib/rubygems/resolver/composed_set.rb +1 -0
- data/lib/rubygems/resolver/conflict.rb +1 -0
- data/lib/rubygems/resolver/current_set.rb +1 -0
- data/lib/rubygems/resolver/dependency_request.rb +1 -0
- data/lib/rubygems/resolver/git_set.rb +1 -0
- data/lib/rubygems/resolver/git_specification.rb +1 -0
- data/lib/rubygems/resolver/index_set.rb +1 -0
- data/lib/rubygems/resolver/index_specification.rb +1 -0
- data/lib/rubygems/resolver/installed_specification.rb +1 -0
- data/lib/rubygems/resolver/installer_set.rb +1 -0
- data/lib/rubygems/resolver/local_specification.rb +1 -0
- data/lib/rubygems/resolver/lock_set.rb +1 -0
- data/lib/rubygems/resolver/lock_specification.rb +1 -0
- data/lib/rubygems/resolver/molinillo.rb +1 -0
- data/lib/rubygems/resolver/requirement_list.rb +1 -0
- data/lib/rubygems/resolver/set.rb +1 -0
- data/lib/rubygems/resolver/source_set.rb +2 -0
- data/lib/rubygems/resolver/spec_specification.rb +1 -0
- data/lib/rubygems/resolver/specification.rb +1 -0
- data/lib/rubygems/resolver/stats.rb +1 -0
- data/lib/rubygems/resolver/vendor_set.rb +1 -0
- data/lib/rubygems/resolver/vendor_specification.rb +1 -0
- data/lib/rubygems/resolver.rb +1 -0
- data/lib/rubygems/s3_uri_signer.rb +4 -2
- data/lib/rubygems/safe_yaml.rb +2 -0
- data/lib/rubygems/security/policies.rb +1 -0
- data/lib/rubygems/security/policy.rb +1 -0
- data/lib/rubygems/security/signer.rb +1 -0
- data/lib/rubygems/security/trust_dir.rb +1 -0
- data/lib/rubygems/security.rb +1 -0
- data/lib/rubygems/security_option.rb +1 -0
- data/lib/rubygems/source/installed.rb +1 -0
- data/lib/rubygems/source/local.rb +1 -0
- data/lib/rubygems/source/lock.rb +1 -0
- data/lib/rubygems/source/specific_file.rb +1 -0
- data/lib/rubygems/source/vendor.rb +1 -0
- data/lib/rubygems/spec_fetcher.rb +1 -0
- data/lib/rubygems/specification.rb +11 -3
- data/lib/rubygems/specification_policy.rb +2 -0
- data/lib/rubygems/stub_specification.rb +1 -0
- data/lib/rubygems/uninstaller.rb +1 -0
- data/lib/rubygems/user_interaction.rb +4 -2
- data/lib/rubygems/util/licenses.rb +1 -0
- data/lib/rubygems/util/list.rb +1 -0
- data/lib/rubygems/util.rb +1 -0
- data/lib/rubygems/validator.rb +1 -0
- data/lib/rubygems/version_option.rb +1 -0
- data/lib/rubygems.rb +3 -3
- data/rubygems-update.gemspec +5 -4
- data/setup.rb +1 -0
- data/test/rubygems/bad_rake.rb +1 -0
- data/test/rubygems/bundler_test_gem.rb +3 -1
- data/test/rubygems/fake_certlib/openssl.rb +1 -0
- data/test/rubygems/good_rake.rb +1 -0
- data/test/rubygems/helper.rb +1 -1
- data/test/rubygems/installer_test_case.rb +1 -0
- data/test/rubygems/multifactor_auth_utilities.rb +111 -0
- data/test/rubygems/package/tar_test_case.rb +1 -0
- data/test/rubygems/plugin/exception/rubygems_plugin.rb +1 -0
- data/test/rubygems/plugin/load/rubygems_plugin.rb +1 -0
- data/test/rubygems/plugin/standarderror/rubygems_plugin.rb +1 -0
- data/test/rubygems/rubygems/commands/crash_command.rb +1 -0
- data/test/rubygems/rubygems_plugin.rb +1 -0
- data/test/rubygems/simple_gem.rb +1 -0
- data/test/rubygems/specifications/bar-0.0.2.gemspec +2 -0
- data/test/rubygems/specifications/rubyforge-0.0.1.gemspec +2 -0
- data/test/rubygems/test_bundled_ca.rb +1 -0
- data/test/rubygems/test_config.rb +1 -0
- data/test/rubygems/test_deprecate.rb +1 -0
- data/test/rubygems/test_gem.rb +1 -0
- data/test/rubygems/test_gem_available_set.rb +1 -0
- data/test/rubygems/test_gem_bundler_version_finder.rb +1 -0
- data/test/rubygems/test_gem_command.rb +1 -0
- data/test/rubygems/test_gem_command_manager.rb +1 -0
- data/test/rubygems/test_gem_commands_build_command.rb +1 -0
- data/test/rubygems/test_gem_commands_cert_command.rb +1 -0
- data/test/rubygems/test_gem_commands_check_command.rb +1 -0
- data/test/rubygems/test_gem_commands_cleanup_command.rb +1 -0
- data/test/rubygems/test_gem_commands_contents_command.rb +1 -0
- data/test/rubygems/test_gem_commands_dependency_command.rb +1 -0
- data/test/rubygems/test_gem_commands_environment_command.rb +1 -0
- data/test/rubygems/test_gem_commands_exec_command.rb +2 -0
- data/test/rubygems/test_gem_commands_fetch_command.rb +1 -0
- data/test/rubygems/test_gem_commands_generate_index_command.rb +1 -0
- data/test/rubygems/test_gem_commands_help_command.rb +1 -0
- data/test/rubygems/test_gem_commands_info_command.rb +1 -0
- data/test/rubygems/test_gem_commands_install_command.rb +1 -0
- data/test/rubygems/test_gem_commands_list_command.rb +1 -0
- data/test/rubygems/test_gem_commands_lock_command.rb +1 -0
- data/test/rubygems/test_gem_commands_mirror.rb +1 -0
- data/test/rubygems/test_gem_commands_open_command.rb +1 -0
- data/test/rubygems/test_gem_commands_outdated_command.rb +1 -0
- data/test/rubygems/test_gem_commands_owner_command.rb +68 -39
- data/test/rubygems/test_gem_commands_pristine_command.rb +1 -0
- data/test/rubygems/test_gem_commands_push_command.rb +68 -37
- data/test/rubygems/test_gem_commands_query_command.rb +1 -0
- data/test/rubygems/test_gem_commands_search_command.rb +1 -0
- data/test/rubygems/test_gem_commands_server_command.rb +1 -0
- data/test/rubygems/test_gem_commands_setup_command.rb +1 -1
- data/test/rubygems/test_gem_commands_signin_command.rb +1 -0
- data/test/rubygems/test_gem_commands_sources_command.rb +1 -0
- data/test/rubygems/test_gem_commands_specification_command.rb +1 -0
- data/test/rubygems/test_gem_commands_stale_command.rb +1 -0
- data/test/rubygems/test_gem_commands_uninstall_command.rb +1 -0
- data/test/rubygems/test_gem_commands_unpack_command.rb +1 -0
- data/test/rubygems/test_gem_commands_update_command.rb +1 -0
- data/test/rubygems/test_gem_commands_which_command.rb +1 -0
- data/test/rubygems/test_gem_commands_yank_command.rb +76 -41
- data/test/rubygems/test_gem_config_file.rb +1 -0
- data/test/rubygems/test_gem_dependency.rb +1 -0
- data/test/rubygems/test_gem_dependency_installer.rb +1 -0
- data/test/rubygems/test_gem_dependency_list.rb +1 -0
- data/test/rubygems/test_gem_dependency_resolution_error.rb +1 -0
- data/test/rubygems/test_gem_doctor.rb +1 -0
- data/test/rubygems/test_gem_ext_builder.rb +4 -3
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/custom_name.gemspec +2 -0
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/lib/custom_name.rb +2 -0
- data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/rust_ruby_example.gemspec +2 -0
- data/test/rubygems/test_gem_ext_cargo_builder.rb +2 -2
- data/test/rubygems/test_gem_ext_cargo_builder_link_flag_converter.rb +1 -0
- data/test/rubygems/test_gem_ext_cmake_builder.rb +1 -0
- data/test/rubygems/test_gem_ext_configure_builder.rb +1 -0
- data/test/rubygems/test_gem_ext_rake_builder.rb +1 -0
- data/test/rubygems/test_gem_gem_runner.rb +1 -0
- data/test/rubygems/test_gem_gemcutter_utilities.rb +106 -92
- data/test/rubygems/test_gem_impossible_dependencies_error.rb +1 -0
- data/test/rubygems/test_gem_indexer.rb +1 -0
- data/test/rubygems/test_gem_install_update_options.rb +1 -0
- data/test/rubygems/test_gem_installer.rb +2 -1
- data/test/rubygems/test_gem_local_remote_options.rb +1 -0
- data/test/rubygems/test_gem_name_tuple.rb +1 -0
- data/test/rubygems/test_gem_package_old.rb +1 -0
- data/test/rubygems/test_gem_package_tar_header.rb +1 -0
- data/test/rubygems/test_gem_package_tar_reader.rb +1 -0
- data/test/rubygems/test_gem_package_tar_reader_entry.rb +1 -0
- data/test/rubygems/test_gem_package_tar_writer.rb +1 -0
- data/test/rubygems/test_gem_package_task.rb +1 -0
- data/test/rubygems/test_gem_path_support.rb +1 -0
- data/test/rubygems/test_gem_platform.rb +1 -0
- data/test/rubygems/test_gem_rdoc.rb +1 -0
- data/test/rubygems/test_gem_remote_fetcher.rb +1 -0
- data/test/rubygems/test_gem_request.rb +1 -0
- data/test/rubygems/test_gem_request_connection_pools.rb +1 -0
- data/test/rubygems/test_gem_request_set.rb +1 -0
- data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +1 -0
- data/test/rubygems/test_gem_request_set_lockfile.rb +1 -0
- data/test/rubygems/test_gem_request_set_lockfile_parser.rb +1 -0
- data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +1 -0
- data/test/rubygems/test_gem_requirement.rb +1 -0
- data/test/rubygems/test_gem_resolver.rb +1 -0
- data/test/rubygems/test_gem_resolver_activation_request.rb +1 -0
- data/test/rubygems/test_gem_resolver_api_set.rb +1 -0
- data/test/rubygems/test_gem_resolver_api_specification.rb +1 -0
- data/test/rubygems/test_gem_resolver_best_set.rb +1 -0
- data/test/rubygems/test_gem_resolver_composed_set.rb +1 -0
- data/test/rubygems/test_gem_resolver_conflict.rb +1 -0
- data/test/rubygems/test_gem_resolver_dependency_request.rb +1 -0
- data/test/rubygems/test_gem_resolver_git_set.rb +1 -0
- data/test/rubygems/test_gem_resolver_git_specification.rb +2 -1
- data/test/rubygems/test_gem_resolver_index_set.rb +1 -0
- data/test/rubygems/test_gem_resolver_index_specification.rb +1 -0
- data/test/rubygems/test_gem_resolver_installed_specification.rb +1 -0
- data/test/rubygems/test_gem_resolver_installer_set.rb +1 -0
- data/test/rubygems/test_gem_resolver_local_specification.rb +1 -0
- data/test/rubygems/test_gem_resolver_lock_set.rb +1 -0
- data/test/rubygems/test_gem_resolver_lock_specification.rb +1 -0
- data/test/rubygems/test_gem_resolver_requirement_list.rb +1 -0
- data/test/rubygems/test_gem_resolver_specification.rb +1 -0
- data/test/rubygems/test_gem_resolver_vendor_set.rb +1 -0
- data/test/rubygems/test_gem_resolver_vendor_specification.rb +1 -0
- data/test/rubygems/test_gem_security.rb +1 -0
- data/test/rubygems/test_gem_security_signer.rb +1 -0
- data/test/rubygems/test_gem_security_trust_dir.rb +1 -0
- data/test/rubygems/test_gem_silent_ui.rb +1 -0
- data/test/rubygems/test_gem_source.rb +1 -0
- data/test/rubygems/test_gem_source_fetch_problem.rb +1 -0
- data/test/rubygems/test_gem_source_git.rb +1 -0
- data/test/rubygems/test_gem_source_installed.rb +1 -0
- data/test/rubygems/test_gem_source_list.rb +1 -0
- data/test/rubygems/test_gem_source_local.rb +1 -0
- data/test/rubygems/test_gem_source_lock.rb +1 -0
- data/test/rubygems/test_gem_source_specific_file.rb +1 -0
- data/test/rubygems/test_gem_source_subpath_problem.rb +1 -0
- data/test/rubygems/test_gem_source_vendor.rb +1 -0
- data/test/rubygems/test_gem_spec_fetcher.rb +1 -0
- data/test/rubygems/test_gem_specification.rb +9 -0
- data/test/rubygems/test_gem_stream_ui.rb +34 -3
- data/test/rubygems/test_gem_stub_specification.rb +1 -0
- data/test/rubygems/test_gem_text.rb +1 -0
- data/test/rubygems/test_gem_uninstaller.rb +1 -0
- data/test/rubygems/test_gem_unsatisfiable_dependency_error.rb +1 -0
- data/test/rubygems/test_gem_update_suggestion.rb +1 -0
- data/test/rubygems/test_gem_uri.rb +2 -0
- data/test/rubygems/test_gem_uri_formatter.rb +1 -0
- data/test/rubygems/test_gem_util.rb +1 -0
- data/test/rubygems/test_gem_version.rb +1 -0
- data/test/rubygems/test_gem_version_option.rb +1 -0
- data/test/rubygems/test_kernel.rb +1 -0
- data/test/rubygems/test_remote_fetch_error.rb +1 -0
- data/test/rubygems/test_require.rb +1 -0
- data/test/rubygems/test_rubygems.rb +2 -0
- data/test/rubygems/test_webauthn_listener.rb +29 -6
- data/test/rubygems/test_webauthn_listener_response.rb +8 -8
- data/test/rubygems/test_webauthn_poller.rb +124 -0
- data/test/rubygems/utilities.rb +1 -0
- data/test/test_changelog_generator.rb +1 -1
- metadata +39 -10
- data/lib/rubygems/webauthn_listener/response.rb +0 -161
- data/lib/rubygems/webauthn_listener.rb +0 -92
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7d821097ecc787b3a4c9988ecc3caec6ed08c5b70d1f8e49e1a0d397aa9c058d
|
4
|
+
data.tar.gz: fb2d20653a6a53e6d0ea35b0523f484fc6105038aa4c1255792fb3d19e902718
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d0979e046f97714544683c39a73bd4a8c782340d96955d2b985d026e0417b0369c0e77ee60ef4622da658676fef48d0ce21a9d40286480a00be8e2fbbbbdf1d3
|
7
|
+
data.tar.gz: c2e09064ca39a839a13f71885710e8102c52b4e601233c01f478c7f14ee74ec5d45695ddcf22e0e4ceaf35634698af00d029cd73c75665b4231f0aac891bd288
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,27 @@
|
|
1
|
+
# 3.4.19 / 2023-08-17
|
2
|
+
|
3
|
+
## Enhancements:
|
4
|
+
|
5
|
+
* Installs bundler 2.4.19 as a default gem.
|
6
|
+
|
7
|
+
## Performance:
|
8
|
+
|
9
|
+
* Speedup building docs when updating rubygems. Pull request
|
10
|
+
[#6864](https://github.com/rubygems/rubygems/pull/6864) by
|
11
|
+
deivid-rodriguez
|
12
|
+
|
13
|
+
# 3.4.18 / 2023-08-02
|
14
|
+
|
15
|
+
## Enhancements:
|
16
|
+
|
17
|
+
* Add poller to fetch WebAuthn OTP. Pull request
|
18
|
+
[#6774](https://github.com/rubygems/rubygems/pull/6774) by jenshenny
|
19
|
+
* Remove side effects when unmarshaling old `Gem::Specification`. Pull
|
20
|
+
request [#6825](https://github.com/rubygems/rubygems/pull/6825) by nobu
|
21
|
+
* Ship rubygems executables in `exe` folder. Pull request
|
22
|
+
[#6704](https://github.com/rubygems/rubygems/pull/6704) by hsbt
|
23
|
+
* Installs bundler 2.4.18 as a default gem.
|
24
|
+
|
1
25
|
# 3.4.17 / 2023-07-14
|
2
26
|
|
3
27
|
## Enhancements:
|
data/Manifest.txt
CHANGED
@@ -8,8 +8,6 @@ Manifest.txt
|
|
8
8
|
POLICIES.md
|
9
9
|
README.md
|
10
10
|
UPGRADING.md
|
11
|
-
bin/gem
|
12
|
-
bin/update_rubygems
|
13
11
|
bundler/CHANGELOG.md
|
14
12
|
bundler/LICENSE.md
|
15
13
|
bundler/README.md
|
@@ -335,6 +333,8 @@ bundler/lib/bundler/version.rb
|
|
335
333
|
bundler/lib/bundler/vlad.rb
|
336
334
|
bundler/lib/bundler/worker.rb
|
337
335
|
bundler/lib/bundler/yaml_serializer.rb
|
336
|
+
exe/gem
|
337
|
+
exe/update_rubygems
|
338
338
|
hide_lib_for_update/note.txt
|
339
339
|
lib/rubygems.rb
|
340
340
|
lib/rubygems/available_set.rb
|
@@ -403,6 +403,9 @@ lib/rubygems/ext/ext_conf_builder.rb
|
|
403
403
|
lib/rubygems/ext/rake_builder.rb
|
404
404
|
lib/rubygems/gem_runner.rb
|
405
405
|
lib/rubygems/gemcutter_utilities.rb
|
406
|
+
lib/rubygems/gemcutter_utilities/webauthn_listener.rb
|
407
|
+
lib/rubygems/gemcutter_utilities/webauthn_listener/response.rb
|
408
|
+
lib/rubygems/gemcutter_utilities/webauthn_poller.rb
|
406
409
|
lib/rubygems/indexer.rb
|
407
410
|
lib/rubygems/install_default_message.rb
|
408
411
|
lib/rubygems/install_message.rb
|
@@ -542,8 +545,6 @@ lib/rubygems/util/list.rb
|
|
542
545
|
lib/rubygems/validator.rb
|
543
546
|
lib/rubygems/version.rb
|
544
547
|
lib/rubygems/version_option.rb
|
545
|
-
lib/rubygems/webauthn_listener.rb
|
546
|
-
lib/rubygems/webauthn_listener/response.rb
|
547
548
|
rubygems-update.gemspec
|
548
549
|
setup.rb
|
549
550
|
test/rubygems/alternate_cert.pem
|
@@ -583,6 +584,7 @@ test/rubygems/invalid_signer_cert_32.pem
|
|
583
584
|
test/rubygems/invalidchild_cert.pem
|
584
585
|
test/rubygems/invalidchild_cert_32.pem
|
585
586
|
test/rubygems/invalidchild_key.pem
|
587
|
+
test/rubygems/multifactor_auth_utilities.rb
|
586
588
|
test/rubygems/package/tar_test_case.rb
|
587
589
|
test/rubygems/packages/Bluebie-legs-0.6.2.gem
|
588
590
|
test/rubygems/packages/ascii_binder-0.1.10.1.gem
|
@@ -759,6 +761,7 @@ test/rubygems/test_require.rb
|
|
759
761
|
test/rubygems/test_rubygems.rb
|
760
762
|
test/rubygems/test_webauthn_listener.rb
|
761
763
|
test/rubygems/test_webauthn_listener_response.rb
|
764
|
+
test/rubygems/test_webauthn_poller.rb
|
762
765
|
test/rubygems/utilities.rb
|
763
766
|
test/rubygems/wrong_key_cert.pem
|
764
767
|
test/rubygems/wrong_key_cert_32.pem
|
data/POLICIES.md
CHANGED
@@ -95,7 +95,7 @@ and not get any conflicts.
|
|
95
95
|
changelogs into master.
|
96
96
|
* Once CI passes, merge the release PR, switch to the stable branch and pull
|
97
97
|
the PR just merged.
|
98
|
-
* Release `bundler` with `
|
98
|
+
* Release `bundler` with `rake bundler:release`.
|
99
99
|
* Release `rubygems` with `rake release`.
|
100
100
|
|
101
101
|
### Steps for minor and major releases
|
@@ -112,7 +112,7 @@ and not get any conflicts.
|
|
112
112
|
to the master PR.
|
113
113
|
* Once CI passes, merge the release PR, switch to the stable branch and pull
|
114
114
|
the PR just merged.
|
115
|
-
* Release `bundler` with `
|
115
|
+
* Release `bundler` with `rake bundler:release`.
|
116
116
|
* Release `rubygems` with `rake release`.
|
117
117
|
|
118
118
|
## Committer Access
|
data/bundler/CHANGELOG.md
CHANGED
@@ -1,3 +1,33 @@
|
|
1
|
+
# 2.4.19 (August 17, 2023)
|
2
|
+
|
3
|
+
## Enhancements:
|
4
|
+
|
5
|
+
- Add `file` option to `ruby` method in Gemfile [#6876](https://github.com/rubygems/rubygems/pull/6876)
|
6
|
+
- Show better error when PAT can't authenticate to a private server [#6871](https://github.com/rubygems/rubygems/pull/6871)
|
7
|
+
- Don't fallback to old dependency API when bad credentials are configured [#6869](https://github.com/rubygems/rubygems/pull/6869)
|
8
|
+
|
9
|
+
## Bug fixes:
|
10
|
+
|
11
|
+
- Fix git source conservativeness [#6850](https://github.com/rubygems/rubygems/pull/6850)
|
12
|
+
|
13
|
+
## Documentation:
|
14
|
+
|
15
|
+
- Clarify that `bundle info` takes a gem name [#6875](https://github.com/rubygems/rubygems/pull/6875)
|
16
|
+
|
17
|
+
# 2.4.18 (August 2, 2023)
|
18
|
+
|
19
|
+
## Security:
|
20
|
+
|
21
|
+
- Merge URI-0.12.2 for Bundler [#6779](https://github.com/rubygems/rubygems/pull/6779)
|
22
|
+
|
23
|
+
## Enhancements:
|
24
|
+
|
25
|
+
- Update Magnus version in Rust extension gem template [#6843](https://github.com/rubygems/rubygems/pull/6843)
|
26
|
+
|
27
|
+
## Documentation:
|
28
|
+
|
29
|
+
- Update bundle-outdated(1) man to use table output [#6833](https://github.com/rubygems/rubygems/pull/6833)
|
30
|
+
|
1
31
|
# 2.4.17 (July 14, 2023)
|
2
32
|
|
3
33
|
## Enhancements:
|
@@ -4,8 +4,8 @@ module Bundler
|
|
4
4
|
# Represents metadata from when the Bundler gem was built.
|
5
5
|
module BuildMetadata
|
6
6
|
# begin ivars
|
7
|
-
@built_at = "2023-
|
8
|
-
@git_commit_sha = "
|
7
|
+
@built_at = "2023-08-17".freeze
|
8
|
+
@git_commit_sha = "86f98098e3".freeze
|
9
9
|
@release = true
|
10
10
|
# end ivars
|
11
11
|
|
@@ -11,7 +11,7 @@ module Bundler
|
|
11
11
|
def run
|
12
12
|
Bundler.definition.validate_runtime!
|
13
13
|
path_option = options["path"]
|
14
|
-
path_option = nil if path_option
|
14
|
+
path_option = nil if path_option&.empty?
|
15
15
|
Bundler.settings.set_command_option :bin, path_option if options["path"]
|
16
16
|
Bundler.settings.set_command_option_if_given :shebang, options["shebang"]
|
17
17
|
installer = Installer.new(Bundler.root, Bundler.definition)
|
@@ -33,7 +33,7 @@ module Bundler
|
|
33
33
|
def default_gem_spec(gem_name)
|
34
34
|
return unless Gem::Specification.respond_to?(:find_all_by_name)
|
35
35
|
gem_spec = Gem::Specification.find_all_by_name(gem_name).last
|
36
|
-
return gem_spec if gem_spec
|
36
|
+
return gem_spec if gem_spec&.default_gem?
|
37
37
|
end
|
38
38
|
|
39
39
|
def spec_not_found(gem_name)
|
@@ -154,7 +154,7 @@ module Bundler
|
|
154
154
|
end
|
155
155
|
|
156
156
|
bin_option = options["binstubs"]
|
157
|
-
bin_option = nil if bin_option
|
157
|
+
bin_option = nil if bin_option&.empty?
|
158
158
|
Bundler.settings.set_command_option :bin, bin_option if options["binstubs"]
|
159
159
|
|
160
160
|
Bundler.settings.set_command_option_if_given :shebang, options["shebang"]
|
@@ -8,12 +8,12 @@ module Bundler
|
|
8
8
|
end
|
9
9
|
|
10
10
|
def run
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
locked_ruby_version || gemfile_ruby_version]
|
11
|
+
ruby_version = if Bundler.locked_gems
|
12
|
+
Bundler.locked_gems.ruby_version&.gsub(/p\d+\Z/, "")
|
13
|
+
else
|
14
|
+
Bundler.definition.ruby_version&.single_version_string
|
16
15
|
end
|
16
|
+
|
17
17
|
output = []
|
18
18
|
|
19
19
|
if options[:ruby]
|
@@ -23,6 +23,8 @@ module Bundler
|
|
23
23
|
output << "No ruby version specified"
|
24
24
|
end
|
25
25
|
else
|
26
|
+
platforms = Bundler.definition.platforms.map {|p| "* #{p}" }
|
27
|
+
|
26
28
|
output << "Your platform is: #{Gem::Platform.local}"
|
27
29
|
output << "Your app has gems that work on these platforms:\n#{platforms.join("\n")}"
|
28
30
|
|
@@ -390,8 +390,8 @@ module Bundler
|
|
390
390
|
both_sources.each do |name, (dep, lock_dep)|
|
391
391
|
next if dep.nil? || lock_dep.nil?
|
392
392
|
|
393
|
-
gemfile_source = dep.source ||
|
394
|
-
lock_source = lock_dep.source ||
|
393
|
+
gemfile_source = dep.source || default_source
|
394
|
+
lock_source = lock_dep.source || default_source
|
395
395
|
next if lock_source.include?(gemfile_source)
|
396
396
|
|
397
397
|
gemfile_source_name = dep.source ? gemfile_source.to_gemfile : "no specified source"
|
@@ -671,8 +671,8 @@ module Bundler
|
|
671
671
|
|
672
672
|
Bundler.settings.local_overrides.map do |k, v|
|
673
673
|
spec = @dependencies.find {|s| s.name == k }
|
674
|
-
source = spec
|
675
|
-
if source
|
674
|
+
source = spec&.source
|
675
|
+
if source&.respond_to?(:local_override!)
|
676
676
|
source.unlock! if @unlock[:gems].include?(spec.name)
|
677
677
|
locals << [source, source.local_override!(v)]
|
678
678
|
end
|
@@ -805,26 +805,27 @@ module Bundler
|
|
805
805
|
|
806
806
|
def converge_specs(specs)
|
807
807
|
converged = []
|
808
|
-
|
809
|
-
deps = @dependencies.select do |dep|
|
810
|
-
specs[dep].any? {|s| s.satisfies?(dep) && (!dep.source || s.source.include?(dep.source)) }
|
811
|
-
end
|
808
|
+
deps = []
|
812
809
|
|
813
810
|
@specs_that_changed_sources = []
|
814
811
|
|
815
812
|
specs.each do |s|
|
813
|
+
name = s.name
|
816
814
|
dep = @dependencies.find {|d| s.satisfies?(d) }
|
815
|
+
lockfile_source = s.source
|
817
816
|
|
818
|
-
|
819
|
-
|
820
|
-
gemfile_source = dep.source
|
821
|
-
lockfile_source = s.source
|
817
|
+
if dep
|
818
|
+
gemfile_source = dep.source || default_source
|
822
819
|
|
823
820
|
@specs_that_changed_sources << s if gemfile_source != lockfile_source
|
821
|
+
deps << dep if !dep.source || lockfile_source.include?(dep.source)
|
822
|
+
@unlock[:gems] << name if lockfile_source.include?(dep.source) && lockfile_source != gemfile_source
|
824
823
|
|
825
|
-
|
824
|
+
# Replace the locked dependency's source with the equivalent source from the Gemfile
|
825
|
+
s.source = gemfile_source
|
826
826
|
else
|
827
|
-
|
827
|
+
# Replace the locked dependency's source with the default source, if the locked source is no longer in the Gemfile
|
828
|
+
s.source = default_source unless sources.get(lockfile_source)
|
828
829
|
end
|
829
830
|
|
830
831
|
next if @unlock[:sources].include?(s.source.name)
|
@@ -833,9 +834,9 @@ module Bundler
|
|
833
834
|
if s.source.instance_of?(Source::Path) || s.source.instance_of?(Source::Gemspec)
|
834
835
|
new_specs = begin
|
835
836
|
s.source.specs
|
836
|
-
rescue PathError
|
837
|
+
rescue PathError
|
837
838
|
# if we won't need the source (according to the lockfile),
|
838
|
-
# don't error if the path
|
839
|
+
# don't error if the path source isn't available
|
839
840
|
next if specs.
|
840
841
|
for(requested_dependencies, false).
|
841
842
|
none? {|locked_spec| locked_spec.source == s.source }
|
@@ -849,11 +850,11 @@ module Bundler
|
|
849
850
|
else
|
850
851
|
# If the spec is no longer in the path source, unlock it. This
|
851
852
|
# commonly happens if the version changed in the gemspec
|
852
|
-
@unlock[:gems] <<
|
853
|
+
@unlock[:gems] << name
|
853
854
|
end
|
854
855
|
end
|
855
856
|
|
856
|
-
if dep.nil? && requested_dependencies.find {|d|
|
857
|
+
if dep.nil? && requested_dependencies.find {|d| name == d.name }
|
857
858
|
@unlock[:gems] << s.name
|
858
859
|
else
|
859
860
|
converged << s
|
@@ -877,7 +878,7 @@ module Bundler
|
|
877
878
|
source_requirements = if precompute_source_requirements_for_indirect_dependencies?
|
878
879
|
all_requirements = source_map.all_requirements
|
879
880
|
all_requirements = pin_locally_available_names(all_requirements) if @prefer_local
|
880
|
-
{ :default =>
|
881
|
+
{ :default => default_source }.merge(all_requirements)
|
881
882
|
else
|
882
883
|
{ :default => Source::RubygemsAggregate.new(sources, source_map) }.merge(source_map.direct_requirements)
|
883
884
|
end
|
@@ -886,7 +887,7 @@ module Bundler
|
|
886
887
|
source_requirements[dep.name] = sources.metadata_source
|
887
888
|
end
|
888
889
|
|
889
|
-
default_bundler_source = source_requirements["bundler"] ||
|
890
|
+
default_bundler_source = source_requirements["bundler"] || default_source
|
890
891
|
|
891
892
|
if @unlocking_bundler
|
892
893
|
default_bundler_source.add_dependency_names("bundler")
|
@@ -899,6 +900,10 @@ module Bundler
|
|
899
900
|
source_requirements
|
900
901
|
end
|
901
902
|
|
903
|
+
def default_source
|
904
|
+
sources.default_source
|
905
|
+
end
|
906
|
+
|
902
907
|
def verify_changed_sources!
|
903
908
|
@specs_that_changed_sources.each do |s|
|
904
909
|
if s.source.specs.search(s.name).empty?
|
data/bundler/lib/bundler/dsl.rb
CHANGED
@@ -41,7 +41,7 @@ module Bundler
|
|
41
41
|
end
|
42
42
|
|
43
43
|
def eval_gemfile(gemfile, contents = nil)
|
44
|
-
expanded_gemfile_path = Pathname.new(gemfile).expand_path(@gemfile
|
44
|
+
expanded_gemfile_path = Pathname.new(gemfile).expand_path(@gemfile&.parent)
|
45
45
|
original_gemfile = @gemfile
|
46
46
|
@gemfile = expanded_gemfile_path
|
47
47
|
@gemfiles << expanded_gemfile_path
|
data/bundler/lib/bundler/env.rb
CHANGED
@@ -122,7 +122,7 @@ module Bundler
|
|
122
122
|
specs = Bundler.rubygems.find_name(name)
|
123
123
|
out << [" #{name}", "(#{specs.map(&:version).join(",")})"] unless specs.empty?
|
124
124
|
end
|
125
|
-
if (exe = caller.last.split(":").first)
|
125
|
+
if (exe = caller.last.split(":").first)&.match? %r{(exe|bin)/bundler?\z}
|
126
126
|
shebang = File.read(exe).lines.first
|
127
127
|
shebang.sub!(/^#!\s*/, "")
|
128
128
|
unless shebang.start_with?(Gem.ruby, "/usr/bin/env ruby")
|
@@ -15,7 +15,7 @@ module Bundler
|
|
15
15
|
method.bind(self).call(*args, &blk)
|
16
16
|
rescue NetworkDownError, CompactIndexClient::Updater::MisMatchedChecksumError => e
|
17
17
|
raise HTTPError, e.message
|
18
|
-
rescue AuthenticationRequiredError
|
18
|
+
rescue AuthenticationRequiredError, BadAuthenticationError
|
19
19
|
# Fail since we got a 401 from the server.
|
20
20
|
raise
|
21
21
|
rescue HTTPError => e
|
@@ -40,7 +40,7 @@ module Bundler
|
|
40
40
|
deps = begin
|
41
41
|
parallel_compact_index_client.dependencies(remaining_gems)
|
42
42
|
rescue TooManyRequestsError
|
43
|
-
@bundle_worker
|
43
|
+
@bundle_worker&.stop
|
44
44
|
@bundle_worker = nil # reset it. Not sure if necessary
|
45
45
|
serial_compact_index_client.dependencies(remaining_gems)
|
46
46
|
end
|
@@ -49,7 +49,7 @@ module Bundler
|
|
49
49
|
complete_gems.concat(deps.map(&:first)).uniq!
|
50
50
|
remaining_gems = next_gems - complete_gems
|
51
51
|
end
|
52
|
-
@bundle_worker
|
52
|
+
@bundle_worker&.stop
|
53
53
|
@bundle_worker = nil # reset it. Not sure if necessary
|
54
54
|
|
55
55
|
gem_info
|
@@ -41,6 +41,8 @@ module Bundler
|
|
41
41
|
when Net::HTTPUnauthorized
|
42
42
|
raise BadAuthenticationError, uri.host if uri.userinfo
|
43
43
|
raise AuthenticationRequiredError, uri.host
|
44
|
+
when Net::HTTPForbidden
|
45
|
+
raise AuthenticationForbiddenError, uri.host
|
44
46
|
when Net::HTTPNotFound
|
45
47
|
raise FallbackError, "Net::HTTPNotFound: #{filtered_uri}"
|
46
48
|
else
|
@@ -15,8 +15,7 @@ module Bundler
|
|
15
15
|
raise BadAuthenticationError, remote_uri if remote_uri.userinfo
|
16
16
|
raise AuthenticationRequiredError, remote_uri
|
17
17
|
when /403/
|
18
|
-
raise
|
19
|
-
raise AuthenticationRequiredError, remote_uri
|
18
|
+
raise AuthenticationForbiddenError, remote_uri
|
20
19
|
else
|
21
20
|
raise HTTPError, "Could not fetch specs from #{display_uri} due to underlying error <#{e.message}>"
|
22
21
|
end
|
@@ -61,6 +61,16 @@ module Bundler
|
|
61
61
|
end
|
62
62
|
end
|
63
63
|
|
64
|
+
# This error is raised if HTTP authentication is correct, but lacks
|
65
|
+
# necessary permissions.
|
66
|
+
class AuthenticationForbiddenError < HTTPError
|
67
|
+
def initialize(remote_uri)
|
68
|
+
remote_uri = filter_uri(remote_uri)
|
69
|
+
super "Access token could not be authenticated for #{remote_uri}.\n" \
|
70
|
+
"Make sure it's valid and has the necessary scopes configured."
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
64
74
|
# Exceptions classes that should bypass retry attempts. If your password didn't work the
|
65
75
|
# first time, it's not going to the third time.
|
66
76
|
NET_ERRORS = [:HTTPBadGateway, :HTTPBadRequest, :HTTPFailedDependency,
|
@@ -70,7 +80,7 @@ module Bundler
|
|
70
80
|
:HTTPRequestURITooLong, :HTTPUnauthorized, :HTTPUnprocessableEntity,
|
71
81
|
:HTTPUnsupportedMediaType, :HTTPVersionNotSupported].freeze
|
72
82
|
FAIL_ERRORS = begin
|
73
|
-
fail_errors = [AuthenticationRequiredError, BadAuthenticationError, FallbackError]
|
83
|
+
fail_errors = [AuthenticationRequiredError, BadAuthenticationError, AuthenticationForbiddenError, FallbackError]
|
74
84
|
fail_errors << Gem::Requirement::BadRequirementError
|
75
85
|
fail_errors.concat(NET_ERRORS.map {|e| Net.const_get(e) })
|
76
86
|
end.freeze
|
@@ -21,7 +21,7 @@ module Bundler
|
|
21
21
|
|
22
22
|
def gemspec(&block)
|
23
23
|
gemspec = instance.gemspec
|
24
|
-
block
|
24
|
+
block&.call(gemspec)
|
25
25
|
gemspec
|
26
26
|
end
|
27
27
|
end
|
@@ -152,8 +152,7 @@ module Bundler
|
|
152
152
|
|
153
153
|
def gem_push_host
|
154
154
|
env_rubygems_host = ENV["RUBYGEMS_HOST"]
|
155
|
-
env_rubygems_host = nil if
|
156
|
-
env_rubygems_host && env_rubygems_host.empty?
|
155
|
+
env_rubygems_host = nil if env_rubygems_host&.empty?
|
157
156
|
|
158
157
|
allowed_push_host || env_rubygems_host || "rubygems.org"
|
159
158
|
end
|
@@ -218,7 +217,7 @@ module Bundler
|
|
218
217
|
SharedHelpers.chdir(base) do
|
219
218
|
outbuf = IO.popen(cmd, :err => [:child, :out], &:read)
|
220
219
|
status = $?
|
221
|
-
block
|
220
|
+
block&.call(outbuf) if status.success?
|
222
221
|
[outbuf, status]
|
223
222
|
end
|
224
223
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-CACHE" "1" "
|
4
|
+
.TH "BUNDLE\-CACHE" "1" "August 2023" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-cache\fR \- Package your needed \fB\.gem\fR files into your application
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-CHECK" "1" "
|
4
|
+
.TH "BUNDLE\-CHECK" "1" "August 2023" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-check\fR \- Verifies if dependencies are satisfied by installed gems
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-CONSOLE" "1" "
|
4
|
+
.TH "BUNDLE\-CONSOLE" "1" "August 2023" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-console\fR \- Deprecated way to open an IRB session with the bundle pre\-loaded
|
@@ -1,16 +1,16 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-INFO" "1" "
|
4
|
+
.TH "BUNDLE\-INFO" "1" "August 2023" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-info\fR \- Show information for the given gem in your bundle
|
8
8
|
.
|
9
9
|
.SH "SYNOPSIS"
|
10
|
-
\fBbundle info\fR [
|
10
|
+
\fBbundle info\fR [GEM_NAME] [\-\-path]
|
11
11
|
.
|
12
12
|
.SH "DESCRIPTION"
|
13
|
-
|
13
|
+
Given a gem name present in your bundle, print the basic information about it such as homepage, version, path and summary\.
|
14
14
|
.
|
15
15
|
.SH "OPTIONS"
|
16
16
|
.
|
@@ -3,13 +3,13 @@ bundle-info(1) -- Show information for the given gem in your bundle
|
|
3
3
|
|
4
4
|
## SYNOPSIS
|
5
5
|
|
6
|
-
`bundle info` [
|
6
|
+
`bundle info` [GEM_NAME]
|
7
7
|
[--path]
|
8
8
|
|
9
9
|
## DESCRIPTION
|
10
10
|
|
11
|
-
|
12
|
-
path and summary.
|
11
|
+
Given a gem name present in your bundle, print the basic information about it
|
12
|
+
such as homepage, version, path and summary.
|
13
13
|
|
14
14
|
## OPTIONS
|
15
15
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-INIT" "1" "
|
4
|
+
.TH "BUNDLE\-INIT" "1" "August 2023" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-init\fR \- Generates a Gemfile into the current working directory
|