rubygems-update 3.1.2 → 3.2.6
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} +756 -489
- data/CODE_OF_CONDUCT.md +55 -19
- data/CONTRIBUTING.md +25 -11
- data/Manifest.txt +75 -104
- data/POLICIES.md +6 -12
- data/README.md +5 -5
- data/Rakefile +64 -92
- data/bin/update_rubygems +1 -1
- data/bundler/CHANGELOG.md +1636 -1422
- data/bundler/README.md +6 -8
- data/bundler/UPGRADING.md +18 -32
- data/bundler/bundler.gemspec +4 -4
- data/bundler/exe/bundle +3 -0
- data/bundler/lib/bundler.rb +32 -8
- data/bundler/lib/bundler/build_metadata.rb +4 -12
- data/bundler/lib/bundler/cli.rb +55 -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 +86 -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 -13
- data/bundler/lib/bundler/definition.rb +66 -82
- data/bundler/lib/bundler/dep_proxy.rb +16 -9
- 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 +4 -4
- 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 → lib/bundler/man}/bundle-add.1 +1 -1
- data/bundler/{man/bundle-add.ronn → lib/bundler/man/bundle-add.1.ronn} +0 -0
- 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 +1 -1
- data/bundler/{man/bundle-cache.ronn → lib/bundler/man/bundle-cache.1.ronn} +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-check.1 +1 -1
- data/bundler/{man/bundle-check.ronn → lib/bundler/man/bundle-check.1.ronn} +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-clean.1 +1 -1
- data/bundler/{man/bundle-clean.ronn → lib/bundler/man/bundle-clean.1.ronn} +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-config.1 +16 -25
- data/bundler/{man/bundle-config.ronn → lib/bundler/man/bundle-config.1.ronn} +19 -30
- data/bundler/{man → lib/bundler/man}/bundle-doctor.1 +1 -1
- data/bundler/{man/bundle-doctor.ronn → lib/bundler/man/bundle-doctor.1.ronn} +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-exec.1 +1 -1
- data/bundler/{man/bundle-exec.ronn → lib/bundler/man/bundle-exec.1.ronn} +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-gem.1 +25 -3
- data/bundler/{man/bundle-gem.ronn → lib/bundler/man/bundle-gem.1.ronn} +30 -7
- data/bundler/{man → lib/bundler/man}/bundle-info.1 +1 -1
- data/bundler/{man/bundle-info.ronn → lib/bundler/man/bundle-info.1.ronn} +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-init.1 +1 -1
- data/bundler/{man/bundle-init.ronn → lib/bundler/man/bundle-init.1.ronn} +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-inject.1 +1 -1
- data/bundler/{man/bundle-inject.ronn → lib/bundler/man/bundle-inject.1.ronn} +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-install.1 +30 -3
- data/bundler/{man/bundle-install.ronn → lib/bundler/man/bundle-install.1.ronn} +25 -3
- 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/bundle-lock.ronn → lib/bundler/man/bundle-lock.1.ronn} +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-open.1 +1 -1
- data/bundler/{man/bundle-open.ronn → lib/bundler/man/bundle-open.1.ronn} +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-outdated.1 +1 -1
- data/bundler/{man/bundle-outdated.ronn → lib/bundler/man/bundle-outdated.1.ronn} +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-platform.1 +1 -1
- data/bundler/{man/bundle-platform.ronn → lib/bundler/man/bundle-platform.1.ronn} +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-pristine.1 +1 -1
- data/bundler/{man/bundle-pristine.ronn → lib/bundler/man/bundle-pristine.1.ronn} +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-remove.1 +1 -1
- data/bundler/{man/bundle-remove.ronn → lib/bundler/man/bundle-remove.1.ronn} +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-show.1 +1 -1
- data/bundler/{man/bundle-show.ronn → lib/bundler/man/bundle-show.1.ronn} +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-update.1 +1 -1
- data/bundler/{man/bundle-update.ronn → lib/bundler/man/bundle-update.1.ronn} +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-viz.1 +1 -1
- data/bundler/{man/bundle-viz.ronn → lib/bundler/man/bundle-viz.1.ronn} +0 -0
- data/bundler/{man → lib/bundler/man}/bundle.1 +1 -1
- data/bundler/{man/bundle.ronn → lib/bundler/man/bundle.1.ronn} +0 -0
- data/bundler/{man → lib/bundler/man}/gemfile.5 +4 -4
- data/bundler/{man → lib/bundler/man}/gemfile.5.ronn +4 -4
- data/bundler/{man → lib/bundler/man}/index.txt +0 -0
- 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 +43 -19
- data/bundler/lib/bundler/resolver/spec_group.rb +39 -24
- data/bundler/lib/bundler/retry.rb +1 -1
- data/bundler/lib/bundler/ruby_version.rb +1 -1
- data/bundler/lib/bundler/rubygems_ext.rb +69 -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 +23 -21
- data/bundler/lib/bundler/source/git/git_proxy.rb +82 -80
- data/bundler/lib/bundler/source/path.rb +7 -3
- data/bundler/lib/bundler/source/path/installer.rb +10 -10
- data/bundler/lib/bundler/source/rubygems.rb +23 -17
- 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 +8 -10
- 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 +15 -7
- data/bundler/lib/bundler/templates/newgem/rubocop.yml.tt +13 -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 +48 -46
- 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/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 +101 -74
- 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 +21 -39
- 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 +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 -16
- 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 +14 -29
- 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 +21 -22
- 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 +2 -4
- 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 +29 -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 +122 -131
- 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 +120 -134
- 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 +3 -3
- data/setup.rb +2 -7
- data/test/rubygems/data/null-required-rubygems-version.gemspec.rz +0 -0
- 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 +156 -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 +160 -135
- 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 +116 -239
- 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 +50 -47
- data/test/rubygems/test_gem_ext_cmake_builder.rb +16 -25
- data/test/rubygems/test_gem_ext_configure_builder.rb +6 -22
- 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 +71 -6
- data/test/rubygems/test_gem_rdoc.rb +0 -2
- data/test/rubygems/test_gem_remote_fetcher.rb +169 -212
- 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 +43 -3
- 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 +27 -6
- 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 +188 -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 +79 -133
- 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,50 +18,33 @@ 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
|
-
|
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/exe/bundler
|
28
|
+
bundler/lib/bundler.rb
|
29
|
+
bundler/lib/bundler/b.rb
|
30
|
+
bundler/bin/bundler/man/bundle-b.1
|
31
|
+
bundler/lib/bundler/man/bundle-b.1.ronn
|
32
|
+
bundler/lib/bundler/man/gemfile.5
|
33
|
+
bundler/lib/bundler/man/gemfile.5.ronn
|
34
|
+
bundler/lib/bundler/templates/.circleci/config.yml
|
35
|
+
bundler/lib/bundler/templates/.travis.yml
|
36
|
+
]
|
37
|
+
|
38
|
+
create_dummy_files(filelist)
|
58
39
|
|
59
40
|
gemspec = Gem::Specification.new
|
60
41
|
gemspec.author = "Us"
|
61
42
|
gemspec.name = "bundler"
|
62
43
|
gemspec.version = BUNDLER_VERS
|
63
44
|
gemspec.bindir = "exe"
|
64
|
-
gemspec.executables = ["bundle"]
|
45
|
+
gemspec.executables = ["bundle", "bundler"]
|
65
46
|
|
66
|
-
File.open 'bundler/bundler.gemspec',
|
47
|
+
File.open 'bundler/bundler.gemspec', 'w' do |io|
|
67
48
|
io.puts gemspec.to_ruby
|
68
49
|
end
|
69
50
|
|
@@ -72,30 +53,13 @@ class TestGemCommandsSetupCommand < Gem::TestCase
|
|
72
53
|
io.puts gemspec.to_ruby
|
73
54
|
end
|
74
55
|
|
75
|
-
|
56
|
+
spec_fetcher do |fetcher|
|
57
|
+
fetcher.download "bundler", "1.15.4"
|
76
58
|
|
77
|
-
|
78
|
-
io.puts "# bundler-#{BUNDLER_VERS}"
|
79
|
-
end
|
59
|
+
fetcher.gem "bundler", BUNDLER_VERS
|
80
60
|
|
81
|
-
|
82
|
-
io.puts '# bundler-audit'
|
61
|
+
fetcher.gem "bundler-audit", "1.0.0"
|
83
62
|
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'
|
96
|
-
end
|
97
|
-
install_gem gem
|
98
|
-
File.join @gemhome, 'bin', name
|
99
63
|
end
|
100
64
|
|
101
65
|
def test_execute_regenerate_binstubs
|
@@ -123,7 +87,46 @@ class TestGemCommandsSetupCommand < Gem::TestCase
|
|
123
87
|
assert_equal "I changed it!\n", File.read(gem_bin_path)
|
124
88
|
end
|
125
89
|
|
90
|
+
def test_execute_regenerate_plugins
|
91
|
+
gem_plugin_path = gem_install_with_plugin 'a'
|
92
|
+
write_file gem_plugin_path do |io|
|
93
|
+
io.puts 'I changed it!'
|
94
|
+
end
|
95
|
+
|
96
|
+
@cmd.options[:document] = []
|
97
|
+
@cmd.execute
|
98
|
+
|
99
|
+
assert_match %r{\Arequire}, File.read(gem_plugin_path)
|
100
|
+
end
|
101
|
+
|
102
|
+
def test_execute_no_regenerate_plugins
|
103
|
+
gem_plugin_path = gem_install_with_plugin 'a'
|
104
|
+
write_file gem_plugin_path do |io|
|
105
|
+
io.puts 'I changed it!'
|
106
|
+
end
|
107
|
+
|
108
|
+
@cmd.options[:document] = []
|
109
|
+
@cmd.options[:regenerate_plugins] = false
|
110
|
+
@cmd.execute
|
111
|
+
|
112
|
+
assert_equal "I changed it!\n", File.read(gem_plugin_path)
|
113
|
+
end
|
114
|
+
|
115
|
+
def test_execute_regenerate_plugins_creates_plugins_dir_if_not_there
|
116
|
+
gem_plugin_path = gem_install_with_plugin 'a'
|
117
|
+
|
118
|
+
# Simulate gem installed with an older rubygems without a plugins layout
|
119
|
+
FileUtils.rm_rf Gem.plugindir
|
120
|
+
|
121
|
+
@cmd.options[:document] = []
|
122
|
+
@cmd.execute
|
123
|
+
|
124
|
+
assert_match %r{\Arequire}, File.read(gem_plugin_path)
|
125
|
+
end
|
126
|
+
|
126
127
|
def test_execute_informs_about_installed_executables
|
128
|
+
@cmd.options[:document] = []
|
129
|
+
|
127
130
|
use_ui @ui do
|
128
131
|
@cmd.execute
|
129
132
|
end
|
@@ -133,6 +136,7 @@ class TestGemCommandsSetupCommand < Gem::TestCase
|
|
133
136
|
exec_line = out.shift until exec_line == "RubyGems installed the following executables:"
|
134
137
|
assert_equal "\t#{default_gem_bin_path}", out.shift
|
135
138
|
assert_equal "\t#{default_bundle_bin_path}", out.shift
|
139
|
+
assert_equal "\t#{default_bundler_bin_path}", out.shift
|
136
140
|
end
|
137
141
|
|
138
142
|
def test_env_shebang_flag
|
@@ -147,25 +151,16 @@ class TestGemCommandsSetupCommand < Gem::TestCase
|
|
147
151
|
|
148
152
|
ruby_exec = sprintf Gem.default_exec_format, 'ruby'
|
149
153
|
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
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
|
154
|
+
bin_env = win_platform? ? "" : %w[/usr/bin/env /bin/env].find {|f| File.executable?(f) } + " "
|
155
|
+
assert_match %r{\A#!\s*#{bin_env}#{ruby_exec}}, File.read(default_gem_bin_path)
|
156
|
+
assert_match %r{\A#!\s*#{bin_env}#{ruby_exec}}, File.read(default_bundle_bin_path)
|
157
|
+
assert_match %r{\A#!\s*#{bin_env}#{ruby_exec}}, File.read(default_bundler_bin_path)
|
158
|
+
assert_match %r{\A#!\s*#{bin_env}#{ruby_exec}}, File.read(gem_bin_path)
|
159
159
|
end
|
160
160
|
|
161
|
-
def
|
162
|
-
assert_equal %w[rubygems/ssl_certs/rubygems.org/foo.pem],
|
163
|
-
@cmd.
|
164
|
-
end
|
165
|
-
|
166
|
-
def test_rb_files_in
|
167
|
-
assert_equal %w[rubygems.rb rubygems/test_case.rb],
|
168
|
-
@cmd.rb_files_in('lib').sort
|
161
|
+
def test_files_in
|
162
|
+
assert_equal %w[rubygems.rb rubygems/ssl_certs/rubygems.org/foo.pem rubygems/test_case.rb],
|
163
|
+
@cmd.files_in('lib').sort
|
169
164
|
end
|
170
165
|
|
171
166
|
def test_install_lib
|
@@ -179,6 +174,9 @@ class TestGemCommandsSetupCommand < Gem::TestCase
|
|
179
174
|
|
180
175
|
assert_path_exists File.join(dir, 'bundler.rb')
|
181
176
|
assert_path_exists File.join(dir, 'bundler/b.rb')
|
177
|
+
|
178
|
+
assert_path_exists File.join(dir, 'bundler/templates/.circleci/config.yml') unless RUBY_ENGINE == "truffleruby" # https://github.com/oracle/truffleruby/issues/2116
|
179
|
+
assert_path_exists File.join(dir, 'bundler/templates/.travis.yml')
|
182
180
|
end
|
183
181
|
end
|
184
182
|
|
@@ -197,7 +195,7 @@ class TestGemCommandsSetupCommand < Gem::TestCase
|
|
197
195
|
assert_path_exists File.join(bin_dir, "#{e}.bat")
|
198
196
|
end
|
199
197
|
|
200
|
-
assert_path_exists File.join bin_dir,
|
198
|
+
assert_path_exists File.join bin_dir, e
|
201
199
|
end
|
202
200
|
|
203
201
|
default_dir = Gem.default_specifications_dir
|
@@ -207,21 +205,14 @@ class TestGemCommandsSetupCommand < Gem::TestCase
|
|
207
205
|
assert_path_exists File.join(default_dir, "bundler-#{BUNDLER_VERS}.gemspec")
|
208
206
|
|
209
207
|
# expect to not remove bundler-* gemspecs.
|
210
|
-
assert_path_exists File.join(Gem.
|
208
|
+
assert_path_exists File.join(Gem.dir, "specifications", "bundler-audit-1.0.0.gemspec")
|
211
209
|
|
212
210
|
# 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}"
|
211
|
+
refute_path_exists File.join(Gem.dir, "specifications", "bundler-#{BUNDLER_VERS}.gemspec")
|
217
212
|
|
218
|
-
#
|
219
|
-
assert_path_exists
|
220
|
-
|
221
|
-
# TODO: We need to assert to remove same version of bundler on gem_dir directory(It's not site_ruby dir)
|
222
|
-
|
223
|
-
# expect to not remove bundler-* directory.
|
224
|
-
assert_path_exists 'default/gems/bundler-audit-1.0.0'
|
213
|
+
assert_path_exists "#{Gem.dir}/gems/bundler-#{BUNDLER_VERS}"
|
214
|
+
assert_path_exists "#{Gem.dir}/gems/bundler-1.15.4"
|
215
|
+
assert_path_exists "#{Gem.dir}/gems/bundler-audit-1.0.0"
|
225
216
|
end
|
226
217
|
|
227
218
|
def test_install_default_bundler_gem_with_force_flag
|
@@ -250,7 +241,7 @@ class TestGemCommandsSetupCommand < Gem::TestCase
|
|
250
241
|
assert_path_exists File.join(bin_dir, "#{e}.bat")
|
251
242
|
end
|
252
243
|
|
253
|
-
assert_path_exists File.join bin_dir,
|
244
|
+
assert_path_exists File.join bin_dir, e
|
254
245
|
end
|
255
246
|
end
|
256
247
|
end
|
@@ -260,52 +251,53 @@ class TestGemCommandsSetupCommand < Gem::TestCase
|
|
260
251
|
lib_rubygems = File.join lib, 'rubygems'
|
261
252
|
lib_bundler = File.join lib, 'bundler'
|
262
253
|
lib_rubygems_defaults = File.join lib_rubygems, 'defaults'
|
254
|
+
lib_bundler_templates = File.join lib_bundler, 'templates'
|
263
255
|
|
264
256
|
securerandom_rb = File.join lib, 'securerandom.rb'
|
265
257
|
|
266
258
|
engine_defaults_rb = File.join lib_rubygems_defaults, 'jruby.rb'
|
267
259
|
os_defaults_rb = File.join lib_rubygems_defaults, 'operating_system.rb'
|
268
260
|
|
261
|
+
old_gauntlet_rubygems_rb = File.join lib, 'gauntlet_rubygems.rb'
|
262
|
+
|
269
263
|
old_builder_rb = File.join lib_rubygems, 'builder.rb'
|
270
264
|
old_format_rb = File.join lib_rubygems, 'format.rb'
|
271
265
|
old_bundler_c_rb = File.join lib_bundler, 'c.rb'
|
266
|
+
old_bundler_ci = File.join lib_bundler_templates, '.lecacy_ci', 'config.yml'
|
272
267
|
|
273
|
-
|
274
|
-
|
268
|
+
files_that_go = [old_gauntlet_rubygems_rb, old_builder_rb, old_format_rb, old_bundler_c_rb, old_bundler_ci]
|
269
|
+
files_that_stay = [securerandom_rb, engine_defaults_rb, os_defaults_rb]
|
275
270
|
|
276
|
-
|
277
|
-
io.puts '# securerandom.rb'
|
278
|
-
end
|
271
|
+
create_dummy_files(files_that_go + files_that_stay)
|
279
272
|
|
280
|
-
|
281
|
-
io.puts '# builder.rb'
|
282
|
-
end
|
273
|
+
@cmd.remove_old_lib_files lib
|
283
274
|
|
284
|
-
|
285
|
-
io.puts '# format.rb'
|
286
|
-
end
|
275
|
+
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
276
|
|
288
|
-
|
289
|
-
|
290
|
-
end
|
277
|
+
files_that_stay.each {|file| assert_path_exists file }
|
278
|
+
end
|
291
279
|
|
292
|
-
|
293
|
-
|
294
|
-
end
|
280
|
+
def test_remove_old_man_files
|
281
|
+
man = File.join @install_dir, 'man'
|
295
282
|
|
296
|
-
File.
|
297
|
-
|
298
|
-
|
283
|
+
ruby_1 = File.join man, 'man1', 'ruby.1'
|
284
|
+
bundle_b_1 = File.join man, 'man1', 'bundle-b.1'
|
285
|
+
bundle_b_1_ronn = File.join man, 'man1', 'bundle-b.1.ronn'
|
286
|
+
bundle_b_1_txt = File.join man, 'man1', 'bundle-b.1.txt'
|
287
|
+
gemfile_5 = File.join man, 'man5', 'gemfile.5'
|
288
|
+
gemfile_5_ronn = File.join man, 'man5', 'gemfile.5.ronn'
|
289
|
+
gemfile_5_txt = File.join man, 'man5', 'gemfile.5.txt'
|
299
290
|
|
300
|
-
|
291
|
+
files_that_go = [bundle_b_1, bundle_b_1_txt, bundle_b_1_ronn, gemfile_5, gemfile_5_txt, gemfile_5_ronn]
|
292
|
+
files_that_stay = [ruby_1]
|
301
293
|
|
302
|
-
|
303
|
-
refute_path_exists old_format_rb
|
304
|
-
refute_path_exists old_bundler_c_rb
|
294
|
+
create_dummy_files(files_that_go + files_that_stay)
|
305
295
|
|
306
|
-
|
307
|
-
|
308
|
-
|
296
|
+
@cmd.remove_old_man_files man
|
297
|
+
|
298
|
+
files_that_go.each {|file| refute_path_exists file }
|
299
|
+
|
300
|
+
files_that_stay.each {|file| assert_path_exists file }
|
309
301
|
end
|
310
302
|
|
311
303
|
def test_show_release_notes
|
@@ -314,26 +306,24 @@ class TestGemCommandsSetupCommand < Gem::TestCase
|
|
314
306
|
|
315
307
|
@cmd.options[:previous_version] = Gem::Version.new '2.0.2'
|
316
308
|
|
317
|
-
File.open '
|
318
|
-
io.puts <<-
|
319
|
-
#
|
320
|
-
|
321
|
-
=== #{Gem::VERSION} / 2013-03-26
|
309
|
+
File.open 'CHANGELOG.md', 'w' do |io|
|
310
|
+
io.puts <<-HISTORY_TXT
|
311
|
+
# #{Gem::VERSION} / 2013-03-26
|
322
312
|
|
323
|
-
|
313
|
+
## Bug fixes:
|
324
314
|
* Fixed release note display for LANG=C when installing rubygems
|
325
315
|
* π is tasty
|
326
316
|
|
327
|
-
|
317
|
+
# 2.0.2 / 2013-03-06
|
328
318
|
|
329
|
-
|
319
|
+
## Bug fixes:
|
330
320
|
* Other bugs fixed
|
331
321
|
|
332
|
-
|
322
|
+
# 2.0.1 / 2013-03-05
|
333
323
|
|
334
|
-
|
324
|
+
## Bug fixes:
|
335
325
|
* Yet more bugs fixed
|
336
|
-
|
326
|
+
HISTORY_TXT
|
337
327
|
end
|
338
328
|
|
339
329
|
use_ui @ui do
|
@@ -341,9 +331,9 @@ class TestGemCommandsSetupCommand < Gem::TestCase
|
|
341
331
|
end
|
342
332
|
|
343
333
|
expected = <<-EXPECTED
|
344
|
-
|
334
|
+
# #{Gem::VERSION} / 2013-03-26
|
345
335
|
|
346
|
-
|
336
|
+
## Bug fixes:
|
347
337
|
* Fixed release note display for LANG=C when installing rubygems
|
348
338
|
* π is tasty
|
349
339
|
|
@@ -359,14 +349,49 @@ class TestGemCommandsSetupCommand < Gem::TestCase
|
|
359
349
|
|
360
350
|
private
|
361
351
|
|
352
|
+
def create_dummy_files(list)
|
353
|
+
list.each do |file|
|
354
|
+
FileUtils.mkdir_p File.dirname(file)
|
355
|
+
|
356
|
+
File.open file, 'w' do |io|
|
357
|
+
io.puts "# #{File.basename(file)}"
|
358
|
+
end
|
359
|
+
end
|
360
|
+
end
|
361
|
+
|
362
|
+
def gem_install(name)
|
363
|
+
gem = util_spec name do |s|
|
364
|
+
s.executables = [name]
|
365
|
+
s.files = %W[bin/#{name}]
|
366
|
+
end
|
367
|
+
write_file File.join @tempdir, 'bin', name do |f|
|
368
|
+
f.puts '#!/usr/bin/ruby'
|
369
|
+
end
|
370
|
+
install_gem gem
|
371
|
+
File.join @gemhome, 'bin', name
|
372
|
+
end
|
373
|
+
|
374
|
+
def gem_install_with_plugin(name)
|
375
|
+
gem = util_spec name do |s|
|
376
|
+
s.files = %W[lib/rubygems_plugin.rb]
|
377
|
+
end
|
378
|
+
write_file File.join @tempdir, 'lib', 'rubygems_plugin.rb' do |f|
|
379
|
+
f.puts "require '#{gem.plugins.first}'"
|
380
|
+
end
|
381
|
+
install_gem gem
|
382
|
+
|
383
|
+
File.join Gem.plugindir, "#{name}_plugin.rb"
|
384
|
+
end
|
385
|
+
|
362
386
|
def default_gem_bin_path
|
363
|
-
|
364
|
-
File.join @install_dir, 'bin', gem_exec
|
387
|
+
File.join @install_dir, 'bin', 'gem'
|
365
388
|
end
|
366
389
|
|
367
390
|
def default_bundle_bin_path
|
368
|
-
|
369
|
-
File.join @install_dir, 'bin', bundle_exec
|
391
|
+
File.join @install_dir, 'bin', 'bundle'
|
370
392
|
end
|
371
393
|
|
394
|
+
def default_bundler_bin_path
|
395
|
+
File.join @install_dir, 'bin', 'bundler'
|
396
|
+
end
|
372
397
|
end unless Gem.java_platform?
|