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,9 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require
|
2
|
+
require_relative "helper"
|
3
|
+
require "rubygems/commands/update_command"
|
4
4
|
|
5
5
|
class TestGemCommandsUpdateCommand < Gem::TestCase
|
6
|
-
|
7
6
|
def setup
|
8
7
|
super
|
9
8
|
common_installer_setup
|
@@ -13,20 +12,20 @@ class TestGemCommandsUpdateCommand < Gem::TestCase
|
|
13
12
|
@cmd.options[:document] = []
|
14
13
|
|
15
14
|
@specs = spec_fetcher do |fetcher|
|
16
|
-
fetcher.download
|
17
|
-
fetcher.download
|
18
|
-
fetcher.download
|
15
|
+
fetcher.download "a", 1
|
16
|
+
fetcher.download "a", 2
|
17
|
+
fetcher.download "a", "3.a"
|
19
18
|
end
|
20
19
|
|
21
|
-
@a1_path = @specs[
|
22
|
-
@a2_path = @specs[
|
23
|
-
@a3a_path = @specs[
|
20
|
+
@a1_path = @specs["a-1"].cache_file
|
21
|
+
@a2_path = @specs["a-1"].cache_file
|
22
|
+
@a3a_path = @specs["a-3.a"].cache_file
|
24
23
|
end
|
25
24
|
|
26
25
|
def test_execute
|
27
26
|
spec_fetcher do |fetcher|
|
28
|
-
fetcher.download
|
29
|
-
fetcher.spec
|
27
|
+
fetcher.download "a", 2
|
28
|
+
fetcher.spec "a", 1
|
30
29
|
end
|
31
30
|
|
32
31
|
@cmd.options[:args] = []
|
@@ -44,11 +43,11 @@ class TestGemCommandsUpdateCommand < Gem::TestCase
|
|
44
43
|
|
45
44
|
def test_execute_multiple
|
46
45
|
spec_fetcher do |fetcher|
|
47
|
-
fetcher.download
|
48
|
-
fetcher.download
|
46
|
+
fetcher.download "a", 2
|
47
|
+
fetcher.download "ab", 2
|
49
48
|
|
50
|
-
fetcher.spec
|
51
|
-
fetcher.spec
|
49
|
+
fetcher.spec "a", 1
|
50
|
+
fetcher.spec "ab", 1
|
52
51
|
end
|
53
52
|
|
54
53
|
@cmd.options[:args] = %w[a]
|
@@ -66,7 +65,7 @@ class TestGemCommandsUpdateCommand < Gem::TestCase
|
|
66
65
|
|
67
66
|
def test_execute_system
|
68
67
|
spec_fetcher do |fetcher|
|
69
|
-
fetcher.download
|
68
|
+
fetcher.download "rubygems-update", 9 do |s|
|
70
69
|
s.files = %w[setup.rb]
|
71
70
|
end
|
72
71
|
end
|
@@ -88,7 +87,7 @@ class TestGemCommandsUpdateCommand < Gem::TestCase
|
|
88
87
|
|
89
88
|
def test_execute_system_at_latest
|
90
89
|
spec_fetcher do |fetcher|
|
91
|
-
fetcher.download
|
90
|
+
fetcher.download "rubygems-update", Gem::VERSION do |s|
|
92
91
|
s.files = %w[setup.rb]
|
93
92
|
end
|
94
93
|
end
|
@@ -96,7 +95,7 @@ class TestGemCommandsUpdateCommand < Gem::TestCase
|
|
96
95
|
@cmd.options[:args] = []
|
97
96
|
@cmd.options[:system] = true
|
98
97
|
|
99
|
-
|
98
|
+
assert_raise Gem::MockGemUi::SystemExitException do
|
100
99
|
use_ui @ui do
|
101
100
|
@cmd.execute
|
102
101
|
end
|
@@ -107,17 +106,76 @@ class TestGemCommandsUpdateCommand < Gem::TestCase
|
|
107
106
|
assert_empty out
|
108
107
|
end
|
109
108
|
|
109
|
+
def test_execute_system_when_latest_does_not_support_your_ruby
|
110
|
+
spec_fetcher do |fetcher|
|
111
|
+
fetcher.download "rubygems-update", 9 do |s|
|
112
|
+
s.files = %w[setup.rb]
|
113
|
+
s.required_ruby_version = "> 9"
|
114
|
+
end
|
115
|
+
end
|
116
|
+
|
117
|
+
@cmd.options[:args] = []
|
118
|
+
@cmd.options[:system] = true
|
119
|
+
|
120
|
+
use_ui @ui do
|
121
|
+
@cmd.execute
|
122
|
+
end
|
123
|
+
|
124
|
+
out = @ui.output.split "\n"
|
125
|
+
assert_equal "Updating rubygems-update", out.shift
|
126
|
+
assert_empty out
|
127
|
+
|
128
|
+
err = @ui.error.split "\n"
|
129
|
+
assert_equal "ERROR: Error installing rubygems-update:", err.shift
|
130
|
+
assert_equal "\trubygems-update-9 requires Ruby version > 9. The current ruby version is #{Gem.ruby_version}.", err.shift
|
131
|
+
assert_empty err
|
132
|
+
end
|
133
|
+
|
110
134
|
def test_execute_system_multiple
|
111
135
|
spec_fetcher do |fetcher|
|
112
|
-
fetcher.download
|
136
|
+
fetcher.download "rubygems-update", 8 do |s|
|
137
|
+
s.files = %w[setup.rb]
|
138
|
+
end
|
139
|
+
|
140
|
+
fetcher.download "rubygems-update", 9 do |s|
|
141
|
+
s.files = %w[setup.rb]
|
142
|
+
end
|
143
|
+
end
|
144
|
+
|
145
|
+
@cmd.options[:args] = []
|
146
|
+
@cmd.options[:system] = true
|
147
|
+
|
148
|
+
use_ui @ui do
|
149
|
+
@cmd.execute
|
150
|
+
end
|
151
|
+
|
152
|
+
out = @ui.output.split "\n"
|
153
|
+
assert_equal "Updating rubygems-update", out.shift
|
154
|
+
assert_equal "Installing RubyGems 9", out.shift
|
155
|
+
assert_equal "RubyGems system software updated", out.shift
|
156
|
+
|
157
|
+
assert_empty out
|
158
|
+
end
|
159
|
+
|
160
|
+
def test_execute_system_update_installed
|
161
|
+
spec_fetcher do |fetcher|
|
162
|
+
fetcher.download "rubygems-update", 8 do |s|
|
113
163
|
s.files = %w[setup.rb]
|
114
164
|
end
|
165
|
+
end
|
166
|
+
|
167
|
+
@cmd.options[:args] = []
|
168
|
+
@cmd.options[:system] = true
|
169
|
+
|
170
|
+
@cmd.execute
|
115
171
|
|
116
|
-
|
172
|
+
spec_fetcher do |fetcher|
|
173
|
+
fetcher.download "rubygems-update", 9 do |s|
|
117
174
|
s.files = %w[setup.rb]
|
118
175
|
end
|
119
176
|
end
|
120
177
|
|
178
|
+
@cmd = Gem::Commands::UpdateCommand.new
|
121
179
|
@cmd.options[:args] = []
|
122
180
|
@cmd.options[:system] = true
|
123
181
|
|
@@ -133,13 +191,44 @@ class TestGemCommandsUpdateCommand < Gem::TestCase
|
|
133
191
|
assert_empty out
|
134
192
|
end
|
135
193
|
|
194
|
+
def test_execute_system_update_installed_in_non_default_gem_path
|
195
|
+
rubygems_update_spec = quick_gem "rubygems-update", 9 do |s|
|
196
|
+
write_file File.join(@tempdir, "setup.rb")
|
197
|
+
|
198
|
+
s.files += %w[setup.rb]
|
199
|
+
end
|
200
|
+
|
201
|
+
util_setup_spec_fetcher rubygems_update_spec
|
202
|
+
|
203
|
+
rubygems_update_package = Gem::Package.build rubygems_update_spec
|
204
|
+
|
205
|
+
gemhome2 = "#{@gemhome}2"
|
206
|
+
|
207
|
+
Gem::Installer.at(rubygems_update_package, :install_dir => gemhome2).install
|
208
|
+
|
209
|
+
Gem.use_paths @gemhome, [gemhome2, @gemhome]
|
210
|
+
|
211
|
+
@cmd.options[:args] = []
|
212
|
+
@cmd.options[:system] = true
|
213
|
+
|
214
|
+
use_ui @ui do
|
215
|
+
@cmd.execute
|
216
|
+
end
|
217
|
+
|
218
|
+
out = @ui.output.split "\n"
|
219
|
+
assert_equal "Installing RubyGems 9", out.shift
|
220
|
+
assert_equal "RubyGems system software updated", out.shift
|
221
|
+
|
222
|
+
assert_empty out
|
223
|
+
end
|
224
|
+
|
136
225
|
def test_execute_system_specific
|
137
226
|
spec_fetcher do |fetcher|
|
138
|
-
fetcher.download
|
227
|
+
fetcher.download "rubygems-update", 8 do |s|
|
139
228
|
s.files = %w[setup.rb]
|
140
229
|
end
|
141
230
|
|
142
|
-
fetcher.download
|
231
|
+
fetcher.download "rubygems-update", 9 do |s|
|
143
232
|
s.files = %w[setup.rb]
|
144
233
|
end
|
145
234
|
end
|
@@ -159,13 +248,98 @@ class TestGemCommandsUpdateCommand < Gem::TestCase
|
|
159
248
|
assert_empty out
|
160
249
|
end
|
161
250
|
|
251
|
+
def test_execute_system_specific_older_than_minimum_supported_rubygems
|
252
|
+
spec_fetcher do |fetcher|
|
253
|
+
fetcher.download "rubygems-update", "2.5.1" do |s|
|
254
|
+
s.files = %w[setup.rb]
|
255
|
+
end
|
256
|
+
end
|
257
|
+
|
258
|
+
@cmd.options[:args] = []
|
259
|
+
@cmd.options[:system] = "2.5.1"
|
260
|
+
|
261
|
+
oldest_version_mod = Module.new do
|
262
|
+
def oldest_supported_version
|
263
|
+
Gem::Version.new("2.5.2")
|
264
|
+
end
|
265
|
+
private :oldest_supported_version
|
266
|
+
end
|
267
|
+
|
268
|
+
@cmd.extend(oldest_version_mod)
|
269
|
+
|
270
|
+
assert_raise Gem::MockGemUi::TermError do
|
271
|
+
use_ui @ui do
|
272
|
+
@cmd.execute
|
273
|
+
end
|
274
|
+
end
|
275
|
+
|
276
|
+
assert_empty @ui.output
|
277
|
+
assert_equal "ERROR: rubygems 2.5.1 is not supported on #{RUBY_VERSION}. The oldest version supported by this ruby is 2.5.2\n", @ui.error
|
278
|
+
end
|
279
|
+
|
280
|
+
def test_execute_system_specific_older_than_3_2_removes_plugins_dir
|
281
|
+
spec_fetcher do |fetcher|
|
282
|
+
fetcher.download "rubygems-update", 3.1 do |s|
|
283
|
+
s.files = %w[setup.rb]
|
284
|
+
end
|
285
|
+
end
|
286
|
+
|
287
|
+
oldest_version_mod = Module.new do
|
288
|
+
def oldest_supported_version
|
289
|
+
Gem::Version.new("2.5.2")
|
290
|
+
end
|
291
|
+
private :oldest_supported_version
|
292
|
+
end
|
293
|
+
|
294
|
+
@cmd.extend(oldest_version_mod)
|
295
|
+
|
296
|
+
@cmd.options[:args] = []
|
297
|
+
@cmd.options[:system] = "3.1"
|
298
|
+
|
299
|
+
FileUtils.mkdir_p Gem.plugindir
|
300
|
+
write_file File.join(Gem.plugindir, "a_plugin.rb")
|
301
|
+
|
302
|
+
@cmd.execute
|
303
|
+
|
304
|
+
assert_path_not_exist Gem.plugindir, "Plugins folder not removed when updating rubygems to pre-3.2"
|
305
|
+
end
|
306
|
+
|
307
|
+
def test_execute_system_specific_newer_than_or_equal_to_3_2_leaves_plugins_dir_alone
|
308
|
+
spec_fetcher do |fetcher|
|
309
|
+
fetcher.download "rubygems-update", "3.2.a" do |s|
|
310
|
+
s.files = %w[setup.rb]
|
311
|
+
end
|
312
|
+
end
|
313
|
+
|
314
|
+
oldest_version_mod = Module.new do
|
315
|
+
def oldest_supported_version
|
316
|
+
Gem::Version.new("2.5.2")
|
317
|
+
end
|
318
|
+
private :oldest_supported_version
|
319
|
+
end
|
320
|
+
|
321
|
+
@cmd.extend(oldest_version_mod)
|
322
|
+
|
323
|
+
@cmd.options[:args] = []
|
324
|
+
@cmd.options[:system] = "3.2.a"
|
325
|
+
|
326
|
+
FileUtils.mkdir_p Gem.plugindir
|
327
|
+
plugin_file = File.join(Gem.plugindir, "a_plugin.rb")
|
328
|
+
write_file plugin_file
|
329
|
+
|
330
|
+
@cmd.execute
|
331
|
+
|
332
|
+
assert_path_exist Gem.plugindir, "Plugin folder removed when updating rubygems to post-3.2"
|
333
|
+
assert_path_exist plugin_file, "Plugin removed when updating rubygems to post-3.2"
|
334
|
+
end
|
335
|
+
|
162
336
|
def test_execute_system_specifically_to_latest_version
|
163
337
|
spec_fetcher do |fetcher|
|
164
|
-
fetcher.download
|
338
|
+
fetcher.download "rubygems-update", 8 do |s|
|
165
339
|
s.files = %w[setup.rb]
|
166
340
|
end
|
167
341
|
|
168
|
-
fetcher.download
|
342
|
+
fetcher.download "rubygems-update", 9 do |s|
|
169
343
|
s.files = %w[setup.rb]
|
170
344
|
end
|
171
345
|
end
|
@@ -189,7 +363,7 @@ class TestGemCommandsUpdateCommand < Gem::TestCase
|
|
189
363
|
@cmd.options[:args] = %w[gem]
|
190
364
|
@cmd.options[:system] = true
|
191
365
|
|
192
|
-
|
366
|
+
assert_raise Gem::MockGemUi::TermError do
|
193
367
|
use_ui @ui do
|
194
368
|
@cmd.execute
|
195
369
|
end
|
@@ -200,6 +374,53 @@ class TestGemCommandsUpdateCommand < Gem::TestCase
|
|
200
374
|
@ui.error
|
201
375
|
end
|
202
376
|
|
377
|
+
def test_execute_system_with_disabled_update
|
378
|
+
old_disable_system_update_message = Gem.disable_system_update_message
|
379
|
+
Gem.disable_system_update_message = "Please use package manager instead."
|
380
|
+
|
381
|
+
@cmd.options[:args] = []
|
382
|
+
@cmd.options[:system] = true
|
383
|
+
|
384
|
+
assert_raise Gem::MockGemUi::TermError do
|
385
|
+
use_ui @ui do
|
386
|
+
@cmd.execute
|
387
|
+
end
|
388
|
+
end
|
389
|
+
|
390
|
+
assert_empty @ui.output
|
391
|
+
assert_equal "ERROR: Please use package manager instead.\n", @ui.error
|
392
|
+
ensure
|
393
|
+
Gem.disable_system_update_message = old_disable_system_update_message
|
394
|
+
end
|
395
|
+
|
396
|
+
# The other style of `gem update --system` tests don't actually run
|
397
|
+
# setup.rb, so we just check that setup.rb gets the `--silent` flag.
|
398
|
+
def test_execute_system_silent_passed_to_setuprb
|
399
|
+
@cmd.options[:args] = []
|
400
|
+
@cmd.options[:system] = true
|
401
|
+
@cmd.options[:silent] = true
|
402
|
+
|
403
|
+
assert_equal true, @cmd.update_rubygems_arguments.include?("--silent")
|
404
|
+
end
|
405
|
+
|
406
|
+
def test_execute_system_silent
|
407
|
+
spec_fetcher do |fetcher|
|
408
|
+
fetcher.download "rubygems-update", 9 do |s|
|
409
|
+
s.files = %w[setup.rb]
|
410
|
+
end
|
411
|
+
end
|
412
|
+
|
413
|
+
@cmd.options[:args] = []
|
414
|
+
@cmd.options[:system] = true
|
415
|
+
@cmd.options[:silent] = true
|
416
|
+
|
417
|
+
use_ui @ui do
|
418
|
+
@cmd.execute
|
419
|
+
end
|
420
|
+
|
421
|
+
assert_empty @ui.output
|
422
|
+
end
|
423
|
+
|
203
424
|
# before:
|
204
425
|
# a1 -> c1.2
|
205
426
|
# after:
|
@@ -208,12 +429,12 @@ class TestGemCommandsUpdateCommand < Gem::TestCase
|
|
208
429
|
|
209
430
|
def test_execute_dependencies
|
210
431
|
spec_fetcher do |fetcher|
|
211
|
-
fetcher.download
|
212
|
-
fetcher.download
|
213
|
-
fetcher.download
|
432
|
+
fetcher.download "a", 2, "b" => 2, "c" => 2
|
433
|
+
fetcher.download "b", 2
|
434
|
+
fetcher.download "c", 2
|
214
435
|
|
215
|
-
fetcher.spec
|
216
|
-
fetcher.spec
|
436
|
+
fetcher.spec "a", 1, "c" => "1.2"
|
437
|
+
fetcher.spec "c", "1.2"
|
217
438
|
end
|
218
439
|
|
219
440
|
Gem::Specification.reset
|
@@ -235,8 +456,8 @@ class TestGemCommandsUpdateCommand < Gem::TestCase
|
|
235
456
|
|
236
457
|
def test_execute_rdoc
|
237
458
|
spec_fetcher do |fetcher|
|
238
|
-
fetcher.download
|
239
|
-
fetcher.spec
|
459
|
+
fetcher.download "a", 2
|
460
|
+
fetcher.spec "a", 1
|
240
461
|
end
|
241
462
|
|
242
463
|
Gem.done_installing(&Gem::RDoc.method(:generation_hook))
|
@@ -251,16 +472,16 @@ class TestGemCommandsUpdateCommand < Gem::TestCase
|
|
251
472
|
|
252
473
|
wait_for_child_process_to_exit
|
253
474
|
|
254
|
-
a2 = @specs[
|
475
|
+
a2 = @specs["a-2"]
|
255
476
|
|
256
|
-
|
477
|
+
assert_path_exist File.join(a2.doc_dir, "rdoc")
|
257
478
|
end
|
258
479
|
|
259
480
|
def test_execute_named
|
260
481
|
spec_fetcher do |fetcher|
|
261
|
-
fetcher.download
|
482
|
+
fetcher.download "a", 2
|
262
483
|
|
263
|
-
fetcher.spec
|
484
|
+
fetcher.spec "a", 1
|
264
485
|
end
|
265
486
|
|
266
487
|
@cmd.options[:args] = %w[a]
|
@@ -279,10 +500,10 @@ class TestGemCommandsUpdateCommand < Gem::TestCase
|
|
279
500
|
|
280
501
|
def test_execute_named_some_up_to_date
|
281
502
|
spec_fetcher do |fetcher|
|
282
|
-
fetcher.download
|
283
|
-
fetcher.spec
|
503
|
+
fetcher.download "a", 2
|
504
|
+
fetcher.spec "a", 1
|
284
505
|
|
285
|
-
fetcher.spec
|
506
|
+
fetcher.spec "b", 2
|
286
507
|
end
|
287
508
|
|
288
509
|
@cmd.options[:args] = %w[a b]
|
@@ -302,7 +523,7 @@ class TestGemCommandsUpdateCommand < Gem::TestCase
|
|
302
523
|
|
303
524
|
def test_execute_named_up_to_date
|
304
525
|
spec_fetcher do |fetcher|
|
305
|
-
fetcher.spec
|
526
|
+
fetcher.spec "a", 2
|
306
527
|
end
|
307
528
|
|
308
529
|
@cmd.options[:args] = %w[a]
|
@@ -314,15 +535,16 @@ class TestGemCommandsUpdateCommand < Gem::TestCase
|
|
314
535
|
out = @ui.output.split "\n"
|
315
536
|
assert_equal "Updating installed gems", out.shift
|
316
537
|
assert_equal "Nothing to update", out.shift
|
538
|
+
assert_equal "Gems already up-to-date: a", out.shift
|
317
539
|
|
318
540
|
assert_empty out
|
319
541
|
end
|
320
542
|
|
321
543
|
def test_execute_named_up_to_date_prerelease
|
322
544
|
spec_fetcher do |fetcher|
|
323
|
-
fetcher.download
|
545
|
+
fetcher.download "a", "3.a"
|
324
546
|
|
325
|
-
fetcher.gem
|
547
|
+
fetcher.gem "a", 2
|
326
548
|
end
|
327
549
|
|
328
550
|
@cmd.options[:args] = %w[a]
|
@@ -342,7 +564,7 @@ class TestGemCommandsUpdateCommand < Gem::TestCase
|
|
342
564
|
|
343
565
|
def test_execute_up_to_date
|
344
566
|
spec_fetcher do |fetcher|
|
345
|
-
fetcher.gem
|
567
|
+
fetcher.gem "a", 2
|
346
568
|
end
|
347
569
|
|
348
570
|
@cmd.options[:args] = []
|
@@ -359,10 +581,10 @@ class TestGemCommandsUpdateCommand < Gem::TestCase
|
|
359
581
|
end
|
360
582
|
|
361
583
|
def test_execute_user_install
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
584
|
+
a = util_spec "a", 1
|
585
|
+
b = util_spec "b", 1
|
586
|
+
install_gem_user(a)
|
587
|
+
install_gem(b)
|
366
588
|
|
367
589
|
@cmd.handle_options %w[--user-install]
|
368
590
|
|
@@ -373,68 +595,74 @@ class TestGemCommandsUpdateCommand < Gem::TestCase
|
|
373
595
|
installer = @cmd.installer
|
374
596
|
user_install = installer.instance_variable_get :@user_install
|
375
597
|
|
376
|
-
assert user_install,
|
598
|
+
assert user_install, "user_install must be set on the installer"
|
599
|
+
|
600
|
+
out = @ui.output.split "\n"
|
601
|
+
assert_equal "Updating installed gems", out.shift
|
602
|
+
assert_equal "Updating a", out.shift
|
603
|
+
assert_equal "Gems updated: a", out.shift
|
604
|
+
assert_empty out
|
377
605
|
end
|
378
606
|
|
379
607
|
def test_fetch_remote_gems
|
380
608
|
specs = spec_fetcher do |fetcher|
|
381
|
-
fetcher.gem
|
382
|
-
fetcher.gem
|
609
|
+
fetcher.gem "a", 1
|
610
|
+
fetcher.gem "a", 2
|
383
611
|
end
|
384
612
|
|
385
613
|
expected = [
|
386
|
-
[Gem::NameTuple.new(
|
614
|
+
[Gem::NameTuple.new("a", v(2), Gem::Platform::RUBY),
|
387
615
|
Gem::Source.new(@gem_repo)],
|
388
616
|
]
|
389
617
|
|
390
|
-
assert_equal expected, @cmd.fetch_remote_gems(specs[
|
618
|
+
assert_equal expected, @cmd.fetch_remote_gems(specs["a-1"])
|
391
619
|
end
|
392
620
|
|
393
621
|
def test_fetch_remote_gems_error
|
394
622
|
Gem.sources.replace %w[http://nonexistent.example]
|
395
623
|
|
396
|
-
|
397
|
-
@cmd.fetch_remote_gems @specs[
|
624
|
+
assert_raise Gem::RemoteFetcher::FetchError do
|
625
|
+
@cmd.fetch_remote_gems @specs["a-1"]
|
398
626
|
end
|
399
627
|
end
|
400
628
|
|
401
629
|
def test_fetch_remote_gems_mismatch
|
402
|
-
platform = Gem::Platform.new
|
630
|
+
platform = Gem::Platform.new "x86-freebsd9"
|
403
631
|
|
404
632
|
specs = spec_fetcher do |fetcher|
|
405
|
-
fetcher.spec
|
406
|
-
fetcher.spec
|
633
|
+
fetcher.spec "a", 1
|
634
|
+
fetcher.spec "a", 2
|
407
635
|
|
408
|
-
fetcher.spec
|
636
|
+
fetcher.spec "a", 2 do |s|
|
409
637
|
s.platform = platform
|
410
638
|
end
|
411
639
|
end
|
412
640
|
|
413
641
|
expected = [
|
414
|
-
[Gem::NameTuple.new(
|
642
|
+
[Gem::NameTuple.new("a", v(2), Gem::Platform::RUBY),
|
415
643
|
Gem::Source.new(@gem_repo)],
|
416
644
|
]
|
417
645
|
|
418
|
-
assert_equal expected, @cmd.fetch_remote_gems(specs[
|
646
|
+
assert_equal expected, @cmd.fetch_remote_gems(specs["a-1"])
|
419
647
|
end
|
420
648
|
|
421
649
|
def test_fetch_remote_gems_prerelease
|
422
650
|
specs = spec_fetcher do |fetcher|
|
423
|
-
fetcher.gem
|
424
|
-
fetcher.gem
|
425
|
-
fetcher.gem
|
651
|
+
fetcher.gem "a", 1
|
652
|
+
fetcher.gem "a", 2
|
653
|
+
fetcher.gem "a", "3.a"
|
426
654
|
end
|
427
655
|
|
428
656
|
@cmd.options[:prerelease] = true
|
429
657
|
|
430
658
|
expected = [
|
431
|
-
[Gem::NameTuple.new(
|
659
|
+
[Gem::NameTuple.new("a", v(2), Gem::Platform::RUBY),
|
432
660
|
Gem::Source.new(@gem_repo)],
|
433
|
-
[Gem::NameTuple.new(
|
661
|
+
[Gem::NameTuple.new("a", v("3.a"), Gem::Platform::RUBY),
|
434
662
|
Gem::Source.new(@gem_repo)],
|
435
663
|
]
|
436
664
|
|
437
|
-
assert_equal expected, @cmd.fetch_remote_gems(specs[
|
665
|
+
assert_equal expected, @cmd.fetch_remote_gems(specs["a-1"])
|
438
666
|
end
|
439
667
|
|
440
668
|
def test_handle_options_system
|
@@ -442,7 +670,7 @@ class TestGemCommandsUpdateCommand < Gem::TestCase
|
|
442
670
|
|
443
671
|
expected = {
|
444
672
|
:args => [],
|
445
|
-
:document => %w[
|
673
|
+
:document => %w[ri],
|
446
674
|
:force => false,
|
447
675
|
:system => true,
|
448
676
|
}
|
@@ -451,7 +679,7 @@ class TestGemCommandsUpdateCommand < Gem::TestCase
|
|
451
679
|
end
|
452
680
|
|
453
681
|
def test_handle_options_system_non_version
|
454
|
-
|
682
|
+
assert_raise ArgumentError do
|
455
683
|
@cmd.handle_options %w[--system non-version]
|
456
684
|
end
|
457
685
|
end
|
@@ -461,7 +689,7 @@ class TestGemCommandsUpdateCommand < Gem::TestCase
|
|
461
689
|
|
462
690
|
expected = {
|
463
691
|
:args => [],
|
464
|
-
:document => %w[
|
692
|
+
:document => %w[ri],
|
465
693
|
:force => false,
|
466
694
|
:system => "1.3.7",
|
467
695
|
}
|
@@ -471,11 +699,11 @@ class TestGemCommandsUpdateCommand < Gem::TestCase
|
|
471
699
|
|
472
700
|
def test_update_gem_prerelease
|
473
701
|
spec_fetcher do |fetcher|
|
474
|
-
fetcher.spec
|
475
|
-
fetcher.gem
|
702
|
+
fetcher.spec "a", "1.a"
|
703
|
+
fetcher.gem "a", "1.b"
|
476
704
|
end
|
477
705
|
|
478
|
-
@cmd.update_gem
|
706
|
+
@cmd.update_gem "a", Gem::Requirement.new("= 1.b")
|
479
707
|
|
480
708
|
refute_empty @cmd.updated
|
481
709
|
|
@@ -484,15 +712,15 @@ class TestGemCommandsUpdateCommand < Gem::TestCase
|
|
484
712
|
|
485
713
|
def test_update_gem_unresolved_dependency
|
486
714
|
spec_fetcher do |fetcher|
|
487
|
-
fetcher.spec
|
488
|
-
fetcher.gem
|
489
|
-
s.add_dependency
|
715
|
+
fetcher.spec "a", 1
|
716
|
+
fetcher.gem "a", 2 do |s|
|
717
|
+
s.add_dependency "b", ">= 2"
|
490
718
|
end
|
491
719
|
|
492
|
-
fetcher.spec
|
720
|
+
fetcher.spec "b", 1
|
493
721
|
end
|
494
722
|
|
495
|
-
@cmd.update_gem
|
723
|
+
@cmd.update_gem "a"
|
496
724
|
|
497
725
|
assert_empty @cmd.updated
|
498
726
|
end
|
@@ -502,18 +730,18 @@ class TestGemCommandsUpdateCommand < Gem::TestCase
|
|
502
730
|
|
503
731
|
arguments = @cmd.update_rubygems_arguments
|
504
732
|
|
505
|
-
assert_equal
|
733
|
+
assert_equal "--prefix", arguments.shift
|
506
734
|
assert_equal Gem.prefix, arguments.shift
|
507
|
-
assert_equal
|
508
|
-
assert_equal
|
735
|
+
assert_equal "--no-document", arguments.shift
|
736
|
+
assert_equal "--previous-version", arguments.shift
|
509
737
|
assert_equal Gem::VERSION, arguments.shift
|
510
738
|
assert_empty arguments
|
511
739
|
end
|
512
740
|
|
513
741
|
def test_explain
|
514
742
|
spec_fetcher do |fetcher|
|
515
|
-
fetcher.download
|
516
|
-
fetcher.spec
|
743
|
+
fetcher.download "a", 2
|
744
|
+
fetcher.spec "a", 1
|
517
745
|
end
|
518
746
|
|
519
747
|
@cmd.options[:explain] = true
|
@@ -533,13 +761,13 @@ class TestGemCommandsUpdateCommand < Gem::TestCase
|
|
533
761
|
def test_explain_platform_local
|
534
762
|
local = Gem::Platform.local
|
535
763
|
spec_fetcher do |fetcher|
|
536
|
-
fetcher.download
|
764
|
+
fetcher.download "a", 2
|
537
765
|
|
538
|
-
fetcher.download
|
766
|
+
fetcher.download "a", 2 do |s|
|
539
767
|
s.platform = local
|
540
768
|
end
|
541
769
|
|
542
|
-
fetcher.spec
|
770
|
+
fetcher.spec "a", 1
|
543
771
|
end
|
544
772
|
|
545
773
|
@cmd.options[:explain] = true
|
@@ -559,13 +787,13 @@ class TestGemCommandsUpdateCommand < Gem::TestCase
|
|
559
787
|
def test_explain_platform_ruby
|
560
788
|
local = Gem::Platform.local
|
561
789
|
spec_fetcher do |fetcher|
|
562
|
-
fetcher.download
|
790
|
+
fetcher.download "a", 2
|
563
791
|
|
564
|
-
fetcher.download
|
792
|
+
fetcher.download "a", 2 do |s|
|
565
793
|
s.platform = local
|
566
794
|
end
|
567
795
|
|
568
|
-
fetcher.spec
|
796
|
+
fetcher.spec "a", 1
|
569
797
|
end
|
570
798
|
|
571
799
|
# equivalent to --platform=ruby
|
@@ -585,4 +813,23 @@ class TestGemCommandsUpdateCommand < Gem::TestCase
|
|
585
813
|
assert_empty out
|
586
814
|
end
|
587
815
|
|
816
|
+
def test_execute_named_not_installed_and_no_update
|
817
|
+
spec_fetcher do |fetcher|
|
818
|
+
fetcher.spec "a", 2
|
819
|
+
end
|
820
|
+
|
821
|
+
@cmd.options[:args] = %w[a b]
|
822
|
+
|
823
|
+
use_ui @ui do
|
824
|
+
@cmd.execute
|
825
|
+
end
|
826
|
+
|
827
|
+
out = @ui.output.split "\n"
|
828
|
+
assert_equal "Updating installed gems", out.shift
|
829
|
+
assert_equal "Nothing to update", out.shift
|
830
|
+
assert_equal "Gems already up-to-date: a", out.shift
|
831
|
+
assert_equal "Gems not currently installed: b", out.shift
|
832
|
+
|
833
|
+
assert_empty out
|
834
|
+
end
|
588
835
|
end
|