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
data/lib/rubygems/errors.rb
CHANGED
@@ -13,13 +13,11 @@ module Gem
|
|
13
13
|
# already activated gems or that RubyGems is otherwise unable to activate.
|
14
14
|
|
15
15
|
class LoadError < ::LoadError
|
16
|
-
|
17
16
|
# Name of gem
|
18
17
|
attr_accessor :name
|
19
18
|
|
20
19
|
# Version requirement of gem
|
21
20
|
attr_accessor :requirement
|
22
|
-
|
23
21
|
end
|
24
22
|
|
25
23
|
##
|
@@ -27,15 +25,15 @@ module Gem
|
|
27
25
|
# system. Instead of rescuing from this class, make sure to rescue from the
|
28
26
|
# superclass Gem::LoadError to catch all types of load errors.
|
29
27
|
class MissingSpecError < Gem::LoadError
|
30
|
-
|
31
|
-
def initialize(name, requirement)
|
28
|
+
def initialize(name, requirement, extra_message=nil)
|
32
29
|
@name = name
|
33
30
|
@requirement = requirement
|
31
|
+
@extra_message = extra_message
|
34
32
|
end
|
35
33
|
|
36
34
|
def message # :nodoc:
|
37
35
|
build_message +
|
38
|
-
"Checked in 'GEM_PATH=#{Gem.path.join(File::PATH_SEPARATOR)}', execute `gem env` for more information"
|
36
|
+
"Checked in 'GEM_PATH=#{Gem.path.join(File::PATH_SEPARATOR)}' #{@extra_message}, execute `gem env` for more information"
|
39
37
|
end
|
40
38
|
|
41
39
|
private
|
@@ -44,7 +42,6 @@ module Gem
|
|
44
42
|
total = Gem::Specification.stubs.size
|
45
43
|
"Could not find '#{name}' (#{requirement}) among #{total} total gem(s)\n"
|
46
44
|
end
|
47
|
-
|
48
45
|
end
|
49
46
|
|
50
47
|
##
|
@@ -52,7 +49,6 @@ module Gem
|
|
52
49
|
# not the requested version. Instead of rescuing from this class, make sure to
|
53
50
|
# rescue from the superclass Gem::LoadError to catch all types of load errors.
|
54
51
|
class MissingSpecVersionError < MissingSpecError
|
55
|
-
|
56
52
|
attr_reader :specs
|
57
53
|
|
58
54
|
def initialize(name, requirement, specs)
|
@@ -69,13 +65,11 @@ module Gem
|
|
69
65
|
names = specs.map(&:full_name)
|
70
66
|
"Could not find '#{name}' (#{requirement}) - did find: [#{names.join ','}]\n"
|
71
67
|
end
|
72
|
-
|
73
68
|
end
|
74
69
|
|
75
70
|
# Raised when there are conflicting gem specs loaded
|
76
71
|
|
77
72
|
class ConflictError < LoadError
|
78
|
-
|
79
73
|
##
|
80
74
|
# A Hash mapping conflicting specifications to the dependencies that
|
81
75
|
# caused the conflict
|
@@ -100,7 +94,6 @@ module Gem
|
|
100
94
|
|
101
95
|
super("Unable to activate #{target.full_name}, because #{reason}")
|
102
96
|
end
|
103
|
-
|
104
97
|
end
|
105
98
|
|
106
99
|
class ErrorReason; end
|
@@ -112,7 +105,6 @@ module Gem
|
|
112
105
|
# in figuring out why a gem couldn't be installed.
|
113
106
|
#
|
114
107
|
class PlatformMismatch < ErrorReason
|
115
|
-
|
116
108
|
##
|
117
109
|
# the name of the gem
|
118
110
|
attr_reader :name
|
@@ -150,7 +142,6 @@ module Gem
|
|
150
142
|
@platforms.size == 1 ? '' : 's',
|
151
143
|
@platforms.join(' ,')]
|
152
144
|
end
|
153
|
-
|
154
145
|
end
|
155
146
|
|
156
147
|
##
|
@@ -158,7 +149,6 @@ module Gem
|
|
158
149
|
# data from a source
|
159
150
|
|
160
151
|
class SourceFetchProblem < ErrorReason
|
161
|
-
|
162
152
|
##
|
163
153
|
# Creates a new SourceFetchProblem for the given +source+ and +error+.
|
164
154
|
|
@@ -189,6 +179,5 @@ module Gem
|
|
189
179
|
# The "exception" alias allows you to call raise on a SourceFetchProblem.
|
190
180
|
|
191
181
|
alias exception error
|
192
|
-
|
193
182
|
end
|
194
183
|
end
|
data/lib/rubygems/exceptions.rb
CHANGED
@@ -5,18 +5,7 @@ require 'rubygems/deprecate'
|
|
5
5
|
##
|
6
6
|
# Base exception class for RubyGems. All exception raised by RubyGems are a
|
7
7
|
# subclass of this one.
|
8
|
-
class Gem::Exception < RuntimeError
|
9
|
-
|
10
|
-
##
|
11
|
-
#--
|
12
|
-
# TODO: remove in RubyGems 4, nobody sets this
|
13
|
-
|
14
|
-
attr_accessor :source_exception # :nodoc:
|
15
|
-
|
16
|
-
extend Gem::Deprecate
|
17
|
-
deprecate :source_exception, :none, 2018, 12
|
18
|
-
|
19
|
-
end
|
8
|
+
class Gem::Exception < RuntimeError; end
|
20
9
|
|
21
10
|
class Gem::CommandLineError < Gem::Exception; end
|
22
11
|
|
@@ -30,7 +19,6 @@ class Gem::DependencyRemovalException < Gem::Exception; end
|
|
30
19
|
# and #conflicting_dependencies
|
31
20
|
|
32
21
|
class Gem::DependencyResolutionError < Gem::DependencyError
|
33
|
-
|
34
22
|
attr_reader :conflict
|
35
23
|
|
36
24
|
def initialize(conflict)
|
@@ -43,25 +31,20 @@ class Gem::DependencyResolutionError < Gem::DependencyError
|
|
43
31
|
def conflicting_dependencies
|
44
32
|
@conflict.conflicting_dependencies
|
45
33
|
end
|
46
|
-
|
47
34
|
end
|
48
35
|
|
49
36
|
##
|
50
37
|
# Raised when attempting to uninstall a gem that isn't in GEM_HOME.
|
51
38
|
|
52
39
|
class Gem::GemNotInHomeException < Gem::Exception
|
53
|
-
|
54
40
|
attr_accessor :spec
|
55
|
-
|
56
41
|
end
|
57
42
|
|
58
43
|
###
|
59
44
|
# Raised when removing a gem with the uninstall command fails
|
60
45
|
|
61
46
|
class Gem::UninstallError < Gem::Exception
|
62
|
-
|
63
47
|
attr_accessor :spec
|
64
|
-
|
65
48
|
end
|
66
49
|
|
67
50
|
class Gem::DocumentError < Gem::Exception; end
|
@@ -75,7 +58,6 @@ class Gem::EndOfYAMLException < Gem::Exception; end
|
|
75
58
|
# operating on the given directory.
|
76
59
|
|
77
60
|
class Gem::FilePermissionError < Gem::Exception
|
78
|
-
|
79
61
|
attr_reader :directory
|
80
62
|
|
81
63
|
def initialize(directory)
|
@@ -83,15 +65,12 @@ class Gem::FilePermissionError < Gem::Exception
|
|
83
65
|
|
84
66
|
super "You don't have write permissions for the #{directory} directory."
|
85
67
|
end
|
86
|
-
|
87
68
|
end
|
88
69
|
|
89
70
|
##
|
90
71
|
# Used to raise parsing and loading errors
|
91
72
|
class Gem::FormatException < Gem::Exception
|
92
|
-
|
93
73
|
attr_accessor :file_path
|
94
|
-
|
95
74
|
end
|
96
75
|
|
97
76
|
class Gem::GemNotFoundException < Gem::Exception; end
|
@@ -100,7 +79,6 @@ class Gem::GemNotFoundException < Gem::Exception; end
|
|
100
79
|
# Raised by the DependencyInstaller when a specific gem cannot be found
|
101
80
|
|
102
81
|
class Gem::SpecificGemNotFoundException < Gem::GemNotFoundException
|
103
|
-
|
104
82
|
##
|
105
83
|
# Creates a new SpecificGemNotFoundException for a gem with the given +name+
|
106
84
|
# and +version+. Any +errors+ encountered when attempting to find the gem
|
@@ -128,7 +106,6 @@ class Gem::SpecificGemNotFoundException < Gem::GemNotFoundException
|
|
128
106
|
# Errors encountered attempting to find the gem.
|
129
107
|
|
130
108
|
attr_reader :errors
|
131
|
-
|
132
109
|
end
|
133
110
|
|
134
111
|
##
|
@@ -136,7 +113,6 @@ end
|
|
136
113
|
# inability to find a valid possible spec for a request.
|
137
114
|
|
138
115
|
class Gem::ImpossibleDependenciesError < Gem::Exception
|
139
|
-
|
140
116
|
attr_reader :conflicts
|
141
117
|
attr_reader :request
|
142
118
|
|
@@ -164,17 +140,14 @@ class Gem::ImpossibleDependenciesError < Gem::Exception
|
|
164
140
|
def dependency
|
165
141
|
@request.dependency
|
166
142
|
end
|
167
|
-
|
168
143
|
end
|
169
144
|
|
170
145
|
class Gem::InstallError < Gem::Exception; end
|
171
146
|
class Gem::RuntimeRequirementNotMetError < Gem::InstallError
|
172
|
-
|
173
147
|
attr_accessor :suggestion
|
174
148
|
def message
|
175
149
|
[suggestion, super].compact.join("\n\t")
|
176
150
|
end
|
177
|
-
|
178
151
|
end
|
179
152
|
|
180
153
|
##
|
@@ -216,7 +189,6 @@ class Gem::VerificationError < Gem::Exception; end
|
|
216
189
|
# exit_code
|
217
190
|
|
218
191
|
class Gem::SystemExitException < SystemExit
|
219
|
-
|
220
192
|
##
|
221
193
|
# The exit code for the process
|
222
194
|
|
@@ -230,7 +202,6 @@ class Gem::SystemExitException < SystemExit
|
|
230
202
|
|
231
203
|
super "Exiting RubyGems with exit_code #{exit_code}"
|
232
204
|
end
|
233
|
-
|
234
205
|
end
|
235
206
|
|
236
207
|
##
|
@@ -238,7 +209,6 @@ end
|
|
238
209
|
# there is no spec.
|
239
210
|
|
240
211
|
class Gem::UnsatisfiableDependencyError < Gem::DependencyError
|
241
|
-
|
242
212
|
##
|
243
213
|
# The unsatisfiable dependency. This is a
|
244
214
|
# Gem::Resolver::DependencyRequest, not a Gem::Dependency
|
@@ -256,7 +226,7 @@ class Gem::UnsatisfiableDependencyError < Gem::DependencyError
|
|
256
226
|
|
257
227
|
def initialize(dep, platform_mismatch=nil)
|
258
228
|
if platform_mismatch and !platform_mismatch.empty?
|
259
|
-
plats = platform_mismatch.map {
|
229
|
+
plats = platform_mismatch.map {|x| x.platform.to_s }.sort.uniq
|
260
230
|
super "Unable to resolve dependency: No match for '#{dep}' on this platform. Found: #{plats.join(', ')}"
|
261
231
|
else
|
262
232
|
if dep.explicit?
|
@@ -283,7 +253,6 @@ class Gem::UnsatisfiableDependencyError < Gem::DependencyError
|
|
283
253
|
def version
|
284
254
|
@dependency.requirement
|
285
255
|
end
|
286
|
-
|
287
256
|
end
|
288
257
|
|
289
258
|
##
|
data/lib/rubygems/ext.rb
CHANGED
@@ -10,9 +10,9 @@
|
|
10
10
|
|
11
11
|
module Gem::Ext; end
|
12
12
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
13
|
+
require_relative 'ext/build_error'
|
14
|
+
require_relative 'ext/builder'
|
15
|
+
require_relative 'ext/configure_builder'
|
16
|
+
require_relative 'ext/ext_conf_builder'
|
17
|
+
require_relative 'ext/rake_builder'
|
18
|
+
require_relative 'ext/cmake_builder'
|
data/lib/rubygems/ext/builder.rb
CHANGED
@@ -5,10 +5,9 @@
|
|
5
5
|
# See LICENSE.txt for permissions.
|
6
6
|
#++
|
7
7
|
|
8
|
-
|
8
|
+
require_relative '../user_interaction'
|
9
9
|
|
10
10
|
class Gem::Ext::Builder
|
11
|
-
|
12
11
|
include Gem::UserInteraction
|
13
12
|
|
14
13
|
##
|
@@ -68,7 +67,9 @@ class Gem::Ext::Builder
|
|
68
67
|
results << (command.respond_to?(:shelljoin) ? command.shelljoin : command)
|
69
68
|
|
70
69
|
require "open3"
|
71
|
-
|
70
|
+
# Set $SOURCE_DATE_EPOCH for the subprocess.
|
71
|
+
env = {'SOURCE_DATE_EPOCH' => Gem.source_date_epoch_string}
|
72
|
+
output, status = Open3.capture2e(env, *command)
|
72
73
|
if verbose
|
73
74
|
puts output
|
74
75
|
else
|
@@ -225,5 +226,4 @@ EOF
|
|
225
226
|
|
226
227
|
destination
|
227
228
|
end
|
228
|
-
|
229
229
|
end
|
@@ -1,8 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
|
2
|
+
require_relative '../command'
|
3
3
|
|
4
4
|
class Gem::Ext::CmakeBuilder < Gem::Ext::Builder
|
5
|
-
|
6
5
|
def self.build(extension, dest_path, results, args=[], lib_dir=nil)
|
7
6
|
unless File.exist?('Makefile')
|
8
7
|
cmd = "cmake . -DCMAKE_INSTALL_PREFIX=#{dest_path}"
|
@@ -15,5 +14,4 @@ class Gem::Ext::CmakeBuilder < Gem::Ext::Builder
|
|
15
14
|
|
16
15
|
results
|
17
16
|
end
|
18
|
-
|
19
17
|
end
|
@@ -6,7 +6,6 @@
|
|
6
6
|
#++
|
7
7
|
|
8
8
|
class Gem::Ext::ConfigureBuilder < Gem::Ext::Builder
|
9
|
-
|
10
9
|
def self.build(extension, dest_path, results, args=[], lib_dir=nil)
|
11
10
|
unless File.exist?('Makefile')
|
12
11
|
cmd = "sh ./configure --prefix=#{dest_path}"
|
@@ -19,5 +18,4 @@ class Gem::Ext::ConfigureBuilder < Gem::Ext::Builder
|
|
19
18
|
|
20
19
|
results
|
21
20
|
end
|
22
|
-
|
23
21
|
end
|
@@ -5,15 +5,13 @@
|
|
5
5
|
# See LICENSE.txt for permissions.
|
6
6
|
#++
|
7
7
|
|
8
|
-
require 'fileutils'
|
9
|
-
require 'tempfile'
|
10
8
|
require 'shellwords'
|
11
9
|
|
12
10
|
class Gem::Ext::ExtConfBuilder < Gem::Ext::Builder
|
13
|
-
|
14
|
-
FileEntry = FileUtils::Entry_ # :nodoc:
|
15
|
-
|
16
11
|
def self.build(extension, dest_path, results, args=[], lib_dir=nil)
|
12
|
+
require 'fileutils'
|
13
|
+
require 'tempfile'
|
14
|
+
|
17
15
|
tmp_dest = Dir.mktmpdir(".gem.", ".")
|
18
16
|
|
19
17
|
# Some versions of `mktmpdir` return absolute paths, which will break make
|
@@ -27,7 +25,7 @@ class Gem::Ext::ExtConfBuilder < Gem::Ext::Builder
|
|
27
25
|
# Details: https://github.com/rubygems/rubygems/issues/977#issuecomment-171544940
|
28
26
|
tmp_dest = get_relative_path(tmp_dest)
|
29
27
|
|
30
|
-
Tempfile.open %w
|
28
|
+
Tempfile.open %w[siteconf .rb], "." do |siteconf|
|
31
29
|
siteconf.puts "require 'rbconfig'"
|
32
30
|
siteconf.puts "dest_path = #{tmp_dest.dump}"
|
33
31
|
%w[sitearchdir sitelibdir].each do |dir|
|
@@ -67,11 +65,11 @@ class Gem::Ext::ExtConfBuilder < Gem::Ext::Builder
|
|
67
65
|
if Gem.install_extension_in_lib and lib_dir
|
68
66
|
FileUtils.mkdir_p lib_dir
|
69
67
|
entries = Dir.entries(tmp_dest) - %w[. ..]
|
70
|
-
entries = entries.map {
|
68
|
+
entries = entries.map {|entry| File.join tmp_dest, entry }
|
71
69
|
FileUtils.cp_r entries, lib_dir, :remove_destination => true
|
72
70
|
end
|
73
71
|
|
74
|
-
|
72
|
+
FileUtils::Entry_.new(tmp_dest).traverse do |ent|
|
75
73
|
destent = ent.class.new(dest_path, ent.rel)
|
76
74
|
destent.exist? or FileUtils.mv(ent.path, destent.path)
|
77
75
|
end
|
@@ -93,5 +91,4 @@ class Gem::Ext::ExtConfBuilder < Gem::Ext::Builder
|
|
93
91
|
path[0..Dir.pwd.length - 1] = '.' if path.start_with?(Dir.pwd)
|
94
92
|
path
|
95
93
|
end
|
96
|
-
|
97
94
|
end
|
@@ -8,7 +8,6 @@
|
|
8
8
|
require "shellwords"
|
9
9
|
|
10
10
|
class Gem::Ext::RakeBuilder < Gem::Ext::Builder
|
11
|
-
|
12
11
|
def self.build(extension, dest_path, results, args=[], lib_dir=nil)
|
13
12
|
if File.basename(extension) =~ /mkrf_conf/i
|
14
13
|
run([Gem.ruby, File.basename(extension), *args], results)
|
@@ -31,5 +30,4 @@ class Gem::Ext::RakeBuilder < Gem::Ext::Builder
|
|
31
30
|
|
32
31
|
results
|
33
32
|
end
|
34
|
-
|
35
33
|
end
|
data/lib/rubygems/gem_runner.rb
CHANGED
@@ -7,7 +7,6 @@
|
|
7
7
|
|
8
8
|
require 'rubygems'
|
9
9
|
require 'rubygems/command_manager'
|
10
|
-
require 'rubygems/config_file'
|
11
10
|
require 'rubygems/deprecate'
|
12
11
|
|
13
12
|
##
|
@@ -25,14 +24,9 @@ Gem.load_env_plugins rescue nil
|
|
25
24
|
# classes they call directly.
|
26
25
|
|
27
26
|
class Gem::GemRunner
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
Kernel.warn "NOTE: passing options to Gem::GemRunner.new is deprecated with no replacement. It will be removed on or after 2016-10-01."
|
32
|
-
end
|
33
|
-
|
34
|
-
@command_manager_class = options[:command_manager] || Gem::CommandManager
|
35
|
-
@config_file_class = options[:config_file] || Gem::ConfigFile
|
27
|
+
def initialize
|
28
|
+
@command_manager_class = Gem::CommandManager
|
29
|
+
@config_file_class = Gem::ConfigFile
|
36
30
|
end
|
37
31
|
|
38
32
|
##
|
@@ -80,7 +74,6 @@ class Gem::GemRunner
|
|
80
74
|
Gem.use_paths Gem.configuration[:gemhome], Gem.configuration[:gempath]
|
81
75
|
Gem::Command.extra_args = Gem.configuration[:gem]
|
82
76
|
end
|
83
|
-
|
84
77
|
end
|
85
78
|
|
86
79
|
Gem.load_plugins
|
@@ -19,7 +19,7 @@ module Gem::GemcutterUtilities
|
|
19
19
|
def add_key_option
|
20
20
|
add_option('-k', '--key KEYNAME', Symbol,
|
21
21
|
'Use the given API key',
|
22
|
-
|
22
|
+
"from #{Gem.configuration.credentials_path}") do |value,options|
|
23
23
|
options[:key] = value
|
24
24
|
end
|
25
25
|
end
|
data/lib/rubygems/indexer.rb
CHANGED
@@ -4,24 +4,10 @@ require 'rubygems/package'
|
|
4
4
|
require 'time'
|
5
5
|
require 'tmpdir'
|
6
6
|
|
7
|
-
rescue_exceptions = [LoadError]
|
8
|
-
begin
|
9
|
-
require 'bundler/errors'
|
10
|
-
rescue LoadError # this rubygems + old ruby
|
11
|
-
else # this rubygems + ruby trunk with bundler
|
12
|
-
rescue_exceptions << Bundler::GemfileNotFound
|
13
|
-
end
|
14
|
-
begin
|
15
|
-
gem 'builder'
|
16
|
-
require 'builder/xchar'
|
17
|
-
rescue *rescue_exceptions
|
18
|
-
end
|
19
|
-
|
20
7
|
##
|
21
8
|
# Top level class for building the gem repository index.
|
22
9
|
|
23
10
|
class Gem::Indexer
|
24
|
-
|
25
11
|
include Gem::UserInteraction
|
26
12
|
|
27
13
|
##
|
@@ -62,11 +48,6 @@ class Gem::Indexer
|
|
62
48
|
require 'tmpdir'
|
63
49
|
require 'zlib'
|
64
50
|
|
65
|
-
unless defined?(Builder::XChar)
|
66
|
-
raise "Gem::Indexer requires that the XML Builder library be installed:" +
|
67
|
-
"\n\tgem install builder"
|
68
|
-
end
|
69
|
-
|
70
51
|
options = { :build_modern => true }.merge options
|
71
52
|
|
72
53
|
@build_modern = options[:build_modern]
|
@@ -383,7 +364,7 @@ class Gem::Indexer
|
|
383
364
|
end
|
384
365
|
|
385
366
|
specs = map_gems_to_specs updated_gems
|
386
|
-
prerelease, released = specs.partition {
|
367
|
+
prerelease, released = specs.partition {|s| s.version.prerelease? }
|
387
368
|
|
388
369
|
files = build_marshal_gemspecs specs
|
389
370
|
|
@@ -442,5 +423,4 @@ class Gem::Indexer
|
|
442
423
|
Marshal.dump specs_index, io
|
443
424
|
end
|
444
425
|
end
|
445
|
-
|
446
426
|
end
|