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,10 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
require 'English'
|
3
2
|
require 'rubygems/command'
|
4
3
|
require 'rubygems/version_option'
|
5
4
|
|
6
5
|
class Gem::Commands::ContentsCommand < Gem::Command
|
7
|
-
|
8
6
|
include Gem::VersionOption
|
9
7
|
|
10
8
|
def initialize
|
@@ -106,7 +104,8 @@ prefix or only the files that are requireable.
|
|
106
104
|
spec.files.map do |file|
|
107
105
|
case file
|
108
106
|
when /\A#{spec.bindir}\//
|
109
|
-
|
107
|
+
# $' is POSTMATCH
|
108
|
+
[RbConfig::CONFIG['bindir'], $']
|
110
109
|
when /\.so\z/
|
111
110
|
[RbConfig::CONFIG['archdir'], file]
|
112
111
|
else
|
@@ -167,7 +166,7 @@ prefix or only the files that are requireable.
|
|
167
166
|
end
|
168
167
|
|
169
168
|
def spec_for(name)
|
170
|
-
spec = Gem::Specification.find_all_by_name(name, @version).
|
169
|
+
spec = Gem::Specification.find_all_by_name(name, @version).first
|
171
170
|
|
172
171
|
return spec if spec
|
173
172
|
|
@@ -175,7 +174,7 @@ prefix or only the files that are requireable.
|
|
175
174
|
|
176
175
|
if Gem.configuration.verbose
|
177
176
|
say "\nDirectories searched:"
|
178
|
-
@spec_dirs.sort.each {
|
177
|
+
@spec_dirs.sort.each {|dir| say dir }
|
179
178
|
end
|
180
179
|
|
181
180
|
return nil
|
@@ -186,5 +185,4 @@ prefix or only the files that are requireable.
|
|
186
185
|
[i, File.join(i, "specifications")]
|
187
186
|
end.flatten
|
188
187
|
end
|
189
|
-
|
190
188
|
end
|
@@ -4,7 +4,6 @@ require 'rubygems/local_remote_options'
|
|
4
4
|
require 'rubygems/version_option'
|
5
5
|
|
6
6
|
class Gem::Commands::DependencyCommand < Gem::Command
|
7
|
-
|
8
7
|
include Gem::LocalRemoteOptions
|
9
8
|
include Gem::VersionOption
|
10
9
|
|
@@ -59,14 +58,14 @@ use with other commands.
|
|
59
58
|
|
60
59
|
ss, = fetcher.spec_for_dependency dependency
|
61
60
|
|
62
|
-
ss.map {
|
61
|
+
ss.map {|spec, _| spec }
|
63
62
|
end
|
64
63
|
|
65
64
|
def fetch_specs(name_pattern, dependency) # :nodoc:
|
66
65
|
specs = []
|
67
66
|
|
68
67
|
if local?
|
69
|
-
specs.concat Gem::Specification.stubs.find_all {
|
68
|
+
specs.concat Gem::Specification.stubs.find_all {|spec|
|
70
69
|
name_pattern =~ spec.name and
|
71
70
|
dependency.requirement.satisfied_by? spec.version
|
72
71
|
}.map(&:to_spec)
|
@@ -92,7 +91,7 @@ use with other commands.
|
|
92
91
|
def display_pipe(specs) # :nodoc:
|
93
92
|
specs.each do |spec|
|
94
93
|
unless spec.dependencies.empty?
|
95
|
-
spec.dependencies.sort_by {
|
94
|
+
spec.dependencies.sort_by {|dep| dep.name }.each do |dep|
|
96
95
|
say "#{dep.name} --version '#{dep.requirement}'"
|
97
96
|
end
|
98
97
|
end
|
@@ -156,7 +155,7 @@ use with other commands.
|
|
156
155
|
response = String.new
|
157
156
|
response << ' ' * level + "Gem #{spec.full_name}\n"
|
158
157
|
unless spec.dependencies.empty?
|
159
|
-
spec.dependencies.sort_by {
|
158
|
+
spec.dependencies.sort_by {|dep| dep.name }.each do |dep|
|
160
159
|
response << ' ' * level + " #{dep}\n"
|
161
160
|
end
|
162
161
|
end
|
@@ -168,11 +167,11 @@ use with other commands.
|
|
168
167
|
|
169
168
|
ss, _ = fetcher.spec_for_dependency dependency
|
170
169
|
|
171
|
-
ss.map {
|
170
|
+
ss.map {|s,o| s }
|
172
171
|
end
|
173
172
|
|
174
173
|
def reverse_dependencies(specs) # :nodoc:
|
175
|
-
reverse = Hash.new {
|
174
|
+
reverse = Hash.new {|h, k| h[k] = [] }
|
176
175
|
|
177
176
|
return reverse unless options[:reverse_dependencies]
|
178
177
|
|
@@ -215,5 +214,4 @@ use with other commands.
|
|
215
214
|
/\A#{Regexp.union(*args)}/
|
216
215
|
end
|
217
216
|
end
|
218
|
-
|
219
217
|
end
|
@@ -2,7 +2,6 @@
|
|
2
2
|
require 'rubygems/command'
|
3
3
|
|
4
4
|
class Gem::Commands::EnvironmentCommand < Gem::Command
|
5
|
-
|
6
5
|
def initialize
|
7
6
|
super 'environment', 'Display information about the RubyGems environment'
|
8
7
|
end
|
@@ -127,7 +126,7 @@ lib/rubygems/defaults/operating_system.rb
|
|
127
126
|
|
128
127
|
out << " - RUBYGEMS PLATFORMS:\n"
|
129
128
|
Gem.platforms.each do |platform|
|
130
|
-
out << "
|
129
|
+
out << " - #{platform}\n"
|
131
130
|
end
|
132
131
|
|
133
132
|
out << " - GEM PATHS:\n"
|
@@ -172,5 +171,4 @@ lib/rubygems/defaults/operating_system.rb
|
|
172
171
|
|
173
172
|
return nil
|
174
173
|
end
|
175
|
-
|
176
174
|
end
|
@@ -4,7 +4,6 @@ require 'rubygems/local_remote_options'
|
|
4
4
|
require 'rubygems/version_option'
|
5
5
|
|
6
6
|
class Gem::Commands::FetchCommand < Gem::Command
|
7
|
-
|
8
7
|
include Gem::LocalRemoteOptions
|
9
8
|
include Gem::VersionOption
|
10
9
|
|
@@ -57,11 +56,11 @@ then repackaging it.
|
|
57
56
|
Gem::SpecFetcher.fetcher.spec_for_dependency dep
|
58
57
|
|
59
58
|
if platform
|
60
|
-
filtered = specs_and_sources.select {
|
59
|
+
filtered = specs_and_sources.select {|s,| s.platform == platform }
|
61
60
|
specs_and_sources = filtered unless filtered.empty?
|
62
61
|
end
|
63
62
|
|
64
|
-
spec, source = specs_and_sources.max_by {
|
63
|
+
spec, source = specs_and_sources.max_by {|s,| s.version }
|
65
64
|
|
66
65
|
if spec.nil?
|
67
66
|
show_lookup_failure gem_name, version, errors, options[:domain]
|
@@ -73,5 +72,4 @@ then repackaging it.
|
|
73
72
|
say "Downloaded #{spec.full_name}"
|
74
73
|
end
|
75
74
|
end
|
76
|
-
|
77
75
|
end
|
@@ -8,7 +8,6 @@ require 'rubygems/indexer'
|
|
8
8
|
# See `gem help generate_index`
|
9
9
|
|
10
10
|
class Gem::Commands::GenerateIndexCommand < Gem::Command
|
11
|
-
|
12
11
|
def initialize
|
13
12
|
super 'generate_index',
|
14
13
|
'Generates the index files for a gem server directory',
|
@@ -83,5 +82,4 @@ Marshal::MINOR_VERSION constants. It is used to ensure compatibility.
|
|
83
82
|
end
|
84
83
|
end
|
85
84
|
end
|
86
|
-
|
87
85
|
end
|
@@ -2,7 +2,6 @@
|
|
2
2
|
require 'rubygems/command'
|
3
3
|
|
4
4
|
class Gem::Commands::HelpCommand < Gem::Command
|
5
|
-
|
6
5
|
# :stopdoc:
|
7
6
|
EXAMPLES = <<-EOF.freeze
|
8
7
|
Some examples of 'gem' usage.
|
@@ -38,7 +37,7 @@ Some examples of 'gem' usage.
|
|
38
37
|
|
39
38
|
* Create a gem:
|
40
39
|
|
41
|
-
See
|
40
|
+
See https://guides.rubygems.org/make-your-own-gem/
|
42
41
|
|
43
42
|
* See information about RubyGems:
|
44
43
|
|
@@ -324,7 +323,7 @@ platform.
|
|
324
323
|
|
325
324
|
margin_width = 4
|
326
325
|
|
327
|
-
desc_width = @command_manager.command_names.map {
|
326
|
+
desc_width = @command_manager.command_names.map {|n| n.size }.max + 4
|
328
327
|
|
329
328
|
summary_width = 80 - margin_width - desc_width
|
330
329
|
wrap_indent = ' ' * (margin_width + desc_width)
|
@@ -370,5 +369,4 @@ platform.
|
|
370
369
|
alert_warning "Unknown command #{command_name}. Try: gem help commands"
|
371
370
|
end
|
372
371
|
end
|
373
|
-
|
374
372
|
end
|
@@ -1,14 +1,18 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'rubygems/command'
|
4
|
-
require 'rubygems/
|
4
|
+
require 'rubygems/query_utils'
|
5
5
|
|
6
|
-
class Gem::Commands::InfoCommand < Gem::
|
6
|
+
class Gem::Commands::InfoCommand < Gem::Command
|
7
|
+
include Gem::QueryUtils
|
7
8
|
|
8
9
|
def initialize
|
9
|
-
super "info", "Show information for the given gem"
|
10
|
+
super "info", "Show information for the given gem",
|
11
|
+
:name => //, :domain => :local, :details => false, :versions => true,
|
12
|
+
:installed => nil, :version => Gem::Requirement.default
|
13
|
+
|
14
|
+
add_query_options
|
10
15
|
|
11
|
-
remove_option('--name-matches')
|
12
16
|
remove_option('-d')
|
13
17
|
|
14
18
|
defaults[:details] = true
|
@@ -31,5 +35,4 @@ class Gem::Commands::InfoCommand < Gem::Commands::QueryCommand
|
|
31
35
|
def defaults_str
|
32
36
|
"--local"
|
33
37
|
end
|
34
|
-
|
35
38
|
end
|
@@ -12,7 +12,6 @@ require 'rubygems/version_option'
|
|
12
12
|
# See `gem help install`
|
13
13
|
|
14
14
|
class Gem::Commands::InstallCommand < Gem::Command
|
15
|
-
|
16
15
|
attr_reader :installed_specs # :nodoc:
|
17
16
|
|
18
17
|
include Gem::VersionOption
|
@@ -218,7 +217,7 @@ You can use `i` command instead of `install`.
|
|
218
217
|
gem_version ||= options[:version]
|
219
218
|
domain = options[:domain]
|
220
219
|
domain = :local unless options[:suggest_alternate]
|
221
|
-
|
220
|
+
suppress_suggestions = (domain == :local)
|
222
221
|
|
223
222
|
begin
|
224
223
|
install_gem gem_name, gem_version
|
@@ -226,11 +225,11 @@ You can use `i` command instead of `install`.
|
|
226
225
|
alert_error "Error installing #{gem_name}:\n\t#{e.message}"
|
227
226
|
exit_code |= 1
|
228
227
|
rescue Gem::GemNotFoundException => e
|
229
|
-
show_lookup_failure e.name, e.version, e.errors,
|
228
|
+
show_lookup_failure e.name, e.version, e.errors, suppress_suggestions
|
230
229
|
|
231
230
|
exit_code |= 2
|
232
231
|
rescue Gem::UnsatisfiableDependencyError => e
|
233
|
-
show_lookup_failure e.name, e.version, e.errors,
|
232
|
+
show_lookup_failure e.name, e.version, e.errors, suppress_suggestions,
|
234
233
|
"'#{gem_name}' (#{gem_version})"
|
235
234
|
|
236
235
|
exit_code |= 2
|
@@ -270,5 +269,4 @@ You can use `i` command instead of `install`.
|
|
270
269
|
gems = @installed_specs.length == 1 ? 'gem' : 'gems'
|
271
270
|
say "#{@installed_specs.length} #{gems} installed"
|
272
271
|
end
|
273
|
-
|
274
272
|
end
|
@@ -1,17 +1,19 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
require 'rubygems/command'
|
3
|
-
require 'rubygems/
|
3
|
+
require 'rubygems/query_utils'
|
4
4
|
|
5
5
|
##
|
6
|
-
#
|
7
|
-
# with the supplied argument.
|
6
|
+
# Searches for gems starting with the supplied argument.
|
8
7
|
|
9
|
-
class Gem::Commands::ListCommand < Gem::
|
8
|
+
class Gem::Commands::ListCommand < Gem::Command
|
9
|
+
include Gem::QueryUtils
|
10
10
|
|
11
11
|
def initialize
|
12
|
-
super 'list', 'Display local gems whose name matches REGEXP'
|
12
|
+
super 'list', 'Display local gems whose name matches REGEXP',
|
13
|
+
:name => //, :domain => :local, :details => false, :versions => true,
|
14
|
+
:installed => nil, :version => Gem::Requirement.default
|
13
15
|
|
14
|
-
|
16
|
+
add_query_options
|
15
17
|
end
|
16
18
|
|
17
19
|
def arguments # :nodoc:
|
@@ -36,5 +38,4 @@ To search for remote gems use the search command.
|
|
36
38
|
def usage # :nodoc:
|
37
39
|
"#{program_name} [REGEXP ...]"
|
38
40
|
end
|
39
|
-
|
40
41
|
end
|
@@ -2,7 +2,6 @@
|
|
2
2
|
require 'rubygems/command'
|
3
3
|
|
4
4
|
class Gem::Commands::LockCommand < Gem::Command
|
5
|
-
|
6
5
|
def initialize
|
7
6
|
super 'lock', 'Generate a lockdown list of gems',
|
8
7
|
:strict => false
|
@@ -104,7 +103,6 @@ lock it down to the exact version.
|
|
104
103
|
File.join path, "specifications", "#{gem_full_name}.gemspec"
|
105
104
|
end
|
106
105
|
|
107
|
-
gemspecs.find {
|
106
|
+
gemspecs.find {|path| File.exist? path }
|
108
107
|
end
|
109
|
-
|
110
108
|
end
|
@@ -3,7 +3,6 @@ require 'rubygems/command'
|
|
3
3
|
|
4
4
|
unless defined? Gem::Commands::MirrorCommand
|
5
5
|
class Gem::Commands::MirrorCommand < Gem::Command
|
6
|
-
|
7
6
|
def initialize
|
8
7
|
super('mirror', 'Mirror all gem files (requires rubygems-mirror)')
|
9
8
|
begin
|
@@ -22,6 +21,5 @@ The mirror command has been moved to the rubygems-mirror gem.
|
|
22
21
|
def execute
|
23
22
|
alert_error "Install the rubygems-mirror gem for the mirror command"
|
24
23
|
end
|
25
|
-
|
26
24
|
end
|
27
25
|
end
|
@@ -1,11 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
require 'English'
|
3
2
|
require 'rubygems/command'
|
4
3
|
require 'rubygems/version_option'
|
5
|
-
require 'rubygems/util'
|
6
4
|
|
7
5
|
class Gem::Commands::OpenCommand < Gem::Command
|
8
|
-
|
9
6
|
include Gem::VersionOption
|
10
7
|
|
11
8
|
def initialize
|
@@ -84,5 +81,4 @@ class Gem::Commands::OpenCommand < Gem::Command
|
|
84
81
|
|
85
82
|
say "Unable to find gem '#{name}'"
|
86
83
|
end
|
87
|
-
|
88
84
|
end
|
@@ -5,7 +5,6 @@ require 'rubygems/spec_fetcher'
|
|
5
5
|
require 'rubygems/version_option'
|
6
6
|
|
7
7
|
class Gem::Commands::OutdatedCommand < Gem::Command
|
8
|
-
|
9
8
|
include Gem::LocalRemoteOptions
|
10
9
|
include Gem::VersionOption
|
11
10
|
|
@@ -30,5 +29,4 @@ update the gems with the update or install commands.
|
|
30
29
|
say "#{spec.name} (#{spec.version} < #{remote_version})"
|
31
30
|
end
|
32
31
|
end
|
33
|
-
|
34
32
|
end
|
@@ -5,7 +5,6 @@ require 'rubygems/gemcutter_utilities'
|
|
5
5
|
require 'rubygems/text'
|
6
6
|
|
7
7
|
class Gem::Commands::OwnerCommand < Gem::Command
|
8
|
-
|
9
8
|
include Gem::Text
|
10
9
|
include Gem::LocalRemoteOptions
|
11
10
|
include Gem::GemcutterUtilities
|
@@ -109,5 +108,4 @@ permission to.
|
|
109
108
|
request.add_field "OTP", options[:otp] if options[:otp]
|
110
109
|
end
|
111
110
|
end
|
112
|
-
|
113
111
|
end
|
@@ -5,7 +5,6 @@ require 'rubygems/installer'
|
|
5
5
|
require 'rubygems/version_option'
|
6
6
|
|
7
7
|
class Gem::Commands::PristineCommand < Gem::Command
|
8
|
-
|
9
8
|
include Gem::VersionOption
|
10
9
|
|
11
10
|
def initialize
|
@@ -40,6 +39,11 @@ class Gem::Commands::PristineCommand < Gem::Command
|
|
40
39
|
options[:only_executables] = value
|
41
40
|
end
|
42
41
|
|
42
|
+
add_option('--only-plugins',
|
43
|
+
'Only restore plugins') do |value, options|
|
44
|
+
options[:only_plugins] = value
|
45
|
+
end
|
46
|
+
|
43
47
|
add_option('-E', '--[no-]env-shebang',
|
44
48
|
'Rewrite executables with a shebang',
|
45
49
|
'of /usr/bin/env') do |value, options|
|
@@ -126,14 +130,14 @@ extensions will be restored.
|
|
126
130
|
end
|
127
131
|
end
|
128
132
|
|
129
|
-
unless spec.extensions.empty? or options[:extensions] or options[:only_executables]
|
133
|
+
unless spec.extensions.empty? or options[:extensions] or options[:only_executables] or options[:only_plugins]
|
130
134
|
say "Skipped #{spec.full_name}, it needs to compile an extension"
|
131
135
|
next
|
132
136
|
end
|
133
137
|
|
134
138
|
gem = spec.cache_file
|
135
139
|
|
136
|
-
unless File.exist? gem or options[:only_executables]
|
140
|
+
unless File.exist? gem or options[:only_executables] or options[:only_plugins]
|
137
141
|
require 'rubygems/remote_fetcher'
|
138
142
|
|
139
143
|
say "Cached gem for #{spec.full_name} not found, attempting to fetch..."
|
@@ -172,6 +176,9 @@ extensions will be restored.
|
|
172
176
|
if options[:only_executables]
|
173
177
|
installer = Gem::Installer.for_spec(spec, installer_options)
|
174
178
|
installer.generate_bin
|
179
|
+
elsif options[:only_plugins]
|
180
|
+
installer = Gem::Installer.for_spec(spec)
|
181
|
+
installer.generate_plugins
|
175
182
|
else
|
176
183
|
installer = Gem::Installer.at(gem, installer_options)
|
177
184
|
installer.install
|
@@ -180,5 +187,4 @@ extensions will be restored.
|
|
180
187
|
say "Restored #{spec.full_name}"
|
181
188
|
end
|
182
189
|
end
|
183
|
-
|
184
190
|
end
|
@@ -5,7 +5,6 @@ require 'rubygems/gemcutter_utilities'
|
|
5
5
|
require 'rubygems/package'
|
6
6
|
|
7
7
|
class Gem::Commands::PushCommand < Gem::Command
|
8
|
-
|
9
8
|
include Gem::LocalRemoteOptions
|
10
9
|
include Gem::GemcutterUtilities
|
11
10
|
|
@@ -52,23 +51,14 @@ The push command will use ~/.gem/credentials to authenticate to a server, but yo
|
|
52
51
|
gem_name = get_one_gem_name
|
53
52
|
default_gem_server, push_host = get_hosts_for(gem_name)
|
54
53
|
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
if @user_defined_host
|
59
|
-
user_defined_host = options[:host]
|
60
|
-
else
|
61
|
-
default_host = options[:host]
|
62
|
-
end
|
63
|
-
|
64
|
-
@host = if user_defined_host
|
65
|
-
user_defined_host
|
54
|
+
@host = if @user_defined_host
|
55
|
+
options[:host]
|
66
56
|
elsif default_gem_server
|
67
57
|
default_gem_server
|
68
58
|
elsif push_host
|
69
59
|
push_host
|
70
60
|
else
|
71
|
-
|
61
|
+
options[:host]
|
72
62
|
end
|
73
63
|
|
74
64
|
sign_in @host
|
@@ -79,36 +69,7 @@ The push command will use ~/.gem/credentials to authenticate to a server, but yo
|
|
79
69
|
def send_gem(name)
|
80
70
|
args = [:post, "api/v1/gems"]
|
81
71
|
|
82
|
-
|
83
|
-
|
84
|
-
if latest_rubygems_version < Gem.rubygems_version and
|
85
|
-
Gem.rubygems_version.prerelease? and
|
86
|
-
Gem::Version.new('2.0.0.rc.2') != Gem.rubygems_version
|
87
|
-
alert_error <<-ERROR
|
88
|
-
You are using a beta release of RubyGems (#{Gem::VERSION}) which is not
|
89
|
-
allowed to push gems. Please downgrade or upgrade to a release version.
|
90
|
-
|
91
|
-
The latest released RubyGems version is #{latest_rubygems_version}
|
92
|
-
|
93
|
-
You can upgrade or downgrade to the latest release version with:
|
94
|
-
|
95
|
-
gem update --system=#{latest_rubygems_version}
|
96
|
-
|
97
|
-
ERROR
|
98
|
-
terminate_interaction 1
|
99
|
-
end
|
100
|
-
|
101
|
-
gem_data = Gem::Package.new(name)
|
102
|
-
|
103
|
-
unless @host
|
104
|
-
@host = gem_data.spec.metadata['default_gem_server']
|
105
|
-
end
|
106
|
-
|
107
|
-
push_host = nil
|
108
|
-
|
109
|
-
if gem_data.spec.metadata.has_key?('allowed_push_host')
|
110
|
-
push_host = gem_data.spec.metadata['allowed_push_host']
|
111
|
-
end
|
72
|
+
_, push_host = get_hosts_for(name)
|
112
73
|
|
113
74
|
@host ||= push_host
|
114
75
|
|
@@ -142,5 +103,4 @@ You can upgrade or downgrade to the latest release version with:
|
|
142
103
|
gem_metadata["allowed_push_host"]
|
143
104
|
]
|
144
105
|
end
|
145
|
-
|
146
106
|
end
|