rubygems-update 3.0.3 → 3.4.7
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/CHANGELOG.md +5556 -0
- data/CODE_OF_CONDUCT.md +62 -24
- data/CONTRIBUTING.md +111 -21
- data/MAINTAINERS.txt +1 -6
- data/Manifest.txt +209 -101
- data/POLICIES.md +65 -22
- data/README.md +23 -15
- data/UPGRADING.md +5 -81
- data/bin/gem +2 -16
- data/bin/update_rubygems +5 -5
- data/bundler/CHANGELOG.md +2619 -1256
- data/bundler/LICENSE.md +18 -19
- data/bundler/README.md +11 -12
- data/bundler/UPGRADING.md +222 -0
- data/bundler/bundler.gemspec +13 -33
- data/bundler/exe/bundle +26 -11
- data/bundler/exe/bundler +1 -1
- data/bundler/lib/bundler/.document +1 -0
- data/bundler/lib/bundler/build_metadata.rb +5 -13
- data/bundler/lib/bundler/capistrano.rb +4 -4
- data/bundler/lib/bundler/cli/add.rb +28 -16
- data/bundler/lib/bundler/cli/binstubs.rb +11 -3
- data/bundler/lib/bundler/cli/cache.rb +24 -17
- data/bundler/lib/bundler/cli/check.rb +5 -3
- data/bundler/lib/bundler/cli/clean.rb +1 -1
- data/bundler/lib/bundler/cli/common.rb +41 -13
- data/bundler/lib/bundler/cli/config.rb +170 -86
- data/bundler/lib/bundler/cli/console.rb +3 -3
- data/bundler/lib/bundler/cli/doctor.rb +27 -10
- data/bundler/lib/bundler/cli/exec.rb +8 -25
- data/bundler/lib/bundler/cli/fund.rb +36 -0
- data/bundler/lib/bundler/cli/gem.rb +261 -48
- data/bundler/lib/bundler/cli/info.rb +52 -8
- data/bundler/lib/bundler/cli/init.rb +7 -3
- data/bundler/lib/bundler/cli/inject.rb +1 -1
- data/bundler/lib/bundler/cli/install.rb +38 -66
- data/bundler/lib/bundler/cli/issue.rb +8 -7
- data/bundler/lib/bundler/cli/list.rb +19 -11
- data/bundler/lib/bundler/cli/lock.rb +11 -4
- data/bundler/lib/bundler/cli/open.rb +14 -9
- data/bundler/lib/bundler/cli/outdated.rb +152 -121
- data/bundler/lib/bundler/cli/platform.rb +2 -2
- data/bundler/lib/bundler/cli/plugin.rb +19 -2
- data/bundler/lib/bundler/cli/pristine.rb +6 -1
- data/bundler/lib/bundler/cli/remove.rb +1 -2
- data/bundler/lib/bundler/cli/show.rb +3 -3
- data/bundler/lib/bundler/cli/update.rb +49 -18
- data/bundler/lib/bundler/cli/viz.rb +1 -1
- data/bundler/lib/bundler/cli.rb +269 -165
- data/bundler/lib/bundler/compact_index_client/cache.rb +7 -24
- data/bundler/lib/bundler/compact_index_client/gem_parser.rb +28 -0
- data/bundler/lib/bundler/compact_index_client/updater.rb +58 -57
- data/bundler/lib/bundler/compact_index_client.rb +28 -18
- data/bundler/lib/bundler/constants.rb +1 -1
- data/bundler/lib/bundler/current_ruby.rb +26 -11
- data/bundler/lib/bundler/definition.rb +359 -441
- data/bundler/lib/bundler/dependency.rb +29 -71
- data/bundler/lib/bundler/deployment.rb +1 -1
- data/bundler/lib/bundler/digest.rb +71 -0
- data/bundler/lib/bundler/dsl.rb +84 -116
- data/bundler/lib/bundler/endpoint_specification.rb +20 -14
- data/bundler/lib/bundler/env.rb +10 -15
- data/bundler/lib/bundler/environment_preserver.rb +30 -3
- data/bundler/lib/bundler/errors.rb +31 -14
- data/bundler/lib/bundler/feature_flag.rb +13 -33
- data/bundler/lib/bundler/fetcher/base.rb +7 -9
- data/bundler/lib/bundler/fetcher/compact_index.rb +46 -39
- data/bundler/lib/bundler/fetcher/dependency.rb +2 -2
- data/bundler/lib/bundler/fetcher/downloader.rb +15 -12
- data/bundler/lib/bundler/fetcher/index.rb +4 -30
- data/bundler/lib/bundler/fetcher.rb +39 -41
- data/bundler/lib/bundler/force_platform.rb +18 -0
- data/bundler/lib/bundler/friendly_errors.rb +49 -54
- data/bundler/lib/bundler/gem_helper.rb +79 -43
- data/bundler/lib/bundler/gem_helpers.rb +44 -28
- data/bundler/lib/bundler/gem_tasks.rb +1 -1
- data/bundler/lib/bundler/gem_version_promoter.rb +54 -99
- data/bundler/lib/bundler/graph.rb +5 -5
- data/bundler/lib/bundler/index.rb +14 -52
- data/bundler/lib/bundler/injector.rb +50 -16
- data/bundler/lib/bundler/inline.rb +28 -29
- data/bundler/lib/bundler/installer/gem_installer.rb +22 -23
- data/bundler/lib/bundler/installer/parallel_installer.rb +51 -51
- data/bundler/lib/bundler/installer/standalone.rb +62 -12
- data/bundler/lib/bundler/installer.rb +46 -97
- data/bundler/lib/bundler/lazy_specification.rb +88 -48
- data/bundler/lib/bundler/lockfile_generator.rb +3 -3
- data/bundler/lib/bundler/lockfile_parser.rb +30 -62
- data/bundler/{man → lib/bundler/man}/bundle-add.1 +29 -5
- data/bundler/{man/bundle-add.ronn → lib/bundler/man/bundle-add.1.ronn} +22 -4
- data/bundler/{man → lib/bundler/man}/bundle-binstubs.1 +6 -4
- data/bundler/{man/bundle-binstubs.ronn → lib/bundler/man/bundle-binstubs.1.ronn} +3 -5
- data/bundler/lib/bundler/man/bundle-cache.1 +61 -0
- data/bundler/{man/bundle-package.ronn → lib/bundler/man/bundle-cache.1.ronn} +22 -15
- data/bundler/{man → lib/bundler/man}/bundle-check.1 +1 -1
- data/bundler/{man → lib/bundler/man}/bundle-clean.1 +2 -2
- data/bundler/{man/bundle-clean.ronn → lib/bundler/man/bundle-clean.1.ronn} +1 -1
- data/bundler/{man → lib/bundler/man}/bundle-config.1 +78 -60
- data/bundler/{man/bundle-config.ronn → lib/bundler/man/bundle-config.1.ronn} +96 -85
- data/bundler/lib/bundler/man/bundle-console.1 +53 -0
- data/bundler/lib/bundler/man/bundle-console.1.ronn +44 -0
- data/bundler/{man → lib/bundler/man}/bundle-doctor.1 +1 -1
- data/bundler/{man → lib/bundler/man}/bundle-exec.1 +6 -6
- data/bundler/{man/bundle-exec.ronn → lib/bundler/man/bundle-exec.1.ronn} +6 -6
- data/bundler/lib/bundler/man/bundle-gem.1 +105 -0
- data/bundler/lib/bundler/man/bundle-gem.1.ronn +117 -0
- data/bundler/lib/bundler/man/bundle-help.1 +13 -0
- data/bundler/lib/bundler/man/bundle-help.1.ronn +12 -0
- data/bundler/{man → lib/bundler/man}/bundle-info.1 +1 -1
- data/bundler/{man → lib/bundler/man}/bundle-init.1 +6 -2
- data/bundler/{man/bundle-init.ronn → lib/bundler/man/bundle-init.1.ronn} +3 -1
- data/bundler/{man → lib/bundler/man}/bundle-inject.1 +5 -2
- data/bundler/{man/bundle-inject.ronn → lib/bundler/man/bundle-inject.1.ronn} +3 -1
- data/bundler/{man → lib/bundler/man}/bundle-install.1 +42 -37
- data/bundler/{man/bundle-install.ronn → lib/bundler/man/bundle-install.1.ronn} +42 -38
- data/bundler/{man → lib/bundler/man}/bundle-list.1 +7 -7
- data/bundler/{man/bundle-list.ronn → lib/bundler/man/bundle-list.1.ronn} +6 -6
- data/bundler/{man → lib/bundler/man}/bundle-lock.1 +1 -1
- data/bundler/{man → lib/bundler/man}/bundle-open.1 +22 -2
- data/bundler/{man/bundle-open.ronn → lib/bundler/man/bundle-open.1.ronn} +9 -1
- data/bundler/{man → lib/bundler/man}/bundle-outdated.1 +3 -10
- data/bundler/{man/bundle-outdated.ronn → lib/bundler/man/bundle-outdated.1.ronn} +1 -10
- data/bundler/{man → lib/bundler/man}/bundle-platform.1 +16 -6
- data/bundler/{man/bundle-platform.ronn → lib/bundler/man/bundle-platform.1.ronn} +14 -7
- data/bundler/lib/bundler/man/bundle-plugin.1 +81 -0
- data/bundler/lib/bundler/man/bundle-plugin.1.ronn +59 -0
- data/bundler/{man → lib/bundler/man}/bundle-pristine.1 +1 -1
- data/bundler/{man → lib/bundler/man}/bundle-remove.1 +1 -1
- data/bundler/{man → lib/bundler/man}/bundle-show.1 +1 -1
- data/bundler/{man → lib/bundler/man}/bundle-update.1 +8 -8
- data/bundler/{man/bundle-update.ronn → lib/bundler/man/bundle-update.1.ronn} +8 -7
- data/bundler/lib/bundler/man/bundle-version.1 +35 -0
- data/bundler/lib/bundler/man/bundle-version.1.ronn +24 -0
- data/bundler/{man → lib/bundler/man}/bundle-viz.1 +4 -1
- data/bundler/{man/bundle-viz.ronn → lib/bundler/man/bundle-viz.1.ronn} +2 -0
- data/bundler/{man → lib/bundler/man}/bundle.1 +17 -12
- data/bundler/{man/bundle.ronn → lib/bundler/man/bundle.1.ronn} +14 -9
- data/bundler/lib/bundler/man/gemfile.5 +723 -0
- data/bundler/{man → lib/bundler/man}/gemfile.5.ronn +112 -95
- data/bundler/lib/bundler/man/index.txt +29 -0
- data/bundler/lib/bundler/match_metadata.rb +13 -0
- data/bundler/lib/bundler/match_platform.rb +1 -2
- data/bundler/lib/bundler/match_remote_metadata.rb +29 -0
- data/bundler/lib/bundler/mirror.rb +10 -12
- data/bundler/lib/bundler/plugin/api/source.rb +29 -15
- data/bundler/lib/bundler/plugin/api.rb +1 -1
- data/bundler/lib/bundler/plugin/dsl.rb +1 -1
- data/bundler/lib/bundler/plugin/index.rb +31 -8
- data/bundler/lib/bundler/plugin/installer/git.rb +0 -4
- data/bundler/lib/bundler/plugin/installer/rubygems.rb +1 -9
- data/bundler/lib/bundler/plugin/installer.rb +35 -22
- data/bundler/lib/bundler/plugin/source_list.rb +5 -1
- data/bundler/lib/bundler/plugin.rb +102 -42
- data/bundler/lib/bundler/process_lock.rb +1 -1
- data/bundler/lib/bundler/remote_specification.rb +15 -8
- data/bundler/lib/bundler/resolver/base.rb +77 -0
- data/bundler/lib/bundler/resolver/candidate.rb +94 -0
- data/bundler/lib/bundler/resolver/incompatibility.rb +15 -0
- data/bundler/lib/bundler/resolver/package.rb +72 -0
- data/bundler/lib/bundler/resolver/root.rb +25 -0
- data/bundler/lib/bundler/resolver/spec_group.rb +49 -73
- data/bundler/lib/bundler/resolver.rb +343 -300
- data/bundler/lib/bundler/retry.rb +4 -4
- data/bundler/lib/bundler/ruby_dsl.rb +1 -1
- data/bundler/lib/bundler/ruby_version.rb +9 -37
- data/bundler/lib/bundler/rubygems_ext.rb +235 -92
- data/bundler/lib/bundler/rubygems_gem_installer.rb +87 -21
- data/bundler/lib/bundler/rubygems_integration.rb +179 -515
- data/bundler/lib/bundler/runtime.rb +25 -40
- data/bundler/lib/bundler/self_manager.rb +168 -0
- data/bundler/lib/bundler/settings.rb +162 -118
- data/bundler/lib/bundler/setup.rb +11 -12
- data/bundler/lib/bundler/shared_helpers.rb +61 -102
- data/bundler/lib/bundler/similarity_detector.rb +3 -3
- data/bundler/lib/bundler/source/git/git_proxy.rb +257 -128
- data/bundler/lib/bundler/source/git.rb +84 -61
- data/bundler/lib/bundler/source/metadata.rb +9 -9
- data/bundler/lib/bundler/source/path/installer.rb +11 -32
- data/bundler/lib/bundler/source/path.rb +28 -17
- data/bundler/lib/bundler/source/rubygems/remote.rb +3 -4
- data/bundler/lib/bundler/source/rubygems.rb +171 -197
- data/bundler/lib/bundler/source/rubygems_aggregate.rb +68 -0
- data/bundler/lib/bundler/source.rb +30 -10
- data/bundler/lib/bundler/source_list.rb +112 -67
- data/bundler/lib/bundler/source_map.rb +71 -0
- data/bundler/lib/bundler/spec_set.rb +86 -72
- data/bundler/lib/bundler/stub_specification.rb +45 -37
- data/bundler/lib/bundler/templates/Executable +3 -5
- data/bundler/lib/bundler/templates/Executable.bundler +21 -17
- data/bundler/lib/bundler/templates/Executable.standalone +4 -4
- data/bundler/lib/bundler/templates/Gemfile +0 -2
- data/bundler/lib/bundler/templates/newgem/CHANGELOG.md.tt +5 -0
- data/bundler/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt +57 -47
- data/bundler/lib/bundler/templates/newgem/Cargo.toml.tt +7 -0
- data/bundler/lib/bundler/templates/newgem/Gemfile.tt +22 -2
- data/bundler/lib/bundler/templates/newgem/README.md.tt +13 -15
- data/bundler/lib/bundler/templates/newgem/Rakefile.tt +33 -5
- data/bundler/lib/bundler/templates/newgem/bin/console.tt +1 -0
- data/bundler/lib/bundler/templates/newgem/circleci/config.yml.tt +25 -0
- data/bundler/lib/bundler/templates/newgem/ext/newgem/Cargo.toml.tt +15 -0
- data/bundler/lib/bundler/templates/newgem/ext/newgem/{extconf.rb.tt → extconf-c.rb.tt} +2 -0
- data/bundler/lib/bundler/templates/newgem/ext/newgem/extconf-rust.rb.tt +6 -0
- data/bundler/lib/bundler/templates/newgem/ext/newgem/src/lib.rs.tt +12 -0
- data/bundler/lib/bundler/templates/newgem/github/workflows/main.yml.tt +37 -0
- data/bundler/lib/bundler/templates/newgem/gitignore.tt +3 -0
- data/bundler/lib/bundler/templates/newgem/gitlab-ci.yml.tt +18 -0
- data/bundler/lib/bundler/templates/newgem/lib/newgem/version.rb.tt +2 -0
- data/bundler/lib/bundler/templates/newgem/lib/newgem.rb.tt +4 -2
- data/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt +36 -41
- data/bundler/lib/bundler/templates/newgem/rubocop.yml.tt +13 -0
- data/bundler/lib/bundler/templates/newgem/sig/newgem.rbs.tt +8 -0
- data/bundler/lib/bundler/templates/newgem/spec/newgem_spec.rb.tt +2 -0
- data/bundler/lib/bundler/templates/newgem/spec/spec_helper.rb.tt +2 -1
- data/bundler/lib/bundler/templates/newgem/standard.yml.tt +3 -0
- data/bundler/lib/bundler/templates/newgem/test/minitest/test_helper.rb.tt +6 -0
- data/bundler/lib/bundler/templates/newgem/test/{newgem_test.rb.tt → minitest/test_newgem.rb.tt} +3 -1
- data/bundler/lib/bundler/templates/newgem/test/test-unit/newgem_test.rb.tt +15 -0
- data/bundler/lib/bundler/templates/newgem/test/test-unit/test_helper.rb.tt +6 -0
- data/bundler/lib/bundler/ui/rg_proxy.rb +1 -1
- data/bundler/lib/bundler/ui/shell.rb +39 -20
- data/bundler/lib/bundler/ui/silent.rb +21 -5
- data/bundler/lib/bundler/ui.rb +3 -3
- data/bundler/lib/bundler/uri_credentials_filter.rb +10 -4
- data/bundler/lib/bundler/vendor/.document +1 -0
- data/bundler/lib/bundler/vendor/connection_pool/LICENSE +20 -0
- data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.rb +174 -0
- data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/version.rb +3 -0
- data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/wrapper.rb +56 -0
- data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool.rb +128 -0
- data/bundler/lib/bundler/vendor/fileutils/LICENSE.txt +22 -0
- data/bundler/lib/bundler/vendor/fileutils/lib/fileutils.rb +1493 -425
- data/bundler/lib/bundler/vendor/net-http-persistent/README.rdoc +82 -0
- 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/net-http-persistent/lib/net/http/persistent.rb +302 -462
- data/bundler/lib/bundler/vendor/pub_grub/LICENSE.txt +21 -0
- data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/assignment.rb +20 -0
- data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/basic_package_source.rb +189 -0
- data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/failure_writer.rb +182 -0
- data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/incompatibility.rb +155 -0
- data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/package.rb +43 -0
- data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/partial_solution.rb +121 -0
- data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/rubygems.rb +45 -0
- data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/solve_failure.rb +19 -0
- data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/static_package_source.rb +60 -0
- data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/term.rb +105 -0
- data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version.rb +3 -0
- data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_constraint.rb +129 -0
- data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_range.rb +411 -0
- data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_solver.rb +243 -0
- data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_union.rb +178 -0
- data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub.rb +31 -0
- data/bundler/lib/bundler/vendor/thor/LICENSE.md +20 -0
- 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 +3 -2
- data/bundler/lib/bundler/vendor/thor/lib/thor/actions/directory.rb +7 -17
- data/bundler/lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb +25 -14
- data/bundler/lib/bundler/vendor/thor/lib/thor/actions/inject_into_file.rb +20 -10
- data/bundler/lib/bundler/vendor/thor/lib/thor/actions.rb +34 -15
- data/bundler/lib/bundler/vendor/thor/lib/thor/base.rb +63 -43
- data/bundler/lib/bundler/vendor/thor/lib/thor/command.rb +21 -14
- data/bundler/lib/bundler/vendor/thor/lib/thor/core_ext/hash_with_indifferent_access.rb +6 -0
- data/bundler/lib/bundler/vendor/thor/lib/thor/error.rb +83 -0
- data/bundler/lib/bundler/vendor/thor/lib/thor/group.rb +3 -3
- data/bundler/lib/bundler/vendor/thor/lib/thor/invocation.rb +1 -0
- data/bundler/lib/bundler/vendor/thor/lib/thor/line_editor/basic.rb +1 -1
- data/bundler/lib/bundler/vendor/thor/lib/thor/line_editor/readline.rb +6 -6
- data/bundler/lib/bundler/vendor/thor/lib/thor/line_editor.rb +2 -2
- data/bundler/lib/bundler/vendor/thor/lib/thor/nested_context.rb +29 -0
- data/bundler/lib/bundler/vendor/thor/lib/thor/parser/arguments.rb +7 -3
- data/bundler/lib/bundler/vendor/thor/lib/thor/parser/option.rb +20 -7
- data/bundler/lib/bundler/vendor/thor/lib/thor/parser/options.rb +40 -6
- data/bundler/lib/bundler/vendor/thor/lib/thor/parser.rb +4 -4
- data/bundler/lib/bundler/vendor/thor/lib/thor/rake_compat.rb +1 -0
- data/bundler/lib/bundler/vendor/thor/lib/thor/runner.rb +15 -14
- data/bundler/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +88 -13
- data/bundler/lib/bundler/vendor/thor/lib/thor/shell/color.rb +10 -2
- data/bundler/lib/bundler/vendor/thor/lib/thor/shell/html.rb +3 -3
- data/bundler/lib/bundler/vendor/thor/lib/thor/shell.rb +5 -5
- data/bundler/lib/bundler/vendor/thor/lib/thor/util.rb +18 -2
- data/bundler/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
- data/bundler/lib/bundler/vendor/thor/lib/thor.rb +16 -9
- data/bundler/lib/bundler/vendor/tsort/LICENSE.txt +22 -0
- data/bundler/lib/bundler/vendor/tsort/lib/tsort.rb +452 -0
- data/bundler/lib/bundler/vendor/uri/LICENSE.txt +22 -0
- data/bundler/lib/bundler/vendor/uri/lib/uri/common.rb +729 -0
- data/bundler/lib/bundler/vendor/uri/lib/uri/file.rb +100 -0
- data/bundler/lib/bundler/vendor/uri/lib/uri/ftp.rb +267 -0
- data/bundler/lib/bundler/vendor/uri/lib/uri/generic.rb +1587 -0
- data/bundler/lib/bundler/vendor/uri/lib/uri/http.rb +125 -0
- data/bundler/lib/bundler/vendor/uri/lib/uri/https.rb +23 -0
- data/bundler/lib/bundler/vendor/uri/lib/uri/ldap.rb +261 -0
- data/bundler/lib/bundler/vendor/uri/lib/uri/ldaps.rb +22 -0
- data/bundler/lib/bundler/vendor/uri/lib/uri/mailto.rb +293 -0
- data/bundler/lib/bundler/vendor/uri/lib/uri/rfc2396_parser.rb +539 -0
- data/bundler/lib/bundler/vendor/uri/lib/uri/rfc3986_parser.rb +119 -0
- data/bundler/lib/bundler/vendor/uri/lib/uri/version.rb +6 -0
- data/bundler/lib/bundler/vendor/uri/lib/uri/ws.rb +83 -0
- data/bundler/lib/bundler/vendor/uri/lib/uri/wss.rb +23 -0
- data/bundler/lib/bundler/vendor/uri/lib/uri.rb +104 -0
- data/bundler/lib/bundler/vendored_fileutils.rb +1 -6
- data/bundler/lib/bundler/vendored_persistent.rb +2 -39
- data/bundler/lib/bundler/{vendored_molinillo.rb → vendored_pub_grub.rb} +1 -1
- data/bundler/lib/bundler/vendored_thor.rb +2 -2
- data/bundler/lib/bundler/vendored_tsort.rb +4 -0
- data/bundler/lib/bundler/vendored_uri.rb +4 -0
- data/bundler/lib/bundler/version.rb +5 -20
- data/bundler/lib/bundler/vlad.rb +2 -2
- data/bundler/lib/bundler/worker.rb +26 -15
- data/bundler/lib/bundler/yaml_serializer.rb +3 -4
- data/bundler/lib/bundler.rb +285 -183
- data/hide_lib_for_update/note.txt +0 -4
- data/lib/rubygems/available_set.rb +7 -8
- data/lib/rubygems/basic_specification.rb +44 -31
- data/lib/rubygems/bundler_version_finder.rb +28 -50
- data/lib/rubygems/command.rb +104 -46
- data/lib/rubygems/command_manager.rb +35 -16
- data/lib/rubygems/commands/build_command.rb +77 -26
- data/lib/rubygems/commands/cert_command.rb +78 -76
- data/lib/rubygems/commands/check_command.rb +20 -22
- data/lib/rubygems/commands/cleanup_command.rb +36 -32
- data/lib/rubygems/commands/contents_command.rb +16 -18
- data/lib/rubygems/commands/dependency_command.rb +39 -50
- data/lib/rubygems/commands/environment_command.rb +11 -13
- data/lib/rubygems/commands/fetch_command.rb +33 -16
- data/lib/rubygems/commands/generate_index_command.rb +18 -17
- data/lib/rubygems/commands/help_command.rb +7 -7
- data/lib/rubygems/commands/info_command.rb +11 -6
- data/lib/rubygems/commands/install_command.rb +45 -79
- data/lib/rubygems/commands/list_command.rb +9 -8
- data/lib/rubygems/commands/lock_command.rb +7 -9
- data/lib/rubygems/commands/mirror_command.rb +3 -4
- data/lib/rubygems/commands/open_command.rb +11 -14
- data/lib/rubygems/commands/outdated_command.rb +5 -6
- data/lib/rubygems/commands/owner_command.rb +29 -22
- data/lib/rubygems/commands/pristine_command.rb +61 -51
- data/lib/rubygems/commands/push_command.rb +26 -63
- data/lib/rubygems/commands/query_command.rb +21 -337
- data/lib/rubygems/commands/rdoc_command.rb +26 -26
- data/lib/rubygems/commands/search_command.rb +8 -8
- data/lib/rubygems/commands/server_command.rb +16 -77
- data/lib/rubygems/commands/setup_command.rb +282 -241
- data/lib/rubygems/commands/signin_command.rb +9 -10
- data/lib/rubygems/commands/signout_command.rb +7 -9
- data/lib/rubygems/commands/sources_command.rb +42 -26
- data/lib/rubygems/commands/specification_command.rb +25 -20
- data/lib/rubygems/commands/stale_command.rb +3 -3
- data/lib/rubygems/commands/uninstall_command.rb +58 -49
- data/lib/rubygems/commands/unpack_command.rb +15 -44
- data/lib/rubygems/commands/update_command.rb +133 -81
- data/lib/rubygems/commands/which_command.rb +8 -11
- data/lib/rubygems/commands/yank_command.rb +22 -19
- data/lib/rubygems/compatibility.rb +7 -5
- data/lib/rubygems/config_file.rb +101 -47
- data/lib/rubygems/core_ext/kernel_gem.rb +8 -12
- data/lib/rubygems/core_ext/kernel_require.rb +124 -83
- data/lib/rubygems/core_ext/kernel_warn.rb +35 -30
- data/lib/rubygems/core_ext/tcpsocket_init.rb +52 -0
- data/lib/rubygems/defaults.rb +131 -55
- data/lib/rubygems/dependency.rb +44 -27
- data/lib/rubygems/dependency_installer.rb +49 -205
- data/lib/rubygems/dependency_list.rb +24 -25
- data/lib/rubygems/deprecate.rb +106 -12
- data/lib/rubygems/doctor.rb +22 -22
- data/lib/rubygems/errors.rb +8 -14
- data/lib/rubygems/exceptions.rb +35 -33
- data/lib/rubygems/ext/build_error.rb +2 -0
- data/lib/rubygems/ext/builder.rb +71 -95
- data/lib/rubygems/ext/cargo_builder/link_flag_converter.rb +27 -0
- data/lib/rubygems/ext/cargo_builder.rb +360 -0
- data/lib/rubygems/ext/cmake_builder.rb +6 -7
- data/lib/rubygems/ext/configure_builder.rb +5 -8
- data/lib/rubygems/ext/ext_conf_builder.rb +45 -65
- data/lib/rubygems/ext/rake_builder.rb +7 -10
- data/lib/rubygems/ext.rb +7 -6
- data/lib/rubygems/gem_runner.rb +15 -26
- data/lib/rubygems/gemcutter_utilities.rb +179 -54
- data/lib/rubygems/indexer.rb +38 -53
- data/lib/rubygems/install_default_message.rb +2 -2
- data/lib/rubygems/install_message.rb +2 -2
- data/lib/rubygems/install_update_options.rb +73 -64
- data/lib/rubygems/installer.rb +230 -173
- data/lib/rubygems/installer_uninstaller_utils.rb +29 -0
- data/lib/rubygems/local_remote_options.rb +22 -24
- data/lib/rubygems/mock_gem_ui.rb +2 -5
- data/lib/rubygems/name_tuple.rb +10 -14
- data/lib/rubygems/openssl.rb +7 -0
- data/lib/rubygems/optparse/.document +1 -0
- data/lib/rubygems/optparse/COPYING +56 -0
- data/lib/rubygems/optparse/lib/optionparser.rb +2 -0
- data/lib/rubygems/optparse/lib/optparse/ac.rb +54 -0
- data/lib/rubygems/optparse/lib/optparse/date.rb +18 -0
- data/lib/rubygems/optparse/lib/optparse/kwargs.rb +22 -0
- data/lib/rubygems/optparse/lib/optparse/shellwords.rb +7 -0
- data/lib/rubygems/optparse/lib/optparse/time.rb +11 -0
- data/lib/rubygems/optparse/lib/optparse/uri.rb +7 -0
- data/lib/rubygems/optparse/lib/optparse/version.rb +71 -0
- data/lib/rubygems/optparse/lib/optparse.rb +2308 -0
- data/lib/rubygems/optparse.rb +3 -0
- data/lib/rubygems/package/digest_io.rb +0 -2
- data/lib/rubygems/package/file_source.rb +2 -4
- data/lib/rubygems/package/io_source.rb +4 -2
- data/lib/rubygems/package/old.rb +9 -11
- data/lib/rubygems/package/tar_header.rb +73 -66
- data/lib/rubygems/package/tar_reader/entry.rb +8 -9
- data/lib/rubygems/package/tar_reader.rb +16 -13
- data/lib/rubygems/package/tar_writer.rb +12 -22
- data/lib/rubygems/package.rb +142 -125
- data/lib/rubygems/package_task.rb +5 -11
- data/lib/rubygems/path_support.rb +3 -8
- data/lib/rubygems/platform.rb +113 -73
- data/lib/rubygems/psych_tree.rb +1 -1
- data/lib/rubygems/query_utils.rb +351 -0
- data/lib/rubygems/rdoc.rb +4 -16
- data/lib/rubygems/remote_fetcher.rb +64 -136
- data/lib/rubygems/request/connection_pools.rb +7 -11
- data/lib/rubygems/request/http_pool.rb +2 -3
- data/lib/rubygems/request.rb +31 -32
- data/lib/rubygems/request_set/gem_dependency_api.rb +135 -136
- data/lib/rubygems/request_set/lockfile/parser.rb +28 -28
- data/lib/rubygems/request_set/lockfile/tokenizer.rb +5 -5
- data/lib/rubygems/request_set/lockfile.rb +21 -20
- data/lib/rubygems/request_set.rb +30 -43
- data/lib/rubygems/requirement.rb +42 -64
- data/lib/rubygems/resolver/activation_request.rb +29 -53
- data/lib/rubygems/resolver/api_set/gem_parser.rb +20 -0
- data/lib/rubygems/resolver/api_set.rb +33 -26
- data/lib/rubygems/resolver/api_specification.rb +30 -16
- data/lib/rubygems/resolver/best_set.rb +9 -11
- data/lib/rubygems/resolver/composed_set.rb +3 -5
- data/lib/rubygems/resolver/conflict.rb +12 -19
- data/lib/rubygems/resolver/current_set.rb +0 -2
- data/lib/rubygems/resolver/dependency_request.rb +3 -5
- data/lib/rubygems/resolver/git_set.rb +2 -4
- data/lib/rubygems/resolver/git_specification.rb +6 -8
- data/lib/rubygems/resolver/index_set.rb +4 -6
- data/lib/rubygems/resolver/index_specification.rb +38 -7
- data/lib/rubygems/resolver/installed_specification.rb +4 -6
- data/lib/rubygems/resolver/installer_set.rb +69 -27
- data/lib/rubygems/resolver/local_specification.rb +2 -4
- data/lib/rubygems/resolver/lock_set.rb +7 -9
- data/lib/rubygems/resolver/lock_specification.rb +6 -8
- data/lib/rubygems/resolver/molinillo/LICENSE +9 -0
- data/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/resolution_state.rb +7 -0
- data/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/specification_provider.rb +8 -0
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/action.rb +1 -0
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +2 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +2 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +2 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +2 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/log.rb +7 -6
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/set_payload.rb +2 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/tag.rb +4 -3
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/vertex.rb +51 -12
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb +42 -9
- data/lib/rubygems/resolver/molinillo/lib/molinillo/errors.rb +82 -8
- data/lib/rubygems/resolver/molinillo/lib/molinillo/gem_metadata.rb +2 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/modules/specification_provider.rb +13 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/modules/ui.rb +3 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/resolution.rb +510 -165
- data/lib/rubygems/resolver/molinillo/lib/molinillo/resolver.rb +3 -2
- data/lib/rubygems/resolver/molinillo/lib/molinillo/state.rb +8 -4
- data/lib/rubygems/resolver/molinillo/lib/molinillo.rb +6 -5
- data/lib/rubygems/resolver/molinillo.rb +1 -1
- data/lib/rubygems/resolver/requirement_list.rb +0 -1
- data/lib/rubygems/resolver/set.rb +0 -3
- data/lib/rubygems/resolver/source_set.rb +0 -2
- data/lib/rubygems/resolver/spec_specification.rb +14 -2
- data/lib/rubygems/resolver/specification.rb +14 -3
- data/lib/rubygems/resolver/vendor_set.rb +1 -3
- data/lib/rubygems/resolver/vendor_specification.rb +3 -5
- data/lib/rubygems/resolver.rb +58 -54
- data/lib/rubygems/s3_uri_signer.rb +175 -0
- data/lib/rubygems/safe_yaml.rb +14 -16
- data/lib/rubygems/security/policies.rb +47 -47
- data/lib/rubygems/security/policy.rb +25 -29
- data/lib/rubygems/security/signer.rb +16 -18
- data/lib/rubygems/security/trust_dir.rb +5 -6
- data/lib/rubygems/security.rb +90 -69
- data/lib/rubygems/security_option.rb +7 -8
- data/lib/rubygems/source/git.rb +30 -30
- data/lib/rubygems/source/installed.rb +1 -3
- data/lib/rubygems/source/local.rb +4 -6
- data/lib/rubygems/source/lock.rb +0 -2
- data/lib/rubygems/source/specific_file.rb +1 -3
- data/lib/rubygems/source/vendor.rb +0 -2
- data/lib/rubygems/source.rb +50 -38
- data/lib/rubygems/source_list.rb +9 -13
- data/lib/rubygems/spec_fetcher.rb +52 -64
- data/lib/rubygems/specification.rb +432 -463
- data/lib/rubygems/specification_policy.rb +185 -87
- data/lib/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA_R3.pem +21 -0
- data/lib/rubygems/stub_specification.rb +24 -29
- data/lib/rubygems/text.rb +21 -21
- data/lib/rubygems/tsort/.document +1 -0
- data/lib/rubygems/tsort/LICENSE.txt +22 -0
- data/lib/rubygems/tsort/lib/tsort.rb +452 -0
- data/lib/rubygems/tsort.rb +3 -0
- data/lib/rubygems/uninstaller.rb +110 -57
- data/lib/rubygems/unknown_command_spell_checker.rb +21 -0
- data/lib/rubygems/update_suggestion.rb +69 -0
- data/lib/rubygems/uri.rb +126 -0
- data/lib/rubygems/uri_formatter.rb +2 -4
- data/lib/rubygems/user_interaction.rb +46 -49
- data/lib/rubygems/util/licenses.rb +511 -404
- data/lib/rubygems/util.rb +40 -56
- data/lib/rubygems/validator.rb +15 -37
- data/lib/rubygems/version.rb +48 -29
- data/lib/rubygems/version_option.rb +11 -5
- data/lib/rubygems.rb +305 -332
- data/rubygems-update.gemspec +6 -13
- data/setup.rb +11 -22
- data/test/rubygems/alternate_cert.pem +14 -14
- data/test/rubygems/alternate_cert_32.pem +15 -15
- data/test/rubygems/alternate_key.pem +25 -25
- data/test/rubygems/bundler_test_gem.rb +419 -0
- data/test/rubygems/ca_cert.pem +74 -65
- data/test/rubygems/child_cert.pem +15 -16
- data/test/rubygems/child_cert_32.pem +15 -16
- data/test/rubygems/child_key.pem +25 -25
- data/test/rubygems/client.pem +103 -45
- data/test/rubygems/data/excon-0.7.7.gemspec.rz +0 -0
- data/test/rubygems/data/null-required-ruby-version.gemspec.rz +0 -0
- data/test/rubygems/data/null-required-rubygems-version.gemspec.rz +0 -0
- data/test/rubygems/data/pry-0.4.7.gemspec.rz +0 -0
- data/test/rubygems/encrypted_private_key.pem +26 -26
- data/test/rubygems/expired_cert.pem +15 -15
- data/test/rubygems/future_cert.pem +15 -15
- data/test/rubygems/future_cert_32.pem +15 -15
- data/test/rubygems/grandchild_cert.pem +15 -16
- data/test/rubygems/grandchild_cert_32.pem +15 -16
- data/test/rubygems/grandchild_key.pem +25 -25
- data/{lib/rubygems/test_case.rb → test/rubygems/helper.rb} +505 -507
- data/{lib → test}/rubygems/installer_test_case.rb +115 -53
- data/test/rubygems/invalid_issuer_cert.pem +16 -16
- data/test/rubygems/invalid_issuer_cert_32.pem +16 -16
- data/test/rubygems/invalid_key.pem +25 -25
- data/test/rubygems/invalid_signer_cert.pem +15 -15
- data/test/rubygems/invalid_signer_cert_32.pem +15 -15
- data/test/rubygems/invalidchild_cert.pem +15 -16
- data/test/rubygems/invalidchild_cert_32.pem +15 -16
- data/test/rubygems/invalidchild_key.pem +25 -25
- data/{lib → test}/rubygems/package/tar_test_case.rb +4 -6
- data/test/rubygems/packages/Bluebie-legs-0.6.2.gem +0 -0
- data/test/rubygems/packages/ascii_binder-0.1.10.1.gem +0 -0
- data/test/rubygems/packages/ill-formatted-platform-1.0.0.10.gem +0 -0
- data/test/rubygems/plugin/exception/rubygems_plugin.rb +1 -1
- data/test/rubygems/plugin/standarderror/rubygems_plugin.rb +1 -1
- data/test/rubygems/private_ec_key.pem +9 -0
- data/test/rubygems/private_key.pem +25 -25
- data/test/rubygems/public_cert.pem +16 -16
- data/test/rubygems/public_cert_32.pem +15 -15
- data/test/rubygems/public_key.pem +7 -7
- data/test/rubygems/rubygems/commands/crash_command.rb +0 -2
- data/test/rubygems/rubygems_plugin.rb +2 -4
- data/test/rubygems/specifications/bar-0.0.2.gemspec +0 -2
- data/test/rubygems/specifications/rubyforge-0.0.1.gemspec +12 -0
- data/test/rubygems/ssl_cert.pem +78 -17
- data/test/rubygems/ssl_key.pem +25 -13
- data/test/rubygems/test_bundled_ca.rb +44 -47
- data/test/rubygems/test_config.rb +5 -7
- data/test/rubygems/test_deprecate.rb +90 -10
- data/test/rubygems/test_exit.rb +17 -0
- data/test/rubygems/test_gem.rb +679 -885
- data/test/rubygems/test_gem_available_set.rb +24 -25
- data/test/rubygems/test_gem_bundler_version_finder.rb +42 -42
- data/test/rubygems/test_gem_command.rb +186 -39
- data/test/rubygems/test_gem_command_manager.rb +166 -36
- data/test/rubygems/test_gem_commands_build_command.rb +436 -52
- data/test/rubygems/test_gem_commands_cert_command.rb +193 -124
- data/test/rubygems/test_gem_commands_check_command.rb +9 -11
- data/test/rubygems/test_gem_commands_cleanup_command.rb +87 -62
- data/test/rubygems/test_gem_commands_contents_command.rb +73 -42
- data/test/rubygems/test_gem_commands_dependency_command.rb +39 -41
- data/test/rubygems/test_gem_commands_environment_command.rb +60 -48
- data/test/rubygems/test_gem_commands_fetch_command.rb +163 -32
- data/test/rubygems/test_gem_commands_generate_index_command.rb +39 -9
- data/test/rubygems/test_gem_commands_help_command.rb +34 -19
- data/test/rubygems/test_gem_commands_info_command.rb +34 -9
- data/test/rubygems/test_gem_commands_install_command.rb +600 -173
- data/test/rubygems/test_gem_commands_list_command.rb +5 -7
- data/test/rubygems/test_gem_commands_lock_command.rb +11 -13
- data/test/rubygems/test_gem_commands_mirror.rb +3 -4
- data/test/rubygems/test_gem_commands_open_command.rb +16 -19
- data/test/rubygems/test_gem_commands_outdated_command.rb +24 -7
- data/test/rubygems/test_gem_commands_owner_command.rb +183 -49
- data/test/rubygems/test_gem_commands_pristine_command.rb +222 -89
- data/test/rubygems/test_gem_commands_push_command.rb +178 -69
- data/test/rubygems/test_gem_commands_query_command.rb +114 -89
- data/test/rubygems/test_gem_commands_search_command.rb +2 -4
- data/test/rubygems/test_gem_commands_server_command.rb +6 -46
- data/test/rubygems/test_gem_commands_setup_command.rb +334 -157
- data/test/rubygems/test_gem_commands_signin_command.rb +187 -27
- data/test/rubygems/test_gem_commands_signout_command.rb +3 -10
- data/test/rubygems/test_gem_commands_sources_command.rb +266 -33
- data/test/rubygems/test_gem_commands_specification_command.rb +81 -55
- data/test/rubygems/test_gem_commands_stale_command.rb +4 -6
- data/test/rubygems/test_gem_commands_uninstall_command.rb +230 -95
- data/test/rubygems/test_gem_commands_unpack_command.rb +32 -34
- data/test/rubygems/test_gem_commands_update_command.rb +412 -102
- data/test/rubygems/test_gem_commands_which_command.rb +12 -14
- data/test/rubygems/test_gem_commands_yank_command.rb +107 -26
- data/test/rubygems/test_gem_config_file.rb +120 -96
- data/test/rubygems/test_gem_dependency.rb +94 -86
- data/test/rubygems/test_gem_dependency_installer.rb +305 -388
- data/test/rubygems/test_gem_dependency_list.rb +66 -61
- data/test/rubygems/test_gem_dependency_resolution_error.rb +5 -7
- data/test/rubygems/test_gem_doctor.rb +73 -47
- data/test/rubygems/test_gem_ext_builder.rb +116 -106
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/.gitignore +1 -0
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/custom_name.gemspec +8 -0
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/ext/custom_name_lib/Cargo.lock +233 -0
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/ext/custom_name_lib/Cargo.toml +10 -0
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/ext/custom_name_lib/src/lib.rs +27 -0
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/lib/custom_name.rb +1 -0
- data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/.gitignore +1 -0
- data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.lock +233 -0
- data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.toml +10 -0
- data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/rust_ruby_example.gemspec +8 -0
- data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/src/lib.rs +51 -0
- data/test/rubygems/test_gem_ext_cargo_builder.rb +166 -0
- data/test/rubygems/test_gem_ext_cargo_builder_link_flag_converter.rb +33 -0
- data/test/rubygems/test_gem_ext_cargo_builder_unit.rb +60 -0
- data/test/rubygems/test_gem_ext_cmake_builder.rb +32 -37
- data/test/rubygems/test_gem_ext_configure_builder.rb +23 -31
- data/test/rubygems/test_gem_ext_ext_conf_builder.rb +75 -79
- data/test/rubygems/test_gem_ext_rake_builder.rb +49 -30
- data/test/rubygems/test_gem_gem_runner.rb +52 -7
- data/test/rubygems/test_gem_gemcutter_utilities.rb +91 -76
- data/test/rubygems/test_gem_impossible_dependencies_error.rb +4 -6
- data/test/rubygems/test_gem_indexer.rb +120 -105
- data/test/rubygems/test_gem_install_update_options.rb +57 -33
- data/test/rubygems/test_gem_installer.rb +1230 -644
- data/test/rubygems/test_gem_local_remote_options.rb +11 -13
- data/test/rubygems/test_gem_name_tuple.rb +4 -6
- data/test/rubygems/test_gem_package.rb +396 -266
- data/test/rubygems/test_gem_package_old.rb +57 -56
- data/test/rubygems/test_gem_package_tar_header.rb +108 -50
- data/test/rubygems/test_gem_package_tar_reader.rb +8 -10
- data/test/rubygems/test_gem_package_tar_reader_entry.rb +77 -20
- data/test/rubygems/test_gem_package_tar_writer.rb +107 -101
- data/test/rubygems/test_gem_package_task.rb +58 -25
- data/test/rubygems/test_gem_path_support.rb +29 -29
- data/test/rubygems/test_gem_platform.rb +388 -199
- data/test/rubygems/test_gem_rdoc.rb +20 -155
- data/test/rubygems/test_gem_remote_fetcher.rb +474 -303
- data/test/rubygems/test_gem_request.rb +128 -85
- data/test/rubygems/test_gem_request_connection_pools.rb +32 -32
- data/test/rubygems/test_gem_request_set.rb +186 -110
- data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +280 -261
- data/test/rubygems/test_gem_request_set_lockfile.rb +93 -94
- data/test/rubygems/test_gem_request_set_lockfile_parser.rb +68 -69
- data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +136 -136
- data/test/rubygems/test_gem_requirement.rb +140 -55
- data/test/rubygems/test_gem_resolver.rb +224 -115
- data/test/rubygems/test_gem_resolver_activation_request.rb +9 -40
- data/test/rubygems/test_gem_resolver_api_set.rb +79 -78
- data/test/rubygems/test_gem_resolver_api_specification.rb +47 -49
- data/test/rubygems/test_gem_resolver_best_set.rb +43 -22
- data/test/rubygems/test_gem_resolver_composed_set.rb +1 -3
- data/test/rubygems/test_gem_resolver_conflict.rb +12 -18
- data/test/rubygems/test_gem_resolver_dependency_request.rb +15 -17
- data/test/rubygems/test_gem_resolver_git_set.rb +22 -24
- data/test/rubygems/test_gem_resolver_git_specification.rb +22 -22
- data/test/rubygems/test_gem_resolver_index_set.rb +14 -16
- data/test/rubygems/test_gem_resolver_index_specification.rb +21 -18
- data/test/rubygems/test_gem_resolver_installed_specification.rb +5 -8
- data/test/rubygems/test_gem_resolver_installer_set.rb +106 -44
- data/test/rubygems/test_gem_resolver_local_specification.rb +7 -9
- data/test/rubygems/test_gem_resolver_lock_set.rb +15 -17
- data/test/rubygems/test_gem_resolver_lock_specification.rb +17 -19
- data/test/rubygems/test_gem_resolver_requirement_list.rb +1 -3
- data/test/rubygems/test_gem_resolver_specification.rb +8 -10
- data/test/rubygems/test_gem_resolver_vendor_set.rb +9 -11
- data/test/rubygems/test_gem_resolver_vendor_specification.rb +10 -12
- data/test/rubygems/test_gem_security.rb +109 -79
- data/test/rubygems/test_gem_security_policy.rb +102 -107
- data/test/rubygems/test_gem_security_signer.rb +51 -52
- data/test/rubygems/test_gem_security_trust_dir.rb +14 -16
- data/test/rubygems/test_gem_silent_ui.rb +47 -42
- data/test/rubygems/test_gem_source.rb +66 -51
- data/test/rubygems/test_gem_source_fetch_problem.rb +17 -8
- data/test/rubygems/test_gem_source_git.rb +74 -74
- data/test/rubygems/test_gem_source_installed.rb +16 -18
- data/test/rubygems/test_gem_source_list.rb +5 -5
- data/test/rubygems/test_gem_source_local.rb +15 -16
- data/test/rubygems/test_gem_source_lock.rb +31 -33
- data/test/rubygems/test_gem_source_specific_file.rb +18 -19
- data/test/rubygems/test_gem_source_subpath_problem.rb +49 -0
- data/test/rubygems/test_gem_source_vendor.rb +13 -15
- data/test/rubygems/test_gem_spec_fetcher.rb +74 -67
- data/test/rubygems/test_gem_specification.rb +1051 -1071
- data/test/rubygems/test_gem_stream_ui.rb +25 -23
- data/test/rubygems/test_gem_stub_specification.rb +39 -56
- data/test/rubygems/test_gem_text.rb +8 -3
- data/test/rubygems/test_gem_uninstaller.rb +269 -100
- data/test/rubygems/test_gem_unsatisfiable_dependency_error.rb +3 -5
- data/test/rubygems/test_gem_update_suggestion.rb +208 -0
- data/test/rubygems/test_gem_uri.rb +39 -0
- data/test/rubygems/test_gem_uri_formatter.rb +14 -16
- data/test/rubygems/test_gem_util.rb +46 -34
- data/test/rubygems/test_gem_validator.rb +12 -15
- data/test/rubygems/test_gem_version.rb +49 -34
- data/test/rubygems/test_gem_version_option.rb +16 -18
- data/test/rubygems/test_kernel.rb +61 -53
- data/test/rubygems/test_project_sanity.rb +20 -0
- data/test/rubygems/test_remote_fetch_error.rb +7 -8
- data/test/rubygems/test_require.rb +415 -121
- data/test/rubygems/test_rubygems.rb +74 -0
- data/{lib/rubygems/test_utilities.rb → test/rubygems/utilities.rb} +74 -50
- data/test/rubygems/wrong_key_cert.pem +15 -15
- data/test/rubygems/wrong_key_cert_32.pem +15 -15
- data/test/test_changelog_generator.rb +17 -0
- metadata +218 -244
- data/.rubocop.yml +0 -66
- data/.travis.yml +0 -38
- data/History.txt +0 -3965
- data/Rakefile +0 -372
- data/appveyor.yml +0 -43
- data/bundler/CODE_OF_CONDUCT.md +0 -42
- data/bundler/CONTRIBUTING.md +0 -17
- data/bundler/exe/bundle_ruby +0 -60
- data/bundler/lib/bundler/cli/package.rb +0 -49
- data/bundler/lib/bundler/compatibility_guard.rb +0 -14
- data/bundler/lib/bundler/dep_proxy.rb +0 -48
- data/bundler/lib/bundler/gem_remote_fetcher.rb +0 -43
- data/bundler/lib/bundler/gemdeps.rb +0 -29
- data/bundler/lib/bundler/psyched_yaml.rb +0 -37
- data/bundler/lib/bundler/ssl_certs/certificate_manager.rb +0 -66
- data/bundler/lib/bundler/ssl_certs/rubygems.global.ssl.fastly.net/DigiCertHighAssuranceEVRootCA.pem +0 -23
- data/bundler/lib/bundler/ssl_certs/rubygems.org/AddTrustExternalCARoot.pem +0 -25
- data/bundler/lib/bundler/templates/gems.rb +0 -8
- data/bundler/lib/bundler/templates/newgem/test/test_helper.rb.tt +0 -4
- data/bundler/lib/bundler/templates/newgem/travis.yml.tt +0 -7
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/compatibility.rb +0 -26
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/delegates/resolution_state.rb +0 -57
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb +0 -81
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/action.rb +0 -36
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +0 -66
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +0 -62
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +0 -63
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +0 -61
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/log.rb +0 -126
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/set_payload.rb +0 -46
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb +0 -36
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb +0 -136
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +0 -223
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +0 -143
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb +0 -6
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/modules/specification_provider.rb +0 -101
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/modules/ui.rb +0 -67
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb +0 -837
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/resolver.rb +0 -46
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/state.rb +0 -58
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo.rb +0 -12
- 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/bundler/lib/bundler/vendor/thor/lib/thor/core_ext/io_binary_read.rb +0 -12
- data/bundler/lib/bundler/vendor/thor/lib/thor/core_ext/ordered_hash.rb +0 -129
- data/bundler/lib/bundler/version_ranges.rb +0 -76
- data/bundler/man/bundle-gem.1 +0 -80
- data/bundler/man/bundle-gem.ronn +0 -78
- data/bundler/man/bundle-package.1 +0 -55
- data/lib/rubygems/psych_additions.rb +0 -10
- data/lib/rubygems/server.rb +0 -878
- data/lib/rubygems/source_local.rb +0 -7
- data/lib/rubygems/source_specific_file.rb +0 -6
- data/lib/rubygems/ssl_certs/index.rubygems.org/GlobalSignRootCA.pem +0 -21
- 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/rubygems/syck_hack.rb +0 -77
- data/lib/ubygems.rb +0 -14
- data/test/rubygems/bogussources.rb +0 -9
- data/test/rubygems/data/null-type.gemspec.rz +0 -0
- data/test/rubygems/test_gem_server.rb +0 -607
- data/util/CL2notes +0 -55
- data/util/ci +0 -77
- data/util/create_certs.rb +0 -171
- data/util/create_encrypted_key.rb +0 -16
- data/util/generate_spdx_license_list.rb +0 -61
- 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
- /data/bundler/lib/bundler/{ssl_certs → man}/.document +0 -0
- /data/bundler/{man/bundle-check.ronn → lib/bundler/man/bundle-check.1.ronn} +0 -0
- /data/bundler/{man/bundle-doctor.ronn → lib/bundler/man/bundle-doctor.1.ronn} +0 -0
- /data/bundler/{man/bundle-info.ronn → lib/bundler/man/bundle-info.1.ronn} +0 -0
- /data/bundler/{man/bundle-lock.ronn → lib/bundler/man/bundle-lock.1.ronn} +0 -0
- /data/bundler/{man/bundle-pristine.ronn → lib/bundler/man/bundle-pristine.1.ronn} +0 -0
- /data/bundler/{man/bundle-remove.ronn → lib/bundler/man/bundle-remove.1.ronn} +0 -0
- /data/bundler/{man/bundle-show.ronn → lib/bundler/man/bundle-show.1.ronn} +0 -0
- /data/{bundler/lib/bundler/ssl_certs/index.rubygems.org → lib/rubygems/ssl_certs/rubygems.org}/GlobalSignRootCA.pem +0 -0
@@ -1,9 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require
|
2
|
+
require_relative "helper"
|
3
|
+
require "rubygems/request_set"
|
4
4
|
|
5
5
|
class TestGemRequestSetGemDependencyAPI < Gem::TestCase
|
6
|
-
|
7
6
|
def setup
|
8
7
|
super
|
9
8
|
|
@@ -14,83 +13,76 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
|
|
14
13
|
@git_set = Gem::Resolver::GitSet.new
|
15
14
|
@vendor_set = Gem::Resolver::VendorSet.new
|
16
15
|
|
17
|
-
@gda = @GDA.new @set,
|
16
|
+
@gda = @GDA.new @set, "gem.deps.rb"
|
18
17
|
@gda.instance_variable_set :@git_set, @git_set
|
19
18
|
@gda.instance_variable_set :@vendor_set, @vendor_set
|
20
19
|
end
|
21
20
|
|
22
21
|
def with_engine_version(name, version)
|
23
|
-
engine
|
24
|
-
|
25
|
-
engine_version = Object.const_get engine_version_const
|
22
|
+
engine = RUBY_ENGINE
|
23
|
+
engine_version = RUBY_ENGINE_VERSION
|
26
24
|
|
27
|
-
Object.send :remove_const, :RUBY_ENGINE
|
28
|
-
Object.send :remove_const,
|
29
|
-
Object.const_defined? engine_version_const
|
25
|
+
Object.send :remove_const, :RUBY_ENGINE
|
26
|
+
Object.send :remove_const, :RUBY_ENGINE_VERSION
|
30
27
|
|
31
|
-
|
32
|
-
Object.const_set :
|
33
|
-
Object.const_set new_engine_version_const, version if version
|
28
|
+
Object.const_set :RUBY_ENGINE, name if name
|
29
|
+
Object.const_set :RUBY_ENGINE_VERSION, version if version
|
34
30
|
|
35
31
|
Gem.instance_variable_set :@ruby_version, Gem::Version.new(version)
|
36
32
|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
33
|
+
begin
|
34
|
+
yield
|
35
|
+
ensure
|
36
|
+
Object.send :remove_const, :RUBY_ENGINE if name
|
37
|
+
Object.send :remove_const, :RUBY_ENGINE_VERSION if version
|
42
38
|
|
43
|
-
|
44
|
-
Object.
|
39
|
+
Object.const_set :RUBY_ENGINE, engine
|
40
|
+
Object.const_set :RUBY_ENGINE_VERSION, engine_version
|
45
41
|
|
46
|
-
|
47
|
-
|
48
|
-
Object.const_defined? engine_version_const
|
49
|
-
|
50
|
-
Gem.send :remove_instance_variable, :@ruby_version if
|
51
|
-
Gem.instance_variables.include? :@ruby_version
|
42
|
+
Gem.send :remove_instance_variable, :@ruby_version
|
43
|
+
end
|
52
44
|
end
|
53
45
|
|
54
46
|
def test_gempspec_with_multiple_runtime_deps
|
55
|
-
save_gemspec
|
56
|
-
s.add_runtime_dependency
|
47
|
+
save_gemspec "foo", "1.0" do |s|
|
48
|
+
s.add_runtime_dependency "bar", ">= 1.6.0", "< 1.6.4"
|
57
49
|
end
|
58
50
|
@gda.gemspec
|
59
|
-
assert_equal %w
|
60
|
-
bar = @set.dependencies.find {
|
61
|
-
assert_equal [["<", Gem::Version.create(
|
62
|
-
[">=", Gem::Version.create(
|
51
|
+
assert_equal %w[ foo bar ].sort, @set.dependencies.map(&:name).sort
|
52
|
+
bar = @set.dependencies.find {|d| d.name == "bar" }
|
53
|
+
assert_equal [["<", Gem::Version.create("1.6.4")],
|
54
|
+
[">=", Gem::Version.create("1.6.0")]], bar.requirement.requirements.sort
|
63
55
|
end
|
64
56
|
|
65
57
|
def test_gemspec_without_group
|
66
|
-
@gda.send :add_dependencies, [:development], [dep(
|
58
|
+
@gda.send :add_dependencies, [:development], [dep("a", "= 1")]
|
67
59
|
|
68
|
-
assert_equal [dep(
|
60
|
+
assert_equal [dep("a", "= 1")], @set.dependencies
|
69
61
|
|
70
62
|
@gda.without_groups << :development
|
71
63
|
|
72
|
-
@gda.send :add_dependencies, [:development], [dep(
|
64
|
+
@gda.send :add_dependencies, [:development], [dep("b", "= 2")]
|
73
65
|
|
74
|
-
assert_equal [dep(
|
66
|
+
assert_equal [dep("a", "= 1")], @set.dependencies
|
75
67
|
end
|
76
68
|
|
77
69
|
def test_gem
|
78
|
-
@gda.gem
|
70
|
+
@gda.gem "a"
|
79
71
|
|
80
|
-
assert_equal [dep(
|
72
|
+
assert_equal [dep("a")], @set.dependencies
|
81
73
|
|
82
|
-
assert_equal %w[a], @gda.requires[
|
74
|
+
assert_equal %w[a], @gda.requires["a"]
|
83
75
|
|
84
|
-
expected = {
|
76
|
+
expected = { "a" => Gem::Requirement.default }
|
85
77
|
|
86
78
|
assert_equal expected, @gda.dependencies
|
87
79
|
end
|
88
80
|
|
89
81
|
def test_gem_duplicate
|
90
|
-
@gda.gem
|
82
|
+
@gda.gem "a"
|
91
83
|
|
92
|
-
_, err =
|
93
|
-
@gda.gem
|
84
|
+
_, err = capture_output do
|
85
|
+
@gda.gem "a"
|
94
86
|
end
|
95
87
|
|
96
88
|
expected = "Gem dependencies file gem.deps.rb requires a more than once."
|
@@ -99,141 +91,141 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
|
|
99
91
|
end
|
100
92
|
|
101
93
|
def test_gem_git
|
102
|
-
@gda.gem
|
94
|
+
@gda.gem "a", :git => "git/a"
|
103
95
|
|
104
|
-
assert_equal [dep(
|
96
|
+
assert_equal [dep("a")], @set.dependencies
|
105
97
|
|
106
|
-
assert_equal %w[git/a master], @git_set.repositories[
|
98
|
+
assert_equal %w[git/a master], @git_set.repositories["a"]
|
107
99
|
|
108
|
-
expected = {
|
100
|
+
expected = { "a" => Gem::Requirement.create("!") }
|
109
101
|
|
110
102
|
assert_equal expected, @gda.dependencies
|
111
103
|
end
|
112
104
|
|
113
105
|
def test_gem_bitbucket
|
114
|
-
@gda.gem
|
106
|
+
@gda.gem "a", :bitbucket => "example/repository"
|
115
107
|
|
116
|
-
assert_equal [dep(
|
108
|
+
assert_equal [dep("a")], @set.dependencies
|
117
109
|
|
118
110
|
assert_equal %w[https://example@bitbucket.org/example/repository.git master],
|
119
|
-
@git_set.repositories[
|
111
|
+
@git_set.repositories["a"]
|
120
112
|
|
121
|
-
expected = {
|
113
|
+
expected = { "a" => Gem::Requirement.create("!") }
|
122
114
|
|
123
115
|
assert_equal expected, @gda.dependencies
|
124
116
|
end
|
125
117
|
|
126
118
|
def test_gem_bitbucket_expand_path
|
127
|
-
@gda.gem
|
119
|
+
@gda.gem "a", :bitbucket => "example"
|
128
120
|
|
129
|
-
assert_equal [dep(
|
121
|
+
assert_equal [dep("a")], @set.dependencies
|
130
122
|
|
131
123
|
assert_equal %w[https://example@bitbucket.org/example/example.git master],
|
132
|
-
@git_set.repositories[
|
124
|
+
@git_set.repositories["a"]
|
133
125
|
|
134
|
-
expected = {
|
126
|
+
expected = { "a" => Gem::Requirement.create("!") }
|
135
127
|
|
136
128
|
assert_equal expected, @gda.dependencies
|
137
129
|
end
|
138
130
|
|
139
131
|
def test_gem_git_branch
|
140
|
-
_, err =
|
141
|
-
@gda.gem
|
132
|
+
_, err = capture_output do
|
133
|
+
@gda.gem "a", :git => "git/a", :branch => "other", :tag => "v1"
|
142
134
|
end
|
143
135
|
expected = "Gem dependencies file gem.deps.rb includes git reference for both ref/branch and tag but only ref/branch is used."
|
144
136
|
assert_match expected, err
|
145
137
|
|
146
|
-
assert_equal [dep(
|
138
|
+
assert_equal [dep("a")], @set.dependencies
|
147
139
|
|
148
|
-
assert_equal %w[git/a other], @git_set.repositories[
|
140
|
+
assert_equal %w[git/a other], @git_set.repositories["a"]
|
149
141
|
end
|
150
142
|
|
151
143
|
def test_gem_git_gist
|
152
|
-
@gda.gem
|
144
|
+
@gda.gem "a", :gist => "a"
|
153
145
|
|
154
|
-
assert_equal [dep(
|
146
|
+
assert_equal [dep("a")], @set.dependencies
|
155
147
|
|
156
148
|
assert_equal %w[https://gist.github.com/a.git master],
|
157
|
-
@git_set.repositories[
|
149
|
+
@git_set.repositories["a"]
|
158
150
|
end
|
159
151
|
|
160
152
|
def test_gem_git_ref
|
161
|
-
_, err =
|
162
|
-
@gda.gem
|
153
|
+
_, err = capture_output do
|
154
|
+
@gda.gem "a", :git => "git/a", :ref => "abcd123", :branch => "other"
|
163
155
|
end
|
164
156
|
expected = "Gem dependencies file gem.deps.rb includes git reference for both ref and branch but only ref is used."
|
165
157
|
assert_match expected, err
|
166
158
|
|
167
|
-
assert_equal [dep(
|
159
|
+
assert_equal [dep("a")], @set.dependencies
|
168
160
|
|
169
|
-
assert_equal %w[git/a abcd123], @git_set.repositories[
|
161
|
+
assert_equal %w[git/a abcd123], @git_set.repositories["a"]
|
170
162
|
end
|
171
163
|
|
172
164
|
def test_gem_git_submodules
|
173
|
-
@gda.gem
|
165
|
+
@gda.gem "a", :git => "git/a", :submodules => true
|
174
166
|
|
175
|
-
assert_equal [dep(
|
167
|
+
assert_equal [dep("a")], @set.dependencies
|
176
168
|
|
177
|
-
assert_equal %w[git/a master], @git_set.repositories[
|
169
|
+
assert_equal %w[git/a master], @git_set.repositories["a"]
|
178
170
|
assert_equal %w[git/a], @git_set.need_submodules.keys
|
179
171
|
end
|
180
172
|
|
181
173
|
def test_gem_git_tag
|
182
|
-
@gda.gem
|
174
|
+
@gda.gem "a", :git => "git/a", :tag => "v1"
|
183
175
|
|
184
|
-
assert_equal [dep(
|
176
|
+
assert_equal [dep("a")], @set.dependencies
|
185
177
|
|
186
|
-
assert_equal %w[git/a v1], @git_set.repositories[
|
178
|
+
assert_equal %w[git/a v1], @git_set.repositories["a"]
|
187
179
|
end
|
188
180
|
|
189
181
|
def test_gem_github
|
190
|
-
@gda.gem
|
182
|
+
@gda.gem "a", :github => "example/repository"
|
191
183
|
|
192
|
-
assert_equal [dep(
|
184
|
+
assert_equal [dep("a")], @set.dependencies
|
193
185
|
|
194
|
-
assert_equal %w[
|
195
|
-
@git_set.repositories[
|
186
|
+
assert_equal %w[https://github.com/example/repository.git master],
|
187
|
+
@git_set.repositories["a"]
|
196
188
|
|
197
|
-
expected = {
|
189
|
+
expected = { "a" => Gem::Requirement.create("!") }
|
198
190
|
|
199
191
|
assert_equal expected, @gda.dependencies
|
200
192
|
end
|
201
193
|
|
202
194
|
def test_gem_github_expand_path
|
203
|
-
@gda.gem
|
195
|
+
@gda.gem "a", :github => "example"
|
204
196
|
|
205
|
-
assert_equal [dep(
|
197
|
+
assert_equal [dep("a")], @set.dependencies
|
206
198
|
|
207
|
-
assert_equal %w[
|
208
|
-
@git_set.repositories[
|
199
|
+
assert_equal %w[https://github.com/example/example.git master],
|
200
|
+
@git_set.repositories["a"]
|
209
201
|
|
210
|
-
expected = {
|
202
|
+
expected = { "a" => Gem::Requirement.create("!") }
|
211
203
|
|
212
204
|
assert_equal expected, @gda.dependencies
|
213
205
|
end
|
214
206
|
|
215
207
|
def test_gem_group
|
216
|
-
@gda.gem
|
208
|
+
@gda.gem "a", :group => :test
|
217
209
|
|
218
|
-
assert_equal [dep(
|
210
|
+
assert_equal [dep("a")], @set.dependencies
|
219
211
|
end
|
220
212
|
|
221
213
|
def test_gem_group_without
|
222
214
|
@gda.without_groups << :test
|
223
215
|
|
224
|
-
@gda.gem
|
216
|
+
@gda.gem "a", :group => :test
|
225
217
|
|
226
218
|
assert_empty @set.dependencies
|
227
219
|
|
228
|
-
expected = {
|
220
|
+
expected = { "a" => Gem::Requirement.default }
|
229
221
|
|
230
222
|
assert_equal expected, @gda.dependencies
|
231
223
|
end
|
232
224
|
|
233
225
|
def test_gem_groups
|
234
|
-
@gda.gem
|
226
|
+
@gda.gem "a", :groups => [:test, :development]
|
235
227
|
|
236
|
-
assert_equal [dep(
|
228
|
+
assert_equal [dep("a")], @set.dependencies
|
237
229
|
end
|
238
230
|
|
239
231
|
def test_gem_path
|
@@ -247,7 +239,7 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
|
|
247
239
|
|
248
240
|
assert_equal "#{name}-#{version}", loaded.full_name
|
249
241
|
|
250
|
-
expected = { name => Gem::Requirement.create(
|
242
|
+
expected = { name => Gem::Requirement.create("!") }
|
251
243
|
|
252
244
|
assert_equal expected, @gda.dependencies
|
253
245
|
end
|
@@ -255,8 +247,8 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
|
|
255
247
|
def test_gem_platforms
|
256
248
|
win_platform, Gem.win_platform = Gem.win_platform?, false
|
257
249
|
|
258
|
-
with_engine_version
|
259
|
-
@gda.gem
|
250
|
+
with_engine_version "ruby", "2.0.0" do
|
251
|
+
@gda.gem "a", :platforms => :ruby
|
260
252
|
|
261
253
|
refute_empty @set.dependencies
|
262
254
|
end
|
@@ -267,36 +259,44 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
|
|
267
259
|
def test_gem_platforms_bundler_ruby
|
268
260
|
win_platform, Gem.win_platform = Gem.win_platform?, false
|
269
261
|
|
270
|
-
with_engine_version
|
262
|
+
with_engine_version "ruby", "2.0.0" do
|
263
|
+
set = Gem::RequestSet.new
|
264
|
+
gda = @GDA.new set, "gem.deps.rb"
|
265
|
+
gda.gem "a", :platforms => :ruby
|
266
|
+
|
267
|
+
refute_empty set.dependencies
|
268
|
+
end
|
269
|
+
|
270
|
+
with_engine_version "rbx", "2.0.0" do
|
271
271
|
set = Gem::RequestSet.new
|
272
|
-
gda = @GDA.new set,
|
273
|
-
gda.gem
|
272
|
+
gda = @GDA.new set, "gem.deps.rb"
|
273
|
+
gda.gem "a", :platforms => :ruby
|
274
274
|
|
275
275
|
refute_empty set.dependencies
|
276
276
|
end
|
277
277
|
|
278
|
-
with_engine_version
|
278
|
+
with_engine_version "truffleruby", "2.0.0" do
|
279
279
|
set = Gem::RequestSet.new
|
280
|
-
gda = @GDA.new set,
|
281
|
-
gda.gem
|
280
|
+
gda = @GDA.new set, "gem.deps.rb"
|
281
|
+
gda.gem "a", :platforms => :ruby
|
282
282
|
|
283
283
|
refute_empty set.dependencies
|
284
284
|
end
|
285
285
|
|
286
|
-
with_engine_version
|
286
|
+
with_engine_version "jruby", "1.7.6" do
|
287
287
|
set = Gem::RequestSet.new
|
288
|
-
gda = @GDA.new set,
|
289
|
-
gda.gem
|
288
|
+
gda = @GDA.new set, "gem.deps.rb"
|
289
|
+
gda.gem "a", :platforms => :ruby
|
290
290
|
|
291
291
|
assert_empty set.dependencies
|
292
292
|
end
|
293
293
|
|
294
294
|
Gem.win_platform = true
|
295
295
|
|
296
|
-
with_engine_version
|
296
|
+
with_engine_version "ruby", "2.0.0" do
|
297
297
|
set = Gem::RequestSet.new
|
298
|
-
gda = @GDA.new set,
|
299
|
-
gda.gem
|
298
|
+
gda = @GDA.new set, "gem.deps.rb"
|
299
|
+
gda.gem "a", :platforms => :ruby
|
300
300
|
|
301
301
|
assert_empty set.dependencies
|
302
302
|
end
|
@@ -305,8 +305,14 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
|
|
305
305
|
end
|
306
306
|
|
307
307
|
def test_gem_platforms_engine
|
308
|
-
with_engine_version
|
309
|
-
@gda.gem
|
308
|
+
with_engine_version "jruby", "1.7.6" do
|
309
|
+
@gda.gem "a", :platforms => :mri
|
310
|
+
|
311
|
+
assert_empty @set.dependencies
|
312
|
+
end
|
313
|
+
|
314
|
+
with_engine_version "truffleruby", "1.2.3" do
|
315
|
+
@gda.gem "a", :platforms => :mri
|
310
316
|
|
311
317
|
assert_empty @set.dependencies
|
312
318
|
end
|
@@ -315,16 +321,16 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
|
|
315
321
|
def test_gem_platforms_maglev
|
316
322
|
win_platform, Gem.win_platform = Gem.win_platform?, false
|
317
323
|
|
318
|
-
with_engine_version
|
324
|
+
with_engine_version "maglev", "1.0.0" do
|
319
325
|
set = Gem::RequestSet.new
|
320
|
-
gda = @GDA.new set,
|
321
|
-
gda.gem
|
326
|
+
gda = @GDA.new set, "gem.deps.rb"
|
327
|
+
gda.gem "a", :platforms => :ruby
|
322
328
|
|
323
329
|
refute_empty set.dependencies
|
324
330
|
|
325
331
|
set = Gem::RequestSet.new
|
326
|
-
gda = @GDA.new set,
|
327
|
-
gda.gem
|
332
|
+
gda = @GDA.new set, "gem.deps.rb"
|
333
|
+
gda.gem "a", :platforms => :maglev
|
328
334
|
|
329
335
|
refute_empty set.dependencies
|
330
336
|
end
|
@@ -332,11 +338,27 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
|
|
332
338
|
Gem.win_platform = win_platform
|
333
339
|
end
|
334
340
|
|
341
|
+
def test_gem_platforms_truffleruby
|
342
|
+
with_engine_version "truffleruby", "1.0.0" do
|
343
|
+
set = Gem::RequestSet.new
|
344
|
+
gda = @GDA.new set, "gem.deps.rb"
|
345
|
+
gda.gem "a", :platforms => :truffleruby
|
346
|
+
|
347
|
+
refute_empty set.dependencies
|
348
|
+
|
349
|
+
set = Gem::RequestSet.new
|
350
|
+
gda = @GDA.new set, "gem.deps.rb"
|
351
|
+
gda.gem "a", :platforms => :maglev
|
352
|
+
|
353
|
+
assert_empty set.dependencies
|
354
|
+
end
|
355
|
+
end
|
356
|
+
|
335
357
|
def test_gem_platforms_multiple
|
336
358
|
win_platform, Gem.win_platform = Gem.win_platform?, false
|
337
359
|
|
338
|
-
with_engine_version
|
339
|
-
@gda.gem
|
360
|
+
with_engine_version "ruby", "2.0.0" do
|
361
|
+
@gda.gem "a", :platforms => [:mswin, :jruby]
|
340
362
|
|
341
363
|
assert_empty @set.dependencies
|
342
364
|
end
|
@@ -348,8 +370,8 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
|
|
348
370
|
def test_gem_platforms_platform
|
349
371
|
win_platform, Gem.win_platform = Gem.win_platform?, false
|
350
372
|
|
351
|
-
with_engine_version
|
352
|
-
@gda.gem
|
373
|
+
with_engine_version "ruby", "2.0.0" do
|
374
|
+
@gda.gem "a", :platforms => :jruby, :platform => :ruby
|
353
375
|
|
354
376
|
refute_empty @set.dependencies
|
355
377
|
end
|
@@ -358,35 +380,35 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
|
|
358
380
|
end
|
359
381
|
|
360
382
|
def test_gem_platforms_version
|
361
|
-
with_engine_version
|
362
|
-
@gda.gem
|
383
|
+
with_engine_version "ruby", "2.0.0" do
|
384
|
+
@gda.gem "a", :platforms => :ruby_18
|
363
385
|
|
364
386
|
assert_empty @set.dependencies
|
365
387
|
end
|
366
388
|
end
|
367
389
|
|
368
390
|
def test_gem_platforms_unknown
|
369
|
-
e =
|
370
|
-
@gda.gem
|
391
|
+
e = assert_raise ArgumentError do
|
392
|
+
@gda.gem "a", :platforms => :unknown
|
371
393
|
end
|
372
394
|
|
373
|
-
assert_equal
|
395
|
+
assert_equal "unknown platform :unknown", e.message
|
374
396
|
end
|
375
397
|
|
376
398
|
def test_gem_requires
|
377
|
-
@gda.gem
|
378
|
-
@gda.gem
|
399
|
+
@gda.gem "a", :require => %w[b c]
|
400
|
+
@gda.gem "d", :require => "e"
|
379
401
|
|
380
|
-
assert_equal [dep(
|
402
|
+
assert_equal [dep("a"), dep("d")], @set.dependencies
|
381
403
|
|
382
|
-
assert_equal %w[b c], @gda.requires[
|
383
|
-
assert_equal %w[e], @gda.requires[
|
404
|
+
assert_equal %w[b c], @gda.requires["a"]
|
405
|
+
assert_equal %w[e], @gda.requires["d"]
|
384
406
|
end
|
385
407
|
|
386
408
|
def test_gem_requires_false
|
387
|
-
@gda.gem
|
409
|
+
@gda.gem "a", :require => false
|
388
410
|
|
389
|
-
assert_equal [dep(
|
411
|
+
assert_equal [dep("a")], @set.dependencies
|
390
412
|
|
391
413
|
assert_empty @gda.requires
|
392
414
|
end
|
@@ -394,37 +416,37 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
|
|
394
416
|
def test_gem_requires_without_group
|
395
417
|
@gda.without_groups << :test
|
396
418
|
|
397
|
-
@gda.gem
|
419
|
+
@gda.gem "a", :group => :test
|
398
420
|
|
399
421
|
assert_empty @set.dependencies
|
400
422
|
|
401
|
-
assert_empty @gda.requires[
|
423
|
+
assert_empty @gda.requires["a"]
|
402
424
|
end
|
403
425
|
|
404
426
|
def test_gem_requirement
|
405
|
-
@gda.gem
|
427
|
+
@gda.gem "a", "~> 1.0"
|
406
428
|
|
407
|
-
assert_equal [dep(
|
429
|
+
assert_equal [dep("a", "~> 1.0")], @set.dependencies
|
408
430
|
|
409
|
-
expected = {
|
431
|
+
expected = { "a" => Gem::Requirement.create(["~> 1.0"]) }
|
410
432
|
|
411
433
|
assert_equal expected, @gda.dependencies
|
412
434
|
end
|
413
435
|
|
414
436
|
def test_gem_requirements
|
415
|
-
@gda.gem
|
437
|
+
@gda.gem "b", "~> 1.0", ">= 1.0.2"
|
416
438
|
|
417
|
-
assert_equal [dep(
|
439
|
+
assert_equal [dep("b", "~> 1.0", ">= 1.0.2")], @set.dependencies
|
418
440
|
|
419
|
-
expected = {
|
441
|
+
expected = { "b" => Gem::Requirement.create(["~> 1.0", ">= 1.0.2"]) }
|
420
442
|
|
421
443
|
assert_equal expected, @gda.dependencies
|
422
444
|
end
|
423
445
|
|
424
446
|
def test_gem_requirements_options
|
425
|
-
@gda.gem
|
447
|
+
@gda.gem "c", :git => "https://example/c.git"
|
426
448
|
|
427
|
-
assert_equal [dep(
|
449
|
+
assert_equal [dep("c")], @set.dependencies
|
428
450
|
end
|
429
451
|
|
430
452
|
def test_gem_source_mismatch
|
@@ -433,7 +455,7 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
|
|
433
455
|
gda = @GDA.new @set, nil
|
434
456
|
gda.gem name
|
435
457
|
|
436
|
-
e =
|
458
|
+
e = assert_raise ArgumentError do
|
437
459
|
gda.gem name, :path => directory
|
438
460
|
end
|
439
461
|
|
@@ -444,7 +466,7 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
|
|
444
466
|
gda.instance_variable_set :@vendor_set, @vendor_set
|
445
467
|
gda.gem name, :path => directory
|
446
468
|
|
447
|
-
e =
|
469
|
+
e = assert_raise ArgumentError do
|
448
470
|
gda.gem name
|
449
471
|
end
|
450
472
|
|
@@ -453,82 +475,82 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
|
|
453
475
|
end
|
454
476
|
|
455
477
|
def test_gem_deps_file
|
456
|
-
assert_equal
|
478
|
+
assert_equal "gem.deps.rb", @gda.gem_deps_file
|
457
479
|
|
458
|
-
gda = @GDA.new @set,
|
480
|
+
gda = @GDA.new @set, "foo/Gemfile"
|
459
481
|
|
460
|
-
assert_equal
|
482
|
+
assert_equal "Gemfile", gda.gem_deps_file
|
461
483
|
end
|
462
484
|
|
463
485
|
def test_gem_group_method
|
464
486
|
groups = []
|
465
487
|
|
466
488
|
@gda.group :a do
|
467
|
-
groups = @gda.send :gem_group,
|
489
|
+
groups = @gda.send :gem_group, "a", :group => :b, :groups => [:c, :d]
|
468
490
|
end
|
469
491
|
|
470
|
-
assert_equal [:a, :b, :c, :d], groups.sort_by {
|
492
|
+
assert_equal [:a, :b, :c, :d], groups.sort_by {|group| group.to_s }
|
471
493
|
end
|
472
494
|
|
473
495
|
def test_gemspec
|
474
|
-
save_gemspec
|
475
|
-
s.add_dependency
|
476
|
-
s.add_development_dependency
|
496
|
+
save_gemspec "a", 1 do |s|
|
497
|
+
s.add_dependency "b", 2
|
498
|
+
s.add_development_dependency "c", 3
|
477
499
|
end
|
478
500
|
|
479
501
|
@gda.gemspec
|
480
502
|
|
481
|
-
assert_equal [dep(
|
503
|
+
assert_equal [dep("a", "= 1"), dep("b", "= 2"), dep("c", "=3")],
|
482
504
|
@set.dependencies
|
483
505
|
|
484
|
-
assert_equal %w[a], @gda.requires[
|
506
|
+
assert_equal %w[a], @gda.requires["a"]
|
485
507
|
|
486
508
|
expected = {
|
487
|
-
|
488
|
-
|
489
|
-
|
509
|
+
"a" => Gem::Requirement.create("!"),
|
510
|
+
"b" => req("= 2"),
|
511
|
+
"c" => req("= 3"),
|
490
512
|
}
|
491
513
|
|
492
514
|
assert_equal expected, @gda.dependencies
|
493
515
|
end
|
494
516
|
|
495
517
|
def test_gemspec_bad
|
496
|
-
FileUtils.touch
|
518
|
+
FileUtils.touch "a.gemspec"
|
497
519
|
|
498
|
-
e =
|
499
|
-
|
520
|
+
e = assert_raise ArgumentError do
|
521
|
+
capture_output do
|
500
522
|
@gda.gemspec
|
501
523
|
end
|
502
524
|
end
|
503
525
|
|
504
|
-
assert_equal
|
526
|
+
assert_equal "invalid gemspec ./a.gemspec", e.message
|
505
527
|
end
|
506
528
|
|
507
529
|
def test_gemspec_development_group
|
508
|
-
save_gemspec
|
509
|
-
s.add_dependency
|
510
|
-
s.add_development_dependency
|
530
|
+
save_gemspec "a", 1 do |s|
|
531
|
+
s.add_dependency "b", 2
|
532
|
+
s.add_development_dependency "c", 3
|
511
533
|
end
|
512
534
|
|
513
535
|
@gda.without_groups << :other
|
514
536
|
|
515
537
|
@gda.gemspec :development_group => :other
|
516
538
|
|
517
|
-
assert_equal [dep(
|
539
|
+
assert_equal [dep("a", "= 1"), dep("b", "= 2")], @set.dependencies
|
518
540
|
|
519
|
-
assert_equal %w[a], @gda.requires[
|
541
|
+
assert_equal %w[a], @gda.requires["a"]
|
520
542
|
end
|
521
543
|
|
522
544
|
def test_gemspec_multiple
|
523
|
-
save_gemspec
|
524
|
-
s.add_dependency
|
545
|
+
save_gemspec "a", 1 do |s|
|
546
|
+
s.add_dependency "b", 2
|
525
547
|
end
|
526
548
|
|
527
|
-
save_gemspec
|
528
|
-
s.add_dependency
|
549
|
+
save_gemspec "b", 2 do |s|
|
550
|
+
s.add_dependency "c", 3
|
529
551
|
end
|
530
552
|
|
531
|
-
e =
|
553
|
+
e = assert_raise ArgumentError do
|
532
554
|
@gda.gemspec
|
533
555
|
end
|
534
556
|
|
@@ -536,31 +558,31 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
|
|
536
558
|
end
|
537
559
|
|
538
560
|
def test_gemspec_name
|
539
|
-
save_gemspec
|
540
|
-
s.add_dependency
|
561
|
+
save_gemspec "a", 1 do |s|
|
562
|
+
s.add_dependency "b", 2
|
541
563
|
end
|
542
564
|
|
543
|
-
save_gemspec
|
544
|
-
s.add_dependency
|
565
|
+
save_gemspec "b", 2 do |s|
|
566
|
+
s.add_dependency "c", 3
|
545
567
|
end
|
546
568
|
|
547
|
-
@gda.gemspec :name =>
|
569
|
+
@gda.gemspec :name => "b"
|
548
570
|
|
549
|
-
assert_equal [dep(
|
571
|
+
assert_equal [dep("b", "= 2"), dep("c", "= 3")], @set.dependencies
|
550
572
|
end
|
551
573
|
|
552
574
|
def test_gemspec_named
|
553
|
-
save_gemspec
|
554
|
-
s.add_dependency
|
575
|
+
save_gemspec "a", 1 do |s|
|
576
|
+
s.add_dependency "b", 2
|
555
577
|
end
|
556
578
|
|
557
579
|
@gda.gemspec
|
558
580
|
|
559
|
-
assert_equal [dep(
|
581
|
+
assert_equal [dep("a", "= 1"), dep("b", "= 2")], @set.dependencies
|
560
582
|
end
|
561
583
|
|
562
584
|
def test_gemspec_none
|
563
|
-
e =
|
585
|
+
e = assert_raise ArgumentError do
|
564
586
|
@gda.gemspec
|
565
587
|
end
|
566
588
|
|
@@ -568,27 +590,27 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
|
|
568
590
|
end
|
569
591
|
|
570
592
|
def test_gemspec_path
|
571
|
-
FileUtils.mkdir
|
593
|
+
FileUtils.mkdir "other"
|
572
594
|
|
573
|
-
save_gemspec
|
574
|
-
s.add_dependency
|
595
|
+
save_gemspec "a", 1, "other" do |s|
|
596
|
+
s.add_dependency "b", 2
|
575
597
|
end
|
576
598
|
|
577
|
-
@gda.gemspec :path =>
|
599
|
+
@gda.gemspec :path => "other"
|
578
600
|
|
579
|
-
assert_equal [dep(
|
601
|
+
assert_equal [dep("a", "= 1"), dep("b", "= 2")], @set.dependencies
|
580
602
|
end
|
581
603
|
|
582
604
|
def test_git
|
583
|
-
@gda.git
|
584
|
-
@gda.gem
|
585
|
-
@gda.gem
|
605
|
+
@gda.git "git://example/repo.git" do
|
606
|
+
@gda.gem "a"
|
607
|
+
@gda.gem "b"
|
586
608
|
end
|
587
609
|
|
588
|
-
assert_equal [dep(
|
610
|
+
assert_equal [dep("a"), dep("b")], @set.dependencies
|
589
611
|
|
590
|
-
assert_equal %w[git://example/repo.git master], @git_set.repositories[
|
591
|
-
assert_equal %w[git://example/repo.git master], @git_set.repositories[
|
612
|
+
assert_equal %w[git://example/repo.git master], @git_set.repositories["a"]
|
613
|
+
assert_equal %w[git://example/repo.git master], @git_set.repositories["b"]
|
592
614
|
end
|
593
615
|
|
594
616
|
def test_git_source
|
@@ -596,21 +618,21 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
|
|
596
618
|
"git://example/#{repo_name}.git"
|
597
619
|
end
|
598
620
|
|
599
|
-
@gda.gem
|
621
|
+
@gda.gem "a", :example => "repo"
|
600
622
|
|
601
|
-
assert_equal %w[git://example/repo.git master], @git_set.repositories[
|
623
|
+
assert_equal %w[git://example/repo.git master], @git_set.repositories["a"]
|
602
624
|
end
|
603
625
|
|
604
626
|
def test_group
|
605
627
|
@gda.group :test do
|
606
|
-
@gda.gem
|
628
|
+
@gda.gem "a"
|
607
629
|
end
|
608
630
|
|
609
|
-
assert_equal [dep(
|
631
|
+
assert_equal [dep("a")], @set.dependencies
|
610
632
|
end
|
611
633
|
|
612
634
|
def test_load
|
613
|
-
tf = Tempfile.open
|
635
|
+
tf = Tempfile.open "gem.deps.rb" do |io|
|
614
636
|
io.write <<-GEM_DEPS
|
615
637
|
gem 'a'
|
616
638
|
|
@@ -624,7 +646,7 @@ end
|
|
624
646
|
|
625
647
|
assert_equal gda, gda.load
|
626
648
|
|
627
|
-
assert_equal [dep(
|
649
|
+
assert_equal [dep("a"), dep("b")], @set.dependencies
|
628
650
|
io
|
629
651
|
end
|
630
652
|
tf.close!
|
@@ -633,18 +655,18 @@ end
|
|
633
655
|
def test_pin_gem_source
|
634
656
|
gda = @GDA.new @set, nil
|
635
657
|
|
636
|
-
gda.send :pin_gem_source,
|
637
|
-
gda.send :pin_gem_source,
|
658
|
+
gda.send :pin_gem_source, "a"
|
659
|
+
gda.send :pin_gem_source, "a"
|
638
660
|
|
639
|
-
e =
|
640
|
-
gda.send :pin_gem_source,
|
661
|
+
e = assert_raise ArgumentError do
|
662
|
+
gda.send :pin_gem_source, "a", :path, "vendor/a"
|
641
663
|
end
|
642
664
|
|
643
665
|
assert_equal "duplicate source path: vendor/a for gem a",
|
644
666
|
e.message
|
645
667
|
|
646
|
-
e =
|
647
|
-
gda.send :pin_gem_source,
|
668
|
+
e = assert_raise ArgumentError do
|
669
|
+
gda.send :pin_gem_source, "a", :git, "git://example/repo.git"
|
648
670
|
end
|
649
671
|
|
650
672
|
assert_equal "duplicate source git: git://example/repo.git for gem a",
|
@@ -652,20 +674,23 @@ end
|
|
652
674
|
end
|
653
675
|
|
654
676
|
def test_platform_mswin
|
655
|
-
|
656
|
-
|
657
|
-
@gda.
|
677
|
+
if win_platform?
|
678
|
+
util_set_arch "x86-mswin32-60" do
|
679
|
+
@gda.platform :mswin do
|
680
|
+
@gda.gem "a"
|
681
|
+
end
|
682
|
+
|
683
|
+
assert_equal [dep("a")], @set.dependencies
|
684
|
+
refute_empty @set.dependencies
|
658
685
|
end
|
686
|
+
else
|
687
|
+
util_set_arch "i686-darwin8.10.1" do
|
688
|
+
@gda.platform :mswin do
|
689
|
+
@gda.gem "a"
|
690
|
+
end
|
659
691
|
|
660
|
-
|
661
|
-
end
|
662
|
-
|
663
|
-
util_set_arch 'x86-mswin32-60' do
|
664
|
-
@gda.platform :mswin do
|
665
|
-
@gda.gem 'a'
|
692
|
+
assert_empty @set.dependencies
|
666
693
|
end
|
667
|
-
|
668
|
-
refute_empty @set.dependencies
|
669
694
|
end
|
670
695
|
end
|
671
696
|
|
@@ -674,9 +699,9 @@ end
|
|
674
699
|
|
675
700
|
gda = @GDA.new @set, nil
|
676
701
|
|
677
|
-
with_engine_version
|
702
|
+
with_engine_version "ruby", "1.8.7" do
|
678
703
|
gda.platform :mri_19, :mri_20 do
|
679
|
-
gda.gem
|
704
|
+
gda.gem "a"
|
680
705
|
end
|
681
706
|
end
|
682
707
|
|
@@ -684,9 +709,9 @@ end
|
|
684
709
|
|
685
710
|
gda = @GDA.new @set, nil
|
686
711
|
|
687
|
-
with_engine_version
|
712
|
+
with_engine_version "ruby", "2.0.0" do
|
688
713
|
gda.platform :mri_19, :mri_20 do
|
689
|
-
gda.gem
|
714
|
+
gda.gem "a"
|
690
715
|
end
|
691
716
|
end
|
692
717
|
|
@@ -699,35 +724,29 @@ end
|
|
699
724
|
win_platform, Gem.win_platform = Gem.win_platform?, false
|
700
725
|
|
701
726
|
@gda.platform :ruby do
|
702
|
-
@gda.gem
|
727
|
+
@gda.gem "a"
|
703
728
|
end
|
704
729
|
|
705
|
-
assert_equal [dep(
|
730
|
+
assert_equal [dep("a")], @set.dependencies
|
706
731
|
ensure
|
707
732
|
Gem.win_platform = win_platform
|
708
733
|
end
|
709
734
|
|
710
735
|
def test_platforms
|
711
|
-
|
712
|
-
|
713
|
-
@gda.
|
714
|
-
|
736
|
+
unless win_platform?
|
737
|
+
util_set_arch "i686-darwin8.10.1" do
|
738
|
+
@gda.platforms :ruby do
|
739
|
+
@gda.gem "a"
|
740
|
+
end
|
715
741
|
|
716
|
-
|
742
|
+
assert_equal [dep("a")], @set.dependencies
|
717
743
|
|
718
|
-
|
719
|
-
|
720
|
-
|
721
|
-
|
722
|
-
assert_equal [dep('a')], @set.dependencies
|
723
|
-
end
|
744
|
+
@gda.platforms :mswin do
|
745
|
+
@gda.gem "b"
|
746
|
+
end
|
724
747
|
|
725
|
-
|
726
|
-
@gda.platforms :mswin do
|
727
|
-
@gda.gem 'c'
|
748
|
+
assert_equal [dep("a")], @set.dependencies
|
728
749
|
end
|
729
|
-
|
730
|
-
assert_equal [dep('a'), dep('c')], @set.dependencies
|
731
750
|
end
|
732
751
|
end
|
733
752
|
|
@@ -736,47 +755,51 @@ end
|
|
736
755
|
end
|
737
756
|
|
738
757
|
def test_ruby_engine
|
739
|
-
with_engine_version
|
758
|
+
with_engine_version "jruby", "1.7.6" do
|
740
759
|
assert @gda.ruby RUBY_VERSION,
|
741
|
-
:engine =>
|
760
|
+
:engine => "jruby", :engine_version => "1.7.6"
|
761
|
+
end
|
742
762
|
|
763
|
+
with_engine_version "truffleruby", "1.0.0-rc11" do
|
764
|
+
assert @gda.ruby RUBY_VERSION,
|
765
|
+
:engine => "truffleruby", :engine_version => "1.0.0-rc11"
|
743
766
|
end
|
744
767
|
end
|
745
768
|
|
746
769
|
def test_ruby_engine_mismatch_engine
|
747
|
-
with_engine_version
|
748
|
-
e =
|
749
|
-
@gda.ruby RUBY_VERSION, :engine =>
|
770
|
+
with_engine_version "ruby", "2.0.0" do
|
771
|
+
e = assert_raise Gem::RubyVersionMismatch do
|
772
|
+
@gda.ruby RUBY_VERSION, :engine => "jruby", :engine_version => "1.7.4"
|
750
773
|
end
|
751
774
|
|
752
|
-
assert_equal
|
775
|
+
assert_equal "Your Ruby engine is ruby, but your gem.deps.rb requires jruby",
|
753
776
|
e.message
|
754
777
|
end
|
755
778
|
end
|
756
779
|
|
757
780
|
def test_ruby_engine_mismatch_version
|
758
|
-
with_engine_version
|
759
|
-
e =
|
760
|
-
@gda.ruby RUBY_VERSION, :engine =>
|
781
|
+
with_engine_version "jruby", "1.7.6" do
|
782
|
+
e = assert_raise Gem::RubyVersionMismatch do
|
783
|
+
@gda.ruby RUBY_VERSION, :engine => "jruby", :engine_version => "1.7.4"
|
761
784
|
end
|
762
785
|
|
763
|
-
assert_equal
|
786
|
+
assert_equal "Your Ruby engine version is jruby 1.7.6, but your gem.deps.rb requires jruby 1.7.4",
|
764
787
|
e.message
|
765
788
|
end
|
766
789
|
end
|
767
790
|
|
768
791
|
def test_ruby_engine_no_engine_version
|
769
|
-
e =
|
770
|
-
@gda.ruby RUBY_VERSION, :engine =>
|
792
|
+
e = assert_raise ArgumentError do
|
793
|
+
@gda.ruby RUBY_VERSION, :engine => "jruby"
|
771
794
|
end
|
772
795
|
|
773
|
-
assert_equal
|
796
|
+
assert_equal "You must specify engine_version along with the Ruby engine",
|
774
797
|
e.message
|
775
798
|
end
|
776
799
|
|
777
800
|
def test_ruby_mismatch
|
778
|
-
e =
|
779
|
-
@gda.ruby
|
801
|
+
e = assert_raise Gem::RubyVersionMismatch do
|
802
|
+
@gda.ruby "1.8.0"
|
780
803
|
end
|
781
804
|
|
782
805
|
assert_equal "Your Ruby version is #{RUBY_VERSION}, but your gem.deps.rb requires 1.8.0", e.message
|
@@ -785,42 +808,38 @@ end
|
|
785
808
|
def test_ruby_mismatch_installing
|
786
809
|
@gda.installing = true
|
787
810
|
|
788
|
-
assert @gda.ruby
|
811
|
+
assert @gda.ruby "1.8.0"
|
789
812
|
end
|
790
813
|
|
791
814
|
def test_source
|
792
815
|
sources = Gem.sources
|
793
816
|
|
794
|
-
@gda.source
|
817
|
+
@gda.source "http://first.example"
|
795
818
|
|
796
819
|
assert_equal %w[http://first.example], Gem.sources
|
797
820
|
|
798
821
|
assert_same sources, Gem.sources
|
799
822
|
|
800
|
-
@gda.source
|
823
|
+
@gda.source "http://second.example"
|
801
824
|
|
802
825
|
assert_equal %w[http://first.example http://second.example], Gem.sources
|
803
826
|
end
|
804
827
|
|
805
828
|
def test_with_engine_version
|
806
829
|
version = RUBY_VERSION
|
807
|
-
engine
|
808
|
-
|
809
|
-
engine_version_const = "#{Gem.ruby_engine.upcase}_VERSION"
|
810
|
-
engine_version = Object.const_get engine_version_const
|
830
|
+
engine = Gem.ruby_engine
|
831
|
+
engine_version = RUBY_ENGINE_VERSION
|
811
832
|
|
812
|
-
with_engine_version
|
813
|
-
assert_equal
|
814
|
-
assert_equal
|
833
|
+
with_engine_version "other", "1.2.3" do
|
834
|
+
assert_equal "other", Gem.ruby_engine
|
835
|
+
assert_equal "1.2.3", RUBY_ENGINE_VERSION
|
815
836
|
|
816
|
-
assert_equal version, RUBY_VERSION
|
837
|
+
assert_equal version, RUBY_VERSION
|
817
838
|
end
|
818
839
|
|
819
840
|
assert_equal version, RUBY_VERSION
|
820
841
|
assert_equal engine, Gem.ruby_engine
|
821
842
|
|
822
|
-
assert_equal engine_version,
|
823
|
-
engine
|
843
|
+
assert_equal engine_version, RUBY_ENGINE_VERSION if engine
|
824
844
|
end
|
825
|
-
|
826
|
-
end
|
845
|
+
end unless Gem.java_platform?
|