rubygems-update 3.1.2 → 3.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CODE_OF_CONDUCT.md +55 -19
- data/CONTRIBUTING.md +25 -11
- data/History.txt +460 -232
- data/Manifest.txt +47 -77
- data/POLICIES.md +6 -12
- data/README.md +5 -5
- data/Rakefile +59 -83
- data/bin/update_rubygems +1 -1
- data/bundler/CHANGELOG.md +1598 -1421
- data/bundler/README.md +6 -8
- data/bundler/UPGRADING.md +18 -32
- data/bundler/bundler.gemspec +3 -3
- data/bundler/exe/bundle +3 -0
- data/bundler/lib/bundler.rb +32 -7
- data/bundler/lib/bundler/build_metadata.rb +4 -12
- data/bundler/lib/bundler/cli.rb +58 -21
- 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 +1 -7
- data/bundler/lib/bundler/cli/clean.rb +1 -1
- data/bundler/lib/bundler/cli/common.rb +14 -0
- data/bundler/lib/bundler/cli/console.rb +1 -1
- data/bundler/lib/bundler/cli/doctor.rb +1 -1
- data/bundler/lib/bundler/cli/exec.rb +4 -4
- data/bundler/lib/bundler/cli/fund.rb +36 -0
- data/bundler/lib/bundler/cli/gem.rb +84 -11
- data/bundler/lib/bundler/cli/info.rb +15 -4
- data/bundler/lib/bundler/cli/init.rb +2 -2
- data/bundler/lib/bundler/cli/inject.rb +1 -1
- data/bundler/lib/bundler/cli/install.rb +16 -13
- data/bundler/lib/bundler/cli/issue.rb +2 -2
- data/bundler/lib/bundler/cli/list.rb +12 -10
- data/bundler/lib/bundler/cli/outdated.rb +87 -66
- data/bundler/lib/bundler/cli/plugin.rb +10 -0
- data/bundler/lib/bundler/cli/pristine.rb +5 -0
- data/bundler/lib/bundler/cli/show.rb +1 -1
- data/bundler/lib/bundler/cli/update.rb +3 -1
- data/bundler/lib/bundler/compact_index_client.rb +1 -1
- data/bundler/lib/bundler/compact_index_client/cache.rb +6 -14
- data/bundler/lib/bundler/compact_index_client/gem_parser.rb +28 -0
- data/bundler/lib/bundler/compact_index_client/updater.rb +5 -5
- data/bundler/lib/bundler/definition.rb +65 -76
- data/bundler/lib/bundler/dep_proxy.rb +1 -1
- data/bundler/lib/bundler/dependency.rb +3 -10
- data/bundler/lib/bundler/dsl.rb +5 -9
- data/bundler/lib/bundler/endpoint_specification.rb +1 -1
- data/bundler/lib/bundler/env.rb +1 -1
- data/bundler/lib/bundler/environment_preserver.rb +26 -2
- data/bundler/lib/bundler/errors.rb +1 -0
- data/bundler/lib/bundler/feature_flag.rb +0 -3
- data/bundler/lib/bundler/fetcher.rb +4 -3
- data/bundler/lib/bundler/fetcher/base.rb +1 -1
- data/bundler/lib/bundler/fetcher/compact_index.rb +1 -1
- data/bundler/lib/bundler/fetcher/downloader.rb +1 -1
- data/bundler/lib/bundler/fetcher/index.rb +3 -4
- data/bundler/lib/bundler/friendly_errors.rb +22 -13
- data/bundler/lib/bundler/gem_helper.rb +33 -19
- data/bundler/lib/bundler/gem_helpers.rb +36 -25
- data/bundler/lib/bundler/gem_version_promoter.rb +2 -2
- data/bundler/lib/bundler/graph.rb +1 -1
- data/bundler/lib/bundler/index.rb +6 -2
- data/bundler/lib/bundler/injector.rb +22 -4
- data/bundler/lib/bundler/inline.rb +2 -2
- data/bundler/lib/bundler/installer.rb +35 -32
- data/bundler/lib/bundler/installer/gem_installer.rb +3 -3
- data/bundler/lib/bundler/installer/parallel_installer.rb +10 -10
- data/bundler/lib/bundler/installer/standalone.rb +2 -2
- data/bundler/lib/bundler/lazy_specification.rb +35 -11
- data/bundler/lib/bundler/lockfile_generator.rb +1 -1
- data/bundler/lib/bundler/lockfile_parser.rb +1 -1
- data/bundler/lib/bundler/man/.document +1 -0
- data/bundler/{man/bundle-add.ronn → lib/bundler/man/bundle-add.1.ronn} +0 -0
- data/bundler/{man/bundle-binstubs.ronn → lib/bundler/man/bundle-binstubs.1.ronn} +2 -4
- data/bundler/{man/bundle-cache.ronn → lib/bundler/man/bundle-cache.1.ronn} +0 -0
- 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-config.ronn → lib/bundler/man/bundle-config.1.ronn} +19 -30
- data/bundler/{man/bundle-doctor.ronn → lib/bundler/man/bundle-doctor.1.ronn} +0 -0
- data/bundler/{man/bundle-exec.ronn → lib/bundler/man/bundle-exec.1.ronn} +0 -0
- data/bundler/{man/bundle-gem.ronn → lib/bundler/man/bundle-gem.1.ronn} +30 -7
- 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-inject.ronn → lib/bundler/man/bundle-inject.1.ronn} +0 -0
- data/bundler/{man/bundle-install.ronn → lib/bundler/man/bundle-install.1.ronn} +25 -3
- data/bundler/{man/bundle-list.ronn → lib/bundler/man/bundle-list.1.ronn} +6 -6
- 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-outdated.ronn → lib/bundler/man/bundle-outdated.1.ronn} +0 -0
- data/bundler/{man/bundle-platform.ronn → lib/bundler/man/bundle-platform.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
- data/bundler/{man/bundle-update.ronn → lib/bundler/man/bundle-update.1.ronn} +0 -0
- data/bundler/{man/bundle-viz.ronn → lib/bundler/man/bundle-viz.1.ronn} +0 -0
- data/bundler/{man/bundle.ronn → lib/bundler/man/bundle.1.ronn} +0 -0
- data/bundler/{man → lib/bundler/man}/gemfile.5.ronn +4 -4
- data/bundler/lib/bundler/mirror.rb +2 -2
- data/bundler/lib/bundler/plugin.rb +30 -5
- data/bundler/lib/bundler/plugin/api/source.rb +1 -1
- data/bundler/lib/bundler/plugin/dsl.rb +1 -1
- data/bundler/lib/bundler/plugin/index.rb +10 -1
- data/bundler/lib/bundler/plugin/installer.rb +1 -1
- data/bundler/lib/bundler/plugin/installer/rubygems.rb +1 -1
- data/bundler/lib/bundler/plugin/source_list.rb +1 -1
- data/bundler/lib/bundler/psyched_yaml.rb +0 -15
- data/bundler/lib/bundler/remote_specification.rb +5 -2
- data/bundler/lib/bundler/resolver.rb +37 -18
- data/bundler/lib/bundler/resolver/spec_group.rb +36 -21
- data/bundler/lib/bundler/retry.rb +1 -1
- data/bundler/lib/bundler/ruby_version.rb +1 -1
- data/bundler/lib/bundler/rubygems_ext.rb +53 -9
- data/bundler/lib/bundler/rubygems_gem_installer.rb +3 -9
- data/bundler/lib/bundler/rubygems_integration.rb +26 -61
- data/bundler/lib/bundler/runtime.rb +4 -14
- data/bundler/lib/bundler/settings.rb +49 -46
- data/bundler/lib/bundler/shared_helpers.rb +2 -2
- data/bundler/lib/bundler/similarity_detector.rb +1 -1
- data/bundler/lib/bundler/source.rb +1 -1
- data/bundler/lib/bundler/source/git.rb +5 -5
- data/bundler/lib/bundler/source/git/git_proxy.rb +57 -60
- data/bundler/lib/bundler/source/path.rb +7 -3
- data/bundler/lib/bundler/source/path/installer.rb +8 -10
- data/bundler/lib/bundler/source/rubygems.rb +13 -16
- data/bundler/lib/bundler/source/rubygems/remote.rb +1 -1
- data/bundler/lib/bundler/source_list.rb +2 -2
- data/bundler/lib/bundler/spec_set.rb +7 -9
- data/bundler/lib/bundler/stub_specification.rb +17 -7
- data/bundler/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt +57 -47
- data/bundler/lib/bundler/templates/newgem/Gemfile.tt +9 -1
- data/bundler/lib/bundler/templates/newgem/README.md.tt +1 -2
- data/bundler/lib/bundler/templates/newgem/Rakefile.tt +19 -5
- data/bundler/lib/bundler/templates/newgem/bin/console.tt +1 -0
- data/bundler/lib/bundler/templates/newgem/circleci/config.yml.tt +13 -0
- data/bundler/lib/bundler/templates/newgem/ext/newgem/extconf.rb.tt +2 -0
- data/bundler/lib/bundler/templates/newgem/github/workflows/main.yml.tt +18 -0
- data/bundler/lib/bundler/templates/newgem/gitlab-ci.yml.tt +9 -0
- data/bundler/lib/bundler/templates/newgem/lib/newgem.rb.tt +4 -2
- data/bundler/lib/bundler/templates/newgem/lib/newgem/version.rb.tt +2 -0
- data/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt +14 -6
- data/bundler/lib/bundler/templates/newgem/rubocop.yml.tt +10 -0
- data/bundler/lib/bundler/templates/newgem/spec/newgem_spec.rb.tt +2 -0
- data/bundler/lib/bundler/templates/newgem/spec/spec_helper.rb.tt +2 -1
- data/bundler/lib/bundler/templates/newgem/test/{newgem_test.rb.tt → minitest/newgem_test.rb.tt} +2 -0
- data/bundler/lib/bundler/templates/newgem/test/{test_helper.rb.tt → minitest/test_helper.rb.tt} +2 -0
- data/bundler/lib/bundler/templates/newgem/test/test-unit/newgem_test.rb.tt +15 -0
- data/bundler/lib/bundler/templates/newgem/test/test-unit/test_helper.rb.tt +6 -0
- data/bundler/lib/bundler/ui/shell.rb +5 -5
- data/bundler/lib/bundler/uri_credentials_filter.rb +3 -1
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo.rb +0 -1
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +34 -1
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb +2 -2
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +1 -1
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb +1 -1
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb +38 -40
- data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +79 -208
- data/bundler/lib/bundler/vendor/thor/lib/thor.rb +0 -7
- data/bundler/lib/bundler/vendor/thor/lib/thor/actions/create_link.rb +2 -1
- data/bundler/lib/bundler/vendor/thor/lib/thor/base.rb +9 -0
- data/bundler/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
- data/bundler/lib/bundler/vendor/tmpdir/lib/tmpdir.rb +154 -0
- data/bundler/lib/bundler/vendored_persistent.rb +0 -7
- data/bundler/lib/bundler/vendored_tmpdir.rb +4 -0
- data/bundler/lib/bundler/version.rb +1 -1
- data/bundler/lib/bundler/worker.rb +1 -1
- data/bundler/lib/bundler/yaml_serializer.rb +1 -1
- data/bundler/man/bundle-add.1 +1 -1
- data/bundler/man/bundle-binstubs.1 +5 -3
- data/bundler/man/bundle-cache.1 +1 -1
- data/bundler/man/bundle-check.1 +1 -1
- data/bundler/man/bundle-clean.1 +1 -1
- data/bundler/man/bundle-config.1 +16 -25
- data/bundler/man/bundle-doctor.1 +1 -1
- data/bundler/man/bundle-exec.1 +1 -1
- data/bundler/man/bundle-gem.1 +25 -3
- data/bundler/man/bundle-info.1 +1 -1
- data/bundler/man/bundle-init.1 +1 -1
- data/bundler/man/bundle-inject.1 +1 -1
- data/bundler/man/bundle-install.1 +30 -3
- data/bundler/man/bundle-list.1 +7 -7
- data/bundler/man/bundle-lock.1 +1 -1
- data/bundler/man/bundle-open.1 +1 -1
- data/bundler/man/bundle-outdated.1 +1 -1
- data/bundler/man/bundle-platform.1 +1 -1
- data/bundler/man/bundle-pristine.1 +1 -1
- data/bundler/man/bundle-remove.1 +1 -1
- data/bundler/man/bundle-show.1 +1 -1
- data/bundler/man/bundle-update.1 +1 -1
- data/bundler/man/bundle-viz.1 +1 -1
- data/bundler/man/bundle.1 +1 -1
- data/bundler/man/gemfile.5 +4 -4
- data/lib/rubygems.rb +138 -187
- data/lib/rubygems/available_set.rb +4 -6
- data/lib/rubygems/basic_specification.rb +12 -10
- data/lib/rubygems/bundler_version_finder.rb +14 -9
- data/lib/rubygems/command.rb +17 -17
- data/lib/rubygems/command_manager.rb +5 -6
- data/lib/rubygems/commands/build_command.rb +40 -20
- data/lib/rubygems/commands/cert_command.rb +2 -10
- data/lib/rubygems/commands/check_command.rb +0 -2
- data/lib/rubygems/commands/cleanup_command.rb +11 -7
- data/lib/rubygems/commands/contents_command.rb +4 -6
- data/lib/rubygems/commands/dependency_command.rb +6 -8
- data/lib/rubygems/commands/environment_command.rb +1 -3
- data/lib/rubygems/commands/fetch_command.rb +2 -4
- data/lib/rubygems/commands/generate_index_command.rb +0 -2
- data/lib/rubygems/commands/help_command.rb +4 -4
- data/lib/rubygems/commands/info_command.rb +8 -5
- data/lib/rubygems/commands/install_command.rb +3 -5
- data/lib/rubygems/commands/list_command.rb +8 -7
- data/lib/rubygems/commands/lock_command.rb +1 -3
- data/lib/rubygems/commands/mirror_command.rb +0 -2
- data/lib/rubygems/commands/open_command.rb +0 -4
- data/lib/rubygems/commands/outdated_command.rb +0 -2
- data/lib/rubygems/commands/owner_command.rb +9 -4
- data/lib/rubygems/commands/pristine_command.rb +11 -5
- data/lib/rubygems/commands/push_command.rb +10 -47
- data/lib/rubygems/commands/query_command.rb +14 -344
- data/lib/rubygems/commands/rdoc_command.rb +0 -2
- data/lib/rubygems/commands/search_command.rb +7 -7
- data/lib/rubygems/commands/server_command.rb +3 -1
- data/lib/rubygems/commands/setup_command.rb +131 -58
- data/lib/rubygems/commands/signin_command.rb +0 -2
- data/lib/rubygems/commands/signout_command.rb +0 -2
- data/lib/rubygems/commands/sources_command.rb +9 -7
- data/lib/rubygems/commands/specification_command.rb +8 -4
- data/lib/rubygems/commands/stale_command.rb +1 -3
- data/lib/rubygems/commands/uninstall_command.rb +2 -4
- data/lib/rubygems/commands/unpack_command.rb +1 -3
- data/lib/rubygems/commands/update_command.rb +59 -14
- data/lib/rubygems/commands/which_command.rb +0 -2
- data/lib/rubygems/commands/yank_command.rb +4 -7
- data/lib/rubygems/config_file.rb +11 -4
- data/lib/rubygems/core_ext/kernel_require.rb +29 -36
- data/lib/rubygems/core_ext/kernel_warn.rb +12 -13
- data/lib/rubygems/defaults.rb +101 -7
- data/lib/rubygems/dependency.rb +3 -8
- data/lib/rubygems/dependency_installer.rb +6 -78
- data/lib/rubygems/dependency_list.rb +7 -9
- data/lib/rubygems/deprecate.rb +46 -1
- data/lib/rubygems/doctor.rb +4 -4
- data/lib/rubygems/errors.rb +3 -14
- data/lib/rubygems/exceptions.rb +2 -33
- data/lib/rubygems/ext.rb +6 -6
- data/lib/rubygems/ext/build_error.rb +2 -0
- data/lib/rubygems/ext/builder.rb +16 -35
- data/lib/rubygems/ext/cmake_builder.rb +5 -7
- data/lib/rubygems/ext/configure_builder.rb +4 -6
- data/lib/rubygems/ext/ext_conf_builder.rb +21 -19
- data/lib/rubygems/ext/rake_builder.rb +4 -6
- data/lib/rubygems/gem_runner.rb +3 -10
- data/lib/rubygems/gemcutter_utilities.rb +102 -21
- data/lib/rubygems/indexer.rb +1 -22
- data/lib/rubygems/install_update_options.rb +7 -7
- data/lib/rubygems/installer.rb +59 -80
- data/lib/rubygems/installer_test_case.rb +25 -11
- data/lib/rubygems/installer_uninstaller_utils.rb +24 -0
- data/lib/rubygems/local_remote_options.rb +1 -1
- data/lib/rubygems/mock_gem_ui.rb +0 -6
- data/lib/rubygems/name_tuple.rb +3 -7
- data/lib/rubygems/openssl.rb +7 -0
- data/lib/rubygems/package.rb +14 -25
- data/lib/rubygems/package/digest_io.rb +0 -2
- data/lib/rubygems/package/file_source.rb +0 -2
- data/lib/rubygems/package/io_source.rb +0 -2
- data/lib/rubygems/package/old.rb +1 -3
- data/lib/rubygems/package/tar_header.rb +4 -6
- data/lib/rubygems/package/tar_reader.rb +0 -3
- data/lib/rubygems/package/tar_reader/entry.rb +0 -3
- data/lib/rubygems/package/tar_test_case.rb +2 -4
- data/lib/rubygems/package/tar_writer.rb +2 -12
- data/lib/rubygems/package_task.rb +1 -7
- data/lib/rubygems/path_support.rb +1 -3
- data/lib/rubygems/platform.rb +21 -12
- data/lib/rubygems/psych_tree.rb +0 -2
- data/lib/rubygems/query_utils.rb +353 -0
- data/lib/rubygems/rdoc.rb +0 -12
- data/lib/rubygems/remote_fetcher.rb +11 -28
- data/lib/rubygems/request.rb +4 -11
- data/lib/rubygems/request/connection_pools.rb +1 -5
- data/lib/rubygems/request/http_pool.rb +0 -2
- data/lib/rubygems/request/https_pool.rb +0 -2
- data/lib/rubygems/request_set.rb +7 -20
- data/lib/rubygems/request_set/gem_dependency_api.rb +6 -8
- data/lib/rubygems/request_set/lockfile.rb +8 -12
- data/lib/rubygems/request_set/lockfile/parser.rb +0 -2
- data/lib/rubygems/request_set/lockfile/tokenizer.rb +1 -3
- data/lib/rubygems/requirement.rb +20 -21
- data/lib/rubygems/resolver.rb +14 -12
- data/lib/rubygems/resolver/activation_request.rb +9 -3
- data/lib/rubygems/resolver/api_set.rb +31 -24
- data/lib/rubygems/resolver/api_set/gem_parser.rb +20 -0
- data/lib/rubygems/resolver/api_specification.rb +24 -10
- data/lib/rubygems/resolver/best_set.rb +1 -3
- data/lib/rubygems/resolver/composed_set.rb +3 -5
- data/lib/rubygems/resolver/conflict.rb +2 -4
- data/lib/rubygems/resolver/current_set.rb +0 -2
- data/lib/rubygems/resolver/dependency_request.rb +1 -3
- data/lib/rubygems/resolver/git_set.rb +0 -2
- data/lib/rubygems/resolver/git_specification.rb +0 -2
- data/lib/rubygems/resolver/index_set.rb +1 -3
- data/lib/rubygems/resolver/index_specification.rb +26 -2
- data/lib/rubygems/resolver/installed_specification.rb +0 -2
- data/lib/rubygems/resolver/installer_set.rb +60 -13
- data/lib/rubygems/resolver/local_specification.rb +0 -2
- data/lib/rubygems/resolver/lock_set.rb +2 -4
- data/lib/rubygems/resolver/lock_specification.rb +0 -2
- data/lib/rubygems/resolver/molinillo/lib/molinillo.rb +6 -5
- data/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/resolution_state.rb +7 -0
- data/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/specification_provider.rb +1 -0
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb +39 -5
- 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 +43 -10
- data/lib/rubygems/resolver/molinillo/lib/molinillo/errors.rb +75 -7
- data/lib/rubygems/resolver/molinillo/lib/molinillo/gem_metadata.rb +2 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/modules/specification_provider.rb +1 -0
- data/lib/rubygems/resolver/molinillo/lib/molinillo/modules/ui.rb +3 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/resolution.rb +506 -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/requirement_list.rb +0 -2
- data/lib/rubygems/resolver/set.rb +0 -2
- data/lib/rubygems/resolver/source_set.rb +0 -2
- data/lib/rubygems/resolver/spec_specification.rb +14 -2
- data/lib/rubygems/resolver/specification.rb +13 -3
- data/lib/rubygems/resolver/stats.rb +0 -2
- data/lib/rubygems/resolver/vendor_set.rb +0 -2
- data/lib/rubygems/resolver/vendor_specification.rb +0 -2
- data/lib/rubygems/s3_uri_signer.rb +2 -8
- data/lib/rubygems/safe_yaml.rb +4 -4
- data/lib/rubygems/security.rb +27 -34
- data/lib/rubygems/security/policy.rb +4 -8
- data/lib/rubygems/security/signer.rb +5 -7
- data/lib/rubygems/security/trust_dir.rb +1 -3
- data/lib/rubygems/server.rb +16 -13
- data/lib/rubygems/source.rb +23 -12
- data/lib/rubygems/source/git.rb +7 -8
- data/lib/rubygems/source/installed.rb +0 -2
- data/lib/rubygems/source/local.rb +2 -4
- data/lib/rubygems/source/lock.rb +0 -2
- data/lib/rubygems/source/specific_file.rb +0 -2
- data/lib/rubygems/source/vendor.rb +0 -2
- data/lib/rubygems/source_list.rb +4 -7
- data/lib/rubygems/spec_fetcher.rb +19 -18
- data/lib/rubygems/specification.rb +113 -126
- data/lib/rubygems/specification_policy.rb +88 -30
- data/lib/rubygems/ssl_certs/{index.rubygems.org → rubygems.org}/GlobalSignRootCA.pem +0 -0
- data/lib/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA_R3.pem +21 -0
- data/lib/rubygems/stub_specification.rb +1 -5
- data/lib/rubygems/syck_hack.rb +0 -2
- data/lib/rubygems/test_case.rb +105 -132
- data/lib/rubygems/test_utilities.rb +12 -19
- data/lib/rubygems/uninstaller.rb +35 -16
- data/lib/rubygems/uri_formatter.rb +2 -3
- data/lib/rubygems/uri_parser.rb +0 -2
- data/lib/rubygems/user_interaction.rb +1 -26
- data/lib/rubygems/util.rb +15 -3
- data/lib/rubygems/util/licenses.rb +4 -6
- data/lib/rubygems/util/list.rb +0 -2
- data/lib/rubygems/validator.rb +1 -3
- data/lib/rubygems/version.rb +5 -7
- data/lib/rubygems/version_option.rb +6 -0
- data/rubygems-update.gemspec +2 -2
- data/setup.rb +2 -7
- data/test/rubygems/plugin/load/rubygems_plugin.rb +0 -2
- data/test/rubygems/rubygems/commands/crash_command.rb +0 -2
- data/test/rubygems/rubygems_plugin.rb +0 -2
- data/test/rubygems/specifications/bar-0.0.2.gemspec +0 -2
- data/test/rubygems/specifications/rubyforge-0.0.1.gemspec +12 -0
- data/test/rubygems/test_bundled_ca.rb +42 -45
- data/test/rubygems/test_config.rb +0 -2
- data/test/rubygems/test_deprecate.rb +40 -7
- data/test/rubygems/test_gem.rb +151 -99
- data/test/rubygems/test_gem_available_set.rb +3 -5
- data/test/rubygems/test_gem_bundler_version_finder.rb +19 -3
- data/test/rubygems/test_gem_command.rb +24 -7
- data/test/rubygems/test_gem_command_manager.rb +36 -5
- data/test/rubygems/test_gem_commands_build_command.rb +250 -15
- data/test/rubygems/test_gem_commands_cert_command.rb +4 -6
- data/test/rubygems/test_gem_commands_check_command.rb +0 -2
- data/test/rubygems/test_gem_commands_cleanup_command.rb +14 -5
- data/test/rubygems/test_gem_commands_contents_command.rb +50 -19
- data/test/rubygems/test_gem_commands_dependency_command.rb +0 -2
- data/test/rubygems/test_gem_commands_environment_command.rb +21 -23
- data/test/rubygems/test_gem_commands_fetch_command.rb +0 -2
- data/test/rubygems/test_gem_commands_generate_index_command.rb +1 -7
- data/test/rubygems/test_gem_commands_help_command.rb +15 -4
- data/test/rubygems/test_gem_commands_info_command.rb +6 -8
- data/test/rubygems/test_gem_commands_install_command.rb +163 -34
- data/test/rubygems/test_gem_commands_list_command.rb +0 -2
- data/test/rubygems/test_gem_commands_lock_command.rb +0 -2
- data/test/rubygems/test_gem_commands_mirror.rb +1 -3
- data/test/rubygems/test_gem_commands_open_command.rb +4 -6
- data/test/rubygems/test_gem_commands_outdated_command.rb +0 -2
- data/test/rubygems/test_gem_commands_owner_command.rb +59 -5
- data/test/rubygems/test_gem_commands_pristine_command.rb +43 -12
- data/test/rubygems/test_gem_commands_push_command.rb +77 -9
- data/test/rubygems/test_gem_commands_query_command.rb +12 -12
- data/test/rubygems/test_gem_commands_search_command.rb +0 -2
- data/test/rubygems/test_gem_commands_server_command.rb +0 -2
- data/test/rubygems/test_gem_commands_setup_command.rb +165 -124
- data/test/rubygems/test_gem_commands_signin_command.rb +33 -9
- data/test/rubygems/test_gem_commands_signout_command.rb +0 -7
- data/test/rubygems/test_gem_commands_sources_command.rb +99 -3
- data/test/rubygems/test_gem_commands_specification_command.rb +46 -20
- data/test/rubygems/test_gem_commands_stale_command.rb +0 -2
- data/test/rubygems/test_gem_commands_uninstall_command.rb +2 -3
- data/test/rubygems/test_gem_commands_unpack_command.rb +0 -2
- data/test/rubygems/test_gem_commands_update_command.rb +116 -7
- data/test/rubygems/test_gem_commands_which_command.rb +3 -5
- data/test/rubygems/test_gem_commands_yank_command.rb +44 -8
- data/test/rubygems/test_gem_config_file.rb +7 -12
- data/test/rubygems/test_gem_dependency.rb +0 -2
- data/test/rubygems/test_gem_dependency_installer.rb +90 -193
- data/test/rubygems/test_gem_dependency_list.rb +10 -12
- data/test/rubygems/test_gem_dependency_resolution_error.rb +1 -3
- data/test/rubygems/test_gem_doctor.rb +28 -2
- data/test/rubygems/test_gem_ext_builder.rb +26 -47
- data/test/rubygems/test_gem_ext_cmake_builder.rb +16 -23
- data/test/rubygems/test_gem_ext_configure_builder.rb +4 -20
- data/test/rubygems/test_gem_ext_ext_conf_builder.rb +9 -29
- data/test/rubygems/test_gem_ext_rake_builder.rb +39 -24
- data/test/rubygems/test_gem_gem_runner.rb +44 -1
- data/test/rubygems/test_gem_gemcutter_utilities.rb +8 -5
- data/test/rubygems/test_gem_impossible_dependencies_error.rb +0 -2
- data/test/rubygems/test_gem_indexer.rb +9 -15
- data/test/rubygems/test_gem_install_update_options.rb +14 -4
- data/test/rubygems/test_gem_installer.rb +258 -115
- data/test/rubygems/test_gem_local_remote_options.rb +0 -2
- data/test/rubygems/test_gem_name_tuple.rb +0 -2
- data/test/rubygems/test_gem_package.rb +41 -39
- data/test/rubygems/test_gem_package_old.rb +4 -6
- data/test/rubygems/test_gem_package_tar_header.rb +18 -1
- data/test/rubygems/test_gem_package_tar_reader.rb +0 -2
- data/test/rubygems/test_gem_package_tar_reader_entry.rb +0 -2
- data/test/rubygems/test_gem_package_tar_writer.rb +9 -6
- data/test/rubygems/test_gem_package_task.rb +46 -13
- data/test/rubygems/test_gem_path_support.rb +0 -2
- data/test/rubygems/test_gem_platform.rb +63 -6
- data/test/rubygems/test_gem_rdoc.rb +0 -2
- data/test/rubygems/test_gem_remote_fetcher.rb +168 -211
- data/test/rubygems/test_gem_request.rb +13 -17
- data/test/rubygems/test_gem_request_connection_pools.rb +0 -4
- data/test/rubygems/test_gem_request_set.rb +72 -22
- data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +3 -5
- data/test/rubygems/test_gem_request_set_lockfile.rb +4 -6
- data/test/rubygems/test_gem_request_set_lockfile_parser.rb +9 -11
- data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +118 -120
- data/test/rubygems/test_gem_requirement.rb +10 -4
- data/test/rubygems/test_gem_resolver.rb +6 -8
- data/test/rubygems/test_gem_resolver_activation_request.rb +0 -2
- data/test/rubygems/test_gem_resolver_api_set.rb +60 -59
- data/test/rubygems/test_gem_resolver_api_specification.rb +3 -5
- data/test/rubygems/test_gem_resolver_best_set.rb +5 -7
- data/test/rubygems/test_gem_resolver_composed_set.rb +0 -2
- data/test/rubygems/test_gem_resolver_conflict.rb +1 -3
- data/test/rubygems/test_gem_resolver_dependency_request.rb +0 -2
- data/test/rubygems/test_gem_resolver_git_set.rb +0 -2
- data/test/rubygems/test_gem_resolver_git_specification.rb +0 -2
- data/test/rubygems/test_gem_resolver_index_set.rb +2 -4
- data/test/rubygems/test_gem_resolver_index_specification.rb +0 -2
- data/test/rubygems/test_gem_resolver_installed_specification.rb +0 -2
- data/test/rubygems/test_gem_resolver_installer_set.rb +7 -9
- data/test/rubygems/test_gem_resolver_local_specification.rb +0 -2
- data/test/rubygems/test_gem_resolver_lock_set.rb +3 -5
- data/test/rubygems/test_gem_resolver_lock_specification.rb +0 -2
- data/test/rubygems/test_gem_resolver_requirement_list.rb +0 -2
- data/test/rubygems/test_gem_resolver_specification.rb +0 -4
- data/test/rubygems/test_gem_resolver_vendor_set.rb +1 -3
- data/test/rubygems/test_gem_resolver_vendor_specification.rb +0 -2
- data/test/rubygems/test_gem_security.rb +22 -24
- data/test/rubygems/test_gem_security_policy.rb +7 -12
- data/test/rubygems/test_gem_security_signer.rb +10 -12
- data/test/rubygems/test_gem_security_trust_dir.rb +4 -6
- data/test/rubygems/test_gem_server.rb +10 -14
- data/test/rubygems/test_gem_silent_ui.rb +0 -2
- data/test/rubygems/test_gem_source.rb +19 -18
- data/test/rubygems/test_gem_source_fetch_problem.rb +0 -2
- data/test/rubygems/test_gem_source_git.rb +12 -13
- data/test/rubygems/test_gem_source_installed.rb +7 -9
- data/test/rubygems/test_gem_source_list.rb +1 -2
- data/test/rubygems/test_gem_source_local.rb +8 -10
- data/test/rubygems/test_gem_source_lock.rb +10 -12
- data/test/rubygems/test_gem_source_specific_file.rb +7 -9
- data/test/rubygems/test_gem_source_subpath_problem.rb +49 -0
- data/test/rubygems/test_gem_source_vendor.rb +7 -9
- data/test/rubygems/test_gem_spec_fetcher.rb +11 -4
- data/test/rubygems/test_gem_specification.rb +182 -131
- data/test/rubygems/test_gem_stream_ui.rb +3 -3
- data/test/rubygems/test_gem_stub_specification.rb +4 -7
- data/test/rubygems/test_gem_text.rb +1 -3
- data/test/rubygems/test_gem_uninstaller.rb +134 -12
- data/test/rubygems/test_gem_unsatisfiable_dependency_error.rb +0 -2
- data/test/rubygems/test_gem_uri_formatter.rb +0 -2
- data/test/rubygems/test_gem_util.rb +7 -7
- data/test/rubygems/test_gem_validator.rb +1 -3
- data/test/rubygems/test_gem_version.rb +1 -3
- data/test/rubygems/test_gem_version_option.rb +1 -3
- data/test/rubygems/test_kernel.rb +25 -10
- data/test/rubygems/test_project_sanity.rb +7 -2
- data/test/rubygems/test_remote_fetch_error.rb +0 -2
- data/test/rubygems/test_require.rb +291 -56
- data/test/test_changelog_generator.rb +17 -0
- metadata +65 -96
- data/.bundle/config +0 -2
- data/.rubocop.yml +0 -91
- data/Gemfile +0 -8
- data/Gemfile.lock +0 -43
- data/bundler/CODE_OF_CONDUCT.md +0 -136
- data/bundler/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/source_local.rb +0 -7
- data/lib/rubygems/source_specific_file.rb +0 -6
- data/lib/rubygems/ssl_certs/rubygems.global.ssl.fastly.net/DigiCertHighAssuranceEVRootCA.pem +0 -23
- data/lib/rubygems/ssl_certs/rubygems.org/AddTrustExternalCARoot.pem +0 -25
- data/lib/ubygems.rb +0 -14
- data/tmp/.keep +0 -0
- data/util/CL2notes +0 -55
- data/util/bisect +0 -10
- data/util/ci.sh +0 -62
- data/util/cops/deprecations.rb +0 -52
- data/util/create_certs.rb +0 -171
- data/util/create_certs.sh +0 -27
- data/util/create_encrypted_key.rb +0 -16
- data/util/generate_spdx_license_list.rb +0 -63
- data/util/patch_with_prs.rb +0 -77
- data/util/rubocop +0 -8
- data/util/update_bundled_ca_certificates.rb +0 -139
- data/util/update_changelog.rb +0 -67
@@ -19,7 +19,6 @@ module TestGemCommandsQueryCommandSetup
|
|
19
19
|
end
|
20
20
|
|
21
21
|
class TestGemCommandsQueryCommandWithInstalledGems < Gem::TestCase
|
22
|
-
|
23
22
|
include TestGemCommandsQueryCommandSetup
|
24
23
|
|
25
24
|
def test_execute
|
@@ -580,8 +579,8 @@ pl (1 i386-linux)
|
|
580
579
|
@cmd.execute
|
581
580
|
end
|
582
581
|
|
583
|
-
assert_match %r
|
584
|
-
assert_match %r
|
582
|
+
assert_match %r{^a }, @stub_ui.output
|
583
|
+
assert_match %r{^pl }, @stub_ui.output
|
585
584
|
assert_equal '', @stub_ui.error
|
586
585
|
end
|
587
586
|
|
@@ -593,8 +592,8 @@ pl (1 i386-linux)
|
|
593
592
|
@cmd.send :show_gems, /a/i
|
594
593
|
end
|
595
594
|
|
596
|
-
assert_match %r
|
597
|
-
refute_match %r
|
595
|
+
assert_match %r{^a }, @stub_ui.output
|
596
|
+
refute_match %r{^pl }, @stub_ui.output
|
598
597
|
assert_empty @stub_ui.error
|
599
598
|
end
|
600
599
|
|
@@ -607,11 +606,9 @@ pl (1 i386-linux)
|
|
607
606
|
fetcher.spec 'a', '3.a'
|
608
607
|
end
|
609
608
|
end
|
610
|
-
|
611
609
|
end
|
612
610
|
|
613
611
|
class TestGemCommandsQueryCommandWithoutInstalledGems < Gem::TestCase
|
614
|
-
|
615
612
|
include TestGemCommandsQueryCommandSetup
|
616
613
|
|
617
614
|
def test_execute_platform
|
@@ -644,10 +641,10 @@ a (2 universal-darwin, 1 ruby x86-linux)
|
|
644
641
|
end
|
645
642
|
|
646
643
|
def test_execute_show_default_gems
|
647
|
-
spec_fetcher {
|
644
|
+
spec_fetcher {|fetcher| fetcher.spec 'a', 2 }
|
648
645
|
|
649
646
|
a1 = new_default_spec 'a', 1
|
650
|
-
|
647
|
+
install_default_gems a1
|
651
648
|
|
652
649
|
use_ui @stub_ui do
|
653
650
|
@cmd.execute
|
@@ -666,7 +663,7 @@ EOF
|
|
666
663
|
def test_execute_show_default_gems_with_platform
|
667
664
|
a1 = new_default_spec 'a', 1
|
668
665
|
a1.platform = 'java'
|
669
|
-
|
666
|
+
install_default_gems a1
|
670
667
|
|
671
668
|
use_ui @stub_ui do
|
672
669
|
@cmd.execute
|
@@ -688,7 +685,7 @@ EOF
|
|
688
685
|
end
|
689
686
|
|
690
687
|
a1 = new_default_spec 'a', 1
|
691
|
-
|
688
|
+
install_default_gems a1
|
692
689
|
|
693
690
|
@cmd.handle_options %w[-l -d]
|
694
691
|
|
@@ -844,6 +841,10 @@ othergem (1.2.3)
|
|
844
841
|
assert_equal expected, @stub_ui.output
|
845
842
|
end
|
846
843
|
|
844
|
+
def test_depprecated
|
845
|
+
assert @cmd.deprecated?
|
846
|
+
end
|
847
|
+
|
847
848
|
private
|
848
849
|
|
849
850
|
def add_gems_to_fetcher
|
@@ -853,5 +854,4 @@ othergem (1.2.3)
|
|
853
854
|
fetcher.download 'a', '3.a'
|
854
855
|
end
|
855
856
|
end
|
856
|
-
|
857
857
|
end
|
@@ -3,7 +3,6 @@ require 'rubygems/test_case'
|
|
3
3
|
require 'rubygems/commands/search_command'
|
4
4
|
|
5
5
|
class TestGemCommandsSearchCommand < Gem::TestCase
|
6
|
-
|
7
6
|
def setup
|
8
7
|
super
|
9
8
|
|
@@ -13,5 +12,4 @@ class TestGemCommandsSearchCommand < Gem::TestCase
|
|
13
12
|
def test_initialize
|
14
13
|
assert_equal :remote, @cmd.defaults[:domain]
|
15
14
|
end
|
16
|
-
|
17
15
|
end
|
@@ -3,7 +3,6 @@ require 'rubygems/test_case'
|
|
3
3
|
require 'rubygems/commands/server_command'
|
4
4
|
|
5
5
|
class TestGemCommandsServerCommand < Gem::TestCase
|
6
|
-
|
7
6
|
def setup
|
8
7
|
super
|
9
8
|
|
@@ -59,5 +58,4 @@ class TestGemCommandsServerCommand < Gem::TestCase
|
|
59
58
|
assert_equal 'invalid argument: -p 65536: not a port number',
|
60
59
|
e.message
|
61
60
|
end
|
62
|
-
|
63
61
|
end
|
@@ -1,11 +1,9 @@
|
|
1
|
-
# coding: UTF-8
|
2
1
|
# frozen_string_literal: true
|
3
2
|
|
4
3
|
require 'rubygems/test_case'
|
5
4
|
require 'rubygems/commands/setup_command'
|
6
5
|
|
7
6
|
class TestGemCommandsSetupCommand < Gem::TestCase
|
8
|
-
|
9
7
|
bundler_gemspec = File.expand_path("../../../bundler/lib/bundler/version.rb", __FILE__)
|
10
8
|
if File.exist?(bundler_gemspec)
|
11
9
|
BUNDLER_VERS = File.read(bundler_gemspec).match(/VERSION = "(#{Gem::Version::VERSION_PATTERN})"/)[1]
|
@@ -20,41 +18,23 @@ class TestGemCommandsSetupCommand < Gem::TestCase
|
|
20
18
|
@cmd = Gem::Commands::SetupCommand.new
|
21
19
|
@cmd.options[:prefix] = @install_dir
|
22
20
|
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
end
|
41
|
-
|
42
|
-
FileUtils.mkdir_p 'bundler/exe'
|
43
|
-
FileUtils.mkdir_p 'bundler/lib/bundler'
|
44
|
-
|
45
|
-
File.open 'bundler/exe/bundle', 'w' do |io|
|
46
|
-
io.puts '# bundle'
|
47
|
-
end
|
48
|
-
|
49
|
-
File.open 'bundler/lib/bundler.rb', 'w' do |io|
|
50
|
-
io.puts '# bundler.rb'
|
51
|
-
end
|
52
|
-
|
53
|
-
File.open 'bundler/lib/bundler/b.rb', 'w' do |io|
|
54
|
-
io.puts '# b.rb'
|
55
|
-
end
|
56
|
-
|
57
|
-
FileUtils.mkdir_p 'default/gems'
|
21
|
+
filelist = %w[
|
22
|
+
bin/gem
|
23
|
+
lib/rubygems.rb
|
24
|
+
lib/rubygems/test_case.rb
|
25
|
+
lib/rubygems/ssl_certs/rubygems.org/foo.pem
|
26
|
+
bundler/exe/bundle
|
27
|
+
bundler/lib/bundler.rb
|
28
|
+
bundler/lib/bundler/b.rb
|
29
|
+
bundler/lib/bundler/man/bundle-b.1.ronn
|
30
|
+
bundler/lib/bundler/man/gemfile.5.ronn
|
31
|
+
bundler/lib/bundler/templates/.circleci/config.yml
|
32
|
+
bundler/lib/bundler/templates/.travis.yml
|
33
|
+
bundler/man/bundle-b.1
|
34
|
+
bundler/man/gemfile.5
|
35
|
+
]
|
36
|
+
|
37
|
+
create_dummy_files(filelist)
|
58
38
|
|
59
39
|
gemspec = Gem::Specification.new
|
60
40
|
gemspec.author = "Us"
|
@@ -63,7 +43,7 @@ class TestGemCommandsSetupCommand < Gem::TestCase
|
|
63
43
|
gemspec.bindir = "exe"
|
64
44
|
gemspec.executables = ["bundle"]
|
65
45
|
|
66
|
-
File.open 'bundler/bundler.gemspec',
|
46
|
+
File.open 'bundler/bundler.gemspec', 'w' do |io|
|
67
47
|
io.puts gemspec.to_ruby
|
68
48
|
end
|
69
49
|
|
@@ -72,30 +52,13 @@ class TestGemCommandsSetupCommand < Gem::TestCase
|
|
72
52
|
io.puts gemspec.to_ruby
|
73
53
|
end
|
74
54
|
|
75
|
-
|
55
|
+
spec_fetcher do |fetcher|
|
56
|
+
fetcher.download "bundler", "1.15.4"
|
76
57
|
|
77
|
-
|
78
|
-
io.puts "# bundler-#{BUNDLER_VERS}"
|
79
|
-
end
|
58
|
+
fetcher.gem "bundler", BUNDLER_VERS
|
80
59
|
|
81
|
-
|
82
|
-
io.puts '# bundler-audit'
|
83
|
-
end
|
84
|
-
|
85
|
-
FileUtils.mkdir_p 'default/gems/bundler-1.15.4'
|
86
|
-
FileUtils.mkdir_p 'default/gems/bundler-audit-1.0.0'
|
87
|
-
end
|
88
|
-
|
89
|
-
def gem_install(name)
|
90
|
-
gem = util_spec name do |s|
|
91
|
-
s.executables = [name]
|
92
|
-
s.files = %W[bin/#{name}]
|
93
|
-
end
|
94
|
-
write_file File.join @tempdir, 'bin', name do |f|
|
95
|
-
f.puts '#!/usr/bin/ruby'
|
60
|
+
fetcher.gem "bundler-audit", "1.0.0"
|
96
61
|
end
|
97
|
-
install_gem gem
|
98
|
-
File.join @gemhome, 'bin', name
|
99
62
|
end
|
100
63
|
|
101
64
|
def test_execute_regenerate_binstubs
|
@@ -123,7 +86,46 @@ class TestGemCommandsSetupCommand < Gem::TestCase
|
|
123
86
|
assert_equal "I changed it!\n", File.read(gem_bin_path)
|
124
87
|
end
|
125
88
|
|
89
|
+
def test_execute_regenerate_plugins
|
90
|
+
gem_plugin_path = gem_install_with_plugin 'a'
|
91
|
+
write_file gem_plugin_path do |io|
|
92
|
+
io.puts 'I changed it!'
|
93
|
+
end
|
94
|
+
|
95
|
+
@cmd.options[:document] = []
|
96
|
+
@cmd.execute
|
97
|
+
|
98
|
+
assert_match %r{\Arequire}, File.read(gem_plugin_path)
|
99
|
+
end
|
100
|
+
|
101
|
+
def test_execute_no_regenerate_plugins
|
102
|
+
gem_plugin_path = gem_install_with_plugin 'a'
|
103
|
+
write_file gem_plugin_path do |io|
|
104
|
+
io.puts 'I changed it!'
|
105
|
+
end
|
106
|
+
|
107
|
+
@cmd.options[:document] = []
|
108
|
+
@cmd.options[:regenerate_plugins] = false
|
109
|
+
@cmd.execute
|
110
|
+
|
111
|
+
assert_equal "I changed it!\n", File.read(gem_plugin_path)
|
112
|
+
end
|
113
|
+
|
114
|
+
def test_execute_regenerate_plugins_creates_plugins_dir_if_not_there
|
115
|
+
gem_plugin_path = gem_install_with_plugin 'a'
|
116
|
+
|
117
|
+
# Simulate gem installed with an older rubygems without a plugins layout
|
118
|
+
FileUtils.rm_rf Gem.plugindir
|
119
|
+
|
120
|
+
@cmd.options[:document] = []
|
121
|
+
@cmd.execute
|
122
|
+
|
123
|
+
assert_match %r{\Arequire}, File.read(gem_plugin_path)
|
124
|
+
end
|
125
|
+
|
126
126
|
def test_execute_informs_about_installed_executables
|
127
|
+
@cmd.options[:document] = []
|
128
|
+
|
127
129
|
use_ui @ui do
|
128
130
|
@cmd.execute
|
129
131
|
end
|
@@ -147,25 +149,25 @@ class TestGemCommandsSetupCommand < Gem::TestCase
|
|
147
149
|
|
148
150
|
ruby_exec = sprintf Gem.default_exec_format, 'ruby'
|
149
151
|
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
else
|
155
|
-
assert_match %r%\A#!/usr/bin/env #{ruby_exec}%, File.read(default_gem_bin_path)
|
156
|
-
assert_match %r%\A#!/usr/bin/env #{ruby_exec}%, File.read(default_bundle_bin_path)
|
157
|
-
assert_match %r%\A#!/usr/bin/env #{ruby_exec}%, File.read(gem_bin_path)
|
158
|
-
end
|
152
|
+
bin_env = win_platform? ? "" : %w[/usr/bin/env /bin/env].find {|f| File.executable?(f) } + " "
|
153
|
+
assert_match %r{\A#!\s*#{bin_env}#{ruby_exec}}, File.read(default_gem_bin_path)
|
154
|
+
assert_match %r{\A#!\s*#{bin_env}#{ruby_exec}}, File.read(default_bundle_bin_path)
|
155
|
+
assert_match %r{\A#!\s*#{bin_env}#{ruby_exec}}, File.read(gem_bin_path)
|
159
156
|
end
|
160
157
|
|
161
|
-
def
|
162
|
-
assert_equal %w[rubygems/ssl_certs/rubygems.org/foo.pem],
|
163
|
-
@cmd.
|
158
|
+
def test_files_in
|
159
|
+
assert_equal %w[rubygems.rb rubygems/ssl_certs/rubygems.org/foo.pem rubygems/test_case.rb],
|
160
|
+
@cmd.files_in('lib').sort
|
164
161
|
end
|
165
162
|
|
166
|
-
def
|
167
|
-
assert_equal %w[
|
168
|
-
@cmd.
|
163
|
+
def test_bundler_man1_files_in
|
164
|
+
assert_equal %w[bundle-b.1],
|
165
|
+
@cmd.bundler_man1_files_in('bundler/man').sort
|
166
|
+
end
|
167
|
+
|
168
|
+
def test_bundler_man5_files_in
|
169
|
+
assert_equal %w[gemfile.5],
|
170
|
+
@cmd.bundler_man5_files_in('bundler/man').sort
|
169
171
|
end
|
170
172
|
|
171
173
|
def test_install_lib
|
@@ -179,6 +181,22 @@ class TestGemCommandsSetupCommand < Gem::TestCase
|
|
179
181
|
|
180
182
|
assert_path_exists File.join(dir, 'bundler.rb')
|
181
183
|
assert_path_exists File.join(dir, 'bundler/b.rb')
|
184
|
+
|
185
|
+
assert_path_exists File.join(dir, 'bundler/templates/.circleci/config.yml') unless RUBY_ENGINE == "truffleruby" # https://github.com/oracle/truffleruby/issues/2116
|
186
|
+
assert_path_exists File.join(dir, 'bundler/templates/.travis.yml')
|
187
|
+
end
|
188
|
+
end
|
189
|
+
|
190
|
+
def test_install_man
|
191
|
+
@cmd.extend FileUtils
|
192
|
+
|
193
|
+
Dir.mktmpdir 'man' do |dir|
|
194
|
+
@cmd.install_man dir
|
195
|
+
|
196
|
+
assert_path_exists File.join("#{dir}/man1", 'bundle-b.1')
|
197
|
+
refute_path_exists File.join("#{dir}/man1", 'bundle-b.1.ronn')
|
198
|
+
assert_path_exists File.join("#{dir}/man5", 'gemfile.5')
|
199
|
+
refute_path_exists File.join("#{dir}/man5", 'gemfile.5.ronn')
|
182
200
|
end
|
183
201
|
end
|
184
202
|
|
@@ -197,7 +215,7 @@ class TestGemCommandsSetupCommand < Gem::TestCase
|
|
197
215
|
assert_path_exists File.join(bin_dir, "#{e}.bat")
|
198
216
|
end
|
199
217
|
|
200
|
-
assert_path_exists File.join bin_dir,
|
218
|
+
assert_path_exists File.join bin_dir, e
|
201
219
|
end
|
202
220
|
|
203
221
|
default_dir = Gem.default_specifications_dir
|
@@ -207,21 +225,14 @@ class TestGemCommandsSetupCommand < Gem::TestCase
|
|
207
225
|
assert_path_exists File.join(default_dir, "bundler-#{BUNDLER_VERS}.gemspec")
|
208
226
|
|
209
227
|
# expect to not remove bundler-* gemspecs.
|
210
|
-
assert_path_exists File.join(Gem.
|
228
|
+
assert_path_exists File.join(Gem.dir, "specifications", "bundler-audit-1.0.0.gemspec")
|
211
229
|
|
212
230
|
# expect to remove normal gem that was same version. because it's promoted default gems.
|
213
|
-
refute_path_exists File.join(Gem.
|
214
|
-
|
215
|
-
# expect to install default gems. It location was `site_ruby` directory on real world.
|
216
|
-
assert_path_exists "default/gems/bundler-#{BUNDLER_VERS}"
|
217
|
-
|
218
|
-
# expect to not remove other versions of bundler on `site_ruby`
|
219
|
-
assert_path_exists 'default/gems/bundler-1.15.4'
|
231
|
+
refute_path_exists File.join(Gem.dir, "specifications", "bundler-#{BUNDLER_VERS}.gemspec")
|
220
232
|
|
221
|
-
#
|
222
|
-
|
223
|
-
#
|
224
|
-
assert_path_exists 'default/gems/bundler-audit-1.0.0'
|
233
|
+
assert_path_exists "#{Gem.dir}/gems/bundler-#{BUNDLER_VERS}"
|
234
|
+
assert_path_exists "#{Gem.dir}/gems/bundler-1.15.4"
|
235
|
+
assert_path_exists "#{Gem.dir}/gems/bundler-audit-1.0.0"
|
225
236
|
end
|
226
237
|
|
227
238
|
def test_install_default_bundler_gem_with_force_flag
|
@@ -250,7 +261,7 @@ class TestGemCommandsSetupCommand < Gem::TestCase
|
|
250
261
|
assert_path_exists File.join(bin_dir, "#{e}.bat")
|
251
262
|
end
|
252
263
|
|
253
|
-
assert_path_exists File.join bin_dir,
|
264
|
+
assert_path_exists File.join bin_dir, e
|
254
265
|
end
|
255
266
|
end
|
256
267
|
end
|
@@ -260,52 +271,53 @@ class TestGemCommandsSetupCommand < Gem::TestCase
|
|
260
271
|
lib_rubygems = File.join lib, 'rubygems'
|
261
272
|
lib_bundler = File.join lib, 'bundler'
|
262
273
|
lib_rubygems_defaults = File.join lib_rubygems, 'defaults'
|
274
|
+
lib_bundler_templates = File.join lib_bundler, 'templates'
|
263
275
|
|
264
276
|
securerandom_rb = File.join lib, 'securerandom.rb'
|
265
277
|
|
266
278
|
engine_defaults_rb = File.join lib_rubygems_defaults, 'jruby.rb'
|
267
279
|
os_defaults_rb = File.join lib_rubygems_defaults, 'operating_system.rb'
|
268
280
|
|
281
|
+
old_gauntlet_rubygems_rb = File.join lib, 'gauntlet_rubygems.rb'
|
282
|
+
|
269
283
|
old_builder_rb = File.join lib_rubygems, 'builder.rb'
|
270
284
|
old_format_rb = File.join lib_rubygems, 'format.rb'
|
271
285
|
old_bundler_c_rb = File.join lib_bundler, 'c.rb'
|
286
|
+
old_bundler_ci = File.join lib_bundler_templates, '.lecacy_ci', 'config.yml'
|
272
287
|
|
273
|
-
|
274
|
-
|
288
|
+
files_that_go = [old_gauntlet_rubygems_rb, old_builder_rb, old_format_rb, old_bundler_c_rb, old_bundler_ci]
|
289
|
+
files_that_stay = [securerandom_rb, engine_defaults_rb, os_defaults_rb]
|
275
290
|
|
276
|
-
|
277
|
-
io.puts '# securerandom.rb'
|
278
|
-
end
|
291
|
+
create_dummy_files(files_that_go + files_that_stay)
|
279
292
|
|
280
|
-
|
281
|
-
io.puts '# builder.rb'
|
282
|
-
end
|
293
|
+
@cmd.remove_old_lib_files lib
|
283
294
|
|
284
|
-
|
285
|
-
io.puts '# format.rb'
|
286
|
-
end
|
295
|
+
files_that_go.each {|file| refute_path_exists(file) unless file == old_bundler_ci && RUBY_ENGINE == "truffleruby" } # https://github.com/oracle/truffleruby/issues/2116
|
287
296
|
|
288
|
-
|
289
|
-
|
290
|
-
end
|
297
|
+
files_that_stay.each {|file| assert_path_exists file }
|
298
|
+
end
|
291
299
|
|
292
|
-
|
293
|
-
|
294
|
-
end
|
300
|
+
def test_remove_old_man_files
|
301
|
+
man = File.join @install_dir, 'man'
|
295
302
|
|
296
|
-
File.
|
297
|
-
|
298
|
-
|
303
|
+
ruby_1 = File.join man, 'man1', 'ruby.1'
|
304
|
+
bundle_b_1 = File.join man, 'man1', 'bundle-b.1'
|
305
|
+
bundle_b_1_ronn = File.join man, 'man1', 'bundle-b.1.ronn'
|
306
|
+
bundle_b_1_txt = File.join man, 'man1', 'bundle-b.1.txt'
|
307
|
+
gemfile_5 = File.join man, 'man5', 'gemfile.5'
|
308
|
+
gemfile_5_ronn = File.join man, 'man5', 'gemfile.5.ronn'
|
309
|
+
gemfile_5_txt = File.join man, 'man5', 'gemfile.5.txt'
|
299
310
|
|
300
|
-
|
311
|
+
files_that_go = [bundle_b_1_txt, bundle_b_1_ronn, gemfile_5_txt, gemfile_5_ronn]
|
312
|
+
files_that_stay = [ruby_1, bundle_b_1, gemfile_5]
|
313
|
+
|
314
|
+
create_dummy_files(files_that_go + files_that_stay)
|
315
|
+
|
316
|
+
@cmd.remove_old_man_files man
|
301
317
|
|
302
|
-
refute_path_exists
|
303
|
-
refute_path_exists old_format_rb
|
304
|
-
refute_path_exists old_bundler_c_rb
|
318
|
+
files_that_go.each {|file| refute_path_exists file }
|
305
319
|
|
306
|
-
assert_path_exists
|
307
|
-
assert_path_exists engine_defaults_rb
|
308
|
-
assert_path_exists os_defaults_rb
|
320
|
+
files_that_stay.each {|file| assert_path_exists file }
|
309
321
|
end
|
310
322
|
|
311
323
|
def test_show_release_notes
|
@@ -315,9 +327,7 @@ class TestGemCommandsSetupCommand < Gem::TestCase
|
|
315
327
|
@cmd.options[:previous_version] = Gem::Version.new '2.0.2'
|
316
328
|
|
317
329
|
File.open 'History.txt', 'w' do |io|
|
318
|
-
io.puts <<-
|
319
|
-
# coding: UTF-8
|
320
|
-
|
330
|
+
io.puts <<-HISTORY_TXT
|
321
331
|
=== #{Gem::VERSION} / 2013-03-26
|
322
332
|
|
323
333
|
* Bug fixes:
|
@@ -333,7 +343,7 @@ class TestGemCommandsSetupCommand < Gem::TestCase
|
|
333
343
|
|
334
344
|
* Bug fixes:
|
335
345
|
* Yet more bugs fixed
|
336
|
-
|
346
|
+
HISTORY_TXT
|
337
347
|
end
|
338
348
|
|
339
349
|
use_ui @ui do
|
@@ -359,14 +369,45 @@ class TestGemCommandsSetupCommand < Gem::TestCase
|
|
359
369
|
|
360
370
|
private
|
361
371
|
|
372
|
+
def create_dummy_files(list)
|
373
|
+
list.each do |file|
|
374
|
+
FileUtils.mkdir_p File.dirname(file)
|
375
|
+
|
376
|
+
File.open file, 'w' do |io|
|
377
|
+
io.puts "# #{File.basename(file)}"
|
378
|
+
end
|
379
|
+
end
|
380
|
+
end
|
381
|
+
|
382
|
+
def gem_install(name)
|
383
|
+
gem = util_spec name do |s|
|
384
|
+
s.executables = [name]
|
385
|
+
s.files = %W[bin/#{name}]
|
386
|
+
end
|
387
|
+
write_file File.join @tempdir, 'bin', name do |f|
|
388
|
+
f.puts '#!/usr/bin/ruby'
|
389
|
+
end
|
390
|
+
install_gem gem
|
391
|
+
File.join @gemhome, 'bin', name
|
392
|
+
end
|
393
|
+
|
394
|
+
def gem_install_with_plugin(name)
|
395
|
+
gem = util_spec name do |s|
|
396
|
+
s.files = %W[lib/rubygems_plugin.rb]
|
397
|
+
end
|
398
|
+
write_file File.join @tempdir, 'lib', 'rubygems_plugin.rb' do |f|
|
399
|
+
f.puts "require '#{gem.plugins.first}'"
|
400
|
+
end
|
401
|
+
install_gem gem
|
402
|
+
|
403
|
+
File.join Gem.plugindir, "#{name}_plugin.rb"
|
404
|
+
end
|
405
|
+
|
362
406
|
def default_gem_bin_path
|
363
|
-
|
364
|
-
File.join @install_dir, 'bin', gem_exec
|
407
|
+
File.join @install_dir, 'bin', 'gem'
|
365
408
|
end
|
366
409
|
|
367
410
|
def default_bundle_bin_path
|
368
|
-
|
369
|
-
File.join @install_dir, 'bin', bundle_exec
|
411
|
+
File.join @install_dir, 'bin', 'bundle'
|
370
412
|
end
|
371
|
-
|
372
413
|
end unless Gem.java_platform?
|