rubygems-update 2.7.11 → 3.0.9
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/.rubocop.yml +67 -0
- data/.travis.yml +24 -18
- data/CODE_OF_CONDUCT.md +10 -8
- data/CONTRIBUTING.md +148 -0
- data/History.txt +458 -8
- data/MAINTAINERS.txt +1 -0
- data/Manifest.txt +16 -9
- data/POLICIES.md +92 -0
- data/README.md +53 -26
- data/Rakefile +77 -211
- data/{UPGRADING.rdoc → UPGRADING.md} +31 -32
- data/appveyor.yml +20 -45
- data/bin/gem +1 -2
- data/bin/update_rubygems +2 -3
- data/bundler/CHANGELOG.md +65 -0
- data/bundler/bundler.gemspec +7 -1
- data/bundler/lib/bundler/build_metadata.rb +1 -1
- data/bundler/lib/bundler/cli/add.rb +15 -5
- data/bundler/lib/bundler/cli/binstubs.rb +8 -2
- data/bundler/lib/bundler/cli/doctor.rb +47 -1
- data/bundler/lib/bundler/cli/install.rb +8 -5
- data/bundler/lib/bundler/cli/list.rb +41 -5
- data/bundler/lib/bundler/cli/outdated.rb +7 -1
- data/bundler/lib/bundler/cli/pristine.rb +4 -0
- data/bundler/lib/bundler/cli/remove.rb +18 -0
- data/bundler/lib/bundler/cli.rb +63 -21
- data/bundler/lib/bundler/definition.rb +15 -16
- data/bundler/lib/bundler/dependency.rb +2 -2
- data/bundler/lib/bundler/dsl.rb +19 -3
- data/bundler/lib/bundler/feature_flag.rb +7 -0
- data/bundler/lib/bundler/gem_version_promoter.rb +4 -2
- data/bundler/lib/bundler/injector.rb +168 -9
- data/bundler/lib/bundler/installer/parallel_installer.rb +5 -0
- data/bundler/lib/bundler/installer.rb +29 -6
- data/bundler/lib/bundler/plugin/events.rb +61 -0
- data/bundler/lib/bundler/plugin.rb +10 -3
- data/bundler/lib/bundler/resolver.rb +2 -2
- data/bundler/lib/bundler/rubygems_gem_installer.rb +7 -0
- data/bundler/lib/bundler/runtime.rb +8 -2
- data/bundler/lib/bundler/settings/validator.rb +23 -0
- data/bundler/lib/bundler/settings.rb +24 -3
- data/bundler/lib/bundler/shared_helpers.rb +19 -3
- data/bundler/lib/bundler/source/metadata.rb +2 -3
- data/bundler/lib/bundler/source.rb +9 -9
- data/bundler/lib/bundler/templates/newgem/lib/newgem.rb.tt +1 -0
- data/bundler/lib/bundler/version.rb +1 -1
- data/bundler/lib/bundler.rb +26 -8
- data/bundler/man/bundle-add.ronn +13 -2
- data/bundler/man/bundle-config.ronn +21 -0
- data/bundler/man/bundle-install.ronn +1 -1
- data/bundler/man/bundle-list.ronn +19 -1
- data/bundler/man/bundle-outdated.ronn +4 -0
- data/bundler/man/bundle-remove.ronn +23 -0
- data/bundler/man/bundle-update.ronn +1 -1
- data/bundler/man/bundle.ronn +3 -0
- data/lib/rubygems/available_set.rb +1 -1
- data/lib/rubygems/basic_specification.rb +12 -12
- data/lib/rubygems/bundler_version_finder.rb +3 -3
- data/lib/rubygems/command.rb +22 -15
- data/lib/rubygems/command_manager.rb +22 -5
- data/lib/rubygems/commands/build_command.rb +41 -7
- data/lib/rubygems/commands/cert_command.rb +45 -24
- data/lib/rubygems/commands/check_command.rb +1 -1
- data/lib/rubygems/commands/cleanup_command.rb +14 -7
- data/lib/rubygems/commands/contents_command.rb +14 -15
- data/lib/rubygems/commands/dependency_command.rb +17 -17
- data/lib/rubygems/commands/environment_command.rb +20 -1
- data/lib/rubygems/commands/fetch_command.rb +2 -3
- data/lib/rubygems/commands/generate_index_command.rb +2 -3
- data/lib/rubygems/commands/help_command.rb +12 -13
- data/lib/rubygems/commands/info_command.rb +33 -0
- data/lib/rubygems/commands/install_command.rb +21 -17
- data/lib/rubygems/commands/list_command.rb +0 -1
- data/lib/rubygems/commands/lock_command.rb +3 -4
- data/lib/rubygems/commands/open_command.rb +16 -10
- data/lib/rubygems/commands/owner_command.rb +21 -7
- data/lib/rubygems/commands/pristine_command.rb +23 -16
- data/lib/rubygems/commands/push_command.rb +19 -8
- data/lib/rubygems/commands/query_command.rb +24 -24
- data/lib/rubygems/commands/rdoc_command.rb +3 -4
- data/lib/rubygems/commands/search_command.rb +0 -1
- data/lib/rubygems/commands/server_command.rb +1 -2
- data/lib/rubygems/commands/setup_command.rb +86 -48
- data/lib/rubygems/commands/signin_command.rb +2 -1
- data/lib/rubygems/commands/signout_command.rb +2 -2
- data/lib/rubygems/commands/sources_command.rb +11 -12
- data/lib/rubygems/commands/specification_command.rb +7 -7
- data/lib/rubygems/commands/uninstall_command.rb +50 -18
- data/lib/rubygems/commands/unpack_command.rb +16 -7
- data/lib/rubygems/commands/update_command.rb +28 -23
- data/lib/rubygems/commands/which_command.rb +5 -8
- data/lib/rubygems/commands/yank_command.rb +1 -2
- data/lib/rubygems/compatibility.rb +1 -21
- data/lib/rubygems/config_file.rb +36 -36
- data/lib/rubygems/core_ext/kernel_require.rb +6 -6
- data/lib/rubygems/core_ext/kernel_warn.rb +45 -0
- data/lib/rubygems/defaults.rb +31 -19
- data/lib/rubygems/dependency.rb +15 -15
- data/lib/rubygems/dependency_installer.rb +30 -33
- data/lib/rubygems/dependency_list.rb +9 -10
- data/lib/rubygems/deprecate.rb +2 -3
- data/lib/rubygems/doctor.rb +5 -6
- data/lib/rubygems/errors.rb +3 -3
- data/lib/rubygems/exceptions.rb +11 -8
- data/lib/rubygems/ext/build_error.rb +0 -1
- data/lib/rubygems/ext/builder.rb +50 -23
- data/lib/rubygems/ext/cmake_builder.rb +2 -2
- data/lib/rubygems/ext/configure_builder.rb +2 -3
- data/lib/rubygems/ext/ext_conf_builder.rb +8 -7
- data/lib/rubygems/ext/rake_builder.rb +16 -18
- data/lib/rubygems/ext.rb +0 -1
- data/lib/rubygems/gem_runner.rb +2 -2
- data/lib/rubygems/gemcutter_utilities.rb +46 -12
- data/lib/rubygems/indexer.rb +19 -12
- data/lib/rubygems/install_default_message.rb +0 -1
- data/lib/rubygems/install_message.rb +0 -1
- data/lib/rubygems/install_update_options.rb +3 -29
- data/lib/rubygems/installer.rb +97 -55
- data/lib/rubygems/installer_test_case.rb +2 -16
- data/lib/rubygems/local_remote_options.rb +5 -4
- data/lib/rubygems/mock_gem_ui.rb +3 -4
- data/lib/rubygems/name_tuple.rb +4 -4
- data/lib/rubygems/package/digest_io.rb +3 -4
- data/lib/rubygems/package/file_source.rb +3 -4
- data/lib/rubygems/package/io_source.rb +1 -2
- data/lib/rubygems/package/old.rb +8 -16
- data/lib/rubygems/package/source.rb +0 -1
- data/lib/rubygems/package/tar_header.rb +13 -4
- data/lib/rubygems/package/tar_reader/entry.rb +20 -4
- data/lib/rubygems/package/tar_reader.rb +2 -4
- data/lib/rubygems/package/tar_test_case.rb +2 -8
- data/lib/rubygems/package/tar_writer.rb +13 -15
- data/lib/rubygems/package.rb +90 -63
- data/lib/rubygems/package_task.rb +0 -1
- data/lib/rubygems/path_support.rb +16 -6
- data/lib/rubygems/platform.rb +4 -5
- data/lib/rubygems/psych_tree.rb +1 -1
- data/lib/rubygems/rdoc.rb +2 -313
- data/lib/rubygems/remote_fetcher.rb +29 -82
- data/lib/rubygems/request/connection_pools.rb +24 -13
- data/lib/rubygems/request/http_pool.rb +3 -4
- data/lib/rubygems/request/https_pool.rb +1 -3
- data/lib/rubygems/request.rb +17 -16
- data/lib/rubygems/request_set/gem_dependency_api.rb +46 -49
- data/lib/rubygems/request_set/lockfile/parser.rb +18 -29
- data/lib/rubygems/request_set/lockfile/tokenizer.rb +9 -9
- data/lib/rubygems/request_set/lockfile.rb +12 -12
- data/lib/rubygems/request_set.rb +52 -25
- data/lib/rubygems/requirement.rb +32 -21
- data/lib/rubygems/resolver/activation_request.rb +6 -6
- data/lib/rubygems/resolver/api_set.rb +5 -6
- data/lib/rubygems/resolver/api_specification.rb +2 -3
- data/lib/rubygems/resolver/best_set.rb +5 -6
- data/lib/rubygems/resolver/composed_set.rb +5 -6
- data/lib/rubygems/resolver/conflict.rb +5 -5
- data/lib/rubygems/resolver/current_set.rb +1 -2
- data/lib/rubygems/resolver/dependency_request.rb +4 -4
- data/lib/rubygems/resolver/git_set.rb +5 -6
- data/lib/rubygems/resolver/git_specification.rb +4 -5
- data/lib/rubygems/resolver/index_set.rb +5 -6
- data/lib/rubygems/resolver/index_specification.rb +3 -4
- data/lib/rubygems/resolver/installed_specification.rb +3 -4
- data/lib/rubygems/resolver/installer_set.rb +12 -12
- data/lib/rubygems/resolver/local_specification.rb +1 -2
- data/lib/rubygems/resolver/lock_set.rb +5 -6
- data/lib/rubygems/resolver/lock_specification.rb +7 -8
- data/lib/rubygems/resolver/requirement_list.rb +1 -1
- data/lib/rubygems/resolver/set.rb +2 -2
- data/lib/rubygems/resolver/source_set.rb +4 -5
- data/lib/rubygems/resolver/spec_specification.rb +1 -2
- data/lib/rubygems/resolver/specification.rb +10 -7
- data/lib/rubygems/resolver/stats.rb +1 -1
- data/lib/rubygems/resolver/vendor_set.rb +4 -5
- data/lib/rubygems/resolver/vendor_specification.rb +2 -3
- data/lib/rubygems/resolver.rb +14 -16
- data/lib/rubygems/s3_uri_signer.rb +183 -0
- data/lib/rubygems/safe_yaml.rb +18 -10
- data/lib/rubygems/security/policies.rb +1 -2
- data/lib/rubygems/security/policy.rb +25 -25
- data/lib/rubygems/security/signer.rb +72 -24
- data/lib/rubygems/security/trust_dir.rb +10 -10
- data/lib/rubygems/security.rb +21 -22
- data/lib/rubygems/security_option.rb +0 -1
- data/lib/rubygems/server.rb +21 -21
- data/lib/rubygems/source/git.rb +9 -10
- data/lib/rubygems/source/installed.rb +3 -4
- data/lib/rubygems/source/local.rb +7 -7
- data/lib/rubygems/source/lock.rb +4 -4
- data/lib/rubygems/source/specific_file.rb +5 -5
- data/lib/rubygems/source/vendor.rb +2 -3
- data/lib/rubygems/source.rb +16 -25
- data/lib/rubygems/source_list.rb +2 -2
- data/lib/rubygems/source_local.rb +0 -1
- data/lib/rubygems/spec_fetcher.rb +5 -6
- data/lib/rubygems/specification.rb +219 -558
- data/lib/rubygems/specification_policy.rb +407 -0
- data/lib/rubygems/stub_specification.rb +12 -17
- data/lib/rubygems/test_case.rb +161 -75
- data/lib/rubygems/test_utilities.rb +20 -35
- data/lib/rubygems/text.rb +6 -6
- data/lib/rubygems/uninstaller.rb +38 -27
- data/lib/rubygems/uri_formatter.rb +1 -2
- data/lib/rubygems/user_interaction.rb +37 -89
- data/lib/rubygems/util/licenses.rb +27 -1
- data/lib/rubygems/util/list.rb +1 -1
- data/lib/rubygems/util.rb +32 -14
- data/lib/rubygems/validator.rb +4 -5
- data/lib/rubygems/version.rb +15 -15
- data/lib/rubygems/version_option.rb +2 -3
- data/lib/rubygems.rb +71 -102
- data/rubygems-update.gemspec +43 -0
- data/setup.rb +2 -8
- data/test/rubygems/ca_cert.pem +74 -65
- data/test/rubygems/client.pem +103 -45
- data/test/rubygems/rubygems_plugin.rb +0 -1
- data/test/rubygems/simple_gem.rb +1 -1
- data/test/rubygems/ssl_cert.pem +78 -17
- data/test/rubygems/ssl_key.pem +25 -13
- data/test/rubygems/test_bundled_ca.rb +1 -1
- data/test/rubygems/test_config.rb +7 -2
- data/test/rubygems/test_gem.rb +205 -132
- data/test/rubygems/test_gem_bundler_version_finder.rb +4 -0
- data/test/rubygems/test_gem_command.rb +0 -1
- data/test/rubygems/test_gem_command_manager.rb +18 -3
- data/test/rubygems/test_gem_commands_build_command.rb +220 -15
- data/test/rubygems/test_gem_commands_cert_command.rb +69 -8
- data/test/rubygems/test_gem_commands_check_command.rb +1 -1
- data/test/rubygems/test_gem_commands_cleanup_command.rb +27 -1
- data/test/rubygems/test_gem_commands_contents_command.rb +1 -2
- data/test/rubygems/test_gem_commands_dependency_command.rb +33 -34
- data/test/rubygems/test_gem_commands_environment_command.rb +1 -0
- data/test/rubygems/test_gem_commands_fetch_command.rb +0 -1
- data/test/rubygems/test_gem_commands_generate_index_command.rb +0 -1
- data/test/rubygems/test_gem_commands_help_command.rb +7 -4
- data/test/rubygems/test_gem_commands_info_command.rb +44 -0
- data/test/rubygems/test_gem_commands_install_command.rb +79 -12
- data/test/rubygems/test_gem_commands_lock_command.rb +0 -1
- data/test/rubygems/test_gem_commands_open_command.rb +29 -0
- data/test/rubygems/test_gem_commands_outdated_command.rb +0 -1
- data/test/rubygems/test_gem_commands_owner_command.rb +93 -57
- data/test/rubygems/test_gem_commands_pristine_command.rb +65 -30
- data/test/rubygems/test_gem_commands_push_command.rb +54 -0
- data/test/rubygems/test_gem_commands_query_command.rb +102 -100
- data/test/rubygems/test_gem_commands_search_command.rb +0 -1
- data/test/rubygems/test_gem_commands_server_command.rb +0 -1
- data/test/rubygems/test_gem_commands_setup_command.rb +50 -15
- data/test/rubygems/test_gem_commands_signin_command.rb +1 -1
- data/test/rubygems/test_gem_commands_sources_command.rb +0 -1
- data/test/rubygems/test_gem_commands_specification_command.rb +2 -3
- data/test/rubygems/test_gem_commands_stale_command.rb +3 -2
- data/test/rubygems/test_gem_commands_uninstall_command.rb +161 -8
- data/test/rubygems/test_gem_commands_unpack_command.rb +17 -1
- data/test/rubygems/test_gem_commands_update_command.rb +19 -2
- data/test/rubygems/test_gem_commands_which_command.rb +0 -1
- data/test/rubygems/test_gem_commands_yank_command.rb +0 -1
- data/test/rubygems/test_gem_config_file.rb +4 -2
- data/test/rubygems/test_gem_dependency.rb +0 -1
- data/test/rubygems/test_gem_dependency_installer.rb +8 -5
- data/test/rubygems/test_gem_dependency_list.rb +6 -7
- data/test/rubygems/test_gem_dependency_resolution_error.rb +0 -1
- data/test/rubygems/test_gem_doctor.rb +1 -2
- data/test/rubygems/test_gem_ext_builder.rb +10 -23
- data/test/rubygems/test_gem_ext_cmake_builder.rb +5 -4
- data/test/rubygems/test_gem_ext_configure_builder.rb +3 -3
- data/test/rubygems/test_gem_ext_ext_conf_builder.rb +8 -9
- data/test/rubygems/test_gem_ext_rake_builder.rb +20 -5
- data/test/rubygems/test_gem_gem_runner.rb +0 -1
- data/test/rubygems/test_gem_gemcutter_utilities.rb +32 -6
- data/test/rubygems/test_gem_impossible_dependencies_error.rb +0 -1
- data/test/rubygems/test_gem_indexer.rb +16 -10
- data/test/rubygems/test_gem_install_update_options.rb +1 -20
- data/test/rubygems/test_gem_installer.rb +154 -119
- data/test/rubygems/test_gem_local_remote_options.rb +3 -3
- data/test/rubygems/test_gem_name_tuple.rb +0 -1
- data/test/rubygems/test_gem_package.rb +77 -31
- data/test/rubygems/test_gem_package_old.rb +0 -1
- data/test/rubygems/test_gem_package_tar_header.rb +42 -2
- data/test/rubygems/test_gem_package_tar_reader.rb +0 -1
- data/test/rubygems/test_gem_package_tar_reader_entry.rb +11 -0
- data/test/rubygems/test_gem_package_tar_writer.rb +43 -7
- data/test/rubygems/test_gem_package_task.rb +2 -2
- data/test/rubygems/test_gem_path_support.rb +28 -11
- data/test/rubygems/test_gem_platform.rb +4 -5
- data/test/rubygems/test_gem_rdoc.rb +1 -136
- data/test/rubygems/test_gem_remote_fetcher.rb +241 -141
- data/test/rubygems/test_gem_request.rb +9 -9
- data/test/rubygems/test_gem_request_connection_pools.rb +24 -3
- data/test/rubygems/test_gem_request_set.rb +5 -5
- data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +82 -64
- data/test/rubygems/test_gem_request_set_lockfile.rb +1 -2
- data/test/rubygems/test_gem_request_set_lockfile_parser.rb +4 -9
- data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +1 -1
- data/test/rubygems/test_gem_requirement.rb +24 -4
- data/test/rubygems/test_gem_resolver.rb +13 -17
- data/test/rubygems/test_gem_resolver_activation_request.rb +0 -1
- data/test/rubygems/test_gem_resolver_api_set.rb +0 -1
- data/test/rubygems/test_gem_resolver_api_specification.rb +0 -1
- data/test/rubygems/test_gem_resolver_best_set.rb +0 -1
- data/test/rubygems/test_gem_resolver_composed_set.rb +0 -1
- data/test/rubygems/test_gem_resolver_conflict.rb +0 -1
- data/test/rubygems/test_gem_resolver_dependency_request.rb +0 -1
- data/test/rubygems/test_gem_resolver_git_set.rb +0 -1
- data/test/rubygems/test_gem_resolver_git_specification.rb +0 -1
- data/test/rubygems/test_gem_resolver_index_set.rb +0 -1
- data/test/rubygems/test_gem_resolver_index_specification.rb +0 -1
- data/test/rubygems/test_gem_resolver_installed_specification.rb +0 -1
- data/test/rubygems/test_gem_resolver_installer_set.rb +2 -3
- data/test/rubygems/test_gem_resolver_local_specification.rb +0 -1
- data/test/rubygems/test_gem_resolver_lock_set.rb +0 -1
- data/test/rubygems/test_gem_resolver_lock_specification.rb +0 -1
- data/test/rubygems/test_gem_resolver_requirement_list.rb +0 -1
- data/test/rubygems/test_gem_resolver_specification.rb +1 -2
- data/test/rubygems/test_gem_resolver_vendor_set.rb +0 -1
- data/test/rubygems/test_gem_resolver_vendor_specification.rb +0 -1
- data/test/rubygems/test_gem_security.rb +1 -3
- data/test/rubygems/test_gem_security_policy.rb +5 -6
- data/test/rubygems/test_gem_security_signer.rb +4 -3
- data/test/rubygems/test_gem_security_trust_dir.rb +1 -2
- data/test/rubygems/test_gem_server.rb +4 -4
- data/test/rubygems/test_gem_source.rb +0 -13
- data/test/rubygems/test_gem_source_fetch_problem.rb +0 -1
- data/test/rubygems/test_gem_source_git.rb +0 -1
- data/test/rubygems/test_gem_source_installed.rb +0 -1
- data/test/rubygems/test_gem_source_lock.rb +0 -1
- data/test/rubygems/test_gem_source_vendor.rb +0 -1
- data/test/rubygems/test_gem_spec_fetcher.rb +0 -1
- data/test/rubygems/test_gem_specification.rb +366 -198
- data/test/rubygems/test_gem_stream_ui.rb +15 -32
- data/test/rubygems/test_gem_stub_specification.rb +0 -2
- data/test/rubygems/test_gem_text.rb +4 -0
- data/test/rubygems/test_gem_uninstaller.rb +42 -3
- data/test/rubygems/test_gem_unsatisfiable_dependency_error.rb +0 -1
- data/test/rubygems/test_gem_uri_formatter.rb +0 -1
- data/test/rubygems/test_gem_util.rb +31 -11
- data/test/rubygems/test_gem_validator.rb +0 -1
- data/test/rubygems/test_gem_version.rb +11 -11
- data/test/rubygems/test_gem_version_option.rb +0 -1
- data/test/rubygems/test_remote_fetch_error.rb +0 -1
- data/test/rubygems/test_require.rb +67 -52
- data/util/CL2notes +1 -2
- data/util/ci +20 -12
- data/util/cops/deprecations.rb +52 -0
- data/util/create_certs.rb +6 -7
- data/util/create_certs.sh +27 -0
- data/util/create_encrypted_key.rb +4 -5
- data/util/patch_with_prs.rb +1 -1
- data/util/rubocop +8 -0
- data/util/update_bundled_ca_certificates.rb +12 -13
- data/util/update_changelog.rb +1 -1
- metadata +61 -51
- data/.autotest +0 -71
- data/.document +0 -5
- data/CONTRIBUTING.rdoc +0 -130
- data/CVE-2013-4287.txt +0 -35
- data/CVE-2013-4363.txt +0 -45
- data/CVE-2015-3900.txt +0 -40
- data/POLICIES.rdoc +0 -74
- data/test/rubygems/fix_openssl_warnings.rb +0 -13
@@ -22,13 +22,13 @@ class Gem::Resolver::ActivationRequest
|
|
22
22
|
# +others_possible+ indicates that other specifications may also match this
|
23
23
|
# activation request.
|
24
24
|
|
25
|
-
def initialize
|
25
|
+
def initialize(spec, request, others_possible = true)
|
26
26
|
@spec = spec
|
27
27
|
@request = request
|
28
28
|
@others_possible = others_possible
|
29
29
|
end
|
30
30
|
|
31
|
-
def ==
|
31
|
+
def ==(other) # :nodoc:
|
32
32
|
case other
|
33
33
|
when Gem::Specification
|
34
34
|
@spec == other
|
@@ -49,7 +49,7 @@ class Gem::Resolver::ActivationRequest
|
|
49
49
|
##
|
50
50
|
# Downloads a gem at +path+ and returns the file path.
|
51
51
|
|
52
|
-
def download
|
52
|
+
def download(path)
|
53
53
|
Gem.ensure_gem_subdirectories path
|
54
54
|
|
55
55
|
if @spec.respond_to? :sources
|
@@ -97,7 +97,7 @@ class Gem::Resolver::ActivationRequest
|
|
97
97
|
when false then # TODO remove at RubyGems 3
|
98
98
|
nil
|
99
99
|
else
|
100
|
-
unless @others_possible.empty?
|
100
|
+
unless @others_possible.empty?
|
101
101
|
others = @others_possible.map { |s| s.full_name }
|
102
102
|
" (others possible: #{others.join ', '})"
|
103
103
|
end
|
@@ -152,7 +152,7 @@ class Gem::Resolver::ActivationRequest
|
|
152
152
|
@request.requester
|
153
153
|
end
|
154
154
|
|
155
|
-
def pretty_print
|
155
|
+
def pretty_print(q) # :nodoc:
|
156
156
|
q.group 2, '[Activation request', ']' do
|
157
157
|
q.breakable
|
158
158
|
q.pp @spec
|
@@ -167,7 +167,7 @@ class Gem::Resolver::ActivationRequest
|
|
167
167
|
q.breakable
|
168
168
|
q.text 'others possible'
|
169
169
|
else
|
170
|
-
unless @others_possible.empty?
|
170
|
+
unless @others_possible.empty?
|
171
171
|
q.breakable
|
172
172
|
q.text 'others '
|
173
173
|
q.pp @others_possible.map { |s| s.full_name }
|
@@ -25,7 +25,7 @@ class Gem::Resolver::APISet < Gem::Resolver::Set
|
|
25
25
|
# API URL +dep_uri+ which is described at
|
26
26
|
# http://guides.rubygems.org/rubygems-org-api
|
27
27
|
|
28
|
-
def initialize
|
28
|
+
def initialize(dep_uri = 'https://rubygems.org/api/v1/dependencies')
|
29
29
|
super()
|
30
30
|
|
31
31
|
dep_uri = URI dep_uri unless URI === dep_uri # for ruby 1.8
|
@@ -43,7 +43,7 @@ class Gem::Resolver::APISet < Gem::Resolver::Set
|
|
43
43
|
# Return an array of APISpecification objects matching
|
44
44
|
# DependencyRequest +req+.
|
45
45
|
|
46
|
-
def find_all
|
46
|
+
def find_all(req)
|
47
47
|
res = []
|
48
48
|
|
49
49
|
return res unless @remote
|
@@ -65,7 +65,7 @@ class Gem::Resolver::APISet < Gem::Resolver::Set
|
|
65
65
|
# A hint run by the resolver to allow the Set to fetch
|
66
66
|
# data for DependencyRequests +reqs+.
|
67
67
|
|
68
|
-
def prefetch
|
68
|
+
def prefetch(reqs)
|
69
69
|
return unless @remote
|
70
70
|
names = reqs.map { |r| r.dependency.name }
|
71
71
|
needed = names - @data.keys - @to_fetch
|
@@ -93,7 +93,7 @@ class Gem::Resolver::APISet < Gem::Resolver::Set
|
|
93
93
|
end
|
94
94
|
end
|
95
95
|
|
96
|
-
def pretty_print
|
96
|
+
def pretty_print(q) # :nodoc:
|
97
97
|
q.group 2, '[APISet', ']' do
|
98
98
|
q.breakable
|
99
99
|
q.text "URI: #{@dep_uri}"
|
@@ -107,7 +107,7 @@ class Gem::Resolver::APISet < Gem::Resolver::Set
|
|
107
107
|
##
|
108
108
|
# Return data for all versions of the gem +name+.
|
109
109
|
|
110
|
-
def versions
|
110
|
+
def versions(name) # :nodoc:
|
111
111
|
if @data.key?(name)
|
112
112
|
return @data[name]
|
113
113
|
end
|
@@ -123,4 +123,3 @@ class Gem::Resolver::APISet < Gem::Resolver::Set
|
|
123
123
|
end
|
124
124
|
|
125
125
|
end
|
126
|
-
|
@@ -27,7 +27,7 @@ class Gem::Resolver::APISpecification < Gem::Resolver::Specification
|
|
27
27
|
end
|
28
28
|
end
|
29
29
|
|
30
|
-
def ==
|
30
|
+
def ==(other) # :nodoc:
|
31
31
|
self.class === other and
|
32
32
|
@set == other.set and
|
33
33
|
@name == other.name and
|
@@ -46,7 +46,7 @@ class Gem::Resolver::APISpecification < Gem::Resolver::Specification
|
|
46
46
|
Gem::Platform.match @platform
|
47
47
|
end
|
48
48
|
|
49
|
-
def pretty_print
|
49
|
+
def pretty_print(q) # :nodoc:
|
50
50
|
q.group 2, '[APISpecification', ']' do
|
51
51
|
q.breakable
|
52
52
|
q.text "name: #{name}"
|
@@ -88,4 +88,3 @@ class Gem::Resolver::APISpecification < Gem::Resolver::Specification
|
|
88
88
|
end
|
89
89
|
|
90
90
|
end
|
91
|
-
|
@@ -10,7 +10,7 @@ class Gem::Resolver::BestSet < Gem::Resolver::ComposedSet
|
|
10
10
|
# Creates a BestSet for the given +sources+ or Gem::sources if none are
|
11
11
|
# specified. +sources+ must be a Gem::SourceList.
|
12
12
|
|
13
|
-
def initialize
|
13
|
+
def initialize(sources = Gem.sources)
|
14
14
|
super()
|
15
15
|
|
16
16
|
@sources = sources
|
@@ -25,7 +25,7 @@ class Gem::Resolver::BestSet < Gem::Resolver::ComposedSet
|
|
25
25
|
end
|
26
26
|
end
|
27
27
|
|
28
|
-
def find_all
|
28
|
+
def find_all(req) # :nodoc:
|
29
29
|
pick_sets if @remote and @sets.empty?
|
30
30
|
|
31
31
|
super
|
@@ -35,13 +35,13 @@ class Gem::Resolver::BestSet < Gem::Resolver::ComposedSet
|
|
35
35
|
retry
|
36
36
|
end
|
37
37
|
|
38
|
-
def prefetch
|
38
|
+
def prefetch(reqs) # :nodoc:
|
39
39
|
pick_sets if @remote and @sets.empty?
|
40
40
|
|
41
41
|
super
|
42
42
|
end
|
43
43
|
|
44
|
-
def pretty_print
|
44
|
+
def pretty_print(q) # :nodoc:
|
45
45
|
q.group 2, '[BestSet', ']' do
|
46
46
|
q.breakable
|
47
47
|
q.text 'sets:'
|
@@ -58,7 +58,7 @@ class Gem::Resolver::BestSet < Gem::Resolver::ComposedSet
|
|
58
58
|
#
|
59
59
|
# The calling method must retry the exception to repeat the lookup.
|
60
60
|
|
61
|
-
def replace_failed_api_set
|
61
|
+
def replace_failed_api_set(error) # :nodoc:
|
62
62
|
uri = error.uri
|
63
63
|
uri = URI uri unless URI === uri
|
64
64
|
uri.query = nil
|
@@ -76,4 +76,3 @@ class Gem::Resolver::BestSet < Gem::Resolver::ComposedSet
|
|
76
76
|
end
|
77
77
|
|
78
78
|
end
|
79
|
-
|
@@ -16,7 +16,7 @@ class Gem::Resolver::ComposedSet < Gem::Resolver::Set
|
|
16
16
|
# Creates a new ComposedSet containing +sets+. Use
|
17
17
|
# Gem::Resolver::compose_sets instead.
|
18
18
|
|
19
|
-
def initialize
|
19
|
+
def initialize(*sets)
|
20
20
|
super()
|
21
21
|
|
22
22
|
@sets = sets
|
@@ -26,7 +26,7 @@ class Gem::Resolver::ComposedSet < Gem::Resolver::Set
|
|
26
26
|
# When +allow_prerelease+ is set to +true+ prereleases gems are allowed to
|
27
27
|
# match dependencies.
|
28
28
|
|
29
|
-
def prerelease=
|
29
|
+
def prerelease=(allow_prerelease)
|
30
30
|
super
|
31
31
|
|
32
32
|
sets.each do |set|
|
@@ -37,7 +37,7 @@ class Gem::Resolver::ComposedSet < Gem::Resolver::Set
|
|
37
37
|
##
|
38
38
|
# Sets the remote network access for all composed sets.
|
39
39
|
|
40
|
-
def remote=
|
40
|
+
def remote=(remote)
|
41
41
|
super
|
42
42
|
|
43
43
|
@sets.each { |set| set.remote = remote }
|
@@ -50,7 +50,7 @@ class Gem::Resolver::ComposedSet < Gem::Resolver::Set
|
|
50
50
|
##
|
51
51
|
# Finds all specs matching +req+ in all sets.
|
52
52
|
|
53
|
-
def find_all
|
53
|
+
def find_all(req)
|
54
54
|
@sets.map do |s|
|
55
55
|
s.find_all req
|
56
56
|
end.flatten
|
@@ -59,9 +59,8 @@ class Gem::Resolver::ComposedSet < Gem::Resolver::Set
|
|
59
59
|
##
|
60
60
|
# Prefetches +reqs+ in all sets.
|
61
61
|
|
62
|
-
def prefetch
|
62
|
+
def prefetch(reqs)
|
63
63
|
@sets.each { |s| s.prefetch(reqs) }
|
64
64
|
end
|
65
65
|
|
66
66
|
end
|
67
|
-
|
@@ -27,7 +27,7 @@ class Gem::Resolver::Conflict
|
|
27
27
|
@failed_dep = failed_dep
|
28
28
|
end
|
29
29
|
|
30
|
-
def ==
|
30
|
+
def ==(other) # :nodoc:
|
31
31
|
self.class === other and
|
32
32
|
@dependency == other.dependency and
|
33
33
|
@activated == other.activated and
|
@@ -57,7 +57,7 @@ class Gem::Resolver::Conflict
|
|
57
57
|
requirement = dependency.requirement
|
58
58
|
alternates = dependency.matching_specs.map { |spec| spec.full_name }
|
59
59
|
|
60
|
-
unless alternates.empty?
|
60
|
+
unless alternates.empty?
|
61
61
|
matching = <<-MATCHING.chomp
|
62
62
|
|
63
63
|
Gems matching %s:
|
@@ -97,7 +97,7 @@ class Gem::Resolver::Conflict
|
|
97
97
|
@dependency.name == spec.name
|
98
98
|
end
|
99
99
|
|
100
|
-
def pretty_print
|
100
|
+
def pretty_print(q) # :nodoc:
|
101
101
|
q.group 2, '[Dependency conflict: ', ']' do
|
102
102
|
q.breakable
|
103
103
|
|
@@ -109,7 +109,7 @@ class Gem::Resolver::Conflict
|
|
109
109
|
q.pp @dependency
|
110
110
|
|
111
111
|
q.breakable
|
112
|
-
if @dependency == @failed_dep
|
112
|
+
if @dependency == @failed_dep
|
113
113
|
q.text ' failed'
|
114
114
|
else
|
115
115
|
q.text ' failed dependency '
|
@@ -121,7 +121,7 @@ class Gem::Resolver::Conflict
|
|
121
121
|
##
|
122
122
|
# Path of activations from the +current+ list.
|
123
123
|
|
124
|
-
def request_path
|
124
|
+
def request_path(current)
|
125
125
|
path = []
|
126
126
|
|
127
127
|
while current do
|
@@ -19,12 +19,12 @@ class Gem::Resolver::DependencyRequest
|
|
19
19
|
# Creates a new DependencyRequest for +dependency+ from +requester+.
|
20
20
|
# +requester may be nil if the request came from a user.
|
21
21
|
|
22
|
-
def initialize
|
22
|
+
def initialize(dependency, requester)
|
23
23
|
@dependency = dependency
|
24
24
|
@requester = requester
|
25
25
|
end
|
26
26
|
|
27
|
-
def ==
|
27
|
+
def ==(other) # :nodoc:
|
28
28
|
case other
|
29
29
|
when Gem::Dependency
|
30
30
|
@dependency == other
|
@@ -48,7 +48,7 @@ class Gem::Resolver::DependencyRequest
|
|
48
48
|
# NOTE: #match? only matches prerelease versions when #dependency is a
|
49
49
|
# prerelease dependency.
|
50
50
|
|
51
|
-
def match?
|
51
|
+
def match?(spec, allow_prerelease = false)
|
52
52
|
@dependency.match? spec, nil, allow_prerelease
|
53
53
|
end
|
54
54
|
|
@@ -95,7 +95,7 @@ class Gem::Resolver::DependencyRequest
|
|
95
95
|
@requester ? @requester.request : "(unknown)"
|
96
96
|
end
|
97
97
|
|
98
|
-
def pretty_print
|
98
|
+
def pretty_print(q) # :nodoc:
|
99
99
|
q.group 2, '[Dependency request ', ']' do
|
100
100
|
q.breakable
|
101
101
|
q.text @dependency.to_s
|
@@ -43,7 +43,7 @@ class Gem::Resolver::GitSet < Gem::Resolver::Set
|
|
43
43
|
@specs = {}
|
44
44
|
end
|
45
45
|
|
46
|
-
def add_git_gem
|
46
|
+
def add_git_gem(name, repository, reference, submodules) # :nodoc:
|
47
47
|
@repositories[name] = [repository, reference]
|
48
48
|
@need_submodules[repository] = submodules
|
49
49
|
end
|
@@ -56,7 +56,7 @@ class Gem::Resolver::GitSet < Gem::Resolver::Set
|
|
56
56
|
# This fills in the prefetch information as enough information about the gem
|
57
57
|
# is present in the arguments.
|
58
58
|
|
59
|
-
def add_git_spec
|
59
|
+
def add_git_spec(name, version, repository, reference, submodules) # :nodoc:
|
60
60
|
add_git_gem name, repository, reference, submodules
|
61
61
|
|
62
62
|
source = Gem::Source::Git.new name, repository, reference
|
@@ -77,7 +77,7 @@ class Gem::Resolver::GitSet < Gem::Resolver::Set
|
|
77
77
|
##
|
78
78
|
# Finds all git gems matching +req+
|
79
79
|
|
80
|
-
def find_all
|
80
|
+
def find_all(req)
|
81
81
|
prefetch nil
|
82
82
|
|
83
83
|
specs.values.select do |spec|
|
@@ -88,7 +88,7 @@ class Gem::Resolver::GitSet < Gem::Resolver::Set
|
|
88
88
|
##
|
89
89
|
# Prefetches specifications from the git repositories in this set.
|
90
90
|
|
91
|
-
def prefetch
|
91
|
+
def prefetch(reqs)
|
92
92
|
return unless @specs.empty?
|
93
93
|
|
94
94
|
@repositories.each do |name, (repository, reference)|
|
@@ -104,7 +104,7 @@ class Gem::Resolver::GitSet < Gem::Resolver::Set
|
|
104
104
|
end
|
105
105
|
end
|
106
106
|
|
107
|
-
def pretty_print
|
107
|
+
def pretty_print(q) # :nodoc:
|
108
108
|
q.group 2, '[GitSet', ']' do
|
109
109
|
next if @repositories.empty?
|
110
110
|
q.breakable
|
@@ -120,4 +120,3 @@ class Gem::Resolver::GitSet < Gem::Resolver::Set
|
|
120
120
|
end
|
121
121
|
|
122
122
|
end
|
123
|
-
|
@@ -6,14 +6,14 @@
|
|
6
6
|
|
7
7
|
class Gem::Resolver::GitSpecification < Gem::Resolver::SpecSpecification
|
8
8
|
|
9
|
-
def ==
|
9
|
+
def ==(other) # :nodoc:
|
10
10
|
self.class === other and
|
11
11
|
@set == other.set and
|
12
12
|
@spec == other.spec and
|
13
13
|
@source == other.source
|
14
14
|
end
|
15
15
|
|
16
|
-
def add_dependency
|
16
|
+
def add_dependency(dependency) # :nodoc:
|
17
17
|
spec.dependencies << dependency
|
18
18
|
end
|
19
19
|
|
@@ -21,7 +21,7 @@ class Gem::Resolver::GitSpecification < Gem::Resolver::SpecSpecification
|
|
21
21
|
# Installing a git gem only involves building the extensions and generating
|
22
22
|
# the executables.
|
23
23
|
|
24
|
-
def install
|
24
|
+
def install(options = {})
|
25
25
|
require 'rubygems/installer'
|
26
26
|
|
27
27
|
installer = Gem::Installer.for_spec spec, options
|
@@ -35,7 +35,7 @@ class Gem::Resolver::GitSpecification < Gem::Resolver::SpecSpecification
|
|
35
35
|
installer.run_post_install_hooks
|
36
36
|
end
|
37
37
|
|
38
|
-
def pretty_print
|
38
|
+
def pretty_print(q) # :nodoc:
|
39
39
|
q.group 2, '[GitSpecification', ']' do
|
40
40
|
q.breakable
|
41
41
|
q.text "name: #{name}"
|
@@ -56,4 +56,3 @@ class Gem::Resolver::GitSpecification < Gem::Resolver::SpecSpecification
|
|
56
56
|
end
|
57
57
|
|
58
58
|
end
|
59
|
-
|
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
class Gem::Resolver::IndexSet < Gem::Resolver::Set
|
7
7
|
|
8
|
-
def initialize
|
8
|
+
def initialize(source = nil) # :nodoc:
|
9
9
|
super()
|
10
10
|
|
11
11
|
@f =
|
12
|
-
if source
|
12
|
+
if source
|
13
13
|
sources = Gem::SourceList.from [source]
|
14
14
|
|
15
15
|
Gem::SpecFetcher.new sources
|
@@ -36,7 +36,7 @@ class Gem::Resolver::IndexSet < Gem::Resolver::Set
|
|
36
36
|
# Return an array of IndexSpecification objects matching
|
37
37
|
# DependencyRequest +req+.
|
38
38
|
|
39
|
-
def find_all
|
39
|
+
def find_all(req)
|
40
40
|
res = []
|
41
41
|
|
42
42
|
return res unless @remote
|
@@ -44,7 +44,7 @@ class Gem::Resolver::IndexSet < Gem::Resolver::Set
|
|
44
44
|
name = req.dependency.name
|
45
45
|
|
46
46
|
@all[name].each do |uri, n|
|
47
|
-
if req.match? n, @prerelease
|
47
|
+
if req.match? n, @prerelease
|
48
48
|
res << Gem::Resolver::IndexSpecification.new(
|
49
49
|
self, n.name, n.version, uri, n.platform)
|
50
50
|
end
|
@@ -53,7 +53,7 @@ class Gem::Resolver::IndexSet < Gem::Resolver::Set
|
|
53
53
|
res
|
54
54
|
end
|
55
55
|
|
56
|
-
def pretty_print
|
56
|
+
def pretty_print(q) # :nodoc:
|
57
57
|
q.group 2, '[IndexSet', ']' do
|
58
58
|
q.breakable
|
59
59
|
q.text 'sources:'
|
@@ -78,4 +78,3 @@ class Gem::Resolver::IndexSet < Gem::Resolver::Set
|
|
78
78
|
end
|
79
79
|
|
80
80
|
end
|
81
|
-
|
@@ -15,7 +15,7 @@ class Gem::Resolver::IndexSpecification < Gem::Resolver::Specification
|
|
15
15
|
# The +name+, +version+ and +platform+ are the name, version and platform of
|
16
16
|
# the gem.
|
17
17
|
|
18
|
-
def initialize
|
18
|
+
def initialize(set, name, version, source, platform)
|
19
19
|
super()
|
20
20
|
|
21
21
|
@set = set
|
@@ -38,12 +38,12 @@ class Gem::Resolver::IndexSpecification < Gem::Resolver::Specification
|
|
38
38
|
'#<%s %s source %s>' % [self.class, full_name, @source]
|
39
39
|
end
|
40
40
|
|
41
|
-
def pretty_print
|
41
|
+
def pretty_print(q) # :nodoc:
|
42
42
|
q.group 2, '[Index specification', ']' do
|
43
43
|
q.breakable
|
44
44
|
q.text full_name
|
45
45
|
|
46
|
-
unless Gem::Platform::RUBY == @platform
|
46
|
+
unless Gem::Platform::RUBY == @platform
|
47
47
|
q.breakable
|
48
48
|
q.text @platform.to_s
|
49
49
|
end
|
@@ -67,4 +67,3 @@ class Gem::Resolver::IndexSpecification < Gem::Resolver::Specification
|
|
67
67
|
end
|
68
68
|
|
69
69
|
end
|
70
|
-
|
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
class Gem::Resolver::InstalledSpecification < Gem::Resolver::SpecSpecification
|
7
7
|
|
8
|
-
def ==
|
8
|
+
def ==(other) # :nodoc:
|
9
9
|
self.class === other and
|
10
10
|
@set == other.set and
|
11
11
|
@spec == other.spec
|
@@ -15,7 +15,7 @@ class Gem::Resolver::InstalledSpecification < Gem::Resolver::SpecSpecification
|
|
15
15
|
# This is a null install as this specification is already installed.
|
16
16
|
# +options+ are ignored.
|
17
17
|
|
18
|
-
def install
|
18
|
+
def install(options = {})
|
19
19
|
yield nil
|
20
20
|
end
|
21
21
|
|
@@ -30,7 +30,7 @@ class Gem::Resolver::InstalledSpecification < Gem::Resolver::SpecSpecification
|
|
30
30
|
super
|
31
31
|
end
|
32
32
|
|
33
|
-
def pretty_print
|
33
|
+
def pretty_print(q) # :nodoc:
|
34
34
|
q.group 2, '[InstalledSpecification', ']' do
|
35
35
|
q.breakable
|
36
36
|
q.text "name: #{name}"
|
@@ -56,4 +56,3 @@ class Gem::Resolver::InstalledSpecification < Gem::Resolver::SpecSpecification
|
|
56
56
|
end
|
57
57
|
|
58
58
|
end
|
59
|
-
|
@@ -29,7 +29,7 @@ class Gem::Resolver::InstallerSet < Gem::Resolver::Set
|
|
29
29
|
##
|
30
30
|
# Creates a new InstallerSet that will look for gems in +domain+.
|
31
31
|
|
32
|
-
def initialize
|
32
|
+
def initialize(domain)
|
33
33
|
super()
|
34
34
|
|
35
35
|
@domain = domain
|
@@ -50,7 +50,7 @@ class Gem::Resolver::InstallerSet < Gem::Resolver::Set
|
|
50
50
|
# Looks up the latest specification for +dependency+ and adds it to the
|
51
51
|
# always_install list.
|
52
52
|
|
53
|
-
def add_always_install
|
53
|
+
def add_always_install(dependency)
|
54
54
|
request = Gem::Resolver::DependencyRequest.new dependency, nil
|
55
55
|
|
56
56
|
found = find_all request
|
@@ -65,7 +65,7 @@ class Gem::Resolver::InstallerSet < Gem::Resolver::Set
|
|
65
65
|
Gem::Platform.local === s.platform
|
66
66
|
end
|
67
67
|
|
68
|
-
if found.empty?
|
68
|
+
if found.empty?
|
69
69
|
exc = Gem::UnsatisfiableDependencyError.new request
|
70
70
|
exc.errors = errors
|
71
71
|
|
@@ -83,7 +83,7 @@ class Gem::Resolver::InstallerSet < Gem::Resolver::Set
|
|
83
83
|
# Adds a local gem requested using +dep_name+ with the given +spec+ that can
|
84
84
|
# be loaded and installed using the +source+.
|
85
85
|
|
86
|
-
def add_local
|
86
|
+
def add_local(dep_name, spec, source)
|
87
87
|
@local[dep_name] = [spec, source]
|
88
88
|
end
|
89
89
|
|
@@ -112,7 +112,7 @@ class Gem::Resolver::InstallerSet < Gem::Resolver::Set
|
|
112
112
|
# Returns an array of IndexSpecification objects matching DependencyRequest
|
113
113
|
# +req+.
|
114
114
|
|
115
|
-
def find_all
|
115
|
+
def find_all(req)
|
116
116
|
res = []
|
117
117
|
|
118
118
|
dep = req.dependency
|
@@ -128,7 +128,7 @@ class Gem::Resolver::InstallerSet < Gem::Resolver::Set
|
|
128
128
|
res << Gem::Resolver::InstalledSpecification.new(self, gemspec)
|
129
129
|
end unless @ignore_installed
|
130
130
|
|
131
|
-
if consider_local?
|
131
|
+
if consider_local?
|
132
132
|
matching_local = @local.values.select do |spec, _|
|
133
133
|
req.match? spec
|
134
134
|
end.map do |spec, source|
|
@@ -138,7 +138,7 @@ class Gem::Resolver::InstallerSet < Gem::Resolver::Set
|
|
138
138
|
res.concat matching_local
|
139
139
|
|
140
140
|
begin
|
141
|
-
if local_spec = @local_source.find_gem(name, dep.requirement)
|
141
|
+
if local_spec = @local_source.find_gem(name, dep.requirement)
|
142
142
|
res << Gem::Resolver::IndexSpecification.new(
|
143
143
|
self, local_spec.name, local_spec.version,
|
144
144
|
@local_source, local_spec.platform)
|
@@ -161,7 +161,7 @@ class Gem::Resolver::InstallerSet < Gem::Resolver::Set
|
|
161
161
|
@remote_set.prefetch(reqs) if consider_remote?
|
162
162
|
end
|
163
163
|
|
164
|
-
def prerelease=
|
164
|
+
def prerelease=(allow_prerelease)
|
165
165
|
super
|
166
166
|
|
167
167
|
@remote_set.prerelease = allow_prerelease
|
@@ -179,7 +179,7 @@ class Gem::Resolver::InstallerSet < Gem::Resolver::Set
|
|
179
179
|
# Called from IndexSpecification to get a true Specification
|
180
180
|
# object.
|
181
181
|
|
182
|
-
def load_spec
|
182
|
+
def load_spec(name, ver, platform, source) # :nodoc:
|
183
183
|
key = "#{name}-#{ver}-#{platform}"
|
184
184
|
|
185
185
|
@specs.fetch key do
|
@@ -192,13 +192,13 @@ class Gem::Resolver::InstallerSet < Gem::Resolver::Set
|
|
192
192
|
##
|
193
193
|
# Has a local gem for +dep_name+ been added to this set?
|
194
194
|
|
195
|
-
def local?
|
195
|
+
def local?(dep_name) # :nodoc:
|
196
196
|
spec, _ = @local[dep_name]
|
197
197
|
|
198
198
|
spec
|
199
199
|
end
|
200
200
|
|
201
|
-
def pretty_print
|
201
|
+
def pretty_print(q) # :nodoc:
|
202
202
|
q.group 2, '[InstallerSet', ']' do
|
203
203
|
q.breakable
|
204
204
|
q.text "domain: #{@domain}"
|
@@ -213,7 +213,7 @@ class Gem::Resolver::InstallerSet < Gem::Resolver::Set
|
|
213
213
|
end
|
214
214
|
end
|
215
215
|
|
216
|
-
def remote=
|
216
|
+
def remote=(remote) # :nodoc:
|
217
217
|
case @domain
|
218
218
|
when :local then
|
219
219
|
@domain = :both if remote
|
@@ -17,7 +17,7 @@ class Gem::Resolver::LocalSpecification < Gem::Resolver::SpecSpecification
|
|
17
17
|
true
|
18
18
|
end
|
19
19
|
|
20
|
-
def pretty_print
|
20
|
+
def pretty_print(q) # :nodoc:
|
21
21
|
q.group 2, '[LocalSpecification', ']' do
|
22
22
|
q.breakable
|
23
23
|
q.text "name: #{name}"
|
@@ -39,4 +39,3 @@ class Gem::Resolver::LocalSpecification < Gem::Resolver::SpecSpecification
|
|
39
39
|
end
|
40
40
|
|
41
41
|
end
|
42
|
-
|
@@ -9,7 +9,7 @@ class Gem::Resolver::LockSet < Gem::Resolver::Set
|
|
9
9
|
##
|
10
10
|
# Creates a new LockSet from the given +sources+
|
11
11
|
|
12
|
-
def initialize
|
12
|
+
def initialize(sources)
|
13
13
|
super()
|
14
14
|
|
15
15
|
@sources = sources.map do |source|
|
@@ -26,7 +26,7 @@ class Gem::Resolver::LockSet < Gem::Resolver::Set
|
|
26
26
|
# The specification's set will be the current set, and the source will be
|
27
27
|
# the current set's source.
|
28
28
|
|
29
|
-
def add
|
29
|
+
def add(name, version, platform) # :nodoc:
|
30
30
|
version = Gem::Version.new version
|
31
31
|
specs = [
|
32
32
|
Gem::Resolver::LockSpecification.new(self, name, version, @sources, platform)
|
@@ -41,7 +41,7 @@ class Gem::Resolver::LockSet < Gem::Resolver::Set
|
|
41
41
|
# Returns an Array of IndexSpecification objects matching the
|
42
42
|
# DependencyRequest +req+.
|
43
43
|
|
44
|
-
def find_all
|
44
|
+
def find_all(req)
|
45
45
|
@specs.select do |spec|
|
46
46
|
req.match? spec
|
47
47
|
end
|
@@ -51,7 +51,7 @@ class Gem::Resolver::LockSet < Gem::Resolver::Set
|
|
51
51
|
# Loads a Gem::Specification with the given +name+, +version+ and
|
52
52
|
# +platform+. +source+ is ignored.
|
53
53
|
|
54
|
-
def load_spec
|
54
|
+
def load_spec(name, version, platform, source) # :nodoc:
|
55
55
|
dep = Gem::Dependency.new name, version
|
56
56
|
|
57
57
|
found = @specs.find do |spec|
|
@@ -63,7 +63,7 @@ class Gem::Resolver::LockSet < Gem::Resolver::Set
|
|
63
63
|
found.source.fetch_spec tuple
|
64
64
|
end
|
65
65
|
|
66
|
-
def pretty_print
|
66
|
+
def pretty_print(q) # :nodoc:
|
67
67
|
q.group 2, '[LockSet', ']' do
|
68
68
|
q.breakable
|
69
69
|
q.text 'source:'
|
@@ -80,4 +80,3 @@ class Gem::Resolver::LockSet < Gem::Resolver::Set
|
|
80
80
|
end
|
81
81
|
|
82
82
|
end
|
83
|
-
|