rubygems-update 3.0.9 → 3.1.0.pre1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +31 -8
- data/.travis.yml +9 -27
- data/CONTRIBUTING.md +13 -0
- data/History.txt +24 -28
- data/MAINTAINERS.txt +1 -6
- data/Manifest.txt +65 -15
- data/Rakefile +39 -23
- data/bin/gem +0 -6
- data/bundler/CHANGELOG.md +746 -570
- data/bundler/CODE_OF_CONDUCT.md +117 -23
- data/bundler/LICENSE.md +18 -19
- data/bundler/README.md +9 -8
- data/bundler/bundler.gemspec +8 -25
- data/bundler/exe/bundle +19 -3
- data/bundler/lib/bundler.rb +120 -67
- data/bundler/lib/bundler/build_metadata.rb +1 -3
- data/bundler/lib/bundler/capistrano.rb +4 -4
- data/bundler/lib/bundler/cli.rb +129 -121
- data/bundler/lib/bundler/cli/add.rb +27 -16
- data/bundler/lib/bundler/cli/common.rb +11 -12
- data/bundler/lib/bundler/cli/config.rb +161 -86
- data/bundler/lib/bundler/cli/console.rb +1 -1
- data/bundler/lib/bundler/cli/doctor.rb +4 -4
- data/bundler/lib/bundler/cli/exec.rb +4 -9
- data/bundler/lib/bundler/cli/gem.rb +5 -5
- data/bundler/lib/bundler/cli/info.rb +17 -5
- data/bundler/lib/bundler/cli/init.rb +1 -1
- data/bundler/lib/bundler/cli/install.rb +11 -10
- data/bundler/lib/bundler/cli/issue.rb +3 -3
- data/bundler/lib/bundler/cli/open.rb +10 -6
- data/bundler/lib/bundler/cli/outdated.rb +85 -81
- data/bundler/lib/bundler/cli/package.rb +8 -9
- data/bundler/lib/bundler/cli/plugin.rb +9 -2
- data/bundler/lib/bundler/cli/pristine.rb +1 -1
- data/bundler/lib/bundler/cli/show.rb +1 -1
- data/bundler/lib/bundler/cli/update.rb +31 -11
- data/bundler/lib/bundler/compact_index_client.rb +25 -9
- data/bundler/lib/bundler/compact_index_client/updater.rb +2 -6
- data/bundler/lib/bundler/current_ruby.rb +9 -7
- data/bundler/lib/bundler/definition.rb +35 -26
- data/bundler/lib/bundler/dependency.rb +16 -4
- data/bundler/lib/bundler/deployment.rb +1 -1
- data/bundler/lib/bundler/dsl.rb +15 -39
- data/bundler/lib/bundler/env.rb +8 -13
- data/bundler/lib/bundler/environment_preserver.rb +0 -1
- data/bundler/lib/bundler/feature_flag.rb +23 -34
- data/bundler/lib/bundler/fetcher.rb +14 -11
- data/bundler/lib/bundler/fetcher/compact_index.rb +26 -12
- data/bundler/lib/bundler/fetcher/dependency.rb +1 -1
- data/bundler/lib/bundler/fetcher/downloader.rb +4 -1
- data/bundler/lib/bundler/fetcher/index.rb +4 -2
- data/bundler/lib/bundler/friendly_errors.rb +4 -5
- data/bundler/lib/bundler/gem_helper.rb +39 -24
- data/bundler/lib/bundler/gem_helpers.rb +2 -4
- data/bundler/lib/bundler/gem_tasks.rb +1 -1
- data/bundler/lib/bundler/gem_version_promoter.rb +3 -3
- data/bundler/lib/bundler/graph.rb +2 -2
- data/bundler/lib/bundler/injector.rb +10 -8
- data/bundler/lib/bundler/inline.rb +19 -18
- data/bundler/lib/bundler/installer.rb +7 -14
- data/bundler/lib/bundler/installer/gem_installer.rb +5 -1
- data/bundler/lib/bundler/installer/parallel_installer.rb +4 -8
- data/bundler/lib/bundler/installer/standalone.rb +1 -2
- data/bundler/lib/bundler/lazy_specification.rb +2 -2
- data/bundler/lib/bundler/lockfile_parser.rb +13 -21
- data/bundler/lib/bundler/match_platform.rb +1 -1
- data/bundler/lib/bundler/plugin.rb +42 -29
- data/bundler/lib/bundler/plugin/api.rb +1 -1
- data/bundler/lib/bundler/plugin/api/source.rb +2 -2
- data/bundler/lib/bundler/plugin/index.rb +14 -3
- data/bundler/lib/bundler/plugin/installer.rb +28 -15
- data/bundler/lib/bundler/psyched_yaml.rb +1 -1
- data/bundler/lib/bundler/resolver.rb +72 -24
- data/bundler/lib/bundler/resolver/spec_group.rb +3 -2
- data/bundler/lib/bundler/retry.rb +2 -2
- data/bundler/lib/bundler/ruby_version.rb +4 -19
- data/bundler/lib/bundler/rubygems_ext.rb +10 -66
- data/bundler/lib/bundler/rubygems_gem_installer.rb +1 -8
- data/bundler/lib/bundler/rubygems_integration.rb +144 -395
- data/bundler/lib/bundler/runtime.rb +2 -9
- data/bundler/lib/bundler/settings.rb +15 -47
- data/bundler/lib/bundler/setup.rb +6 -5
- data/bundler/lib/bundler/shared_helpers.rb +58 -71
- data/bundler/lib/bundler/similarity_detector.rb +2 -2
- data/bundler/lib/bundler/source.rb +5 -5
- data/bundler/lib/bundler/source/git.rb +19 -12
- data/bundler/lib/bundler/source/git/git_proxy.rb +35 -39
- data/bundler/lib/bundler/source/metadata.rb +7 -2
- data/bundler/lib/bundler/source/path.rb +13 -8
- data/bundler/lib/bundler/source/rubygems.rb +11 -5
- data/bundler/lib/bundler/source/rubygems/remote.rb +1 -2
- data/bundler/lib/bundler/source_list.rb +9 -12
- data/bundler/lib/bundler/spec_set.rb +23 -12
- data/bundler/lib/bundler/stub_specification.rb +18 -30
- data/bundler/lib/bundler/templates/Executable.bundler +23 -14
- data/bundler/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt +3 -3
- data/bundler/lib/bundler/templates/newgem/Gemfile.tt +8 -2
- data/bundler/lib/bundler/templates/newgem/README.md.tt +4 -3
- data/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt +6 -27
- data/bundler/lib/bundler/templates/newgem/test/test_helper.rb.tt +1 -1
- data/bundler/lib/bundler/templates/newgem/travis.yml.tt +0 -1
- data/bundler/lib/bundler/ui.rb +3 -3
- data/bundler/lib/bundler/ui/rg_proxy.rb +1 -1
- data/bundler/lib/bundler/ui/shell.rb +4 -8
- data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool.rb +161 -0
- data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/monotonic_time.rb +66 -0
- data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.rb +176 -0
- data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/version.rb +3 -0
- data/bundler/lib/bundler/vendor/fileutils/lib/fileutils.rb +151 -48
- data/bundler/lib/bundler/vendor/fileutils/lib/fileutils/version.rb +5 -0
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo.rb +6 -6
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +2 -2
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +1 -1
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +1 -1
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +1 -1
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +1 -1
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/log.rb +6 -6
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/set_payload.rb +1 -1
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb +1 -1
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb +30 -8
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +1 -1
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb +4 -4
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/resolver.rb +2 -2
- data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +248 -279
- data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/connection.rb +40 -0
- data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/pool.rb +53 -0
- data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/timed_stack_multi.rb +79 -0
- data/bundler/lib/bundler/vendor/thor/lib/thor.rb +7 -2
- data/bundler/lib/bundler/vendor/thor/lib/thor/actions.rb +21 -11
- data/bundler/lib/bundler/vendor/thor/lib/thor/actions/create_file.rb +1 -1
- data/bundler/lib/bundler/vendor/thor/lib/thor/actions/create_link.rb +1 -1
- data/bundler/lib/bundler/vendor/thor/lib/thor/actions/directory.rb +1 -1
- data/bundler/lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb +11 -2
- data/bundler/lib/bundler/vendor/thor/lib/thor/actions/inject_into_file.rb +1 -1
- data/bundler/lib/bundler/vendor/thor/lib/thor/base.rb +16 -17
- data/bundler/lib/bundler/vendor/thor/lib/thor/error.rb +82 -0
- data/bundler/lib/bundler/vendor/thor/lib/thor/group.rb +3 -3
- data/bundler/lib/bundler/vendor/thor/lib/thor/line_editor.rb +2 -2
- data/bundler/lib/bundler/vendor/thor/lib/thor/parser.rb +4 -4
- data/bundler/lib/bundler/vendor/thor/lib/thor/parser/options.rb +7 -2
- data/bundler/lib/bundler/vendor/thor/lib/thor/runner.rb +6 -6
- data/bundler/lib/bundler/vendor/thor/lib/thor/shell.rb +4 -4
- data/bundler/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +52 -7
- data/bundler/lib/bundler/vendor/thor/lib/thor/shell/color.rb +1 -1
- data/bundler/lib/bundler/vendor/thor/lib/thor/shell/html.rb +1 -1
- data/bundler/lib/bundler/vendor/thor/lib/thor/util.rb +1 -1
- data/bundler/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
- data/bundler/lib/bundler/vendored_fileutils.rb +1 -6
- data/bundler/lib/bundler/vendored_molinillo.rb +1 -1
- data/bundler/lib/bundler/vendored_persistent.rb +7 -5
- data/bundler/lib/bundler/vendored_thor.rb +2 -2
- data/bundler/lib/bundler/version.rb +1 -20
- data/bundler/lib/bundler/version_ranges.rb +51 -5
- data/bundler/lib/bundler/vlad.rb +2 -2
- data/bundler/lib/bundler/worker.rb +1 -3
- data/bundler/lib/bundler/yaml_serializer.rb +2 -3
- data/bundler/man/bundle-add.1 +66 -0
- data/bundler/man/bundle-add.1.txt +58 -0
- data/bundler/man/bundle-add.ronn +7 -1
- data/bundler/man/bundle-binstubs.1 +40 -0
- data/bundler/man/bundle-binstubs.1.txt +48 -0
- data/bundler/man/bundle-binstubs.ronn +1 -1
- data/bundler/man/bundle-check.1 +31 -0
- data/bundler/man/bundle-check.1.txt +33 -0
- data/bundler/man/bundle-clean.1 +24 -0
- data/bundler/man/bundle-clean.1.txt +26 -0
- data/bundler/man/bundle-config.1 +497 -0
- data/bundler/man/bundle-config.1.txt +528 -0
- data/bundler/man/bundle-config.ronn +42 -40
- data/bundler/man/bundle-doctor.1 +44 -0
- data/bundler/man/bundle-doctor.1.txt +44 -0
- data/bundler/man/bundle-exec.1 +165 -0
- data/bundler/man/bundle-exec.1.txt +178 -0
- data/bundler/man/bundle-exec.ronn +1 -1
- data/bundler/man/bundle-gem.1 +80 -0
- data/bundler/man/bundle-gem.1.txt +91 -0
- data/bundler/man/bundle-info.1 +20 -0
- data/bundler/man/bundle-info.1.txt +21 -0
- data/bundler/man/bundle-init.1 +25 -0
- data/bundler/man/bundle-init.1.txt +34 -0
- data/bundler/man/bundle-init.ronn +1 -1
- data/bundler/man/bundle-inject.1 +33 -0
- data/bundler/man/bundle-inject.1.txt +32 -0
- data/bundler/man/bundle-install.1 +311 -0
- data/bundler/man/bundle-install.1.txt +401 -0
- data/bundler/man/bundle-install.ronn +9 -4
- data/bundler/man/bundle-list.1 +50 -0
- data/bundler/man/bundle-list.1.txt +43 -0
- data/bundler/man/bundle-lock.1 +84 -0
- data/bundler/man/bundle-lock.1.txt +93 -0
- data/bundler/man/bundle-open.1 +32 -0
- data/bundler/man/bundle-open.1.txt +29 -0
- data/bundler/man/bundle-outdated.1 +155 -0
- data/bundler/man/bundle-outdated.1.txt +131 -0
- data/bundler/man/bundle-package.1 +55 -0
- data/bundler/man/bundle-package.1.txt +79 -0
- data/bundler/man/bundle-platform.1 +61 -0
- data/bundler/man/bundle-platform.1.txt +57 -0
- data/bundler/man/bundle-pristine.1 +34 -0
- data/bundler/man/bundle-pristine.1.txt +44 -0
- data/bundler/man/bundle-remove.1 +31 -0
- data/bundler/man/bundle-remove.1.txt +34 -0
- data/bundler/man/bundle-show.1 +23 -0
- data/bundler/man/bundle-show.1.txt +27 -0
- data/bundler/man/bundle-update.1 +394 -0
- data/bundler/man/bundle-update.1.txt +390 -0
- data/bundler/man/bundle-update.ronn +3 -3
- data/bundler/man/bundle-viz.1 +39 -0
- data/bundler/man/bundle-viz.1.txt +39 -0
- data/bundler/man/bundle.1 +136 -0
- data/bundler/man/bundle.1.txt +116 -0
- data/bundler/man/bundle.ronn +2 -2
- data/bundler/man/gemfile.5 +686 -0
- data/bundler/man/gemfile.5.ronn +14 -18
- data/bundler/man/gemfile.5.txt +649 -0
- data/bundler/man/index.txt +25 -0
- data/lib/rubygems.rb +80 -48
- data/lib/rubygems/available_set.rb +1 -0
- data/lib/rubygems/basic_specification.rb +17 -6
- data/lib/rubygems/bundler_version_finder.rb +5 -0
- data/lib/rubygems/command.rb +34 -5
- data/lib/rubygems/command_manager.rb +0 -6
- data/lib/rubygems/commands/build_command.rb +21 -8
- data/lib/rubygems/commands/cert_command.rb +0 -1
- data/lib/rubygems/commands/cleanup_command.rb +7 -7
- data/lib/rubygems/commands/contents_command.rb +3 -3
- data/lib/rubygems/commands/dependency_command.rb +4 -3
- data/lib/rubygems/commands/environment_command.rb +0 -3
- data/lib/rubygems/commands/info_command.rb +2 -0
- data/lib/rubygems/commands/install_command.rb +12 -52
- data/lib/rubygems/commands/lock_command.rb +2 -2
- data/lib/rubygems/commands/mirror_command.rb +1 -0
- data/lib/rubygems/commands/open_command.rb +2 -1
- data/lib/rubygems/commands/outdated_command.rb +1 -0
- data/lib/rubygems/commands/owner_command.rb +2 -7
- data/lib/rubygems/commands/pristine_command.rb +3 -0
- data/lib/rubygems/commands/push_command.rb +4 -6
- data/lib/rubygems/commands/query_command.rb +94 -80
- data/lib/rubygems/commands/rdoc_command.rb +1 -0
- data/lib/rubygems/commands/setup_command.rb +10 -8
- data/lib/rubygems/commands/signin_command.rb +1 -0
- data/lib/rubygems/commands/specification_command.rb +1 -0
- data/lib/rubygems/commands/stale_command.rb +2 -0
- data/lib/rubygems/commands/uninstall_command.rb +1 -0
- data/lib/rubygems/commands/unpack_command.rb +2 -29
- data/lib/rubygems/commands/update_command.rb +14 -14
- data/lib/rubygems/commands/which_command.rb +1 -0
- data/lib/rubygems/commands/yank_command.rb +8 -2
- data/lib/rubygems/compatibility.rb +4 -4
- data/lib/rubygems/config_file.rb +28 -23
- data/lib/rubygems/core_ext/kernel_gem.rb +2 -5
- data/lib/rubygems/core_ext/kernel_require.rb +29 -2
- data/lib/rubygems/core_ext/kernel_warn.rb +10 -4
- data/lib/rubygems/defaults.rb +10 -17
- data/lib/rubygems/dependency.rb +21 -6
- data/lib/rubygems/dependency_installer.rb +19 -102
- data/lib/rubygems/dependency_list.rb +11 -10
- data/lib/rubygems/deprecate.rb +5 -5
- data/lib/rubygems/errors.rb +11 -2
- data/lib/rubygems/exceptions.rb +9 -0
- data/lib/rubygems/ext/builder.rb +24 -43
- data/lib/rubygems/ext/cmake_builder.rb +2 -0
- data/lib/rubygems/ext/ext_conf_builder.rb +11 -9
- data/lib/rubygems/ext/rake_builder.rb +1 -1
- data/lib/rubygems/gemcutter_utilities.rb +19 -26
- data/lib/rubygems/indexer.rb +9 -5
- data/lib/rubygems/installer.rb +26 -13
- data/lib/rubygems/installer_test_case.rb +86 -38
- data/lib/rubygems/local_remote_options.rb +1 -1
- data/lib/rubygems/mock_gem_ui.rb +4 -1
- data/lib/rubygems/name_tuple.rb +1 -0
- data/lib/rubygems/package.rb +37 -9
- data/lib/rubygems/package/tar_writer.rb +4 -4
- data/lib/rubygems/path_support.rb +2 -0
- data/lib/rubygems/platform.rb +2 -1
- data/lib/rubygems/psych_tree.rb +2 -0
- data/lib/rubygems/remote_fetcher.rb +5 -1
- data/lib/rubygems/request.rb +5 -3
- data/lib/rubygems/request/connection_pools.rb +4 -4
- data/lib/rubygems/request/http_pool.rb +1 -0
- data/lib/rubygems/request/https_pool.rb +2 -0
- data/lib/rubygems/request_set.rb +2 -2
- data/lib/rubygems/request_set/gem_dependency_api.rb +2 -2
- data/lib/rubygems/request_set/lockfile.rb +5 -2
- data/lib/rubygems/request_set/lockfile/parser.rb +4 -2
- data/lib/rubygems/request_set/lockfile/tokenizer.rb +2 -0
- data/lib/rubygems/requirement.rb +20 -18
- data/lib/rubygems/resolver.rb +4 -5
- data/lib/rubygems/resolver/activation_request.rb +19 -49
- data/lib/rubygems/resolver/best_set.rb +2 -2
- data/lib/rubygems/resolver/conflict.rb +0 -5
- data/lib/rubygems/resolver/installer_set.rb +3 -3
- data/lib/rubygems/resolver/lock_set.rb +1 -1
- data/lib/rubygems/resolver/lock_specification.rb +2 -2
- data/lib/rubygems/resolver/requirement_list.rb +1 -0
- data/lib/rubygems/resolver/specification.rb +1 -0
- data/lib/rubygems/resolver/stats.rb +2 -0
- data/lib/rubygems/security/signer.rb +3 -2
- data/lib/rubygems/server.rb +5 -4
- data/lib/rubygems/source_list.rb +1 -0
- data/lib/rubygems/spec_fetcher.rb +3 -16
- data/lib/rubygems/specification.rb +69 -133
- data/lib/rubygems/specification_policy.rb +7 -2
- data/{bundler/lib/bundler → lib/rubygems}/ssl_certs/index.rubygems.org/GlobalSignRootCA.pem +0 -0
- data/{bundler/lib/bundler → lib/rubygems}/ssl_certs/rubygems.global.ssl.fastly.net/DigiCertHighAssuranceEVRootCA.pem +0 -0
- data/{bundler/lib/bundler → lib/rubygems}/ssl_certs/rubygems.org/AddTrustExternalCARoot.pem +0 -0
- data/lib/rubygems/stub_specification.rb +5 -2
- data/lib/rubygems/syck_hack.rb +2 -0
- data/lib/rubygems/test_case.rb +78 -227
- data/lib/rubygems/test_utilities.rb +17 -6
- data/lib/rubygems/text.rb +2 -3
- data/lib/rubygems/uninstaller.rb +15 -15
- data/lib/rubygems/user_interaction.rb +9 -1
- data/lib/rubygems/util.rb +5 -41
- data/lib/rubygems/util/licenses.rb +398 -396
- data/lib/rubygems/util/list.rb +2 -0
- data/lib/rubygems/validator.rb +9 -29
- data/lib/rubygems/version.rb +5 -3
- data/rubygems-update.gemspec +3 -3
- data/test/rubygems/plugin/load/rubygems_plugin.rb +2 -0
- data/test/rubygems/test_bundled_ca.rb +4 -7
- data/test/rubygems/test_deprecate.rb +3 -0
- data/test/rubygems/test_gem.rb +183 -176
- data/test/rubygems/test_gem_available_set.rb +3 -2
- data/test/rubygems/test_gem_bundler_version_finder.rb +3 -1
- data/test/rubygems/test_gem_command.rb +94 -5
- data/test/rubygems/test_gem_command_manager.rb +5 -13
- data/test/rubygems/test_gem_commands_build_command.rb +142 -4
- data/test/rubygems/test_gem_commands_cert_command.rb +15 -1
- data/test/rubygems/test_gem_commands_cleanup_command.rb +22 -6
- data/test/rubygems/test_gem_commands_dependency_command.rb +1 -1
- data/test/rubygems/test_gem_commands_environment_command.rb +1 -11
- data/test/rubygems/test_gem_commands_help_command.rb +2 -0
- data/test/rubygems/test_gem_commands_info_command.rb +1 -0
- data/test/rubygems/test_gem_commands_install_command.rb +207 -2
- data/test/rubygems/test_gem_commands_mirror.rb +1 -0
- data/test/rubygems/test_gem_commands_outdated_command.rb +1 -0
- data/test/rubygems/test_gem_commands_owner_command.rb +4 -5
- data/test/rubygems/test_gem_commands_pristine_command.rb +56 -4
- data/test/rubygems/test_gem_commands_push_command.rb +19 -14
- data/test/rubygems/test_gem_commands_query_command.rb +27 -2
- data/test/rubygems/test_gem_commands_setup_command.rb +62 -37
- data/test/rubygems/test_gem_commands_signin_command.rb +5 -4
- data/test/rubygems/test_gem_commands_sources_command.rb +20 -6
- data/test/rubygems/test_gem_commands_uninstall_command.rb +107 -50
- data/test/rubygems/test_gem_commands_update_command.rb +86 -23
- data/test/rubygems/test_gem_commands_yank_command.rb +46 -1
- data/test/rubygems/test_gem_config_file.rb +9 -2
- data/test/rubygems/test_gem_dependency.rb +6 -0
- data/test/rubygems/test_gem_dependency_installer.rb +67 -36
- data/test/rubygems/test_gem_dependency_list.rb +21 -14
- data/test/rubygems/test_gem_ext_builder.rb +5 -1
- data/test/rubygems/test_gem_ext_cmake_builder.rb +2 -0
- data/test/rubygems/test_gem_ext_configure_builder.rb +8 -0
- data/test/rubygems/test_gem_ext_ext_conf_builder.rb +12 -0
- data/test/rubygems/test_gem_ext_rake_builder.rb +2 -0
- data/test/rubygems/test_gem_gemcutter_utilities.rb +8 -8
- data/test/rubygems/test_gem_indexer.rb +31 -40
- data/test/rubygems/test_gem_install_update_options.rb +31 -17
- data/test/rubygems/test_gem_installer.rb +383 -223
- data/test/rubygems/test_gem_package.rb +99 -14
- data/test/rubygems/test_gem_package_old.rb +57 -54
- data/test/rubygems/test_gem_package_tar_reader_entry.rb +6 -5
- data/test/rubygems/test_gem_package_tar_writer.rb +11 -6
- data/test/rubygems/test_gem_path_support.rb +19 -13
- data/test/rubygems/test_gem_platform.rb +4 -2
- data/test/rubygems/test_gem_rdoc.rb +1 -0
- data/test/rubygems/test_gem_remote_fetcher.rb +29 -16
- data/test/rubygems/test_gem_request.rb +19 -4
- data/test/rubygems/test_gem_request_connection_pools.rb +6 -2
- data/test/rubygems/test_gem_request_set.rb +33 -8
- data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +1 -1
- data/test/rubygems/test_gem_request_set_lockfile.rb +1 -0
- data/test/rubygems/test_gem_request_set_lockfile_parser.rb +2 -1
- data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +2 -0
- data/test/rubygems/test_gem_requirement.rb +7 -1
- data/test/rubygems/test_gem_resolver.rb +67 -23
- data/test/rubygems/test_gem_resolver_activation_request.rb +3 -32
- data/test/rubygems/test_gem_resolver_conflict.rb +0 -4
- data/test/rubygems/test_gem_resolver_git_specification.rb +1 -0
- data/test/rubygems/test_gem_resolver_index_specification.rb +7 -2
- data/test/rubygems/test_gem_resolver_installed_specification.rb +0 -1
- data/test/rubygems/test_gem_resolver_installer_set.rb +3 -1
- data/test/rubygems/test_gem_resolver_specification.rb +2 -0
- data/test/rubygems/test_gem_security.rb +6 -2
- data/test/rubygems/test_gem_security_signer.rb +1 -0
- data/test/rubygems/test_gem_server.rb +7 -2
- data/test/rubygems/test_gem_silent_ui.rb +1 -0
- data/test/rubygems/test_gem_source.rb +7 -7
- data/test/rubygems/test_gem_source_fetch_problem.rb +1 -0
- data/test/rubygems/test_gem_source_git.rb +4 -9
- data/test/rubygems/test_gem_source_installed.rb +6 -6
- data/test/rubygems/test_gem_source_list.rb +1 -0
- data/test/rubygems/test_gem_source_local.rb +5 -4
- data/test/rubygems/test_gem_source_lock.rb +12 -12
- data/test/rubygems/test_gem_source_specific_file.rb +7 -6
- data/test/rubygems/test_gem_source_vendor.rb +4 -4
- data/test/rubygems/test_gem_specification.rb +75 -43
- data/test/rubygems/test_gem_stream_ui.rb +2 -0
- data/test/rubygems/test_gem_stub_specification.rb +3 -1
- data/test/rubygems/test_gem_text.rb +1 -0
- data/test/rubygems/test_gem_uninstaller.rb +31 -10
- data/test/rubygems/test_gem_util.rb +6 -4
- data/test/rubygems/test_gem_validator.rb +3 -4
- data/test/rubygems/test_gem_version.rb +16 -8
- data/test/rubygems/test_kernel.rb +1 -0
- data/test/rubygems/test_rake_package.rb +26 -0
- data/test/rubygems/test_remote_fetch_error.rb +1 -0
- data/test/rubygems/test_require.rb +107 -3
- data/util/bisect +31 -0
- data/util/ci.sh +50 -0
- data/util/generate_spdx_license_list.rb +4 -2
- data/util/rubocop +2 -2
- data/util/update_bundled_ca_certificates.rb +3 -1
- metadata +97 -25
- data/appveyor.yml +0 -43
- data/bundler/CONTRIBUTING.md +0 -17
- data/bundler/exe/bundle_ruby +0 -60
- data/bundler/lib/bundler/cli/cache.rb +0 -36
- data/bundler/lib/bundler/compatibility_guard.rb +0 -14
- data/bundler/lib/bundler/ssl_certs/.document +0 -1
- data/bundler/lib/bundler/ssl_certs/certificate_manager.rb +0 -66
- data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/faster.rb +0 -27
- data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/ssl_reuse.rb +0 -129
- data/lib/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA.pem +0 -21
- data/lib/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA_R3.pem +0 -21
- data/util/ci +0 -82
@@ -199,16 +199,16 @@ class TestGemSource < Gem::TestCase
|
|
199
199
|
installed = Gem::Source::Installed.new
|
200
200
|
local = Gem::Source::Local.new
|
201
201
|
|
202
|
-
assert_equal(
|
202
|
+
assert_equal(0, remote. <=>(remote), 'remote <=> remote')
|
203
203
|
|
204
204
|
assert_equal(-1, remote. <=>(specific), 'remote <=> specific')
|
205
|
-
assert_equal(
|
205
|
+
assert_equal(1, specific. <=>(remote), 'specific <=> remote')
|
206
206
|
|
207
207
|
assert_equal(-1, remote. <=>(local), 'remote <=> local')
|
208
|
-
assert_equal(
|
208
|
+
assert_equal(1, local. <=>(remote), 'local <=> remote')
|
209
209
|
|
210
210
|
assert_equal(-1, remote. <=>(installed), 'remote <=> installed')
|
211
|
-
assert_equal(
|
211
|
+
assert_equal(1, installed.<=>(remote), 'installed <=> remote')
|
212
212
|
|
213
213
|
no_uri = @source.dup
|
214
214
|
no_uri.instance_variable_set :@uri, nil
|
@@ -220,9 +220,9 @@ class TestGemSource < Gem::TestCase
|
|
220
220
|
sourceA = Gem::Source.new "http://example.com/a"
|
221
221
|
sourceB = Gem::Source.new "http://example.com/b"
|
222
222
|
|
223
|
-
assert_equal(
|
224
|
-
assert_equal(
|
225
|
-
assert_equal(
|
223
|
+
assert_equal(0, sourceA. <=>(sourceA), 'sourceA <=> sourceA')
|
224
|
+
assert_equal(1, sourceA. <=>(sourceB), 'sourceA <=> sourceB')
|
225
|
+
assert_equal(1, sourceB. <=>(sourceA), 'sourceB <=> sourceA')
|
226
226
|
end
|
227
227
|
|
228
228
|
def test_update_cache_eh
|
@@ -208,16 +208,16 @@ class TestGemSourceGit < Gem::TestCase
|
|
208
208
|
installed = Gem::Source::Installed.new
|
209
209
|
vendor = Gem::Source::Vendor.new 'vendor/foo'
|
210
210
|
|
211
|
-
assert_equal(
|
211
|
+
assert_equal(0, git. <=>(git), 'git <=> git')
|
212
212
|
|
213
|
-
assert_equal(
|
213
|
+
assert_equal(1, git. <=>(remote), 'git <=> remote')
|
214
214
|
assert_equal(-1, remote. <=>(git), 'remote <=> git')
|
215
215
|
|
216
|
-
assert_equal(
|
216
|
+
assert_equal(1, git. <=>(installed), 'git <=> installed')
|
217
217
|
assert_equal(-1, installed.<=>(git), 'installed <=> git')
|
218
218
|
|
219
219
|
assert_equal(-1, git. <=>(vendor), 'git <=> vendor')
|
220
|
-
assert_equal(
|
220
|
+
assert_equal(1, vendor. <=>(git), 'vendor <=> git')
|
221
221
|
end
|
222
222
|
|
223
223
|
def test_specs
|
@@ -236,11 +236,6 @@ class TestGemSourceGit < Gem::TestCase
|
|
236
236
|
system @git, 'add', 'b.gemspec'
|
237
237
|
system @git, 'commit', '--quiet', '-m', 'add b/b.gemspec'
|
238
238
|
end
|
239
|
-
|
240
|
-
FileUtils.touch 'c.gemspec'
|
241
|
-
|
242
|
-
system @git, 'add', 'c.gemspec'
|
243
|
-
system @git, 'commit', '--quiet', '-m', 'add c.gemspec'
|
244
239
|
end
|
245
240
|
|
246
241
|
specs = nil
|
@@ -15,21 +15,21 @@ class TestGemSourceInstalled < Gem::TestCase
|
|
15
15
|
git = Gem::Source::Git.new 'a', 'a', 'master'
|
16
16
|
vendor = Gem::Source::Vendor.new 'a'
|
17
17
|
|
18
|
-
assert_equal(
|
18
|
+
assert_equal(0, installed.<=>(installed), 'installed <=> installed')
|
19
19
|
|
20
20
|
assert_equal(-1, remote. <=>(installed), 'remote <=> installed')
|
21
|
-
assert_equal(
|
21
|
+
assert_equal(1, installed.<=>(remote), 'installed <=> remote')
|
22
22
|
|
23
|
-
assert_equal(
|
23
|
+
assert_equal(1, installed.<=>(local), 'installed <=> local')
|
24
24
|
assert_equal(-1, local. <=>(installed), 'local <=> installed')
|
25
25
|
|
26
26
|
assert_equal(-1, specific. <=>(installed), 'specific <=> installed')
|
27
|
-
assert_equal(
|
27
|
+
assert_equal(1, installed.<=>(specific), 'installed <=> specific')
|
28
28
|
|
29
|
-
assert_equal(
|
29
|
+
assert_equal(1, git. <=>(installed), 'git <=> installed')
|
30
30
|
assert_equal(-1, installed.<=>(git), 'installed <=> git')
|
31
31
|
|
32
|
-
assert_equal(
|
32
|
+
assert_equal(1, vendor. <=>(installed), 'vendor <=> installed')
|
33
33
|
assert_equal(-1, installed.<=>(vendor), 'installed <=> vendor')
|
34
34
|
end
|
35
35
|
|
@@ -5,6 +5,7 @@ require 'rubygems/source'
|
|
5
5
|
require 'fileutils'
|
6
6
|
|
7
7
|
class TestGemSourceLocal < Gem::TestCase
|
8
|
+
|
8
9
|
def setup
|
9
10
|
super
|
10
11
|
|
@@ -92,16 +93,16 @@ class TestGemSourceLocal < Gem::TestCase
|
|
92
93
|
installed = Gem::Source::Installed.new
|
93
94
|
local = Gem::Source::Local.new
|
94
95
|
|
95
|
-
assert_equal(
|
96
|
+
assert_equal(0, local. <=>(local), 'local <=> local')
|
96
97
|
|
97
98
|
assert_equal(-1, remote. <=>(local), 'remote <=> local')
|
98
|
-
assert_equal(
|
99
|
+
assert_equal(1, local. <=>(remote), 'local <=> remote')
|
99
100
|
|
100
|
-
assert_equal(
|
101
|
+
assert_equal(1, installed.<=>(local), 'installed <=> local')
|
101
102
|
assert_equal(-1, local. <=>(installed), 'local <=> installed')
|
102
103
|
|
103
104
|
assert_equal(-1, specific. <=>(local), 'specific <=> local')
|
104
|
-
assert_equal(
|
105
|
+
assert_equal(1, local. <=>(specific), 'local <=> specific')
|
105
106
|
end
|
106
107
|
|
107
108
|
end
|
@@ -40,25 +40,25 @@ class TestGemSourceLock < Gem::TestCase
|
|
40
40
|
vendor = Gem::Source::Vendor.new 'vendor/a'
|
41
41
|
v_lock = Gem::Source::Lock.new vendor
|
42
42
|
|
43
|
-
assert_equal(
|
44
|
-
assert_equal(
|
45
|
-
assert_equal(
|
43
|
+
assert_equal(0, g_lock.<=>(g_lock), 'g_lock <=> g_lock')
|
44
|
+
assert_equal(0, i_lock.<=>(i_lock), 'i_lock <=> i_lock')
|
45
|
+
assert_equal(0, v_lock.<=>(v_lock), 'v_lock <=> v_lock')
|
46
46
|
|
47
|
-
assert_equal(
|
47
|
+
assert_equal(1, g_lock.<=>(i_lock), 'g_lock <=> i_lock')
|
48
48
|
assert_equal(-1, i_lock.<=>(g_lock), 'i_lock <=> g_lock')
|
49
49
|
|
50
50
|
assert_equal(-1, g_lock.<=>(v_lock), 'g_lock <=> v_lock')
|
51
|
-
assert_equal(
|
51
|
+
assert_equal(1, v_lock.<=>(g_lock), 'v_lock <=> g_lock')
|
52
52
|
|
53
53
|
assert_equal(-1, i_lock.<=>(v_lock), 'i_lock <=> v_lock')
|
54
|
-
assert_equal(
|
54
|
+
assert_equal(1, v_lock.<=>(i_lock), 'i_lock <=> v_lock')
|
55
55
|
end
|
56
56
|
|
57
57
|
def test_spaceship_git
|
58
58
|
git = Gem::Source::Git.new 'a', 'git/a', 'master', false
|
59
59
|
lock = Gem::Source::Lock.new git
|
60
60
|
|
61
|
-
assert_equal(
|
61
|
+
assert_equal(1, lock.<=>(git), 'lock <=> git')
|
62
62
|
assert_equal(-1, git .<=>(lock), 'git <=> lock')
|
63
63
|
end
|
64
64
|
|
@@ -66,7 +66,7 @@ class TestGemSourceLock < Gem::TestCase
|
|
66
66
|
installed = Gem::Source::Installed.new
|
67
67
|
lock = Gem::Source::Lock.new installed
|
68
68
|
|
69
|
-
assert_equal(
|
69
|
+
assert_equal(1, lock. <=>(installed), 'lock <=> installed')
|
70
70
|
assert_equal(-1, installed.<=>(lock), 'installed <=> lock')
|
71
71
|
end
|
72
72
|
|
@@ -74,7 +74,7 @@ class TestGemSourceLock < Gem::TestCase
|
|
74
74
|
local = Gem::Source::Local.new
|
75
75
|
lock = Gem::Source::Lock.new local # nonsense
|
76
76
|
|
77
|
-
assert_equal(
|
77
|
+
assert_equal(1, lock. <=>(local), 'lock <=> local')
|
78
78
|
assert_equal(-1, local.<=>(lock), 'local <=> lock')
|
79
79
|
end
|
80
80
|
|
@@ -82,7 +82,7 @@ class TestGemSourceLock < Gem::TestCase
|
|
82
82
|
remote = Gem::Source.new @gem_repo
|
83
83
|
lock = Gem::Source::Lock.new remote
|
84
84
|
|
85
|
-
assert_equal(
|
85
|
+
assert_equal(1, lock. <=>(remote), 'lock <=> remote')
|
86
86
|
assert_equal(-1, remote.<=>(lock), 'remote <=> lock')
|
87
87
|
end
|
88
88
|
|
@@ -92,7 +92,7 @@ class TestGemSourceLock < Gem::TestCase
|
|
92
92
|
specific = Gem::Source::SpecificFile.new gem
|
93
93
|
lock = Gem::Source::Lock.new specific # nonsense
|
94
94
|
|
95
|
-
assert_equal(
|
95
|
+
assert_equal(1, lock .<=>(specific), 'lock <=> specific')
|
96
96
|
assert_equal(-1, specific.<=>(lock), 'specific <=> lock')
|
97
97
|
end
|
98
98
|
|
@@ -100,7 +100,7 @@ class TestGemSourceLock < Gem::TestCase
|
|
100
100
|
vendor = Gem::Source::Vendor.new 'vendor/a'
|
101
101
|
lock = Gem::Source::Lock.new vendor
|
102
102
|
|
103
|
-
assert_equal(
|
103
|
+
assert_equal(1, lock. <=>(vendor), 'lock <=> vendor')
|
104
104
|
assert_equal(-1, vendor.<=>(lock), 'vendor <=> lock')
|
105
105
|
end
|
106
106
|
|
@@ -3,6 +3,7 @@ require 'rubygems/test_case'
|
|
3
3
|
require 'rubygems/source'
|
4
4
|
|
5
5
|
class TestGemSourceSpecificFile < Gem::TestCase
|
6
|
+
|
6
7
|
def setup
|
7
8
|
super
|
8
9
|
|
@@ -45,16 +46,16 @@ class TestGemSourceSpecificFile < Gem::TestCase
|
|
45
46
|
installed = Gem::Source::Installed.new
|
46
47
|
local = Gem::Source::Local.new
|
47
48
|
|
48
|
-
assert_equal(
|
49
|
+
assert_equal(0, specific. <=>(specific), 'specific <=> specific')
|
49
50
|
|
50
51
|
assert_equal(-1, remote. <=>(specific), 'remote <=> specific')
|
51
|
-
assert_equal(
|
52
|
+
assert_equal(1, specific. <=>(remote), 'specific <=> remote')
|
52
53
|
|
53
54
|
assert_equal(-1, specific. <=>(local), 'specific <=> local')
|
54
|
-
assert_equal(
|
55
|
+
assert_equal(1, local. <=>(specific), 'local <=> specific')
|
55
56
|
|
56
57
|
assert_equal(-1, specific. <=>(installed), 'specific <=> installed')
|
57
|
-
assert_equal(
|
58
|
+
assert_equal(1, installed.<=>(specific), 'installed <=> specific')
|
58
59
|
|
59
60
|
a2 = quick_gem 'a', '2'
|
60
61
|
util_build_gem a2
|
@@ -69,8 +70,8 @@ class TestGemSourceSpecificFile < Gem::TestCase
|
|
69
70
|
assert_nil a1_source.<=>(b1_source), 'a1_source <=> b1_source'
|
70
71
|
|
71
72
|
assert_equal(-1, a1_source.<=>(a2_source), 'a1_source <=> a2_source')
|
72
|
-
assert_equal(
|
73
|
-
assert_equal(
|
73
|
+
assert_equal(0, a1_source.<=>(a1_source), 'a1_source <=> a1_source')
|
74
|
+
assert_equal(1, a2_source.<=>(a1_source), 'a2_source <=> a1_source')
|
74
75
|
end
|
75
76
|
|
76
77
|
end
|
@@ -16,15 +16,15 @@ class TestGemSourceVendor < Gem::TestCase
|
|
16
16
|
git = Gem::Source::Git.new 'a', 'a', 'master'
|
17
17
|
installed = Gem::Source::Installed.new
|
18
18
|
|
19
|
-
assert_equal(
|
19
|
+
assert_equal(0, vendor. <=>(vendor), 'vendor <=> vendor')
|
20
20
|
|
21
|
-
assert_equal(
|
21
|
+
assert_equal(1, vendor. <=>(remote), 'vendor <=> remote')
|
22
22
|
assert_equal(-1, remote. <=>(vendor), 'remote <=> vendor')
|
23
23
|
|
24
|
-
assert_equal(
|
24
|
+
assert_equal(1, vendor. <=>(git), 'vendor <=> git')
|
25
25
|
assert_equal(-1, git. <=>(vendor), 'git <=> vendor')
|
26
26
|
|
27
|
-
assert_equal(
|
27
|
+
assert_equal(1, vendor. <=>(installed), 'vendor <=> installed')
|
28
28
|
assert_equal(-1, installed.<=>(vendor), 'installed <=> vendor')
|
29
29
|
end
|
30
30
|
|
@@ -6,6 +6,7 @@ require 'stringio'
|
|
6
6
|
require 'rubygems/ext'
|
7
7
|
require 'rubygems/specification'
|
8
8
|
require 'rubygems/installer'
|
9
|
+
require 'rubygems/platform'
|
9
10
|
|
10
11
|
class TestGemSpecification < Gem::TestCase
|
11
12
|
|
@@ -59,12 +60,13 @@ end
|
|
59
60
|
end
|
60
61
|
end
|
61
62
|
|
62
|
-
def ext_spec
|
63
|
+
def ext_spec(platform: Gem::Platform::RUBY)
|
63
64
|
@ext = util_spec 'ext', '1' do |s|
|
64
65
|
s.executable = 'exec'
|
65
66
|
s.test_file = 'test/suite.rb'
|
66
67
|
s.extensions = %w[ext/extconf.rb]
|
67
68
|
s.license = 'MIT'
|
69
|
+
s.platform = platform
|
68
70
|
|
69
71
|
s.mark_version
|
70
72
|
s.files = %w[lib/code.rb]
|
@@ -143,9 +145,9 @@ end
|
|
143
145
|
num_of_version_per_pkg = 3
|
144
146
|
packages = (0..num_of_pkg).map do |pkgi|
|
145
147
|
(0..num_of_version_per_pkg).map do |pkg_version|
|
146
|
-
deps = Hash[((pkgi + 1)..num_of_pkg).map
|
148
|
+
deps = Hash[((pkgi + 1)..num_of_pkg).map do |deppkgi|
|
147
149
|
["pkg#{deppkgi}", ">= 0"]
|
148
|
-
|
150
|
+
end]
|
149
151
|
util_spec "pkg#{pkgi}", pkg_version.to_s, deps
|
150
152
|
end
|
151
153
|
end
|
@@ -156,9 +158,9 @@ end
|
|
156
158
|
install_specs base
|
157
159
|
base.activate
|
158
160
|
|
159
|
-
tms = Benchmark.measure
|
161
|
+
tms = Benchmark.measure do
|
160
162
|
assert_raises(LoadError) { require 'no_such_file_foo' }
|
161
|
-
|
163
|
+
end
|
162
164
|
assert_operator tms.total, :<=, 10
|
163
165
|
end
|
164
166
|
end
|
@@ -384,7 +386,7 @@ end
|
|
384
386
|
# [B] ~> 1.0 (satisfied by 1.0)
|
385
387
|
|
386
388
|
def test_self_activate_checks_dependencies
|
387
|
-
a
|
389
|
+
a = util_spec 'a', '1.0'
|
388
390
|
a.add_dependency 'c', '= 1.0'
|
389
391
|
a.add_dependency 'b', '~> 1.0'
|
390
392
|
|
@@ -1127,7 +1129,7 @@ dependencies: []
|
|
1127
1129
|
Gem::Specification.class_variable_set(:@@stubs, nil)
|
1128
1130
|
|
1129
1131
|
dir_standard_specs = File.join Gem.dir, 'specifications'
|
1130
|
-
dir_default_specs = Gem
|
1132
|
+
dir_default_specs = Gem.default_specifications_dir
|
1131
1133
|
|
1132
1134
|
# Create gemspecs in three locations used in stubs
|
1133
1135
|
loaded_spec = Gem::Specification.new 'a', '3'
|
@@ -1147,7 +1149,7 @@ dependencies: []
|
|
1147
1149
|
Gem::Specification.class_variable_set(:@@stubs, nil)
|
1148
1150
|
|
1149
1151
|
dir_standard_specs = File.join Gem.dir, 'specifications'
|
1150
|
-
dir_default_specs = Gem
|
1152
|
+
dir_default_specs = Gem.default_specifications_dir
|
1151
1153
|
|
1152
1154
|
# Create gemspecs in three locations used in stubs
|
1153
1155
|
loaded_spec = Gem::Specification.new 'a', '3'
|
@@ -1439,6 +1441,7 @@ dependencies: []
|
|
1439
1441
|
end
|
1440
1442
|
|
1441
1443
|
def test_build_args
|
1444
|
+
skip "extensions don't quite work on jruby" if Gem.java_platform?
|
1442
1445
|
ext_spec
|
1443
1446
|
|
1444
1447
|
assert_empty @ext.build_args
|
@@ -1457,6 +1460,7 @@ dependencies: []
|
|
1457
1460
|
end
|
1458
1461
|
|
1459
1462
|
def test_build_extensions
|
1463
|
+
skip "extensions don't quite work on jruby" if Gem.java_platform?
|
1460
1464
|
ext_spec
|
1461
1465
|
|
1462
1466
|
refute_path_exists @ext.extension_dir, 'sanity check'
|
@@ -1492,6 +1496,7 @@ dependencies: []
|
|
1492
1496
|
end
|
1493
1497
|
|
1494
1498
|
def test_build_extensions_built
|
1499
|
+
skip "extensions don't quite work on jruby" if Gem.java_platform?
|
1495
1500
|
ext_spec
|
1496
1501
|
|
1497
1502
|
refute_empty @ext.extensions, 'sanity check'
|
@@ -1530,6 +1535,7 @@ dependencies: []
|
|
1530
1535
|
end
|
1531
1536
|
|
1532
1537
|
def test_build_extensions_error
|
1538
|
+
skip "extensions don't quite work on jruby" if Gem.java_platform?
|
1533
1539
|
ext_spec
|
1534
1540
|
|
1535
1541
|
refute_empty @ext.extensions, 'sanity check'
|
@@ -1543,6 +1549,7 @@ dependencies: []
|
|
1543
1549
|
skip 'chmod not supported' if Gem.win_platform?
|
1544
1550
|
skip 'skipped in root privilege' if Process.uid.zero?
|
1545
1551
|
|
1552
|
+
skip "extensions don't quite work on jruby" if Gem.java_platform?
|
1546
1553
|
ext_spec
|
1547
1554
|
|
1548
1555
|
refute_empty @ext.extensions, 'sanity check'
|
@@ -1567,7 +1574,7 @@ dependencies: []
|
|
1567
1574
|
@ext.build_extensions
|
1568
1575
|
refute_path_exists @ext.extension_dir
|
1569
1576
|
ensure
|
1570
|
-
unless ($DEBUG or win_platform? or Process.uid.zero?)
|
1577
|
+
unless ($DEBUG or win_platform? or Process.uid.zero? or Gem.java_platform?)
|
1571
1578
|
FileUtils.chmod 0755, File.join(@ext.base_dir, 'extensions')
|
1572
1579
|
FileUtils.chmod 0755, @ext.base_dir
|
1573
1580
|
end
|
@@ -1575,7 +1582,7 @@ dependencies: []
|
|
1575
1582
|
|
1576
1583
|
def test_build_extensions_no_extensions_dir_unwritable
|
1577
1584
|
skip 'chmod not supported' if Gem.win_platform?
|
1578
|
-
|
1585
|
+
skip "extensions don't quite work on jruby" if Gem.java_platform?
|
1579
1586
|
ext_spec
|
1580
1587
|
|
1581
1588
|
refute_empty @ext.extensions, 'sanity check'
|
@@ -1614,6 +1621,7 @@ dependencies: []
|
|
1614
1621
|
end
|
1615
1622
|
|
1616
1623
|
def test_build_extensions_old
|
1624
|
+
skip "extensions don't quite work on jruby" if Gem.java_platform?
|
1617
1625
|
ext_spec
|
1618
1626
|
|
1619
1627
|
refute_empty @ext.extensions, 'sanity check'
|
@@ -1627,6 +1635,7 @@ dependencies: []
|
|
1627
1635
|
end
|
1628
1636
|
|
1629
1637
|
def test_build_extensions_preview
|
1638
|
+
skip "extensions don't quite work on jruby" if Gem.java_platform?
|
1630
1639
|
ext_spec
|
1631
1640
|
|
1632
1641
|
extconf_rb = File.join @ext.gem_dir, @ext.extensions.first
|
@@ -1661,6 +1670,7 @@ dependencies: []
|
|
1661
1670
|
end
|
1662
1671
|
|
1663
1672
|
def test_contains_requirable_file_eh_extension
|
1673
|
+
skip "extensions don't quite work on jruby" if Gem.java_platform?
|
1664
1674
|
ext_spec
|
1665
1675
|
|
1666
1676
|
_, err = capture_io do
|
@@ -1673,8 +1683,20 @@ dependencies: []
|
|
1673
1683
|
assert_equal expected, err
|
1674
1684
|
end
|
1675
1685
|
|
1686
|
+
def test_contains_requirable_file_eh_extension_java_platform
|
1687
|
+
ext_spec(platform: Gem::Platform.new("java"))
|
1688
|
+
|
1689
|
+
_, err = capture_io do
|
1690
|
+
refute @ext.contains_requirable_file? 'nonexistent'
|
1691
|
+
end
|
1692
|
+
|
1693
|
+
assert_empty err
|
1694
|
+
end
|
1695
|
+
|
1676
1696
|
def test_date
|
1677
|
-
|
1697
|
+
today = Gem::Specification::TODAY
|
1698
|
+
tomorrow = today + 86401 # +1 for leap second
|
1699
|
+
assert_operator (today..tomorrow), :cover?, @a1.date
|
1678
1700
|
end
|
1679
1701
|
|
1680
1702
|
def test_date_equals_date
|
@@ -1823,6 +1845,7 @@ dependencies: []
|
|
1823
1845
|
RbConfig::CONFIG['ENABLE_SHARED'], 'no'
|
1824
1846
|
|
1825
1847
|
class << Gem
|
1848
|
+
|
1826
1849
|
alias orig_default_ext_dir_for default_ext_dir_for
|
1827
1850
|
|
1828
1851
|
remove_method :default_ext_dir_for
|
@@ -1830,6 +1853,7 @@ dependencies: []
|
|
1830
1853
|
def Gem.default_ext_dir_for(base_dir)
|
1831
1854
|
'elsewhere'
|
1832
1855
|
end
|
1856
|
+
|
1833
1857
|
end
|
1834
1858
|
|
1835
1859
|
ext_spec
|
@@ -1843,9 +1867,11 @@ dependencies: []
|
|
1843
1867
|
RbConfig::CONFIG['ENABLE_SHARED'] = enable_shared
|
1844
1868
|
|
1845
1869
|
class << Gem
|
1870
|
+
|
1846
1871
|
remove_method :default_ext_dir_for
|
1847
1872
|
|
1848
1873
|
alias default_ext_dir_for orig_default_ext_dir_for
|
1874
|
+
|
1849
1875
|
end
|
1850
1876
|
end
|
1851
1877
|
|
@@ -2028,7 +2054,7 @@ dependencies: []
|
|
2028
2054
|
|
2029
2055
|
def test_base_dir_default
|
2030
2056
|
default_dir =
|
2031
|
-
File.join Gem
|
2057
|
+
File.join Gem.default_specifications_dir, @a1.spec_name
|
2032
2058
|
|
2033
2059
|
@a1.instance_variable_set :@loaded_from, default_dir
|
2034
2060
|
|
@@ -2135,9 +2161,11 @@ dependencies: []
|
|
2135
2161
|
|
2136
2162
|
def test_require_paths_default_ext_dir_for
|
2137
2163
|
class << Gem
|
2164
|
+
|
2138
2165
|
send :alias_method, :orig_default_ext_dir_for, :default_ext_dir_for
|
2139
2166
|
|
2140
2167
|
remove_method :default_ext_dir_for
|
2168
|
+
|
2141
2169
|
end
|
2142
2170
|
|
2143
2171
|
def Gem.default_ext_dir_for(base_dir)
|
@@ -2153,9 +2181,11 @@ dependencies: []
|
|
2153
2181
|
end
|
2154
2182
|
ensure
|
2155
2183
|
class << Gem
|
2184
|
+
|
2156
2185
|
send :remove_method, :default_ext_dir_for
|
2157
2186
|
send :alias_method, :default_ext_dir_for, :orig_default_ext_dir_for
|
2158
2187
|
send :remove_method, :orig_default_ext_dir_for
|
2188
|
+
|
2159
2189
|
end
|
2160
2190
|
end
|
2161
2191
|
|
@@ -2316,8 +2346,8 @@ dependencies: []
|
|
2316
2346
|
s2 = util_spec 'b', '1'
|
2317
2347
|
|
2318
2348
|
assert_equal(-1, (s1 <=> s2))
|
2319
|
-
assert_equal(
|
2320
|
-
assert_equal(
|
2349
|
+
assert_equal(0, (s1 <=> s1))
|
2350
|
+
assert_equal(1, (s2 <=> s1))
|
2321
2351
|
end
|
2322
2352
|
|
2323
2353
|
def test_spaceship_platform
|
@@ -2326,18 +2356,18 @@ dependencies: []
|
|
2326
2356
|
s.platform = Gem::Platform.new 'x86-my_platform1'
|
2327
2357
|
end
|
2328
2358
|
|
2329
|
-
assert_equal(
|
2330
|
-
assert_equal(
|
2331
|
-
assert_equal(
|
2359
|
+
assert_equal(-1, (s1 <=> s2))
|
2360
|
+
assert_equal(0, (s1 <=> s1))
|
2361
|
+
assert_equal(1, (s2 <=> s1))
|
2332
2362
|
end
|
2333
2363
|
|
2334
2364
|
def test_spaceship_version
|
2335
2365
|
s1 = util_spec 'a', '1'
|
2336
2366
|
s2 = util_spec 'a', '2'
|
2337
2367
|
|
2338
|
-
assert_equal(
|
2339
|
-
assert_equal(
|
2340
|
-
assert_equal(
|
2368
|
+
assert_equal(-1, (s1 <=> s2))
|
2369
|
+
assert_equal(0, (s1 <=> s1))
|
2370
|
+
assert_equal(1, (s2 <=> s1))
|
2341
2371
|
end
|
2342
2372
|
|
2343
2373
|
def test_spec_file
|
@@ -2400,12 +2430,10 @@ Gem::Specification.new do |s|
|
|
2400
2430
|
|
2401
2431
|
if s.respond_to? :specification_version then
|
2402
2432
|
s.specification_version = #{Gem::Specification::CURRENT_SPECIFICATION_VERSION}
|
2433
|
+
end
|
2403
2434
|
|
2404
|
-
|
2405
|
-
|
2406
|
-
else
|
2407
|
-
s.add_dependency(%q<b>.freeze, [\"= 1\"])
|
2408
|
-
end
|
2435
|
+
if s.respond_to? :add_runtime_dependency then
|
2436
|
+
s.add_runtime_dependency(%q<b>.freeze, [\"= 1\"])
|
2409
2437
|
else
|
2410
2438
|
s.add_dependency(%q<b>.freeze, [\"= 1\"])
|
2411
2439
|
end
|
@@ -2440,7 +2468,7 @@ Gem::Specification.new do |s|
|
|
2440
2468
|
s.email = "example@example.com".freeze
|
2441
2469
|
s.files = ["lib/code.rb".freeze]
|
2442
2470
|
s.homepage = "http://example.com".freeze
|
2443
|
-
s.rubygems_version = "
|
2471
|
+
s.rubygems_version = "3.1.0.pre1".freeze
|
2444
2472
|
s.summary = "this is a summary".freeze
|
2445
2473
|
end
|
2446
2474
|
SPEC
|
@@ -2479,12 +2507,10 @@ Gem::Specification.new do |s|
|
|
2479
2507
|
|
2480
2508
|
if s.respond_to? :specification_version then
|
2481
2509
|
s.specification_version = #{Gem::Specification::CURRENT_SPECIFICATION_VERSION}
|
2510
|
+
end
|
2482
2511
|
|
2483
|
-
|
2484
|
-
|
2485
|
-
else
|
2486
|
-
s.add_dependency(%q<b>.freeze, [\"= 1\"])
|
2487
|
-
end
|
2512
|
+
if s.respond_to? :add_runtime_dependency then
|
2513
|
+
s.add_runtime_dependency(%q<b>.freeze, [\"= 1\"])
|
2488
2514
|
else
|
2489
2515
|
s.add_dependency(%q<b>.freeze, [\"= 1\"])
|
2490
2516
|
end
|
@@ -2540,16 +2566,12 @@ Gem::Specification.new do |s|
|
|
2540
2566
|
|
2541
2567
|
if s.respond_to? :specification_version then
|
2542
2568
|
s.specification_version = 4
|
2569
|
+
end
|
2543
2570
|
|
2544
|
-
|
2545
|
-
|
2546
|
-
|
2547
|
-
|
2548
|
-
else
|
2549
|
-
s.add_dependency(%q<rake>.freeze, [\"> 0.4\"])
|
2550
|
-
s.add_dependency(%q<jabber4r>.freeze, [\"> 0.0.0\"])
|
2551
|
-
s.add_dependency(%q<pqa>.freeze, [\"> 0.4\", \"<= 0.6\"])
|
2552
|
-
end
|
2571
|
+
if s.respond_to? :add_runtime_dependency then
|
2572
|
+
s.add_runtime_dependency(%q<rake>.freeze, [\"> 0.4\"])
|
2573
|
+
s.add_runtime_dependency(%q<jabber4r>.freeze, [\"> 0.0.0\"])
|
2574
|
+
s.add_runtime_dependency(%q<pqa>.freeze, [\"> 0.4\", \"<= 0.6\"])
|
2553
2575
|
else
|
2554
2576
|
s.add_dependency(%q<rake>.freeze, [\"> 0.4\"])
|
2555
2577
|
s.add_dependency(%q<jabber4r>.freeze, [\"> 0.0.0\"])
|
@@ -2565,6 +2587,14 @@ end
|
|
2565
2587
|
assert_equal @c1, same_spec
|
2566
2588
|
end
|
2567
2589
|
|
2590
|
+
def test_to_ruby_keeps_requirements_as_originally_specified
|
2591
|
+
spec = util_spec 'a', '1' do |s|
|
2592
|
+
s.add_dependency 'b', ['~> 1.0', '>= 1.0.0']
|
2593
|
+
end
|
2594
|
+
|
2595
|
+
assert_includes spec.to_ruby, '"~> 1.0", ">= 1.0.0"'
|
2596
|
+
end
|
2597
|
+
|
2568
2598
|
def test_to_ruby_legacy
|
2569
2599
|
gemspec1 = Gem::Deprecate.skip_during do
|
2570
2600
|
eval LEGACY_RUBY_SPEC
|
@@ -2899,7 +2929,7 @@ duplicate dependency on c (>= 1.2.3, development), (~> 1.2) use:
|
|
2899
2929
|
util_setup_validate
|
2900
2930
|
|
2901
2931
|
FileUtils.mkdir_p File.join(@tempdir, 'bin')
|
2902
|
-
File.
|
2932
|
+
File.write File.join(@tempdir, 'bin', 'exec'), ''
|
2903
2933
|
FileUtils.mkdir_p File.join(@tempdir, 'exec')
|
2904
2934
|
|
2905
2935
|
use_ui @ui do
|
@@ -2965,7 +2995,7 @@ duplicate dependency on c (>= 1.2.3, development), (~> 1.2) use:
|
|
2965
2995
|
end
|
2966
2996
|
|
2967
2997
|
expected = <<-EXPECTED
|
2968
|
-
WARN: Unresolved or
|
2998
|
+
WARN: Unresolved or ambiguous specs during Gem::Specification.reset:
|
2969
2999
|
x (= 1)
|
2970
3000
|
WARN: Clearing out unresolved specs. Try 'gem cleanup <gem>'
|
2971
3001
|
Please report a bug if this causes problems.
|
@@ -2993,7 +3023,7 @@ Please report a bug if this causes problems.
|
|
2993
3023
|
end
|
2994
3024
|
|
2995
3025
|
expected = <<-EXPECTED
|
2996
|
-
WARN: Unresolved or
|
3026
|
+
WARN: Unresolved or ambiguous specs during Gem::Specification.reset:
|
2997
3027
|
x (= 1)
|
2998
3028
|
Available/installed versions of this gem:
|
2999
3029
|
- 1
|
@@ -3624,6 +3654,7 @@ end
|
|
3624
3654
|
end
|
3625
3655
|
|
3626
3656
|
def test_missing_extensions_eh
|
3657
|
+
skip "extensions don't quite work on jruby" if Gem.java_platform?
|
3627
3658
|
ext_spec
|
3628
3659
|
|
3629
3660
|
assert @ext.missing_extensions?
|
@@ -3840,4 +3871,5 @@ end
|
|
3840
3871
|
ensure
|
3841
3872
|
$VERBOSE = old_verbose
|
3842
3873
|
end
|
3874
|
+
|
3843
3875
|
end
|