rubygems-update 3.1.1 → 3.2.0.rc.2
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/CODE_OF_CONDUCT.md +55 -19
- data/CONTRIBUTING.md +25 -11
- data/History.txt +389 -144
- data/Manifest.txt +37 -73
- data/POLICIES.md +2 -9
- data/README.md +5 -5
- data/Rakefile +47 -82
- data/bin/update_rubygems +2 -2
- data/bundler/CHANGELOG.md +1546 -1414
- data/bundler/README.md +6 -8
- data/bundler/UPGRADING.md +18 -32
- data/bundler/bundler.gemspec +3 -3
- data/bundler/exe/bundle +3 -0
- data/bundler/lib/bundler.rb +21 -7
- data/bundler/lib/bundler/build_metadata.rb +4 -12
- data/bundler/lib/bundler/cli.rb +54 -20
- data/bundler/lib/bundler/cli/add.rb +1 -1
- data/bundler/lib/bundler/cli/cache.rb +1 -7
- data/bundler/lib/bundler/cli/clean.rb +1 -1
- data/bundler/lib/bundler/cli/common.rb +14 -0
- data/bundler/lib/bundler/cli/console.rb +1 -1
- data/bundler/lib/bundler/cli/doctor.rb +1 -1
- data/bundler/lib/bundler/cli/exec.rb +4 -13
- data/bundler/lib/bundler/cli/fund.rb +36 -0
- data/bundler/lib/bundler/cli/gem.rb +84 -11
- data/bundler/lib/bundler/cli/info.rb +15 -4
- data/bundler/lib/bundler/cli/init.rb +2 -2
- data/bundler/lib/bundler/cli/inject.rb +1 -1
- data/bundler/lib/bundler/cli/install.rb +12 -18
- data/bundler/lib/bundler/cli/issue.rb +2 -2
- data/bundler/lib/bundler/cli/list.rb +12 -10
- data/bundler/lib/bundler/cli/outdated.rb +89 -66
- data/bundler/lib/bundler/cli/plugin.rb +10 -0
- data/bundler/lib/bundler/cli/pristine.rb +5 -0
- data/bundler/lib/bundler/cli/show.rb +1 -1
- data/bundler/lib/bundler/cli/update.rb +2 -0
- data/bundler/lib/bundler/compact_index_client.rb +1 -1
- data/bundler/lib/bundler/compact_index_client/cache.rb +1 -1
- data/bundler/lib/bundler/definition.rb +51 -60
- data/bundler/lib/bundler/dep_proxy.rb +1 -1
- data/bundler/lib/bundler/dependency.rb +0 -9
- data/bundler/lib/bundler/dsl.rb +5 -9
- data/bundler/lib/bundler/endpoint_specification.rb +1 -1
- data/bundler/lib/bundler/environment_preserver.rb +26 -2
- data/bundler/lib/bundler/errors.rb +1 -0
- data/bundler/lib/bundler/feature_flag.rb +0 -2
- data/bundler/lib/bundler/fetcher.rb +4 -3
- data/bundler/lib/bundler/fetcher/base.rb +1 -1
- data/bundler/lib/bundler/fetcher/compact_index.rb +1 -1
- data/bundler/lib/bundler/fetcher/downloader.rb +1 -1
- data/bundler/lib/bundler/fetcher/index.rb +1 -1
- data/bundler/lib/bundler/friendly_errors.rb +7 -13
- data/bundler/lib/bundler/gem_helper.rb +33 -19
- data/bundler/lib/bundler/gem_helpers.rb +6 -1
- data/bundler/lib/bundler/gem_version_promoter.rb +2 -2
- data/bundler/lib/bundler/graph.rb +1 -1
- data/bundler/lib/bundler/index.rb +1 -1
- data/bundler/lib/bundler/injector.rb +15 -4
- data/bundler/lib/bundler/inline.rb +2 -2
- data/bundler/lib/bundler/installer.rb +30 -29
- data/bundler/lib/bundler/installer/gem_installer.rb +3 -3
- data/bundler/lib/bundler/installer/parallel_installer.rb +10 -10
- data/bundler/lib/bundler/installer/standalone.rb +2 -2
- data/bundler/lib/bundler/lazy_specification.rb +19 -6
- data/bundler/lib/bundler/lockfile_generator.rb +1 -1
- data/bundler/lib/bundler/lockfile_parser.rb +1 -1
- data/bundler/lib/bundler/mirror.rb +2 -2
- data/bundler/lib/bundler/plugin.rb +30 -5
- data/bundler/lib/bundler/plugin/index.rb +10 -1
- data/bundler/lib/bundler/plugin/installer.rb +1 -1
- data/bundler/lib/bundler/plugin/installer/rubygems.rb +1 -1
- data/bundler/lib/bundler/plugin/source_list.rb +1 -1
- data/bundler/lib/bundler/psyched_yaml.rb +0 -15
- data/bundler/lib/bundler/remote_specification.rb +5 -2
- data/bundler/lib/bundler/resolver.rb +32 -9
- data/bundler/lib/bundler/resolver/spec_group.rb +27 -6
- data/bundler/lib/bundler/retry.rb +1 -1
- data/bundler/lib/bundler/ruby_version.rb +1 -1
- data/bundler/lib/bundler/rubygems_ext.rb +53 -9
- data/bundler/lib/bundler/rubygems_gem_installer.rb +3 -9
- data/bundler/lib/bundler/rubygems_integration.rb +31 -54
- data/bundler/lib/bundler/runtime.rb +4 -14
- data/bundler/lib/bundler/settings.rb +49 -45
- data/bundler/lib/bundler/setup.rb +5 -0
- data/bundler/lib/bundler/shared_helpers.rb +2 -2
- data/bundler/lib/bundler/similarity_detector.rb +1 -1
- data/bundler/lib/bundler/source.rb +1 -1
- data/bundler/lib/bundler/source/git.rb +5 -5
- data/bundler/lib/bundler/source/git/git_proxy.rb +56 -59
- data/bundler/lib/bundler/source/path.rb +7 -3
- data/bundler/lib/bundler/source/path/installer.rb +8 -10
- data/bundler/lib/bundler/source/rubygems.rb +13 -16
- data/bundler/lib/bundler/source/rubygems/remote.rb +1 -1
- data/bundler/lib/bundler/source_list.rb +2 -2
- data/bundler/lib/bundler/spec_set.rb +1 -1
- data/bundler/lib/bundler/stub_specification.rb +17 -5
- data/bundler/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt +57 -47
- data/bundler/lib/bundler/templates/newgem/Gemfile.tt +9 -1
- data/bundler/lib/bundler/templates/newgem/README.md.tt +1 -1
- data/bundler/lib/bundler/templates/newgem/Rakefile.tt +19 -5
- data/bundler/lib/bundler/templates/newgem/bin/console.tt +1 -0
- data/bundler/lib/bundler/templates/newgem/circleci/config.yml.tt +13 -0
- data/bundler/lib/bundler/templates/newgem/ext/newgem/extconf.rb.tt +2 -0
- data/bundler/lib/bundler/templates/newgem/github/workflows/main.yml.tt +18 -0
- data/bundler/lib/bundler/templates/newgem/gitlab-ci.yml.tt +9 -0
- data/bundler/lib/bundler/templates/newgem/lib/newgem.rb.tt +2 -0
- data/bundler/lib/bundler/templates/newgem/lib/newgem/version.rb.tt +2 -0
- data/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt +8 -6
- data/bundler/lib/bundler/templates/newgem/rubocop.yml.tt +10 -0
- data/bundler/lib/bundler/templates/newgem/spec/newgem_spec.rb.tt +2 -0
- data/bundler/lib/bundler/templates/newgem/spec/spec_helper.rb.tt +2 -1
- data/bundler/lib/bundler/templates/newgem/test/{newgem_test.rb.tt → minitest/newgem_test.rb.tt} +2 -0
- data/bundler/lib/bundler/templates/newgem/test/{test_helper.rb.tt → minitest/test_helper.rb.tt} +2 -0
- data/bundler/lib/bundler/templates/newgem/test/test-unit/newgem_test.rb.tt +15 -0
- data/bundler/lib/bundler/templates/newgem/test/test-unit/test_helper.rb.tt +6 -0
- data/bundler/lib/bundler/ui/shell.rb +5 -5
- data/bundler/lib/bundler/uri_credentials_filter.rb +1 -1
- data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +79 -212
- data/bundler/lib/bundler/vendor/thor/lib/thor.rb +0 -7
- data/bundler/lib/bundler/vendor/thor/lib/thor/actions/create_link.rb +2 -1
- data/bundler/lib/bundler/vendor/thor/lib/thor/base.rb +9 -0
- data/bundler/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
- data/bundler/lib/bundler/vendored_persistent.rb +0 -7
- data/bundler/lib/bundler/version.rb +1 -1
- data/bundler/lib/bundler/worker.rb +1 -1
- data/bundler/lib/bundler/yaml_serializer.rb +1 -1
- data/bundler/man/bundle-add.1 +1 -1
- data/bundler/man/{bundle-add.ronn → bundle-add.1.ronn} +0 -0
- data/bundler/man/bundle-binstubs.1 +5 -3
- data/bundler/man/{bundle-binstubs.ronn → bundle-binstubs.1.ronn} +2 -4
- data/bundler/man/bundle-cache.1 +1 -1
- data/bundler/man/{bundle-cache.ronn → bundle-cache.1.ronn} +0 -0
- data/bundler/man/bundle-check.1 +1 -1
- data/bundler/man/{bundle-check.ronn → bundle-check.1.ronn} +0 -0
- data/bundler/man/bundle-clean.1 +1 -1
- data/bundler/man/{bundle-clean.ronn → bundle-clean.1.ronn} +0 -0
- data/bundler/man/bundle-config.1 +16 -22
- data/bundler/man/{bundle-config.ronn → bundle-config.1.ronn} +19 -22
- data/bundler/man/bundle-doctor.1 +1 -1
- data/bundler/man/{bundle-doctor.ronn → bundle-doctor.1.ronn} +0 -0
- data/bundler/man/bundle-exec.1 +1 -1
- data/bundler/man/{bundle-exec.ronn → bundle-exec.1.ronn} +0 -0
- data/bundler/man/bundle-gem.1 +25 -3
- data/bundler/man/{bundle-gem.ronn → bundle-gem.1.ronn} +30 -7
- data/bundler/man/bundle-info.1 +1 -1
- data/bundler/man/{bundle-info.ronn → bundle-info.1.ronn} +0 -0
- data/bundler/man/bundle-init.1 +1 -1
- data/bundler/man/{bundle-init.ronn → bundle-init.1.ronn} +0 -0
- data/bundler/man/bundle-inject.1 +1 -1
- data/bundler/man/{bundle-inject.ronn → bundle-inject.1.ronn} +0 -0
- data/bundler/man/bundle-install.1 +29 -2
- data/bundler/man/{bundle-install.ronn → bundle-install.1.ronn} +24 -2
- data/bundler/man/bundle-list.1 +7 -7
- data/bundler/man/{bundle-list.ronn → bundle-list.1.ronn} +6 -6
- data/bundler/man/bundle-lock.1 +1 -1
- data/bundler/man/{bundle-lock.ronn → bundle-lock.1.ronn} +0 -0
- data/bundler/man/bundle-open.1 +1 -1
- data/bundler/man/{bundle-open.ronn → bundle-open.1.ronn} +0 -0
- data/bundler/man/bundle-outdated.1 +1 -1
- data/bundler/man/{bundle-outdated.ronn → bundle-outdated.1.ronn} +0 -0
- data/bundler/man/bundle-platform.1 +1 -1
- data/bundler/man/{bundle-platform.ronn → bundle-platform.1.ronn} +0 -0
- data/bundler/man/bundle-pristine.1 +1 -1
- data/bundler/man/{bundle-pristine.ronn → bundle-pristine.1.ronn} +0 -0
- data/bundler/man/bundle-remove.1 +1 -1
- data/bundler/man/{bundle-remove.ronn → bundle-remove.1.ronn} +0 -0
- data/bundler/man/bundle-show.1 +1 -1
- data/bundler/man/{bundle-show.ronn → bundle-show.1.ronn} +0 -0
- data/bundler/man/bundle-update.1 +1 -1
- data/bundler/man/{bundle-update.ronn → bundle-update.1.ronn} +0 -0
- data/bundler/man/bundle-viz.1 +1 -1
- data/bundler/man/{bundle-viz.ronn → bundle-viz.1.ronn} +0 -0
- data/bundler/man/bundle.1 +1 -1
- data/bundler/man/{bundle.ronn → bundle.1.ronn} +0 -0
- data/bundler/man/gemfile.5 +4 -4
- data/bundler/man/gemfile.5.ronn +4 -4
- data/lib/rubygems.rb +133 -186
- data/lib/rubygems/available_set.rb +4 -6
- data/lib/rubygems/basic_specification.rb +12 -10
- data/lib/rubygems/bundler_version_finder.rb +14 -9
- data/lib/rubygems/command.rb +17 -17
- data/lib/rubygems/command_manager.rb +4 -5
- data/lib/rubygems/commands/build_command.rb +4 -1
- data/lib/rubygems/commands/cert_command.rb +1 -9
- data/lib/rubygems/commands/check_command.rb +0 -2
- data/lib/rubygems/commands/cleanup_command.rb +11 -7
- data/lib/rubygems/commands/contents_command.rb +4 -6
- data/lib/rubygems/commands/dependency_command.rb +6 -8
- data/lib/rubygems/commands/environment_command.rb +1 -3
- data/lib/rubygems/commands/fetch_command.rb +2 -4
- data/lib/rubygems/commands/generate_index_command.rb +0 -2
- data/lib/rubygems/commands/help_command.rb +2 -4
- data/lib/rubygems/commands/info_command.rb +8 -5
- data/lib/rubygems/commands/install_command.rb +3 -5
- data/lib/rubygems/commands/list_command.rb +8 -7
- data/lib/rubygems/commands/lock_command.rb +1 -3
- data/lib/rubygems/commands/mirror_command.rb +0 -2
- data/lib/rubygems/commands/open_command.rb +0 -4
- data/lib/rubygems/commands/outdated_command.rb +0 -2
- data/lib/rubygems/commands/owner_command.rb +0 -2
- data/lib/rubygems/commands/pristine_command.rb +10 -4
- data/lib/rubygems/commands/push_command.rb +4 -44
- data/lib/rubygems/commands/query_command.rb +6 -353
- data/lib/rubygems/commands/rdoc_command.rb +0 -2
- data/lib/rubygems/commands/search_command.rb +7 -7
- data/lib/rubygems/commands/server_command.rb +0 -2
- data/lib/rubygems/commands/setup_command.rb +156 -48
- data/lib/rubygems/commands/signin_command.rb +0 -2
- data/lib/rubygems/commands/signout_command.rb +0 -2
- data/lib/rubygems/commands/sources_command.rb +3 -5
- data/lib/rubygems/commands/specification_command.rb +2 -4
- data/lib/rubygems/commands/stale_command.rb +1 -3
- data/lib/rubygems/commands/uninstall_command.rb +2 -4
- data/lib/rubygems/commands/unpack_command.rb +1 -3
- data/lib/rubygems/commands/update_command.rb +59 -14
- data/lib/rubygems/commands/which_command.rb +0 -2
- data/lib/rubygems/commands/yank_command.rb +0 -2
- data/lib/rubygems/config_file.rb +11 -4
- data/lib/rubygems/core_ext/kernel_require.rb +26 -36
- data/lib/rubygems/core_ext/kernel_warn.rb +6 -6
- data/lib/rubygems/defaults.rb +99 -5
- data/lib/rubygems/dependency.rb +2 -7
- data/lib/rubygems/dependency_installer.rb +1 -75
- data/lib/rubygems/dependency_list.rb +7 -9
- data/lib/rubygems/deprecate.rb +46 -1
- data/lib/rubygems/doctor.rb +4 -4
- data/lib/rubygems/errors.rb +3 -14
- data/lib/rubygems/exceptions.rb +2 -33
- data/lib/rubygems/ext.rb +6 -6
- data/lib/rubygems/ext/build_error.rb +2 -0
- data/lib/rubygems/ext/builder.rb +4 -4
- data/lib/rubygems/ext/cmake_builder.rb +1 -3
- data/lib/rubygems/ext/configure_builder.rb +0 -2
- data/lib/rubygems/ext/ext_conf_builder.rb +6 -9
- data/lib/rubygems/ext/rake_builder.rb +0 -2
- data/lib/rubygems/gem_runner.rb +3 -10
- data/lib/rubygems/gemcutter_utilities.rb +1 -1
- data/lib/rubygems/indexer.rb +1 -21
- data/lib/rubygems/install_update_options.rb +5 -5
- data/lib/rubygems/installer.rb +47 -48
- data/lib/rubygems/installer_test_case.rb +18 -5
- data/lib/rubygems/installer_uninstaller_utils.rb +24 -0
- data/lib/rubygems/local_remote_options.rb +1 -1
- data/lib/rubygems/mock_gem_ui.rb +0 -6
- data/lib/rubygems/name_tuple.rb +2 -6
- data/lib/rubygems/openssl.rb +7 -0
- data/lib/rubygems/package.rb +11 -23
- data/lib/rubygems/package/digest_io.rb +0 -2
- data/lib/rubygems/package/file_source.rb +0 -2
- data/lib/rubygems/package/io_source.rb +0 -2
- data/lib/rubygems/package/old.rb +1 -3
- data/lib/rubygems/package/tar_header.rb +3 -5
- data/lib/rubygems/package/tar_reader.rb +0 -3
- data/lib/rubygems/package/tar_reader/entry.rb +0 -3
- data/lib/rubygems/package/tar_test_case.rb +1 -3
- data/lib/rubygems/package/tar_writer.rb +2 -12
- data/lib/rubygems/package_task.rb +1 -7
- data/lib/rubygems/path_support.rb +1 -3
- data/lib/rubygems/platform.rb +3 -5
- data/lib/rubygems/psych_tree.rb +0 -2
- data/lib/rubygems/query_utils.rb +362 -0
- data/lib/rubygems/rdoc.rb +0 -12
- data/lib/rubygems/remote_fetcher.rb +9 -25
- data/lib/rubygems/request.rb +1 -9
- data/lib/rubygems/request/connection_pools.rb +1 -5
- data/lib/rubygems/request/http_pool.rb +0 -2
- data/lib/rubygems/request/https_pool.rb +0 -2
- data/lib/rubygems/request_set.rb +5 -7
- data/lib/rubygems/request_set/gem_dependency_api.rb +2 -4
- data/lib/rubygems/request_set/lockfile.rb +8 -12
- data/lib/rubygems/request_set/lockfile/parser.rb +0 -2
- data/lib/rubygems/request_set/lockfile/tokenizer.rb +1 -3
- data/lib/rubygems/requirement.rb +20 -21
- data/lib/rubygems/resolver.rb +7 -10
- data/lib/rubygems/resolver/activation_request.rb +0 -2
- data/lib/rubygems/resolver/api_set.rb +4 -6
- data/lib/rubygems/resolver/api_specification.rb +16 -7
- data/lib/rubygems/resolver/best_set.rb +0 -2
- data/lib/rubygems/resolver/composed_set.rb +3 -5
- data/lib/rubygems/resolver/conflict.rb +1 -3
- data/lib/rubygems/resolver/current_set.rb +0 -2
- data/lib/rubygems/resolver/dependency_request.rb +0 -2
- data/lib/rubygems/resolver/git_set.rb +0 -2
- data/lib/rubygems/resolver/git_specification.rb +0 -2
- data/lib/rubygems/resolver/index_set.rb +1 -3
- data/lib/rubygems/resolver/index_specification.rb +0 -2
- data/lib/rubygems/resolver/installed_specification.rb +0 -2
- data/lib/rubygems/resolver/installer_set.rb +3 -5
- data/lib/rubygems/resolver/local_specification.rb +0 -2
- data/lib/rubygems/resolver/lock_set.rb +1 -3
- data/lib/rubygems/resolver/lock_specification.rb +0 -2
- data/lib/rubygems/resolver/requirement_list.rb +0 -2
- data/lib/rubygems/resolver/set.rb +0 -2
- data/lib/rubygems/resolver/source_set.rb +0 -2
- data/lib/rubygems/resolver/spec_specification.rb +0 -2
- data/lib/rubygems/resolver/specification.rb +0 -2
- data/lib/rubygems/resolver/stats.rb +0 -2
- data/lib/rubygems/resolver/vendor_set.rb +0 -2
- data/lib/rubygems/resolver/vendor_specification.rb +0 -2
- data/lib/rubygems/s3_uri_signer.rb +1 -7
- data/lib/rubygems/safe_yaml.rb +4 -4
- data/lib/rubygems/security.rb +26 -32
- data/lib/rubygems/security/policy.rb +3 -7
- data/lib/rubygems/security/signer.rb +4 -6
- data/lib/rubygems/security/trust_dir.rb +1 -3
- data/lib/rubygems/server.rb +9 -11
- data/lib/rubygems/source.rb +4 -4
- data/lib/rubygems/source/git.rb +7 -8
- data/lib/rubygems/source/installed.rb +0 -2
- data/lib/rubygems/source/local.rb +2 -4
- data/lib/rubygems/source/lock.rb +0 -2
- data/lib/rubygems/source/specific_file.rb +0 -2
- data/lib/rubygems/source/vendor.rb +0 -2
- data/lib/rubygems/source_list.rb +6 -7
- data/lib/rubygems/spec_fetcher.rb +18 -17
- data/lib/rubygems/specification.rb +107 -120
- data/lib/rubygems/specification_policy.rb +88 -30
- data/lib/rubygems/stub_specification.rb +0 -4
- data/lib/rubygems/syck_hack.rb +0 -2
- data/lib/rubygems/test_case.rb +122 -92
- data/lib/rubygems/test_utilities.rb +6 -14
- data/lib/rubygems/uninstaller.rb +35 -16
- data/lib/rubygems/uri_formatter.rb +0 -2
- data/lib/rubygems/uri_parser.rb +0 -2
- data/lib/rubygems/user_interaction.rb +1 -26
- data/lib/rubygems/util.rb +15 -3
- data/lib/rubygems/util/licenses.rb +4 -6
- data/lib/rubygems/util/list.rb +0 -2
- data/lib/rubygems/validator.rb +1 -3
- data/lib/rubygems/version.rb +5 -7
- data/rubygems-update.gemspec +2 -2
- data/setup.rb +2 -7
- data/test/rubygems/plugin/load/rubygems_plugin.rb +0 -2
- data/test/rubygems/rubygems/commands/crash_command.rb +0 -2
- data/test/rubygems/rubygems_plugin.rb +0 -2
- data/test/rubygems/specifications/bar-0.0.2.gemspec +0 -2
- data/test/rubygems/specifications/rubyforge-0.0.1.gemspec +12 -0
- data/test/rubygems/test_bundled_ca.rb +38 -45
- data/test/rubygems/test_config.rb +0 -2
- data/test/rubygems/test_deprecate.rb +40 -7
- data/test/rubygems/test_gem.rb +150 -103
- data/test/rubygems/test_gem_available_set.rb +3 -5
- data/test/rubygems/test_gem_bundler_version_finder.rb +19 -3
- data/test/rubygems/test_gem_command.rb +24 -7
- data/test/rubygems/test_gem_command_manager.rb +36 -5
- data/test/rubygems/test_gem_commands_build_command.rb +53 -10
- data/test/rubygems/test_gem_commands_cert_command.rb +2 -4
- data/test/rubygems/test_gem_commands_check_command.rb +0 -2
- data/test/rubygems/test_gem_commands_cleanup_command.rb +13 -4
- data/test/rubygems/test_gem_commands_contents_command.rb +48 -17
- data/test/rubygems/test_gem_commands_dependency_command.rb +0 -2
- data/test/rubygems/test_gem_commands_environment_command.rb +21 -23
- data/test/rubygems/test_gem_commands_fetch_command.rb +0 -2
- data/test/rubygems/test_gem_commands_generate_index_command.rb +1 -7
- data/test/rubygems/test_gem_commands_help_command.rb +0 -2
- data/test/rubygems/test_gem_commands_info_command.rb +6 -8
- data/test/rubygems/test_gem_commands_install_command.rb +31 -33
- data/test/rubygems/test_gem_commands_list_command.rb +0 -2
- data/test/rubygems/test_gem_commands_lock_command.rb +0 -2
- data/test/rubygems/test_gem_commands_mirror.rb +1 -3
- data/test/rubygems/test_gem_commands_open_command.rb +4 -6
- data/test/rubygems/test_gem_commands_outdated_command.rb +0 -2
- data/test/rubygems/test_gem_commands_owner_command.rb +11 -5
- data/test/rubygems/test_gem_commands_pristine_command.rb +41 -10
- data/test/rubygems/test_gem_commands_push_command.rb +7 -4
- data/test/rubygems/test_gem_commands_query_command.rb +9 -9
- data/test/rubygems/test_gem_commands_search_command.rb +0 -2
- data/test/rubygems/test_gem_commands_server_command.rb +0 -2
- data/test/rubygems/test_gem_commands_setup_command.rb +210 -118
- data/test/rubygems/test_gem_commands_signin_command.rb +6 -6
- data/test/rubygems/test_gem_commands_signout_command.rb +0 -7
- data/test/rubygems/test_gem_commands_sources_command.rb +39 -3
- data/test/rubygems/test_gem_commands_specification_command.rb +18 -20
- data/test/rubygems/test_gem_commands_stale_command.rb +0 -2
- data/test/rubygems/test_gem_commands_uninstall_command.rb +2 -3
- data/test/rubygems/test_gem_commands_unpack_command.rb +0 -2
- data/test/rubygems/test_gem_commands_update_command.rb +116 -7
- data/test/rubygems/test_gem_commands_which_command.rb +3 -5
- data/test/rubygems/test_gem_commands_yank_command.rb +14 -8
- data/test/rubygems/test_gem_config_file.rb +7 -12
- data/test/rubygems/test_gem_dependency.rb +0 -2
- data/test/rubygems/test_gem_dependency_installer.rb +54 -191
- data/test/rubygems/test_gem_dependency_list.rb +8 -10
- data/test/rubygems/test_gem_dependency_resolution_error.rb +1 -3
- data/test/rubygems/test_gem_doctor.rb +28 -2
- data/test/rubygems/test_gem_ext_builder.rb +16 -33
- data/test/rubygems/test_gem_ext_cmake_builder.rb +13 -14
- data/test/rubygems/test_gem_ext_configure_builder.rb +1 -11
- data/test/rubygems/test_gem_ext_ext_conf_builder.rb +0 -3
- data/test/rubygems/test_gem_ext_rake_builder.rb +9 -11
- data/test/rubygems/test_gem_gem_runner.rb +43 -1
- data/test/rubygems/test_gem_gemcutter_utilities.rb +5 -2
- data/test/rubygems/test_gem_impossible_dependencies_error.rb +0 -2
- data/test/rubygems/test_gem_indexer.rb +9 -15
- data/test/rubygems/test_gem_install_update_options.rb +0 -2
- data/test/rubygems/test_gem_installer.rb +192 -71
- data/test/rubygems/test_gem_local_remote_options.rb +0 -2
- data/test/rubygems/test_gem_name_tuple.rb +0 -2
- data/test/rubygems/test_gem_package.rb +33 -31
- data/test/rubygems/test_gem_package_old.rb +0 -2
- data/test/rubygems/test_gem_package_tar_header.rb +18 -1
- data/test/rubygems/test_gem_package_tar_reader.rb +0 -2
- data/test/rubygems/test_gem_package_tar_reader_entry.rb +0 -2
- data/test/rubygems/test_gem_package_tar_writer.rb +8 -5
- data/test/rubygems/test_gem_package_task.rb +46 -13
- data/test/rubygems/test_gem_path_support.rb +0 -2
- data/test/rubygems/test_gem_platform.rb +0 -2
- data/test/rubygems/test_gem_rdoc.rb +0 -2
- data/test/rubygems/test_gem_remote_fetcher.rb +156 -195
- data/test/rubygems/test_gem_request.rb +11 -15
- data/test/rubygems/test_gem_request_connection_pools.rb +0 -4
- data/test/rubygems/test_gem_request_set.rb +72 -22
- data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +3 -5
- data/test/rubygems/test_gem_request_set_lockfile.rb +0 -2
- data/test/rubygems/test_gem_request_set_lockfile_parser.rb +9 -11
- data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +118 -120
- data/test/rubygems/test_gem_requirement.rb +10 -4
- data/test/rubygems/test_gem_resolver.rb +6 -8
- data/test/rubygems/test_gem_resolver_activation_request.rb +0 -2
- data/test/rubygems/test_gem_resolver_api_set.rb +3 -5
- data/test/rubygems/test_gem_resolver_api_specification.rb +0 -2
- data/test/rubygems/test_gem_resolver_best_set.rb +2 -4
- data/test/rubygems/test_gem_resolver_composed_set.rb +0 -2
- data/test/rubygems/test_gem_resolver_conflict.rb +0 -2
- data/test/rubygems/test_gem_resolver_dependency_request.rb +0 -2
- data/test/rubygems/test_gem_resolver_git_set.rb +0 -2
- data/test/rubygems/test_gem_resolver_git_specification.rb +0 -2
- data/test/rubygems/test_gem_resolver_index_set.rb +2 -4
- data/test/rubygems/test_gem_resolver_index_specification.rb +0 -2
- data/test/rubygems/test_gem_resolver_installed_specification.rb +0 -2
- data/test/rubygems/test_gem_resolver_installer_set.rb +7 -9
- data/test/rubygems/test_gem_resolver_local_specification.rb +0 -2
- data/test/rubygems/test_gem_resolver_lock_set.rb +3 -5
- data/test/rubygems/test_gem_resolver_lock_specification.rb +0 -2
- data/test/rubygems/test_gem_resolver_requirement_list.rb +0 -2
- data/test/rubygems/test_gem_resolver_specification.rb +0 -4
- data/test/rubygems/test_gem_resolver_vendor_set.rb +0 -2
- data/test/rubygems/test_gem_resolver_vendor_specification.rb +0 -2
- data/test/rubygems/test_gem_security.rb +20 -22
- data/test/rubygems/test_gem_security_policy.rb +5 -10
- data/test/rubygems/test_gem_security_signer.rb +8 -10
- data/test/rubygems/test_gem_security_trust_dir.rb +2 -4
- data/test/rubygems/test_gem_server.rb +10 -14
- data/test/rubygems/test_gem_silent_ui.rb +0 -2
- data/test/rubygems/test_gem_source.rb +12 -16
- data/test/rubygems/test_gem_source_fetch_problem.rb +0 -2
- data/test/rubygems/test_gem_source_git.rb +12 -13
- data/test/rubygems/test_gem_source_installed.rb +7 -9
- data/test/rubygems/test_gem_source_list.rb +1 -2
- data/test/rubygems/test_gem_source_local.rb +8 -10
- data/test/rubygems/test_gem_source_lock.rb +10 -12
- data/test/rubygems/test_gem_source_specific_file.rb +7 -9
- data/test/rubygems/test_gem_source_vendor.rb +7 -9
- data/test/rubygems/test_gem_spec_fetcher.rb +11 -4
- data/test/rubygems/test_gem_specification.rb +179 -129
- data/test/rubygems/test_gem_stream_ui.rb +3 -3
- data/test/rubygems/test_gem_stub_specification.rb +4 -7
- data/test/rubygems/test_gem_text.rb +1 -3
- data/test/rubygems/test_gem_uninstaller.rb +133 -11
- data/test/rubygems/test_gem_unsatisfiable_dependency_error.rb +0 -2
- data/test/rubygems/test_gem_uri_formatter.rb +0 -2
- data/test/rubygems/test_gem_util.rb +7 -7
- data/test/rubygems/test_gem_validator.rb +0 -2
- data/test/rubygems/test_gem_version.rb +1 -3
- data/test/rubygems/test_gem_version_option.rb +0 -2
- data/test/rubygems/test_kernel.rb +25 -10
- data/test/rubygems/test_project_sanity.rb +7 -2
- data/test/rubygems/test_remote_fetch_error.rb +0 -2
- data/test/rubygems/test_require.rb +241 -47
- metadata +59 -96
- data/.bundle/config +0 -2
- data/.rubocop.yml +0 -91
- data/Gemfile +0 -8
- data/Gemfile.lock +0 -43
- data/bundler/CODE_OF_CONDUCT.md +0 -136
- data/bundler/man/bundle-add.1.txt +0 -58
- data/bundler/man/bundle-binstubs.1.txt +0 -48
- data/bundler/man/bundle-cache.1.txt +0 -78
- data/bundler/man/bundle-check.1.txt +0 -33
- data/bundler/man/bundle-clean.1.txt +0 -26
- data/bundler/man/bundle-config.1.txt +0 -528
- data/bundler/man/bundle-doctor.1.txt +0 -44
- data/bundler/man/bundle-exec.1.txt +0 -178
- data/bundler/man/bundle-gem.1.txt +0 -91
- data/bundler/man/bundle-info.1.txt +0 -21
- data/bundler/man/bundle-init.1.txt +0 -34
- data/bundler/man/bundle-inject.1.txt +0 -32
- data/bundler/man/bundle-install.1.txt +0 -401
- data/bundler/man/bundle-list.1.txt +0 -43
- data/bundler/man/bundle-lock.1.txt +0 -93
- data/bundler/man/bundle-open.1.txt +0 -29
- data/bundler/man/bundle-outdated.1.txt +0 -131
- data/bundler/man/bundle-platform.1.txt +0 -57
- data/bundler/man/bundle-pristine.1.txt +0 -44
- data/bundler/man/bundle-remove.1.txt +0 -34
- data/bundler/man/bundle-show.1.txt +0 -27
- data/bundler/man/bundle-update.1.txt +0 -390
- data/bundler/man/bundle-viz.1.txt +0 -39
- data/bundler/man/bundle.1.txt +0 -116
- data/bundler/man/gemfile.5.txt +0 -649
- data/bundler/man/index.txt +0 -25
- data/lib/rubygems/source_local.rb +0 -7
- data/lib/rubygems/source_specific_file.rb +0 -6
- data/lib/ubygems.rb +0 -14
- data/tmp/.keep +0 -0
- data/util/CL2notes +0 -55
- data/util/bisect +0 -10
- data/util/ci.sh +0 -62
- data/util/cops/deprecations.rb +0 -52
- data/util/create_certs.rb +0 -171
- data/util/create_certs.sh +0 -27
- data/util/create_encrypted_key.rb +0 -16
- data/util/generate_spdx_license_list.rb +0 -63
- data/util/patch_with_prs.rb +0 -77
- data/util/rubocop +0 -8
- data/util/update_bundled_ca_certificates.rb +0 -139
- data/util/update_changelog.rb +0 -67
@@ -1,6 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
class Gem::AvailableSet
|
3
|
-
|
4
3
|
include Enumerable
|
5
4
|
|
6
5
|
Tuple = Struct.new(:spec, :source)
|
@@ -70,11 +69,11 @@ class Gem::AvailableSet
|
|
70
69
|
end
|
71
70
|
|
72
71
|
def all_specs
|
73
|
-
@set.map {
|
72
|
+
@set.map {|t| t.spec }
|
74
73
|
end
|
75
74
|
|
76
75
|
def match_platform!
|
77
|
-
@set.reject! {
|
76
|
+
@set.reject! {|t| !Gem::Platform.match(t.spec.platform) }
|
78
77
|
@sorted = nil
|
79
78
|
self
|
80
79
|
end
|
@@ -91,7 +90,7 @@ class Gem::AvailableSet
|
|
91
90
|
end
|
92
91
|
|
93
92
|
def source_for(spec)
|
94
|
-
f = @set.find {
|
93
|
+
f = @set.find {|t| t.spec == spec }
|
95
94
|
f.source
|
96
95
|
end
|
97
96
|
|
@@ -160,7 +159,6 @@ class Gem::AvailableSet
|
|
160
159
|
end
|
161
160
|
|
162
161
|
def inject_into_list(dep_list)
|
163
|
-
@set.each {
|
162
|
+
@set.each {|t| dep_list.add t.spec }
|
164
163
|
end
|
165
|
-
|
166
164
|
end
|
@@ -4,7 +4,6 @@
|
|
4
4
|
# used by both Specification and StubSpecification.
|
5
5
|
|
6
6
|
class Gem::BasicSpecification
|
7
|
-
|
8
7
|
##
|
9
8
|
# Allows installation of extensions for git: gems.
|
10
9
|
|
@@ -39,10 +38,8 @@ class Gem::BasicSpecification
|
|
39
38
|
end
|
40
39
|
|
41
40
|
class << self
|
42
|
-
|
43
41
|
extend Gem::Deprecate
|
44
|
-
|
45
|
-
|
42
|
+
rubygems_deprecate :default_specifications_dir, "Gem.default_specifications_dir"
|
46
43
|
end
|
47
44
|
|
48
45
|
##
|
@@ -78,7 +75,7 @@ class Gem::BasicSpecification
|
|
78
75
|
elsif missing_extensions?
|
79
76
|
@ignored = true
|
80
77
|
|
81
|
-
if
|
78
|
+
if Gem::Platform::RUBY == platform || Gem::Platform.local === platform
|
82
79
|
warn "Ignoring #{full_name} because its extensions are not built. " +
|
83
80
|
"Try: gem pristine #{name} --version #{version}"
|
84
81
|
end
|
@@ -274,10 +271,16 @@ class Gem::BasicSpecification
|
|
274
271
|
# Return all files in this gem that match for +glob+.
|
275
272
|
|
276
273
|
def matches_for_glob(glob) # TODO: rename?
|
277
|
-
# TODO: do we need these?? Kill it
|
278
274
|
glob = File.join(self.lib_dirs_glob, glob)
|
279
275
|
|
280
|
-
Dir[glob].map {
|
276
|
+
Dir[glob].map {|f| f.tap(&Gem::UNTAINT) } # FIX our tests are broken, run w/ SAFE=1
|
277
|
+
end
|
278
|
+
|
279
|
+
##
|
280
|
+
# Returns the list of plugins in this spec.
|
281
|
+
|
282
|
+
def plugins
|
283
|
+
matches_for_glob("rubygems#{Gem.plugin_suffix_pattern}")
|
281
284
|
end
|
282
285
|
|
283
286
|
##
|
@@ -329,15 +332,14 @@ class Gem::BasicSpecification
|
|
329
332
|
def have_file?(file, suffixes)
|
330
333
|
return true if raw_require_paths.any? do |path|
|
331
334
|
base = File.join(gems_dir, full_name, path.tap(&Gem::UNTAINT), file).tap(&Gem::UNTAINT)
|
332
|
-
suffixes.any? {
|
335
|
+
suffixes.any? {|suf| File.file? base + suf }
|
333
336
|
end
|
334
337
|
|
335
338
|
if have_extensions?
|
336
339
|
base = File.join extension_dir, file
|
337
|
-
suffixes.any? {
|
340
|
+
suffixes.any? {|suf| File.file? base + suf }
|
338
341
|
else
|
339
342
|
false
|
340
343
|
end
|
341
344
|
end
|
342
|
-
|
343
345
|
end
|
@@ -1,7 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "rubygems/util"
|
4
|
-
|
5
3
|
module Gem::BundlerVersionFinder
|
6
4
|
def self.bundler_version
|
7
5
|
version, _ = bundler_version_with_reason
|
@@ -44,9 +42,9 @@ To install the missing version, run `gem install bundler:#{vr.first}`
|
|
44
42
|
def self.filter!(specs)
|
45
43
|
return unless bundler_version = self.bundler_version
|
46
44
|
|
47
|
-
specs.reject! {
|
45
|
+
specs.reject! {|spec| spec.version.segments.first != bundler_version.segments.first }
|
48
46
|
|
49
|
-
exact_match_index = specs.find_index {
|
47
|
+
exact_match_index = specs.find_index {|spec| spec.version == bundler_version }
|
50
48
|
return unless exact_match_index
|
51
49
|
|
52
50
|
specs.unshift(specs.delete_at(exact_match_index))
|
@@ -82,12 +80,19 @@ To install the missing version, run `gem install bundler:#{vr.first}`
|
|
82
80
|
def self.lockfile_contents
|
83
81
|
gemfile = ENV["BUNDLE_GEMFILE"]
|
84
82
|
gemfile = nil if gemfile && gemfile.empty?
|
85
|
-
Gem::Util.traverse_parents Dir.pwd do |directory|
|
86
|
-
next unless gemfile = Gem::GEM_DEP_FILES.find { |f| File.file?(f.tap(&Gem::UNTAINT)) }
|
87
83
|
|
88
|
-
|
89
|
-
|
90
|
-
|
84
|
+
unless gemfile
|
85
|
+
begin
|
86
|
+
Gem::Util.traverse_parents(Dir.pwd) do |directory|
|
87
|
+
next unless gemfile = Gem::GEM_DEP_FILES.find {|f| File.file?(f.tap(&Gem::UNTAINT)) }
|
88
|
+
|
89
|
+
gemfile = File.join directory, gemfile
|
90
|
+
break
|
91
|
+
end
|
92
|
+
rescue Errno::ENOENT
|
93
|
+
return
|
94
|
+
end
|
95
|
+
end
|
91
96
|
|
92
97
|
return unless gemfile
|
93
98
|
|
data/lib/rubygems/command.rb
CHANGED
@@ -6,8 +6,8 @@
|
|
6
6
|
#++
|
7
7
|
|
8
8
|
require 'optparse'
|
9
|
-
|
10
|
-
|
9
|
+
require_relative 'requirement'
|
10
|
+
require_relative 'user_interaction'
|
11
11
|
|
12
12
|
##
|
13
13
|
# Base class for all Gem commands. When creating a new gem command, define
|
@@ -17,7 +17,6 @@ require 'rubygems/user_interaction'
|
|
17
17
|
# A very good example to look at is Gem::Commands::ContentsCommand
|
18
18
|
|
19
19
|
class Gem::Command
|
20
|
-
|
21
20
|
include Gem::UserInteraction
|
22
21
|
|
23
22
|
OptionParser.accept Symbol do |value|
|
@@ -77,7 +76,7 @@ class Gem::Command
|
|
77
76
|
when Array
|
78
77
|
@extra_args = value
|
79
78
|
when String
|
80
|
-
@extra_args = value.split
|
79
|
+
@extra_args = value.split(' ')
|
81
80
|
end
|
82
81
|
end
|
83
82
|
|
@@ -125,7 +124,7 @@ class Gem::Command
|
|
125
124
|
@program_name = "gem #{command}"
|
126
125
|
@defaults = defaults
|
127
126
|
@options = defaults.dup
|
128
|
-
@option_groups = Hash.new {
|
127
|
+
@option_groups = Hash.new {|h,k| h[k] = [] }
|
129
128
|
@deprecated_options = { command => {} }
|
130
129
|
@parser = nil
|
131
130
|
@when_invoked = nil
|
@@ -162,7 +161,7 @@ class Gem::Command
|
|
162
161
|
|
163
162
|
if errors and !errors.empty?
|
164
163
|
msg << ", here is why:\n"
|
165
|
-
errors.each {
|
164
|
+
errors.each {|x| msg << " #{x.wordy}\n" }
|
166
165
|
else
|
167
166
|
if required_by and gem != required_by
|
168
167
|
msg << " (required by #{required_by}) in any repository"
|
@@ -174,8 +173,7 @@ class Gem::Command
|
|
174
173
|
alert_error msg
|
175
174
|
|
176
175
|
unless suppress_suggestions
|
177
|
-
suggestions = Gem::SpecFetcher.fetcher.suggest_gems_from_name
|
178
|
-
|
176
|
+
suggestions = Gem::SpecFetcher.fetcher.suggest_gems_from_name(gem_name, :latest, 10)
|
179
177
|
unless suggestions.empty?
|
180
178
|
alert_error "Possible alternatives: #{suggestions.join(", ")}"
|
181
179
|
end
|
@@ -193,7 +191,7 @@ class Gem::Command
|
|
193
191
|
"Please specify at least one gem name (e.g. gem build GEMNAME)"
|
194
192
|
end
|
195
193
|
|
196
|
-
args.select {
|
194
|
+
args.select {|arg| arg !~ /^-/ }
|
197
195
|
end
|
198
196
|
|
199
197
|
##
|
@@ -365,7 +363,7 @@ class Gem::Command
|
|
365
363
|
|
366
364
|
def remove_option(name)
|
367
365
|
@option_groups.each do |_, option_list|
|
368
|
-
option_list.reject! {
|
366
|
+
option_list.reject! {|args, _| args.any? {|x| x.is_a?(String) && x =~ /^#{name}/ } }
|
369
367
|
end
|
370
368
|
end
|
371
369
|
|
@@ -418,7 +416,7 @@ class Gem::Command
|
|
418
416
|
|
419
417
|
def merge_options(new_options)
|
420
418
|
@options = @defaults.clone
|
421
|
-
new_options.each {
|
419
|
+
new_options.each {|k,v| @options[k] = v }
|
422
420
|
end
|
423
421
|
|
424
422
|
##
|
@@ -457,7 +455,7 @@ class Gem::Command
|
|
457
455
|
until extra.empty? do
|
458
456
|
ex = []
|
459
457
|
ex << extra.shift
|
460
|
-
ex << extra.shift if extra.first.to_s =~ /^[^-]/
|
458
|
+
ex << extra.shift if extra.first.to_s =~ /^[^-]/ # rubocop:disable Performance/StartWith
|
461
459
|
result << ex if handles?(ex)
|
462
460
|
end
|
463
461
|
|
@@ -466,6 +464,10 @@ class Gem::Command
|
|
466
464
|
result
|
467
465
|
end
|
468
466
|
|
467
|
+
def deprecated?
|
468
|
+
false
|
469
|
+
end
|
470
|
+
|
469
471
|
private
|
470
472
|
|
471
473
|
def option_is_deprecated?(option)
|
@@ -493,7 +495,7 @@ class Gem::Command
|
|
493
495
|
|
494
496
|
configure_options "", regular_options
|
495
497
|
|
496
|
-
@option_groups.sort_by {
|
498
|
+
@option_groups.sort_by {|n,_| n.to_s }.each do |group_name, option_list|
|
497
499
|
@parser.separator nil
|
498
500
|
configure_options group_name, option_list
|
499
501
|
end
|
@@ -621,8 +623,7 @@ class Gem::Command
|
|
621
623
|
# :stopdoc:
|
622
624
|
|
623
625
|
HELP = <<-HELP.freeze
|
624
|
-
RubyGems is a
|
625
|
-
basic help message containing pointers to more information.
|
626
|
+
RubyGems is a package manager for Ruby.
|
626
627
|
|
627
628
|
Usage:
|
628
629
|
gem -h/--help
|
@@ -646,11 +647,10 @@ basic help message containing pointers to more information.
|
|
646
647
|
http://localhost:8808/
|
647
648
|
with info about installed gems
|
648
649
|
Further information:
|
649
|
-
|
650
|
+
https://guides.rubygems.org
|
650
651
|
HELP
|
651
652
|
|
652
653
|
# :startdoc:
|
653
|
-
|
654
654
|
end
|
655
655
|
|
656
656
|
##
|
@@ -32,7 +32,6 @@ require 'rubygems/text'
|
|
32
32
|
# See Gem::Command for instructions on writing gem commands.
|
33
33
|
|
34
34
|
class Gem::CommandManager
|
35
|
-
|
36
35
|
include Gem::Text
|
37
36
|
include Gem::UserInteraction
|
38
37
|
|
@@ -138,7 +137,7 @@ class Gem::CommandManager
|
|
138
137
|
# Return a sorted list of all command names as strings.
|
139
138
|
|
140
139
|
def command_names
|
141
|
-
@commands.keys.collect {|key| key.to_s}.sort
|
140
|
+
@commands.keys.collect {|key| key.to_s }.sort
|
142
141
|
end
|
143
142
|
|
144
143
|
##
|
@@ -176,6 +175,7 @@ class Gem::CommandManager
|
|
176
175
|
cmd_name = args.shift.downcase
|
177
176
|
cmd = find_command cmd_name
|
178
177
|
cmd.invoke_with_build_args args, build_args
|
178
|
+
cmd.deprecation_warning if cmd.deprecated?
|
179
179
|
end
|
180
180
|
end
|
181
181
|
|
@@ -202,9 +202,9 @@ class Gem::CommandManager
|
|
202
202
|
def find_command_possibilities(cmd_name)
|
203
203
|
len = cmd_name.length
|
204
204
|
|
205
|
-
found = command_names.select {
|
205
|
+
found = command_names.select {|name| cmd_name == name[0, len] }
|
206
206
|
|
207
|
-
exact = found.find {
|
207
|
+
exact = found.find {|name| name == cmd_name }
|
208
208
|
|
209
209
|
exact ? [exact] : found
|
210
210
|
end
|
@@ -230,5 +230,4 @@ class Gem::CommandManager
|
|
230
230
|
ui.backtrace e
|
231
231
|
end
|
232
232
|
end
|
233
|
-
|
234
233
|
end
|
@@ -1,12 +1,16 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
require 'rubygems/command'
|
3
3
|
require 'rubygems/package'
|
4
|
+
require 'rubygems/version_option'
|
4
5
|
|
5
6
|
class Gem::Commands::BuildCommand < Gem::Command
|
7
|
+
include Gem::VersionOption
|
6
8
|
|
7
9
|
def initialize
|
8
10
|
super 'build', 'Build a gem from a gemspec'
|
9
11
|
|
12
|
+
add_platform_option
|
13
|
+
|
10
14
|
add_option '--force', 'skip validation of the spec' do |value, options|
|
11
15
|
options[:force] = true
|
12
16
|
end
|
@@ -108,5 +112,4 @@ Gems can be saved to a specified filename with the output option:
|
|
108
112
|
terminate_interaction 1
|
109
113
|
end
|
110
114
|
end
|
111
|
-
|
112
115
|
end
|
@@ -1,15 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
require 'rubygems/command'
|
3
3
|
require 'rubygems/security'
|
4
|
-
begin
|
5
|
-
require 'openssl'
|
6
|
-
rescue LoadError => e
|
7
|
-
raise unless (e.respond_to?(:path) && e.path == 'openssl') ||
|
8
|
-
e.message =~ / -- openssl$/
|
9
|
-
end
|
10
4
|
|
11
5
|
class Gem::Commands::CertCommand < Gem::Command
|
12
|
-
|
13
6
|
def initialize
|
14
7
|
super 'cert', 'Manage RubyGems certificates and signing settings',
|
15
8
|
:add => [], :remove => [], :list => [], :build => [], :sign => []
|
@@ -186,7 +179,7 @@ class Gem::Commands::CertCommand < Gem::Command
|
|
186
179
|
subject = certificate.subject.to_s
|
187
180
|
subject.downcase.index filter
|
188
181
|
end.sort_by do |certificate, _|
|
189
|
-
certificate.subject.to_a.map {
|
182
|
+
certificate.subject.to_a.map {|name, data,| [name, data] }
|
190
183
|
end.each do |certificate, path|
|
191
184
|
yield certificate, path
|
192
185
|
end
|
@@ -318,5 +311,4 @@ For further reading on signing gems see `ri Gem::Security`.
|
|
318
311
|
# It's simple, but is all we need
|
319
312
|
email =~ /\A.+@.+\z/
|
320
313
|
end
|
321
|
-
|
322
314
|
end if defined?(OpenSSL::SSL)
|
@@ -5,7 +5,6 @@ require 'rubygems/validator'
|
|
5
5
|
require 'rubygems/doctor'
|
6
6
|
|
7
7
|
class Gem::Commands::CheckCommand < Gem::Command
|
8
|
-
|
9
8
|
include Gem::VersionOption
|
10
9
|
|
11
10
|
def initialize
|
@@ -90,5 +89,4 @@ specifications and will clean up gems that have been partially uninstalled.
|
|
90
89
|
def usage # :nodoc:
|
91
90
|
"#{program_name} [OPTIONS] [GEMNAME ...]"
|
92
91
|
end
|
93
|
-
|
94
92
|
end
|
@@ -4,17 +4,22 @@ require 'rubygems/dependency_list'
|
|
4
4
|
require 'rubygems/uninstaller'
|
5
5
|
|
6
6
|
class Gem::Commands::CleanupCommand < Gem::Command
|
7
|
-
|
8
7
|
def initialize
|
9
8
|
super 'cleanup',
|
10
9
|
'Clean up old versions of installed gems',
|
11
10
|
:force => false, :install_dir => Gem.dir,
|
12
11
|
:check_dev => true
|
13
12
|
|
14
|
-
add_option('-n', '-d', '--
|
13
|
+
add_option('-n', '-d', '--dry-run',
|
14
|
+
'Do not uninstall gems') do |value, options|
|
15
|
+
options[:dryrun] = true
|
16
|
+
end
|
17
|
+
|
18
|
+
add_option(:Deprecated, '--dryrun',
|
15
19
|
'Do not uninstall gems') do |value, options|
|
16
20
|
options[:dryrun] = true
|
17
21
|
end
|
22
|
+
deprecate_option('--dryrun', extra_msg: 'Use --dry-run instead')
|
18
23
|
|
19
24
|
add_option('-D', '--[no-]check-development',
|
20
25
|
'Check development dependencies while uninstalling',
|
@@ -42,7 +47,7 @@ class Gem::Commands::CleanupCommand < Gem::Command
|
|
42
47
|
end
|
43
48
|
|
44
49
|
def defaults_str # :nodoc:
|
45
|
-
"--no-
|
50
|
+
"--no-dry-run"
|
46
51
|
end
|
47
52
|
|
48
53
|
def description # :nodoc:
|
@@ -69,7 +74,7 @@ If no gems are named all gems in GEM_HOME are cleaned.
|
|
69
74
|
until done do
|
70
75
|
clean_gems
|
71
76
|
|
72
|
-
this_set = @gems_to_cleanup.map {
|
77
|
+
this_set = @gems_to_cleanup.map {|spec| spec.full_name }.sort
|
73
78
|
|
74
79
|
done = this_set.empty? || last_set == this_set
|
75
80
|
|
@@ -82,7 +87,7 @@ If no gems are named all gems in GEM_HOME are cleaned.
|
|
82
87
|
say "Clean up complete"
|
83
88
|
|
84
89
|
verbose do
|
85
|
-
skipped = @default_gems.map {
|
90
|
+
skipped = @default_gems.map {|spec| spec.full_name }
|
86
91
|
|
87
92
|
"Skipped default gems: #{skipped.join ', '}"
|
88
93
|
end
|
@@ -99,7 +104,7 @@ If no gems are named all gems in GEM_HOME are cleaned.
|
|
99
104
|
@full = Gem::DependencyList.from_specs
|
100
105
|
|
101
106
|
deplist = Gem::DependencyList.new
|
102
|
-
@gems_to_cleanup.each {
|
107
|
+
@gems_to_cleanup.each {|spec| deplist.add spec }
|
103
108
|
|
104
109
|
deps = deplist.strongly_connected_components.flatten
|
105
110
|
|
@@ -181,5 +186,4 @@ If no gems are named all gems in GEM_HOME are cleaned.
|
|
181
186
|
# Restore path Gem::Uninstaller may have changed
|
182
187
|
Gem.use_paths @original_home, *@original_path
|
183
188
|
end
|
184
|
-
|
185
189
|
end
|