rubygems-update 3.1.6 → 3.3.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/{History.txt → CHANGELOG.md} +1452 -514
- data/CODE_OF_CONDUCT.md +55 -19
- data/CONTRIBUTING.md +74 -27
- data/Manifest.txt +154 -117
- data/POLICIES.md +27 -19
- data/README.md +10 -8
- data/UPGRADING.md +5 -81
- data/bin/gem +3 -8
- data/bin/update_rubygems +5 -5
- data/bundler/CHANGELOG.md +2358 -1430
- data/bundler/README.md +7 -9
- data/bundler/UPGRADING.md +27 -34
- data/bundler/bundler.gemspec +8 -11
- data/bundler/exe/bundle +10 -8
- data/bundler/exe/bundler +1 -1
- data/bundler/lib/bundler/.document +1 -0
- data/bundler/lib/bundler/build_metadata.rb +4 -12
- data/bundler/lib/bundler/cli/add.rb +1 -1
- data/bundler/lib/bundler/cli/binstubs.rb +6 -2
- data/bundler/lib/bundler/cli/cache.rb +3 -8
- data/bundler/lib/bundler/cli/check.rb +4 -2
- data/bundler/lib/bundler/cli/clean.rb +1 -1
- data/bundler/lib/bundler/cli/common.rb +31 -3
- data/bundler/lib/bundler/cli/config.rb +10 -1
- data/bundler/lib/bundler/cli/console.rb +1 -1
- data/bundler/lib/bundler/cli/doctor.rb +25 -6
- data/bundler/lib/bundler/cli/exec.rb +5 -10
- data/bundler/lib/bundler/cli/fund.rb +36 -0
- data/bundler/lib/bundler/cli/gem.rb +219 -28
- data/bundler/lib/bundler/cli/info.rb +38 -6
- data/bundler/lib/bundler/cli/init.rb +3 -3
- data/bundler/lib/bundler/cli/inject.rb +1 -1
- data/bundler/lib/bundler/cli/install.rb +25 -54
- data/bundler/lib/bundler/cli/issue.rb +5 -4
- data/bundler/lib/bundler/cli/list.rb +19 -11
- data/bundler/lib/bundler/cli/lock.rb +5 -1
- data/bundler/lib/bundler/cli/open.rb +1 -2
- data/bundler/lib/bundler/cli/outdated.rb +105 -76
- data/bundler/lib/bundler/cli/platform.rb +2 -2
- data/bundler/lib/bundler/cli/plugin.rb +10 -0
- data/bundler/lib/bundler/cli/pristine.rb +5 -0
- data/bundler/lib/bundler/cli/remove.rb +1 -2
- data/bundler/lib/bundler/cli/show.rb +2 -2
- data/bundler/lib/bundler/cli/update.rb +20 -9
- data/bundler/lib/bundler/cli.rb +106 -83
- data/bundler/lib/bundler/compact_index_client/cache.rb +6 -23
- data/bundler/lib/bundler/compact_index_client/gem_parser.rb +28 -0
- data/bundler/lib/bundler/compact_index_client/updater.rb +29 -25
- data/bundler/lib/bundler/compact_index_client.rb +3 -9
- data/bundler/lib/bundler/current_ruby.rb +17 -6
- data/bundler/lib/bundler/definition.rb +297 -396
- data/bundler/lib/bundler/dep_proxy.rb +16 -9
- data/bundler/lib/bundler/dependency.rb +22 -77
- data/bundler/lib/bundler/digest.rb +71 -0
- data/bundler/lib/bundler/dsl.rb +76 -83
- data/bundler/lib/bundler/endpoint_specification.rb +16 -14
- data/bundler/lib/bundler/env.rb +2 -2
- data/bundler/lib/bundler/environment_preserver.rb +29 -2
- data/bundler/lib/bundler/errors.rb +30 -3
- data/bundler/lib/bundler/feature_flag.rb +0 -9
- data/bundler/lib/bundler/fetcher/base.rb +7 -9
- data/bundler/lib/bundler/fetcher/compact_index.rb +11 -16
- data/bundler/lib/bundler/fetcher/downloader.rb +10 -7
- data/bundler/lib/bundler/fetcher/index.rb +2 -30
- data/bundler/lib/bundler/fetcher.rb +24 -25
- data/bundler/lib/bundler/friendly_errors.rb +46 -47
- data/bundler/lib/bundler/gem_helper.rb +53 -31
- data/bundler/lib/bundler/gem_helpers.rb +43 -24
- data/bundler/lib/bundler/gem_version_promoter.rb +10 -20
- data/bundler/lib/bundler/graph.rb +1 -1
- data/bundler/lib/bundler/index.rb +19 -25
- data/bundler/lib/bundler/injector.rb +38 -6
- data/bundler/lib/bundler/inline.rb +4 -13
- data/bundler/lib/bundler/installer/gem_installer.rb +19 -24
- data/bundler/lib/bundler/installer/parallel_installer.rb +46 -25
- data/bundler/lib/bundler/installer/standalone.rb +58 -11
- data/bundler/lib/bundler/installer.rb +51 -81
- data/bundler/lib/bundler/lazy_specification.rb +79 -36
- data/bundler/lib/bundler/lockfile_generator.rb +3 -3
- data/bundler/lib/bundler/lockfile_parser.rb +19 -44
- data/bundler/lib/bundler/man/.document +1 -0
- data/bundler/{man → lib/bundler/man}/bundle-add.1 +21 -5
- data/bundler/{man/bundle-add.ronn → lib/bundler/man/bundle-add.1.ronn} +16 -4
- data/bundler/{man → lib/bundler/man}/bundle-binstubs.1 +5 -3
- data/bundler/{man/bundle-binstubs.ronn → lib/bundler/man/bundle-binstubs.1.ronn} +2 -4
- data/bundler/{man → lib/bundler/man}/bundle-cache.1 +7 -1
- data/bundler/{man/bundle-cache.ronn → lib/bundler/man/bundle-cache.1.ronn} +7 -0
- data/bundler/{man → lib/bundler/man}/bundle-check.1 +1 -1
- data/bundler/{man → lib/bundler/man}/bundle-clean.1 +1 -1
- data/bundler/{man → lib/bundler/man}/bundle-config.1 +65 -47
- data/bundler/{man/bundle-config.ronn → lib/bundler/man/bundle-config.1.ronn} +74 -65
- data/bundler/lib/bundler/man/bundle-console.1 +53 -0
- data/bundler/lib/bundler/man/bundle-console.1.ronn +44 -0
- data/bundler/{man → lib/bundler/man}/bundle-doctor.1 +1 -1
- data/bundler/{man → lib/bundler/man}/bundle-exec.1 +2 -2
- data/bundler/{man/bundle-exec.ronn → lib/bundler/man/bundle-exec.1.ronn} +1 -1
- data/bundler/{man → lib/bundler/man}/bundle-gem.1 +38 -3
- data/bundler/{man/bundle-gem.ronn → lib/bundler/man/bundle-gem.1.ronn} +46 -7
- data/bundler/lib/bundler/man/bundle-help.1 +13 -0
- data/bundler/lib/bundler/man/bundle-help.1.ronn +12 -0
- data/bundler/{man → lib/bundler/man}/bundle-info.1 +1 -1
- data/bundler/{man → lib/bundler/man}/bundle-init.1 +1 -1
- data/bundler/{man → lib/bundler/man}/bundle-inject.1 +5 -2
- data/bundler/{man/bundle-inject.ronn → lib/bundler/man/bundle-inject.1.ronn} +3 -1
- data/bundler/{man → lib/bundler/man}/bundle-install.1 +35 -4
- data/bundler/{man/bundle-install.ronn → lib/bundler/man/bundle-install.1.ronn} +33 -5
- data/bundler/{man → lib/bundler/man}/bundle-list.1 +7 -7
- data/bundler/{man/bundle-list.ronn → lib/bundler/man/bundle-list.1.ronn} +6 -6
- data/bundler/{man → lib/bundler/man}/bundle-lock.1 +1 -1
- data/bundler/{man → lib/bundler/man}/bundle-open.1 +1 -1
- data/bundler/{man → lib/bundler/man}/bundle-outdated.1 +3 -10
- data/bundler/{man/bundle-outdated.ronn → lib/bundler/man/bundle-outdated.1.ronn} +1 -10
- data/bundler/{man → lib/bundler/man}/bundle-platform.1 +16 -6
- data/bundler/{man/bundle-platform.ronn → lib/bundler/man/bundle-platform.1.ronn} +14 -7
- data/bundler/lib/bundler/man/bundle-plugin.1 +81 -0
- data/bundler/lib/bundler/man/bundle-plugin.1.ronn +59 -0
- data/bundler/{man → lib/bundler/man}/bundle-pristine.1 +1 -1
- data/bundler/{man → lib/bundler/man}/bundle-remove.1 +1 -1
- data/bundler/{man → lib/bundler/man}/bundle-show.1 +1 -1
- data/bundler/{man → lib/bundler/man}/bundle-update.1 +5 -5
- data/bundler/{man/bundle-update.ronn → lib/bundler/man/bundle-update.1.ronn} +5 -4
- data/bundler/lib/bundler/man/bundle-version.1 +35 -0
- data/bundler/lib/bundler/man/bundle-version.1.ronn +24 -0
- data/bundler/{man → lib/bundler/man}/bundle-viz.1 +4 -1
- data/bundler/{man/bundle-viz.ronn → lib/bundler/man/bundle-viz.1.ronn} +2 -0
- data/bundler/{man → lib/bundler/man}/bundle.1 +15 -10
- data/bundler/{man/bundle.ronn → lib/bundler/man/bundle.1.ronn} +12 -7
- data/bundler/{man → lib/bundler/man}/gemfile.5 +106 -80
- data/bundler/{man → lib/bundler/man}/gemfile.5.ronn +94 -83
- data/bundler/{man → lib/bundler/man}/index.txt +4 -0
- data/bundler/lib/bundler/match_metadata.rb +13 -0
- data/bundler/lib/bundler/match_platform.rb +0 -1
- data/bundler/lib/bundler/match_remote_metadata.rb +29 -0
- data/bundler/lib/bundler/mirror.rb +2 -2
- data/bundler/lib/bundler/plugin/api/source.rb +25 -9
- data/bundler/lib/bundler/plugin/dsl.rb +1 -1
- data/bundler/lib/bundler/plugin/index.rb +13 -1
- data/bundler/lib/bundler/plugin/installer/git.rb +0 -4
- data/bundler/lib/bundler/plugin/installer/rubygems.rb +1 -5
- data/bundler/lib/bundler/plugin/installer.rb +11 -11
- data/bundler/lib/bundler/plugin/source_list.rb +5 -1
- data/bundler/lib/bundler/plugin.rb +58 -11
- data/bundler/lib/bundler/process_lock.rb +1 -1
- data/bundler/lib/bundler/remote_specification.rb +11 -6
- data/bundler/lib/bundler/resolver/base.rb +50 -0
- data/bundler/lib/bundler/resolver/spec_group.rb +64 -57
- data/bundler/lib/bundler/resolver.rb +234 -230
- data/bundler/lib/bundler/retry.rb +2 -2
- data/bundler/lib/bundler/ruby_dsl.rb +1 -1
- data/bundler/lib/bundler/ruby_version.rb +6 -19
- data/bundler/lib/bundler/rubygems_ext.rb +194 -33
- data/bundler/lib/bundler/rubygems_gem_installer.rb +87 -16
- data/bundler/lib/bundler/rubygems_integration.rb +71 -153
- data/bundler/lib/bundler/runtime.rb +22 -26
- data/bundler/lib/bundler/self_manager.rb +168 -0
- data/bundler/lib/bundler/settings.rb +145 -66
- data/bundler/lib/bundler/setup.rb +2 -2
- data/bundler/lib/bundler/shared_helpers.rb +17 -32
- data/bundler/lib/bundler/similarity_detector.rb +1 -1
- data/bundler/lib/bundler/source/git/git_proxy.rb +88 -84
- data/bundler/lib/bundler/source/git.rb +50 -32
- data/bundler/lib/bundler/source/metadata.rb +3 -7
- data/bundler/lib/bundler/source/path/installer.rb +10 -10
- data/bundler/lib/bundler/source/path.rb +10 -4
- data/bundler/lib/bundler/source/rubygems/remote.rb +1 -1
- data/bundler/lib/bundler/source/rubygems.rb +201 -179
- data/bundler/lib/bundler/source/rubygems_aggregate.rb +68 -0
- data/bundler/lib/bundler/source.rb +25 -5
- data/bundler/lib/bundler/source_list.rb +105 -63
- data/bundler/lib/bundler/source_map.rb +71 -0
- data/bundler/lib/bundler/spec_set.rb +62 -57
- data/bundler/lib/bundler/stub_specification.rb +30 -10
- data/bundler/lib/bundler/templates/Executable +2 -4
- data/bundler/lib/bundler/templates/Executable.bundler +8 -8
- data/bundler/lib/bundler/templates/Executable.standalone +2 -4
- data/bundler/lib/bundler/templates/Gemfile +0 -2
- data/bundler/lib/bundler/templates/gems.rb +0 -3
- data/bundler/lib/bundler/templates/newgem/CHANGELOG.md.tt +5 -0
- data/bundler/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt +57 -47
- data/bundler/lib/bundler/templates/newgem/Gemfile.tt +12 -1
- data/bundler/lib/bundler/templates/newgem/README.md.tt +9 -14
- data/bundler/lib/bundler/templates/newgem/Rakefile.tt +32 -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 +27 -0
- data/bundler/lib/bundler/templates/newgem/gitlab-ci.yml.tt +9 -0
- data/bundler/lib/bundler/templates/newgem/lib/newgem/version.rb.tt +2 -0
- data/bundler/lib/bundler/templates/newgem/lib/newgem.rb.tt +4 -2
- data/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt +27 -17
- data/bundler/lib/bundler/templates/newgem/rubocop.yml.tt +13 -0
- data/bundler/lib/bundler/templates/newgem/sig/newgem.rbs.tt +8 -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/standard.yml.tt +3 -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/{newgem_test.rb.tt → minitest/test_newgem.rb.tt} +3 -1
- 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 +6 -6
- data/bundler/lib/bundler/uri_credentials_filter.rb +3 -1
- data/bundler/lib/bundler/vendor/.document +1 -0
- data/bundler/lib/bundler/vendor/connection_pool/LICENSE +20 -0
- data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.rb +19 -21
- data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/version.rb +1 -1
- data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/wrapper.rb +57 -0
- data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool.rb +39 -74
- data/bundler/lib/bundler/vendor/fileutils/LICENSE.txt +22 -0
- data/bundler/lib/bundler/vendor/molinillo/LICENSE +9 -0
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb +7 -0
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb +2 -2
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb +11 -5
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +37 -5
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +34 -28
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb +1 -1
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/modules/specification_provider.rb +12 -1
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb +49 -47
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo.rb +0 -1
- data/bundler/lib/bundler/vendor/net-http-persistent/README.rdoc +82 -0
- data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +82 -189
- data/bundler/lib/bundler/vendor/thor/LICENSE.md +20 -0
- data/bundler/lib/bundler/vendor/thor/lib/thor/actions/create_link.rb +2 -1
- data/bundler/lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb +9 -7
- data/bundler/lib/bundler/vendor/thor/lib/thor/actions/inject_into_file.rb +1 -2
- data/bundler/lib/bundler/vendor/thor/lib/thor/actions.rb +7 -3
- data/bundler/lib/bundler/vendor/thor/lib/thor/base.rb +9 -0
- data/bundler/lib/bundler/vendor/thor/lib/thor/core_ext/hash_with_indifferent_access.rb +6 -0
- data/bundler/lib/bundler/vendor/thor/lib/thor/error.rb +10 -5
- data/bundler/lib/bundler/vendor/thor/lib/thor/parser/arguments.rb +5 -1
- data/bundler/lib/bundler/vendor/thor/lib/thor/parser/options.rb +28 -9
- data/bundler/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +27 -6
- data/bundler/lib/bundler/vendor/thor/lib/thor/shell/color.rb +5 -1
- data/bundler/lib/bundler/vendor/thor/lib/thor/shell.rb +1 -1
- data/bundler/lib/bundler/vendor/thor/lib/thor/util.rb +1 -1
- data/bundler/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
- data/bundler/lib/bundler/vendor/thor/lib/thor.rb +5 -13
- data/bundler/lib/bundler/vendor/tmpdir/lib/tmpdir.rb +154 -0
- data/bundler/lib/bundler/vendor/tsort/LICENSE.txt +22 -0
- data/bundler/lib/bundler/vendor/tsort/lib/tsort.rb +452 -0
- data/bundler/lib/bundler/vendor/uri/LICENSE.txt +22 -0
- data/bundler/lib/bundler/vendor/uri/lib/uri/common.rb +17 -80
- data/bundler/lib/bundler/vendor/uri/lib/uri/ftp.rb +0 -1
- data/bundler/lib/bundler/vendor/uri/lib/uri/generic.rb +5 -6
- data/bundler/lib/bundler/vendor/uri/lib/uri/http.rb +0 -1
- data/bundler/lib/bundler/vendor/uri/lib/uri/https.rb +0 -1
- data/bundler/lib/bundler/vendor/uri/lib/uri/ldap.rb +1 -1
- data/bundler/lib/bundler/vendor/uri/lib/uri/mailto.rb +0 -1
- data/bundler/lib/bundler/vendor/uri/lib/uri/rfc2396_parser.rb +1 -14
- data/bundler/lib/bundler/vendor/uri/lib/uri/rfc3986_parser.rb +1 -12
- data/bundler/lib/bundler/vendor/uri/lib/uri/version.rb +1 -1
- data/bundler/lib/bundler/vendor/uri/lib/uri/ws.rb +84 -0
- data/bundler/lib/bundler/vendor/uri/lib/uri/wss.rb +22 -0
- data/bundler/lib/bundler/vendor/uri/lib/uri.rb +0 -1
- data/bundler/lib/bundler/vendored_persistent.rb +0 -7
- data/bundler/lib/bundler/vendored_tmpdir.rb +4 -0
- data/bundler/lib/bundler/vendored_tsort.rb +4 -0
- data/bundler/lib/bundler/version.rb +1 -1
- data/bundler/lib/bundler/worker.rb +20 -5
- data/bundler/lib/bundler/yaml_serializer.rb +1 -1
- data/bundler/lib/bundler.rb +79 -47
- data/hide_lib_for_update/note.txt +0 -4
- data/lib/rubygems/available_set.rb +7 -9
- data/lib/rubygems/basic_specification.rb +23 -21
- data/lib/rubygems/bundler_version_finder.rb +26 -53
- data/lib/rubygems/command.rb +48 -45
- data/lib/rubygems/command_manager.rb +20 -14
- data/lib/rubygems/commands/build_command.rb +47 -27
- data/lib/rubygems/commands/cert_command.rb +78 -75
- data/lib/rubygems/commands/check_command.rb +20 -22
- data/lib/rubygems/commands/cleanup_command.rb +30 -26
- data/lib/rubygems/commands/contents_command.rb +16 -18
- data/lib/rubygems/commands/dependency_command.rb +39 -51
- data/lib/rubygems/commands/environment_command.rb +11 -10
- data/lib/rubygems/commands/fetch_command.rb +33 -16
- data/lib/rubygems/commands/generate_index_command.rb +17 -19
- data/lib/rubygems/commands/help_command.rb +6 -6
- data/lib/rubygems/commands/info_command.rb +10 -7
- data/lib/rubygems/commands/install_command.rb +29 -27
- data/lib/rubygems/commands/list_command.rb +9 -8
- data/lib/rubygems/commands/lock_command.rb +5 -7
- data/lib/rubygems/commands/mirror_command.rb +3 -5
- data/lib/rubygems/commands/open_command.rb +10 -14
- data/lib/rubygems/commands/outdated_command.rb +5 -7
- data/lib/rubygems/commands/owner_command.rb +26 -16
- data/lib/rubygems/commands/pristine_command.rb +61 -49
- data/lib/rubygems/commands/push_command.rb +22 -59
- data/lib/rubygems/commands/query_command.rb +21 -351
- data/lib/rubygems/commands/rdoc_command.rb +23 -25
- data/lib/rubygems/commands/search_command.rb +8 -8
- data/lib/rubygems/commands/server_command.rb +16 -77
- data/lib/rubygems/commands/setup_command.rb +255 -229
- data/lib/rubygems/commands/signin_command.rb +9 -11
- data/lib/rubygems/commands/signout_command.rb +7 -9
- data/lib/rubygems/commands/sources_command.rb +27 -25
- data/lib/rubygems/commands/specification_command.rb +25 -21
- data/lib/rubygems/commands/stale_command.rb +3 -5
- data/lib/rubygems/commands/uninstall_command.rb +41 -43
- data/lib/rubygems/commands/unpack_command.rb +13 -15
- data/lib/rubygems/commands/update_command.rb +132 -74
- data/lib/rubygems/commands/which_command.rb +7 -9
- data/lib/rubygems/commands/yank_command.rb +16 -19
- data/lib/rubygems/compatibility.rb +4 -2
- data/lib/rubygems/config_file.rb +42 -26
- data/lib/rubygems/core_ext/kernel_gem.rb +1 -1
- data/lib/rubygems/core_ext/kernel_require.rb +6 -3
- data/lib/rubygems/core_ext/kernel_warn.rb +12 -13
- data/lib/rubygems/core_ext/tcpsocket_init.rb +52 -0
- data/lib/rubygems/defaults.rb +108 -32
- data/lib/rubygems/dependency.rb +21 -22
- data/lib/rubygems/dependency_installer.rb +19 -91
- data/lib/rubygems/dependency_list.rb +13 -15
- data/lib/rubygems/deprecate.rb +102 -8
- data/lib/rubygems/doctor.rb +22 -22
- data/lib/rubygems/errors.rb +6 -21
- data/lib/rubygems/exceptions.rb +33 -34
- data/lib/rubygems/ext/build_error.rb +2 -0
- data/lib/rubygems/ext/builder.rb +48 -54
- data/lib/rubygems/ext/cargo_builder/link_flag_converter.rb +23 -0
- data/lib/rubygems/ext/cargo_builder.rb +321 -0
- data/lib/rubygems/ext/cmake_builder.rb +6 -9
- data/lib/rubygems/ext/configure_builder.rb +5 -8
- data/lib/rubygems/ext/ext_conf_builder.rb +42 -66
- data/lib/rubygems/ext/rake_builder.rb +7 -10
- data/lib/rubygems/ext.rb +7 -6
- data/lib/rubygems/gem_runner.rb +15 -26
- data/lib/rubygems/gemcutter_utilities.rb +153 -32
- data/lib/rubygems/indexer.rb +30 -49
- data/lib/rubygems/install_default_message.rb +2 -2
- data/lib/rubygems/install_message.rb +2 -2
- data/lib/rubygems/install_update_options.rb +73 -64
- data/lib/rubygems/installer.rb +194 -151
- data/lib/rubygems/installer_uninstaller_utils.rb +29 -0
- data/lib/rubygems/local_remote_options.rb +22 -24
- data/lib/rubygems/mock_gem_ui.rb +2 -8
- data/lib/rubygems/name_tuple.rb +9 -14
- data/lib/rubygems/openssl.rb +7 -0
- data/lib/rubygems/optparse/.document +1 -0
- data/lib/rubygems/optparse/COPYING +56 -0
- data/lib/rubygems/optparse/lib/optionparser.rb +2 -0
- data/lib/rubygems/optparse/lib/optparse/ac.rb +54 -0
- data/lib/rubygems/optparse/lib/optparse/date.rb +18 -0
- data/lib/rubygems/optparse/lib/optparse/kwargs.rb +22 -0
- data/lib/rubygems/optparse/lib/optparse/shellwords.rb +7 -0
- data/lib/rubygems/optparse/lib/optparse/time.rb +11 -0
- data/lib/rubygems/optparse/lib/optparse/uri.rb +7 -0
- data/lib/rubygems/optparse/lib/optparse/version.rb +71 -0
- data/lib/rubygems/optparse/lib/optparse.rb +2303 -0
- data/lib/rubygems/optparse.rb +3 -0
- data/lib/rubygems/package/digest_io.rb +0 -2
- data/lib/rubygems/package/file_source.rb +2 -4
- data/lib/rubygems/package/io_source.rb +4 -2
- data/lib/rubygems/package/old.rb +9 -11
- data/lib/rubygems/package/tar_header.rb +54 -56
- data/lib/rubygems/package/tar_reader/entry.rb +2 -5
- data/lib/rubygems/package/tar_reader.rb +1 -4
- data/lib/rubygems/package/tar_writer.rb +8 -18
- data/lib/rubygems/package.rb +101 -117
- data/lib/rubygems/package_task.rb +5 -11
- data/lib/rubygems/path_support.rb +2 -9
- data/lib/rubygems/platform.rb +101 -76
- data/lib/rubygems/psych_tree.rb +1 -3
- data/lib/rubygems/query_utils.rb +351 -0
- data/lib/rubygems/rdoc.rb +2 -14
- data/lib/rubygems/remote_fetcher.rb +48 -74
- data/lib/rubygems/request/connection_pools.rb +6 -10
- data/lib/rubygems/request/http_pool.rb +2 -4
- data/lib/rubygems/request/https_pool.rb +0 -2
- data/lib/rubygems/request.rb +26 -31
- data/lib/rubygems/request_set/gem_dependency_api.rb +23 -25
- data/lib/rubygems/request_set/lockfile/parser.rb +26 -28
- data/lib/rubygems/request_set/lockfile/tokenizer.rb +5 -7
- data/lib/rubygems/request_set/lockfile.rb +17 -21
- data/lib/rubygems/request_set.rb +27 -40
- data/lib/rubygems/requirement.rb +28 -48
- data/lib/rubygems/resolver/activation_request.rb +12 -6
- data/lib/rubygems/resolver/api_set/gem_parser.rb +20 -0
- data/lib/rubygems/resolver/api_set.rb +32 -25
- data/lib/rubygems/resolver/api_specification.rb +29 -15
- data/lib/rubygems/resolver/best_set.rb +7 -9
- data/lib/rubygems/resolver/composed_set.rb +3 -5
- data/lib/rubygems/resolver/conflict.rb +12 -14
- data/lib/rubygems/resolver/current_set.rb +0 -2
- data/lib/rubygems/resolver/dependency_request.rb +3 -5
- data/lib/rubygems/resolver/git_set.rb +2 -4
- data/lib/rubygems/resolver/git_specification.rb +6 -8
- data/lib/rubygems/resolver/index_set.rb +4 -6
- data/lib/rubygems/resolver/index_specification.rb +38 -7
- data/lib/rubygems/resolver/installed_specification.rb +4 -6
- data/lib/rubygems/resolver/installer_set.rb +66 -24
- data/lib/rubygems/resolver/local_specification.rb +2 -4
- data/lib/rubygems/resolver/lock_set.rb +6 -8
- data/lib/rubygems/resolver/lock_specification.rb +4 -6
- data/lib/rubygems/resolver/molinillo/LICENSE +9 -0
- data/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/resolution_state.rb +7 -0
- data/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/specification_provider.rb +8 -0
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/action.rb +1 -0
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +2 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +2 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +2 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +2 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/log.rb +7 -6
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/set_payload.rb +2 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/tag.rb +4 -3
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/vertex.rb +51 -12
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb +41 -8
- data/lib/rubygems/resolver/molinillo/lib/molinillo/errors.rb +76 -8
- data/lib/rubygems/resolver/molinillo/lib/molinillo/gem_metadata.rb +2 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/modules/specification_provider.rb +13 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/modules/ui.rb +3 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/resolution.rb +510 -165
- data/lib/rubygems/resolver/molinillo/lib/molinillo/resolver.rb +3 -2
- data/lib/rubygems/resolver/molinillo/lib/molinillo/state.rb +8 -4
- data/lib/rubygems/resolver/molinillo/lib/molinillo.rb +6 -5
- data/lib/rubygems/resolver/molinillo.rb +1 -1
- data/lib/rubygems/resolver/requirement_list.rb +0 -2
- data/lib/rubygems/resolver/set.rb +0 -3
- data/lib/rubygems/resolver/source_set.rb +0 -2
- data/lib/rubygems/resolver/spec_specification.rb +14 -2
- data/lib/rubygems/resolver/specification.rb +14 -4
- data/lib/rubygems/resolver/stats.rb +0 -2
- data/lib/rubygems/resolver/vendor_set.rb +1 -3
- data/lib/rubygems/resolver/vendor_specification.rb +3 -5
- data/lib/rubygems/resolver.rb +53 -51
- data/lib/rubygems/s3_uri_signer.rb +7 -15
- data/lib/rubygems/safe_yaml.rb +14 -16
- data/lib/rubygems/security/policies.rb +11 -11
- data/lib/rubygems/security/policy.rb +25 -29
- data/lib/rubygems/security/signer.rb +13 -16
- data/lib/rubygems/security/trust_dir.rb +4 -5
- data/lib/rubygems/security.rb +103 -69
- data/lib/rubygems/security_option.rb +7 -7
- data/lib/rubygems/source/git.rb +30 -30
- data/lib/rubygems/source/installed.rb +1 -3
- data/lib/rubygems/source/local.rb +4 -6
- data/lib/rubygems/source/lock.rb +0 -2
- data/lib/rubygems/source/specific_file.rb +1 -3
- data/lib/rubygems/source/vendor.rb +0 -2
- data/lib/rubygems/source.rb +44 -38
- data/lib/rubygems/source_list.rb +9 -16
- data/lib/rubygems/spec_fetcher.rb +49 -48
- data/lib/rubygems/specification.rb +338 -295
- data/lib/rubygems/specification_policy.rb +112 -61
- data/lib/rubygems/stub_specification.rb +21 -28
- data/lib/rubygems/text.rb +21 -20
- data/lib/rubygems/tsort/.document +1 -0
- data/lib/rubygems/tsort/LICENSE.txt +22 -0
- data/lib/rubygems/tsort/lib/tsort.rb +454 -0
- data/lib/rubygems/tsort.rb +3 -0
- data/lib/rubygems/uninstaller.rb +98 -45
- data/lib/rubygems/unknown_command_spell_checker.rb +21 -0
- data/lib/rubygems/uri.rb +126 -0
- data/lib/rubygems/uri_formatter.rb +2 -3
- data/lib/rubygems/user_interaction.rb +43 -54
- data/lib/rubygems/util/licenses.rb +115 -10
- data/lib/rubygems/util/list.rb +0 -2
- data/lib/rubygems/util.rb +18 -12
- data/lib/rubygems/validator.rb +6 -8
- data/lib/rubygems/version.rb +29 -20
- data/lib/rubygems/version_option.rb +11 -5
- data/lib/rubygems.rb +192 -289
- data/rubygems-update.gemspec +4 -4
- data/setup.rb +11 -22
- data/test/rubygems/data/excon-0.7.7.gemspec.rz +0 -0
- data/test/rubygems/data/null-required-ruby-version.gemspec.rz +0 -0
- data/test/rubygems/data/null-required-rubygems-version.gemspec.rz +0 -0
- data/test/rubygems/data/pry-0.4.7.gemspec.rz +0 -0
- data/test/rubygems/encrypted_private_key.pem +26 -26
- data/{lib/rubygems/test_case.rb → test/rubygems/helper.rb} +380 -314
- data/{lib → test}/rubygems/installer_test_case.rb +38 -24
- data/{lib → test}/rubygems/package/tar_test_case.rb +4 -6
- data/test/rubygems/packages/ascii_binder-0.1.10.1.gem +0 -0
- data/test/rubygems/packages/ill-formatted-platform-1.0.0.10.gem +0 -0
- data/test/rubygems/plugin/exception/rubygems_plugin.rb +1 -1
- data/test/rubygems/plugin/load/rubygems_plugin.rb +0 -2
- data/test/rubygems/plugin/standarderror/rubygems_plugin.rb +1 -1
- data/test/rubygems/private_ec_key.pem +9 -0
- data/test/rubygems/rubygems/commands/crash_command.rb +0 -2
- data/test/rubygems/rubygems_plugin.rb +2 -4
- data/test/rubygems/specifications/bar-0.0.2.gemspec +0 -2
- data/test/rubygems/specifications/rubyforge-0.0.1.gemspec +4 -6
- data/test/rubygems/test_bundled_ca.rb +43 -50
- data/test/rubygems/test_config.rb +5 -7
- data/test/rubygems/test_deprecate.rb +87 -10
- data/test/rubygems/test_exit.rb +11 -0
- data/test/rubygems/test_gem.rb +719 -639
- data/test/rubygems/test_gem_available_set.rb +24 -26
- data/test/rubygems/test_gem_bundler_version_finder.rb +37 -44
- data/test/rubygems/test_gem_command.rb +78 -49
- data/test/rubygems/test_gem_command_manager.rb +98 -35
- data/test/rubygems/test_gem_commands_build_command.rb +275 -57
- data/test/rubygems/test_gem_commands_cert_command.rb +180 -125
- data/test/rubygems/test_gem_commands_check_command.rb +9 -11
- data/test/rubygems/test_gem_commands_cleanup_command.rb +78 -69
- data/test/rubygems/test_gem_commands_contents_command.rb +73 -42
- data/test/rubygems/test_gem_commands_dependency_command.rb +38 -40
- data/test/rubygems/test_gem_commands_environment_command.rb +60 -38
- data/test/rubygems/test_gem_commands_fetch_command.rb +163 -32
- data/test/rubygems/test_gem_commands_generate_index_command.rb +8 -14
- data/test/rubygems/test_gem_commands_help_command.rb +34 -16
- data/test/rubygems/test_gem_commands_info_command.rb +33 -9
- data/test/rubygems/test_gem_commands_install_command.rb +401 -198
- data/test/rubygems/test_gem_commands_list_command.rb +5 -7
- data/test/rubygems/test_gem_commands_lock_command.rb +11 -13
- data/test/rubygems/test_gem_commands_mirror.rb +3 -5
- data/test/rubygems/test_gem_commands_open_command.rb +16 -19
- data/test/rubygems/test_gem_commands_outdated_command.rb +23 -7
- data/test/rubygems/test_gem_commands_owner_command.rb +100 -46
- data/test/rubygems/test_gem_commands_pristine_command.rb +131 -99
- data/test/rubygems/test_gem_commands_push_command.rb +134 -66
- data/test/rubygems/test_gem_commands_query_command.rb +91 -91
- data/test/rubygems/test_gem_commands_search_command.rb +2 -4
- data/test/rubygems/test_gem_commands_server_command.rb +6 -50
- data/test/rubygems/test_gem_commands_setup_command.rb +288 -179
- data/test/rubygems/test_gem_commands_signin_command.rb +162 -28
- data/test/rubygems/test_gem_commands_signout_command.rb +3 -10
- data/test/rubygems/test_gem_commands_sources_command.rb +139 -32
- data/test/rubygems/test_gem_commands_specification_command.rb +81 -55
- data/test/rubygems/test_gem_commands_stale_command.rb +4 -6
- data/test/rubygems/test_gem_commands_uninstall_command.rb +80 -82
- data/test/rubygems/test_gem_commands_unpack_command.rb +32 -34
- data/test/rubygems/test_gem_commands_update_command.rb +335 -88
- data/test/rubygems/test_gem_commands_which_command.rb +12 -14
- data/test/rubygems/test_gem_commands_yank_command.rb +80 -44
- data/test/rubygems/test_gem_config_file.rb +114 -97
- data/test/rubygems/test_gem_dependency.rb +87 -87
- data/test/rubygems/test_gem_dependency_installer.rb +277 -391
- data/test/rubygems/test_gem_dependency_list.rb +57 -59
- data/test/rubygems/test_gem_dependency_resolution_error.rb +5 -7
- data/test/rubygems/test_gem_doctor.rb +73 -47
- data/test/rubygems/test_gem_ext_builder.rb +115 -109
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/.gitignore +1 -0
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/Cargo.lock +243 -0
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/Cargo.toml +10 -0
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/build.rb +21 -0
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/custom_name.gemspec +10 -0
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/src/lib.rs +27 -0
- data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/.gitignore +1 -0
- data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.lock +243 -0
- data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.toml +10 -0
- data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/build.rb +21 -0
- data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/rust_ruby_example.gemspec +8 -0
- data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/src/lib.rs +39 -0
- data/test/rubygems/test_gem_ext_cargo_builder.rb +178 -0
- data/test/rubygems/test_gem_ext_cargo_builder_link_flag_converter.rb +33 -0
- data/test/rubygems/test_gem_ext_cargo_builder_unit.rb +75 -0
- data/test/rubygems/test_gem_ext_cmake_builder.rb +31 -38
- data/test/rubygems/test_gem_ext_configure_builder.rb +23 -39
- data/test/rubygems/test_gem_ext_ext_conf_builder.rb +66 -82
- data/test/rubygems/test_gem_ext_rake_builder.rb +49 -32
- data/test/rubygems/test_gem_gem_runner.rb +51 -8
- data/test/rubygems/test_gem_gemcutter_utilities.rb +87 -76
- data/test/rubygems/test_gem_impossible_dependencies_error.rb +4 -6
- data/test/rubygems/test_gem_indexer.rb +62 -64
- data/test/rubygems/test_gem_install_update_options.rb +31 -21
- data/test/rubygems/test_gem_installer.rb +798 -491
- data/test/rubygems/test_gem_local_remote_options.rb +11 -13
- data/test/rubygems/test_gem_name_tuple.rb +4 -6
- data/test/rubygems/test_gem_package.rb +318 -283
- data/test/rubygems/test_gem_package_old.rb +18 -20
- data/test/rubygems/test_gem_package_tar_header.rb +64 -47
- data/test/rubygems/test_gem_package_tar_reader.rb +8 -10
- data/test/rubygems/test_gem_package_tar_reader_entry.rb +18 -20
- data/test/rubygems/test_gem_package_tar_writer.rb +96 -100
- data/test/rubygems/test_gem_package_task.rb +58 -25
- data/test/rubygems/test_gem_path_support.rb +15 -21
- data/test/rubygems/test_gem_platform.rb +354 -201
- data/test/rubygems/test_gem_rdoc.rb +19 -21
- data/test/rubygems/test_gem_remote_fetcher.rb +376 -337
- data/test/rubygems/test_gem_request.rb +114 -86
- data/test/rubygems/test_gem_request_connection_pools.rb +30 -34
- data/test/rubygems/test_gem_request_set.rb +123 -124
- data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +222 -226
- data/test/rubygems/test_gem_request_set_lockfile.rb +93 -95
- data/test/rubygems/test_gem_request_set_lockfile_parser.rb +68 -70
- data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +136 -138
- data/test/rubygems/test_gem_requirement.rb +133 -54
- data/test/rubygems/test_gem_resolver.rb +149 -117
- data/test/rubygems/test_gem_resolver_activation_request.rb +6 -8
- data/test/rubygems/test_gem_resolver_api_set.rb +79 -78
- data/test/rubygems/test_gem_resolver_api_specification.rb +47 -49
- data/test/rubygems/test_gem_resolver_best_set.rb +43 -22
- data/test/rubygems/test_gem_resolver_composed_set.rb +1 -3
- data/test/rubygems/test_gem_resolver_conflict.rb +12 -14
- data/test/rubygems/test_gem_resolver_dependency_request.rb +15 -17
- data/test/rubygems/test_gem_resolver_git_set.rb +22 -24
- data/test/rubygems/test_gem_resolver_git_specification.rb +22 -23
- data/test/rubygems/test_gem_resolver_index_set.rb +14 -16
- data/test/rubygems/test_gem_resolver_index_specification.rb +16 -18
- data/test/rubygems/test_gem_resolver_installed_specification.rb +5 -7
- data/test/rubygems/test_gem_resolver_installer_set.rb +104 -44
- data/test/rubygems/test_gem_resolver_local_specification.rb +7 -9
- data/test/rubygems/test_gem_resolver_lock_set.rb +15 -17
- data/test/rubygems/test_gem_resolver_lock_specification.rb +17 -19
- data/test/rubygems/test_gem_resolver_requirement_list.rb +1 -3
- data/test/rubygems/test_gem_resolver_specification.rb +8 -12
- data/test/rubygems/test_gem_resolver_vendor_set.rb +9 -11
- data/test/rubygems/test_gem_resolver_vendor_specification.rb +10 -12
- data/test/rubygems/test_gem_security.rb +104 -78
- data/test/rubygems/test_gem_security_policy.rb +92 -97
- data/test/rubygems/test_gem_security_signer.rb +45 -47
- data/test/rubygems/test_gem_security_trust_dir.rb +12 -14
- data/test/rubygems/test_gem_silent_ui.rb +46 -42
- data/test/rubygems/test_gem_source.rb +53 -52
- data/test/rubygems/test_gem_source_fetch_problem.rb +16 -8
- data/test/rubygems/test_gem_source_git.rb +69 -69
- data/test/rubygems/test_gem_source_installed.rb +16 -18
- data/test/rubygems/test_gem_source_list.rb +5 -6
- data/test/rubygems/test_gem_source_local.rb +15 -17
- data/test/rubygems/test_gem_source_lock.rb +31 -33
- data/test/rubygems/test_gem_source_specific_file.rb +18 -20
- data/test/rubygems/test_gem_source_subpath_problem.rb +49 -0
- data/test/rubygems/test_gem_source_vendor.rb +13 -15
- data/test/rubygems/test_gem_spec_fetcher.rb +74 -67
- data/test/rubygems/test_gem_specification.rb +888 -1024
- data/test/rubygems/test_gem_stream_ui.rb +23 -23
- data/test/rubygems/test_gem_stub_specification.rb +39 -57
- data/test/rubygems/test_gem_text.rb +8 -4
- data/test/rubygems/test_gem_uninstaller.rb +233 -104
- data/test/rubygems/test_gem_unsatisfiable_dependency_error.rb +3 -5
- data/test/rubygems/test_gem_uri.rb +39 -0
- data/test/rubygems/test_gem_uri_formatter.rb +14 -16
- data/test/rubygems/test_gem_util.rb +37 -35
- data/test/rubygems/test_gem_validator.rb +10 -12
- data/test/rubygems/test_gem_version.rb +31 -31
- data/test/rubygems/test_gem_version_option.rb +16 -18
- data/test/rubygems/test_kernel.rb +46 -60
- data/test/rubygems/test_project_sanity.rb +8 -3
- data/test/rubygems/test_remote_fetch_error.rb +7 -9
- data/test/rubygems/test_require.rb +240 -167
- data/test/rubygems/test_rubygems.rb +74 -0
- data/{lib/rubygems/test_utilities.rb → test/rubygems/utilities.rb} +30 -39
- data/test/test_changelog_generator.rb +17 -0
- metadata +158 -146
- data/.bundle/config +0 -2
- data/.rubocop.yml +0 -91
- data/Gemfile +0 -8
- data/Gemfile.lock +0 -43
- data/Rakefile +0 -428
- data/bundler/CODE_OF_CONDUCT.md +0 -136
- data/bundler/lib/bundler/gemdeps.rb +0 -29
- data/bundler/lib/bundler/psyched_yaml.rb +0 -37
- data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/monotonic_time.rb +0 -66
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/compatibility.rb +0 -26
- 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/lib/rubygems/psych_additions.rb +0 -10
- data/lib/rubygems/server.rb +0 -879
- data/lib/rubygems/source_local.rb +0 -7
- data/lib/rubygems/source_specific_file.rb +0 -6
- data/lib/rubygems/syck_hack.rb +0 -79
- data/lib/rubygems/uri_parser.rb +0 -36
- data/lib/rubygems/uri_parsing.rb +0 -23
- data/lib/ubygems.rb +0 -14
- data/test/rubygems/bogussources.rb +0 -9
- data/test/rubygems/data/null-type.gemspec.rz +0 -0
- data/test/rubygems/test_gem_server.rb +0 -612
- 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 -137
- data/util/update_changelog.rb +0 -64
- /data/bundler/{man/bundle-check.ronn → lib/bundler/man/bundle-check.1.ronn} +0 -0
- /data/bundler/{man/bundle-clean.ronn → lib/bundler/man/bundle-clean.1.ronn} +0 -0
- /data/bundler/{man/bundle-doctor.ronn → lib/bundler/man/bundle-doctor.1.ronn} +0 -0
- /data/bundler/{man/bundle-info.ronn → lib/bundler/man/bundle-info.1.ronn} +0 -0
- /data/bundler/{man/bundle-init.ronn → lib/bundler/man/bundle-init.1.ronn} +0 -0
- /data/bundler/{man/bundle-lock.ronn → lib/bundler/man/bundle-lock.1.ronn} +0 -0
- /data/bundler/{man/bundle-open.ronn → lib/bundler/man/bundle-open.1.ronn} +0 -0
- /data/bundler/{man/bundle-pristine.ronn → lib/bundler/man/bundle-pristine.1.ronn} +0 -0
- /data/bundler/{man/bundle-remove.ronn → lib/bundler/man/bundle-remove.1.ronn} +0 -0
- /data/bundler/{man/bundle-show.ronn → lib/bundler/man/bundle-show.1.ronn} +0 -0
@@ -1,19 +1,17 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
require 'rubygems/deprecate'
|
2
|
+
require_relative "../rubygems"
|
3
|
+
require_relative "dependency_list"
|
4
|
+
require_relative "package"
|
5
|
+
require_relative "installer"
|
6
|
+
require_relative "spec_fetcher"
|
7
|
+
require_relative "user_interaction"
|
8
|
+
require_relative "available_set"
|
9
|
+
require_relative "deprecate"
|
11
10
|
|
12
11
|
##
|
13
12
|
# Installs a gem along with all its dependencies from local and remote gems.
|
14
13
|
|
15
14
|
class Gem::DependencyInstaller
|
16
|
-
|
17
15
|
include Gem::UserInteraction
|
18
16
|
extend Gem::Deprecate
|
19
17
|
|
@@ -29,7 +27,7 @@ class Gem::DependencyInstaller
|
|
29
27
|
:wrappers => true,
|
30
28
|
:build_args => nil,
|
31
29
|
:build_docs_in_background => false,
|
32
|
-
:install_as_default => false
|
30
|
+
:install_as_default => false,
|
33
31
|
}.freeze
|
34
32
|
|
35
33
|
##
|
@@ -106,33 +104,12 @@ class Gem::DependencyInstaller
|
|
106
104
|
@errors = []
|
107
105
|
end
|
108
106
|
|
109
|
-
##
|
110
|
-
# Creates an AvailableSet to install from based on +dep_or_name+ and
|
111
|
-
# +version+
|
112
|
-
|
113
|
-
def available_set_for(dep_or_name, version) # :nodoc:
|
114
|
-
if String === dep_or_name
|
115
|
-
Gem::Deprecate.skip_during do
|
116
|
-
find_spec_by_name_and_version dep_or_name, version, @prerelease
|
117
|
-
end
|
118
|
-
else
|
119
|
-
dep = dep_or_name.dup
|
120
|
-
dep.prerelease = @prerelease
|
121
|
-
@available = Gem::Deprecate.skip_during do
|
122
|
-
find_gems_with_sources dep
|
123
|
-
end
|
124
|
-
end
|
125
|
-
|
126
|
-
@available.pick_best!
|
127
|
-
end
|
128
|
-
deprecate :available_set_for, :none, 2019, 12
|
129
|
-
|
130
107
|
##
|
131
108
|
# Indicated, based on the requested domain, if local
|
132
109
|
# gems should be considered.
|
133
110
|
|
134
111
|
def consider_local?
|
135
|
-
@domain == :both
|
112
|
+
@domain == :both || @domain == :local
|
136
113
|
end
|
137
114
|
|
138
115
|
##
|
@@ -140,7 +117,7 @@ class Gem::DependencyInstaller
|
|
140
117
|
# gems should be considered.
|
141
118
|
|
142
119
|
def consider_remote?
|
143
|
-
@domain == :both
|
120
|
+
@domain == :both || @domain == :remote
|
144
121
|
end
|
145
122
|
|
146
123
|
##
|
@@ -216,61 +193,11 @@ class Gem::DependencyInstaller
|
|
216
193
|
|
217
194
|
set
|
218
195
|
end
|
219
|
-
|
220
|
-
|
221
|
-
##
|
222
|
-
# Finds a spec and the source_uri it came from for gem +gem_name+ and
|
223
|
-
# +version+. Returns an Array of specs and sources required for
|
224
|
-
# installation of the gem.
|
225
|
-
|
226
|
-
def find_spec_by_name_and_version(gem_name,
|
227
|
-
version = Gem::Requirement.default,
|
228
|
-
prerelease = false)
|
229
|
-
set = Gem::AvailableSet.new
|
230
|
-
|
231
|
-
if consider_local?
|
232
|
-
if gem_name =~ /\.gem$/ and File.file? gem_name
|
233
|
-
src = Gem::Source::SpecificFile.new(gem_name)
|
234
|
-
set.add src.spec, src
|
235
|
-
elsif gem_name =~ /\.gem$/
|
236
|
-
Dir[gem_name].each do |name|
|
237
|
-
begin
|
238
|
-
src = Gem::Source::SpecificFile.new name
|
239
|
-
set.add src.spec, src
|
240
|
-
rescue Gem::Package::FormatError
|
241
|
-
end
|
242
|
-
end
|
243
|
-
else
|
244
|
-
local = Gem::Source::Local.new
|
245
|
-
|
246
|
-
if s = local.find_gem(gem_name, version)
|
247
|
-
set.add s, local
|
248
|
-
end
|
249
|
-
end
|
250
|
-
end
|
251
|
-
|
252
|
-
if set.empty?
|
253
|
-
dep = Gem::Dependency.new gem_name, version
|
254
|
-
dep.prerelease = true if prerelease
|
255
|
-
|
256
|
-
set = Gem::Deprecate.skip_during do
|
257
|
-
find_gems_with_sources(dep, true)
|
258
|
-
end
|
259
|
-
|
260
|
-
set.match_platform!
|
261
|
-
end
|
262
|
-
|
263
|
-
if set.empty?
|
264
|
-
raise Gem::SpecificGemNotFoundException.new(gem_name, version, @errors)
|
265
|
-
end
|
266
|
-
|
267
|
-
@available = set
|
268
|
-
end
|
269
|
-
deprecate :find_spec_by_name_and_version, :none, 2019, 12
|
196
|
+
rubygems_deprecate :find_gems_with_sources
|
270
197
|
|
271
198
|
def in_background(what) # :nodoc:
|
272
199
|
fork_happened = false
|
273
|
-
if @build_docs_in_background
|
200
|
+
if @build_docs_in_background && Process.respond_to?(:fork)
|
274
201
|
begin
|
275
202
|
Process.fork do
|
276
203
|
yield
|
@@ -341,7 +268,7 @@ class Gem::DependencyInstaller
|
|
341
268
|
end
|
342
269
|
|
343
270
|
def install_development_deps # :nodoc:
|
344
|
-
if @development
|
271
|
+
if @development && @dev_shallow
|
345
272
|
:shallow
|
346
273
|
elsif @development
|
347
274
|
:all
|
@@ -356,13 +283,13 @@ class Gem::DependencyInstaller
|
|
356
283
|
request_set.development_shallow = @dev_shallow
|
357
284
|
request_set.soft_missing = @force
|
358
285
|
request_set.prerelease = @prerelease
|
359
|
-
request_set.remote = false unless consider_remote?
|
360
286
|
|
361
287
|
installer_set = Gem::Resolver::InstallerSet.new @domain
|
362
|
-
installer_set.ignore_installed = @only_install_dir
|
288
|
+
installer_set.ignore_installed = (@minimal_deps == false) || @only_install_dir
|
289
|
+
installer_set.force = @force
|
363
290
|
|
364
291
|
if consider_local?
|
365
|
-
if dep_or_name =~ /\.gem$/
|
292
|
+
if dep_or_name =~ /\.gem$/ && File.file?(dep_or_name)
|
366
293
|
src = Gem::Source::SpecificFile.new dep_or_name
|
367
294
|
installer_set.add_local dep_or_name, src.spec, src
|
368
295
|
version = src.spec.version if version == Gem::Requirement.default
|
@@ -380,6 +307,7 @@ class Gem::DependencyInstaller
|
|
380
307
|
|
381
308
|
dependency =
|
382
309
|
if spec = installer_set.local?(dep_or_name)
|
310
|
+
installer_set.remote = nil if spec.dependencies.none?
|
383
311
|
Gem::Dependency.new spec.name, version
|
384
312
|
elsif String === dep_or_name
|
385
313
|
Gem::Dependency.new dep_or_name, version
|
@@ -394,6 +322,7 @@ class Gem::DependencyInstaller
|
|
394
322
|
installer_set.add_always_install dependency
|
395
323
|
|
396
324
|
request_set.always_install = installer_set.always_install
|
325
|
+
request_set.remote = installer_set.consider_remote?
|
397
326
|
|
398
327
|
if @ignore_dependencies
|
399
328
|
installer_set.ignore_dependencies = true
|
@@ -407,5 +336,4 @@ class Gem::DependencyInstaller
|
|
407
336
|
|
408
337
|
request_set
|
409
338
|
end
|
410
|
-
|
411
339
|
end
|
@@ -5,8 +5,8 @@
|
|
5
5
|
# See LICENSE.txt for permissions.
|
6
6
|
#++
|
7
7
|
|
8
|
-
|
9
|
-
|
8
|
+
require_relative "tsort"
|
9
|
+
require_relative "deprecate"
|
10
10
|
|
11
11
|
##
|
12
12
|
# Gem::DependencyList is used for installing and uninstalling gems in the
|
@@ -17,11 +17,10 @@ require 'rubygems/deprecate'
|
|
17
17
|
# this class necessary anymore? Especially #ok?, #why_not_ok?
|
18
18
|
|
19
19
|
class Gem::DependencyList
|
20
|
-
|
21
20
|
attr_reader :specs
|
22
21
|
|
23
22
|
include Enumerable
|
24
|
-
include TSort
|
23
|
+
include Gem::TSort
|
25
24
|
|
26
25
|
##
|
27
26
|
# Allows enabling/disabling use of development dependencies
|
@@ -101,11 +100,11 @@ class Gem::DependencyList
|
|
101
100
|
end
|
102
101
|
|
103
102
|
def find_name(full_name)
|
104
|
-
@specs.find {
|
103
|
+
@specs.find {|spec| spec.full_name == full_name }
|
105
104
|
end
|
106
105
|
|
107
106
|
def inspect # :nodoc:
|
108
|
-
"%s %p>" % [super[0..-2], map {
|
107
|
+
"%s %p>" % [super[0..-2], map {|s| s.full_name }]
|
109
108
|
end
|
110
109
|
|
111
110
|
##
|
@@ -116,15 +115,15 @@ class Gem::DependencyList
|
|
116
115
|
end
|
117
116
|
|
118
117
|
def why_not_ok?(quick = false)
|
119
|
-
unsatisfied = Hash.new {
|
118
|
+
unsatisfied = Hash.new {|h,k| h[k] = [] }
|
120
119
|
each do |spec|
|
121
120
|
spec.runtime_dependencies.each do |dep|
|
122
121
|
inst = Gem::Specification.any? do |installed_spec|
|
123
|
-
dep.name == installed_spec.name
|
124
|
-
dep.requirement.satisfied_by?
|
122
|
+
dep.name == installed_spec.name &&
|
123
|
+
dep.requirement.satisfied_by?(installed_spec.version)
|
125
124
|
end
|
126
125
|
|
127
|
-
unless inst
|
126
|
+
unless inst || @specs.find {|s| s.satisfies_requirement? dep }
|
128
127
|
unsatisfied[spec.name] << dep
|
129
128
|
return unsatisfied if quick
|
130
129
|
end
|
@@ -176,7 +175,7 @@ class Gem::DependencyList
|
|
176
175
|
def remove_specs_unsatisfied_by(dependencies)
|
177
176
|
specs.reject! do |spec|
|
178
177
|
dep = dependencies[spec.name]
|
179
|
-
dep
|
178
|
+
dep && !dep.requirement.satisfied_by?(spec.version)
|
180
179
|
end
|
181
180
|
end
|
182
181
|
|
@@ -184,7 +183,7 @@ class Gem::DependencyList
|
|
184
183
|
# Removes the gemspec matching +full_name+ from the dependency list
|
185
184
|
|
186
185
|
def remove_by_name(full_name)
|
187
|
-
@specs.delete_if {
|
186
|
+
@specs.delete_if {|spec| spec.full_name == full_name }
|
188
187
|
end
|
189
188
|
|
190
189
|
##
|
@@ -192,7 +191,7 @@ class Gem::DependencyList
|
|
192
191
|
# gemspecs that have a dependency satisfied by the named gemspec.
|
193
192
|
|
194
193
|
def spec_predecessors
|
195
|
-
result = Hash.new {
|
194
|
+
result = Hash.new {|h,k| h[k] = [] }
|
196
195
|
|
197
196
|
specs = @specs.sort.reverse
|
198
197
|
|
@@ -238,7 +237,6 @@ class Gem::DependencyList
|
|
238
237
|
# +ignored+.
|
239
238
|
|
240
239
|
def active_count(specs, ignored)
|
241
|
-
specs.count {
|
240
|
+
specs.count {|spec| ignored[spec.full_name].nil? }
|
242
241
|
end
|
243
|
-
|
244
242
|
end
|
data/lib/rubygems/deprecate.rb
CHANGED
@@ -1,23 +1,70 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
##
|
3
|
-
# Provides
|
4
|
-
#
|
3
|
+
# Provides 3 methods for declaring when something is going away.
|
4
|
+
#
|
5
|
+
# +deprecate(name, repl, year, month)+:
|
6
|
+
# Indicate something may be removed on/after a certain date.
|
7
|
+
#
|
8
|
+
# +rubygems_deprecate(name, replacement=:none)+:
|
9
|
+
# Indicate something will be removed in the next major RubyGems version,
|
10
|
+
# and (optionally) a replacement for it.
|
11
|
+
#
|
12
|
+
# +rubygems_deprecate_command+:
|
13
|
+
# Indicate a RubyGems command (in +lib/rubygems/commands/*.rb+) will be
|
14
|
+
# removed in the next RubyGems version.
|
15
|
+
#
|
16
|
+
# Also provides +skip_during+ for temporarily turning off deprecation warnings.
|
17
|
+
# This is intended to be used in the test suite, so deprecation warnings
|
18
|
+
# don't cause test failures if you need to make sure stderr is otherwise empty.
|
19
|
+
#
|
20
|
+
#
|
21
|
+
# Example usage of +deprecate+ and +rubygems_deprecate+:
|
5
22
|
#
|
6
23
|
# class Legacy
|
7
|
-
# def self.
|
24
|
+
# def self.some_class_method
|
8
25
|
# # ...
|
9
26
|
# end
|
10
27
|
#
|
11
|
-
# def
|
28
|
+
# def some_instance_method
|
29
|
+
# # ...
|
30
|
+
# end
|
31
|
+
#
|
32
|
+
# def some_old_method
|
12
33
|
# # ...
|
13
34
|
# end
|
14
35
|
#
|
15
36
|
# extend Gem::Deprecate
|
16
|
-
# deprecate :
|
37
|
+
# deprecate :some_instance_method, "X.z", 2011, 4
|
38
|
+
# rubygems_deprecate :some_old_method, "Modern#some_new_method"
|
17
39
|
#
|
18
40
|
# class << self
|
19
41
|
# extend Gem::Deprecate
|
20
|
-
# deprecate :
|
42
|
+
# deprecate :some_class_method, :none, 2011, 4
|
43
|
+
# end
|
44
|
+
# end
|
45
|
+
#
|
46
|
+
#
|
47
|
+
# Example usage of +rubygems_deprecate_command+:
|
48
|
+
#
|
49
|
+
# class Gem::Commands::QueryCommand < Gem::Command
|
50
|
+
# extend Gem::Deprecate
|
51
|
+
# rubygems_deprecate_command
|
52
|
+
#
|
53
|
+
# # ...
|
54
|
+
# end
|
55
|
+
#
|
56
|
+
#
|
57
|
+
# Example usage of +skip_during+:
|
58
|
+
#
|
59
|
+
# class TestSomething < Gem::Testcase
|
60
|
+
# def test_some_thing_with_deprecations
|
61
|
+
# Gem::Deprecate.skip_during do
|
62
|
+
# actual_stdout, actual_stderr = capture_output do
|
63
|
+
# Gem.something_deprecated
|
64
|
+
# end
|
65
|
+
# assert_empty actual_stdout
|
66
|
+
# assert_equal(expected, actual_stderr)
|
67
|
+
# end
|
21
68
|
# end
|
22
69
|
# end
|
23
70
|
|
@@ -41,6 +88,10 @@ module Gem::Deprecate
|
|
41
88
|
Gem::Deprecate.skip = original
|
42
89
|
end
|
43
90
|
|
91
|
+
def self.next_rubygems_major_version # :nodoc:
|
92
|
+
Gem::Version.new(Gem.rubygems_version.segments.first).bump
|
93
|
+
end
|
94
|
+
|
44
95
|
##
|
45
96
|
# Simple deprecation method that deprecates +name+ by wrapping it up
|
46
97
|
# in a dummy method. It warns on each call to the dummy method
|
@@ -56,15 +107,58 @@ module Gem::Deprecate
|
|
56
107
|
target = klass ? "#{self}." : "#{self.class}#"
|
57
108
|
msg = [ "NOTE: #{target}#{name} is deprecated",
|
58
109
|
repl == :none ? " with no replacement" : "; use #{repl} instead",
|
59
|
-
". It will be removed on or after %4d-%02d
|
110
|
+
". It will be removed on or after %4d-%02d." % [year, month],
|
60
111
|
"\n#{target}#{name} called from #{Gem.location_of_caller.join(":")}",
|
61
112
|
]
|
62
113
|
warn "#{msg.join}." unless Gem::Deprecate.skip
|
63
114
|
send old, *args, &block
|
64
115
|
end
|
116
|
+
ruby2_keywords name if respond_to?(:ruby2_keywords, true)
|
117
|
+
end
|
118
|
+
end
|
119
|
+
|
120
|
+
##
|
121
|
+
# Simple deprecation method that deprecates +name+ by wrapping it up
|
122
|
+
# in a dummy method. It warns on each call to the dummy method
|
123
|
+
# telling the user of +repl+ (unless +repl+ is :none) and the
|
124
|
+
# Rubygems version that it is planned to go away.
|
125
|
+
|
126
|
+
def rubygems_deprecate(name, replacement=:none)
|
127
|
+
class_eval do
|
128
|
+
old = "_deprecated_#{name}"
|
129
|
+
alias_method old, name
|
130
|
+
define_method name do |*args, &block|
|
131
|
+
klass = self.kind_of? Module
|
132
|
+
target = klass ? "#{self}." : "#{self.class}#"
|
133
|
+
msg = [ "NOTE: #{target}#{name} is deprecated",
|
134
|
+
replacement == :none ? " with no replacement" : "; use #{replacement} instead",
|
135
|
+
". It will be removed in Rubygems #{Gem::Deprecate.next_rubygems_major_version}",
|
136
|
+
"\n#{target}#{name} called from #{Gem.location_of_caller.join(":")}",
|
137
|
+
]
|
138
|
+
warn "#{msg.join}." unless Gem::Deprecate.skip
|
139
|
+
send old, *args, &block
|
140
|
+
end
|
141
|
+
ruby2_keywords name if respond_to?(:ruby2_keywords, true)
|
142
|
+
end
|
143
|
+
end
|
144
|
+
|
145
|
+
# Deprecation method to deprecate Rubygems commands
|
146
|
+
def rubygems_deprecate_command
|
147
|
+
class_eval do
|
148
|
+
define_method "deprecated?" do
|
149
|
+
true
|
150
|
+
end
|
151
|
+
|
152
|
+
define_method "deprecation_warning" do
|
153
|
+
msg = [ "#{self.command} command is deprecated",
|
154
|
+
". It will be removed in Rubygems #{Gem::Deprecate.next_rubygems_major_version}.\n",
|
155
|
+
]
|
156
|
+
|
157
|
+
alert_warning "#{msg.join}" unless Gem::Deprecate.skip
|
158
|
+
end
|
65
159
|
end
|
66
160
|
end
|
67
161
|
|
68
|
-
module_function :
|
162
|
+
module_function :rubygems_deprecate, :rubygems_deprecate_command, :skip_during
|
69
163
|
|
70
164
|
end
|
data/lib/rubygems/doctor.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
|
3
|
-
|
2
|
+
require_relative "../rubygems"
|
3
|
+
require_relative "user_interaction"
|
4
4
|
|
5
5
|
##
|
6
6
|
# Cleans up after a partially-failed uninstall or for an invalid
|
@@ -12,7 +12,6 @@ require 'rubygems/user_interaction'
|
|
12
12
|
# removing the bogus specification.
|
13
13
|
|
14
14
|
class Gem::Doctor
|
15
|
-
|
16
15
|
include Gem::UserInteraction
|
17
16
|
|
18
17
|
##
|
@@ -20,17 +19,18 @@ class Gem::Doctor
|
|
20
19
|
# subdirectory.
|
21
20
|
|
22
21
|
REPOSITORY_EXTENSION_MAP = [ # :nodoc:
|
23
|
-
[
|
24
|
-
[
|
25
|
-
[
|
26
|
-
[
|
27
|
-
[
|
28
|
-
[
|
22
|
+
["specifications", ".gemspec"],
|
23
|
+
["build_info", ".info"],
|
24
|
+
["cache", ".gem"],
|
25
|
+
["doc", ""],
|
26
|
+
["extensions", ""],
|
27
|
+
["gems", ""],
|
28
|
+
["plugins", ""],
|
29
29
|
].freeze
|
30
30
|
|
31
31
|
missing =
|
32
32
|
Gem::REPOSITORY_SUBDIRECTORIES.sort -
|
33
|
-
|
33
|
+
REPOSITORY_EXTENSION_MAP.map {|(k,_)| k }.sort
|
34
34
|
|
35
35
|
raise "Update REPOSITORY_EXTENSION_MAP, missing: #{missing.join ', '}" unless
|
36
36
|
missing.empty?
|
@@ -52,14 +52,14 @@ class Gem::Doctor
|
|
52
52
|
# Specs installed in this gem repository
|
53
53
|
|
54
54
|
def installed_specs # :nodoc:
|
55
|
-
@installed_specs ||= Gem::Specification.map {
|
55
|
+
@installed_specs ||= Gem::Specification.map {|s| s.full_name }
|
56
56
|
end
|
57
57
|
|
58
58
|
##
|
59
59
|
# Are we doctoring a gem repository?
|
60
60
|
|
61
61
|
def gem_repository?
|
62
|
-
|
62
|
+
!installed_specs.empty?
|
63
63
|
end
|
64
64
|
|
65
65
|
##
|
@@ -74,8 +74,8 @@ class Gem::Doctor
|
|
74
74
|
Gem.use_paths @gem_repository.to_s
|
75
75
|
|
76
76
|
unless gem_repository?
|
77
|
-
say
|
78
|
-
|
77
|
+
say "This directory does not appear to be a RubyGems repository, " +
|
78
|
+
"skipping"
|
79
79
|
say
|
80
80
|
return
|
81
81
|
end
|
@@ -111,21 +111,21 @@ class Gem::Doctor
|
|
111
111
|
basename = File.basename(child, extension)
|
112
112
|
next if installed_specs.include? basename
|
113
113
|
next if /^rubygems-\d/ =~ basename
|
114
|
-
next if
|
114
|
+
next if "specifications" == sub_directory && "default" == basename
|
115
|
+
next if "plugins" == sub_directory && Gem.plugin_suffix_regexp =~ (basename)
|
115
116
|
|
116
|
-
type = File.directory?(child) ?
|
117
|
+
type = File.directory?(child) ? "directory" : "file"
|
117
118
|
|
118
119
|
action = if @dry_run
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
120
|
+
"Extra"
|
121
|
+
else
|
122
|
+
FileUtils.rm_r(child)
|
123
|
+
"Removed"
|
124
|
+
end
|
124
125
|
|
125
126
|
say "#{action} #{type} #{sub_directory}/#{File.basename(child)}"
|
126
127
|
end
|
127
128
|
rescue Errno::ENOENT
|
128
129
|
# ignore
|
129
130
|
end
|
130
|
-
|
131
131
|
end
|
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)
|
@@ -63,19 +59,14 @@ module Gem
|
|
63
59
|
private
|
64
60
|
|
65
61
|
def build_message
|
66
|
-
if name == "bundler" && message = Gem::BundlerVersionFinder.missing_version_message
|
67
|
-
return message
|
68
|
-
end
|
69
62
|
names = specs.map(&:full_name)
|
70
63
|
"Could not find '#{name}' (#{requirement}) - did find: [#{names.join ','}]\n"
|
71
64
|
end
|
72
|
-
|
73
65
|
end
|
74
66
|
|
75
67
|
# Raised when there are conflicting gem specs loaded
|
76
68
|
|
77
69
|
class ConflictError < LoadError
|
78
|
-
|
79
70
|
##
|
80
71
|
# A Hash mapping conflicting specifications to the dependencies that
|
81
72
|
# caused the conflict
|
@@ -100,7 +91,6 @@ module Gem
|
|
100
91
|
|
101
92
|
super("Unable to activate #{target.full_name}, because #{reason}")
|
102
93
|
end
|
103
|
-
|
104
94
|
end
|
105
95
|
|
106
96
|
class ErrorReason; end
|
@@ -112,7 +102,6 @@ module Gem
|
|
112
102
|
# in figuring out why a gem couldn't be installed.
|
113
103
|
#
|
114
104
|
class PlatformMismatch < ErrorReason
|
115
|
-
|
116
105
|
##
|
117
106
|
# the name of the gem
|
118
107
|
attr_reader :name
|
@@ -147,10 +136,9 @@ module Gem
|
|
147
136
|
"Found %s (%s), but was for platform%s %s" %
|
148
137
|
[@name,
|
149
138
|
@version,
|
150
|
-
@platforms.size == 1 ?
|
151
|
-
@platforms.join(
|
139
|
+
@platforms.size == 1 ? "" : "s",
|
140
|
+
@platforms.join(" ,")]
|
152
141
|
end
|
153
|
-
|
154
142
|
end
|
155
143
|
|
156
144
|
##
|
@@ -158,7 +146,6 @@ module Gem
|
|
158
146
|
# data from a source
|
159
147
|
|
160
148
|
class SourceFetchProblem < ErrorReason
|
161
|
-
|
162
149
|
##
|
163
150
|
# Creates a new SourceFetchProblem for the given +source+ and +error+.
|
164
151
|
|
@@ -181,14 +168,12 @@ module Gem
|
|
181
168
|
# An English description of the error.
|
182
169
|
|
183
170
|
def wordy
|
184
|
-
|
185
|
-
"Unable to download data from #{@source.uri} - #{@error.message}"
|
171
|
+
"Unable to download data from #{Gem::Uri.redact(@source.uri)} - #{@error.message}"
|
186
172
|
end
|
187
173
|
|
188
174
|
##
|
189
175
|
# The "exception" alias allows you to call raise on a SourceFetchProblem.
|
190
176
|
|
191
177
|
alias exception error
|
192
|
-
|
193
178
|
end
|
194
179
|
end
|