rubygems-update 3.2.24 → 3.2.28
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +57 -0
- data/Manifest.txt +7 -7
- data/bundler/CHANGELOG.md +62 -0
- data/bundler/lib/bundler/build_metadata.rb +2 -2
- data/bundler/lib/bundler/cli/cache.rb +1 -1
- data/bundler/lib/bundler/cli/doctor.rb +1 -1
- data/bundler/lib/bundler/cli/exec.rb +1 -6
- data/bundler/lib/bundler/cli/gem.rb +3 -2
- data/bundler/lib/bundler/cli/install.rb +4 -17
- data/bundler/lib/bundler/cli/list.rb +7 -1
- data/bundler/lib/bundler/cli/open.rb +1 -2
- data/bundler/lib/bundler/cli/remove.rb +1 -2
- data/bundler/lib/bundler/cli/update.rb +1 -1
- data/bundler/lib/bundler/cli.rb +12 -9
- data/bundler/lib/bundler/definition.rb +25 -29
- data/bundler/lib/bundler/dsl.rb +14 -1
- data/bundler/lib/bundler/errors.rb +1 -1
- data/bundler/lib/bundler/installer/gem_installer.rb +3 -16
- data/bundler/lib/bundler/installer/standalone.rb +13 -8
- data/bundler/lib/bundler/installer.rb +0 -1
- data/bundler/lib/bundler/lockfile_parser.rb +1 -0
- data/bundler/lib/bundler/plugin/installer.rb +2 -0
- data/bundler/lib/bundler/plugin.rb +23 -6
- data/bundler/lib/bundler/resolver.rb +10 -17
- data/bundler/lib/bundler/rubygems_gem_installer.rb +5 -1
- data/bundler/lib/bundler/rubygems_integration.rb +2 -0
- data/bundler/lib/bundler/runtime.rb +15 -6
- data/bundler/lib/bundler/settings.rb +13 -1
- data/bundler/lib/bundler/setup.rb +2 -2
- data/bundler/lib/bundler/shared_helpers.rb +0 -7
- data/bundler/lib/bundler/source/git/git_proxy.rb +1 -2
- data/bundler/lib/bundler/source/rubygems.rb +23 -2
- data/bundler/lib/bundler/source/rubygems_aggregate.rb +4 -0
- data/bundler/lib/bundler/source.rb +4 -0
- data/bundler/lib/bundler/source_list.rb +16 -3
- data/bundler/lib/bundler/spec_set.rb +13 -35
- data/bundler/lib/bundler/templates/Executable.bundler +6 -6
- data/bundler/lib/bundler/templates/newgem/github/workflows/main.yml.tt +13 -2
- data/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt +4 -2
- data/bundler/lib/bundler/version.rb +1 -1
- data/bundler/lib/bundler/worker.rb +17 -2
- data/bundler/lib/bundler.rb +11 -21
- data/lib/rubygems/command_manager.rb +3 -3
- data/lib/rubygems/commands/build_command.rb +3 -3
- data/lib/rubygems/commands/cert_command.rb +2 -2
- data/lib/rubygems/commands/check_command.rb +4 -4
- data/lib/rubygems/commands/cleanup_command.rb +3 -3
- data/lib/rubygems/commands/contents_command.rb +2 -2
- data/lib/rubygems/commands/dependency_command.rb +3 -3
- data/lib/rubygems/commands/environment_command.rb +1 -1
- data/lib/rubygems/commands/fetch_command.rb +3 -3
- data/lib/rubygems/commands/generate_index_command.rb +2 -2
- data/lib/rubygems/commands/help_command.rb +1 -1
- data/lib/rubygems/commands/info_command.rb +2 -2
- data/lib/rubygems/commands/install_command.rb +12 -11
- data/lib/rubygems/commands/list_command.rb +2 -2
- data/lib/rubygems/commands/lock_command.rb +1 -1
- data/lib/rubygems/commands/mirror_command.rb +1 -1
- data/lib/rubygems/commands/open_command.rb +2 -2
- data/lib/rubygems/commands/outdated_command.rb +4 -4
- data/lib/rubygems/commands/owner_command.rb +4 -4
- data/lib/rubygems/commands/pristine_command.rb +5 -5
- data/lib/rubygems/commands/push_command.rb +4 -4
- data/lib/rubygems/commands/query_command.rb +3 -3
- data/lib/rubygems/commands/rdoc_command.rb +3 -3
- data/lib/rubygems/commands/search_command.rb +2 -2
- data/lib/rubygems/commands/server_command.rb +3 -3
- data/lib/rubygems/commands/setup_command.rb +5 -5
- data/lib/rubygems/commands/signin_command.rb +2 -2
- data/lib/rubygems/commands/signout_command.rb +1 -1
- data/lib/rubygems/commands/sources_command.rb +4 -4
- data/lib/rubygems/commands/specification_command.rb +4 -4
- data/lib/rubygems/commands/stale_command.rb +1 -1
- data/lib/rubygems/commands/uninstall_command.rb +3 -3
- data/lib/rubygems/commands/unpack_command.rb +5 -5
- data/lib/rubygems/commands/update_command.rb +9 -9
- data/lib/rubygems/commands/which_command.rb +1 -1
- data/lib/rubygems/commands/yank_command.rb +4 -4
- data/lib/rubygems/config_file.rb +5 -5
- data/lib/rubygems/dependency_installer.rb +8 -8
- data/lib/rubygems/dependency_list.rb +1 -1
- data/lib/rubygems/doctor.rb +2 -2
- data/lib/rubygems/exceptions.rb +1 -1
- data/lib/rubygems/ext/builder.rb +1 -0
- data/lib/rubygems/ext/ext_conf_builder.rb +1 -2
- data/lib/rubygems/ext/rake_builder.rb +1 -2
- data/lib/rubygems/gem_runner.rb +3 -3
- data/lib/rubygems/gemcutter_utilities.rb +2 -2
- data/lib/rubygems/indexer.rb +2 -2
- data/lib/rubygems/install_default_message.rb +2 -2
- data/lib/rubygems/install_message.rb +2 -2
- data/lib/rubygems/install_update_options.rb +2 -2
- data/lib/rubygems/installer.rb +17 -8
- data/lib/rubygems/local_remote_options.rb +1 -1
- data/lib/rubygems/mock_gem_ui.rb +1 -1
- data/lib/rubygems/package/tar_reader.rb +1 -1
- data/lib/rubygems/package.rb +12 -12
- data/lib/rubygems/package_task.rb +2 -2
- data/lib/rubygems/platform.rb +2 -1
- data/lib/rubygems/rdoc.rb +1 -1
- data/lib/rubygems/remote_fetcher.rb +14 -21
- data/lib/rubygems/request.rb +5 -5
- data/lib/rubygems/request_set/lockfile/tokenizer.rb +1 -1
- data/lib/rubygems/request_set/lockfile.rb +1 -1
- data/lib/rubygems/request_set.rb +4 -4
- data/lib/rubygems/requirement.rb +3 -22
- data/lib/rubygems/resolver/git_specification.rb +1 -1
- data/lib/rubygems/resolver/installer_set.rb +3 -3
- data/lib/rubygems/resolver/molinillo.rb +1 -1
- data/lib/rubygems/resolver/set.rb +0 -1
- data/lib/rubygems/resolver/specification.rb +1 -1
- data/lib/rubygems/resolver.rb +31 -31
- data/lib/rubygems/s3_uri_signer.rb +0 -1
- data/lib/rubygems/safe_yaml.rb +0 -2
- data/lib/rubygems/security/policy.rb +1 -1
- data/lib/rubygems/security/signer.rb +1 -1
- data/lib/rubygems/security.rb +5 -5
- data/lib/rubygems/security_option.rb +2 -2
- data/lib/rubygems/server.rb +2 -2
- data/lib/rubygems/source.rb +6 -6
- data/lib/rubygems/spec_fetcher.rb +5 -5
- data/lib/rubygems/specification.rb +9 -15
- data/lib/rubygems/specification_policy.rb +2 -2
- data/lib/rubygems/uninstaller.rb +6 -6
- data/lib/rubygems/uri.rb +111 -0
- data/lib/rubygems/user_interaction.rb +2 -2
- data/lib/rubygems/util/licenses.rb +1 -1
- data/lib/rubygems/validator.rb +2 -2
- data/lib/rubygems/version_option.rb +1 -1
- data/lib/rubygems.rb +37 -47
- data/rubygems-update.gemspec +1 -1
- data/test/rubygems/data/null-type.gemspec.rz +0 -0
- data/{lib/rubygems/test_case.rb → test/rubygems/helper.rb} +16 -19
- data/{lib → test}/rubygems/installer_test_case.rb +1 -1
- data/{lib → test}/rubygems/package/tar_test_case.rb +1 -1
- data/test/rubygems/test_bundled_ca.rb +1 -1
- data/test/rubygems/test_config.rb +1 -1
- data/test/rubygems/test_deprecate.rb +1 -1
- data/test/rubygems/test_gem.rb +190 -136
- data/test/rubygems/test_gem_available_set.rb +1 -1
- data/test/rubygems/test_gem_bundler_version_finder.rb +1 -1
- data/test/rubygems/test_gem_command.rb +1 -1
- data/test/rubygems/test_gem_command_manager.rb +1 -1
- data/test/rubygems/test_gem_commands_build_command.rb +1 -1
- data/test/rubygems/test_gem_commands_cert_command.rb +1 -1
- data/test/rubygems/test_gem_commands_check_command.rb +1 -1
- data/test/rubygems/test_gem_commands_cleanup_command.rb +1 -1
- data/test/rubygems/test_gem_commands_contents_command.rb +1 -1
- data/test/rubygems/test_gem_commands_dependency_command.rb +1 -1
- data/test/rubygems/test_gem_commands_environment_command.rb +1 -1
- data/test/rubygems/test_gem_commands_fetch_command.rb +1 -1
- data/test/rubygems/test_gem_commands_generate_index_command.rb +1 -1
- data/test/rubygems/test_gem_commands_help_command.rb +1 -1
- data/test/rubygems/test_gem_commands_info_command.rb +1 -1
- data/test/rubygems/test_gem_commands_install_command.rb +26 -1
- data/test/rubygems/test_gem_commands_list_command.rb +1 -1
- data/test/rubygems/test_gem_commands_lock_command.rb +1 -1
- data/test/rubygems/test_gem_commands_mirror.rb +1 -1
- data/test/rubygems/test_gem_commands_open_command.rb +1 -1
- data/test/rubygems/test_gem_commands_outdated_command.rb +1 -1
- data/test/rubygems/test_gem_commands_owner_command.rb +1 -1
- data/test/rubygems/test_gem_commands_pristine_command.rb +1 -1
- data/test/rubygems/test_gem_commands_push_command.rb +1 -1
- data/test/rubygems/test_gem_commands_query_command.rb +1 -1
- data/test/rubygems/test_gem_commands_search_command.rb +1 -1
- data/test/rubygems/test_gem_commands_server_command.rb +1 -1
- data/test/rubygems/test_gem_commands_setup_command.rb +3 -3
- data/test/rubygems/test_gem_commands_signin_command.rb +1 -1
- data/test/rubygems/test_gem_commands_signout_command.rb +1 -1
- data/test/rubygems/test_gem_commands_sources_command.rb +1 -1
- data/test/rubygems/test_gem_commands_specification_command.rb +1 -1
- data/test/rubygems/test_gem_commands_stale_command.rb +1 -1
- data/test/rubygems/test_gem_commands_uninstall_command.rb +1 -1
- data/test/rubygems/test_gem_commands_unpack_command.rb +1 -1
- data/test/rubygems/test_gem_commands_update_command.rb +1 -1
- data/test/rubygems/test_gem_commands_which_command.rb +1 -1
- data/test/rubygems/test_gem_commands_yank_command.rb +1 -1
- data/test/rubygems/test_gem_config_file.rb +1 -1
- data/test/rubygems/test_gem_dependency.rb +1 -1
- data/test/rubygems/test_gem_dependency_installer.rb +1 -1
- data/test/rubygems/test_gem_dependency_list.rb +1 -1
- data/test/rubygems/test_gem_dependency_resolution_error.rb +1 -1
- data/test/rubygems/test_gem_doctor.rb +1 -1
- data/test/rubygems/test_gem_ext_builder.rb +4 -1
- data/test/rubygems/test_gem_ext_cmake_builder.rb +1 -1
- data/test/rubygems/test_gem_ext_configure_builder.rb +1 -1
- data/test/rubygems/test_gem_ext_ext_conf_builder.rb +1 -1
- data/test/rubygems/test_gem_ext_rake_builder.rb +1 -1
- data/test/rubygems/test_gem_gem_runner.rb +1 -1
- data/test/rubygems/test_gem_gemcutter_utilities.rb +1 -1
- data/test/rubygems/test_gem_impossible_dependencies_error.rb +1 -1
- data/test/rubygems/test_gem_indexer.rb +1 -1
- data/test/rubygems/test_gem_install_update_options.rb +1 -1
- data/test/rubygems/test_gem_installer.rb +4 -2
- data/test/rubygems/test_gem_local_remote_options.rb +1 -1
- data/test/rubygems/test_gem_name_tuple.rb +1 -1
- data/test/rubygems/test_gem_package.rb +1 -1
- data/test/rubygems/test_gem_package_old.rb +1 -1
- data/test/rubygems/test_gem_package_tar_header.rb +1 -1
- data/test/rubygems/test_gem_package_tar_reader.rb +1 -1
- data/test/rubygems/test_gem_package_tar_reader_entry.rb +1 -1
- data/test/rubygems/test_gem_package_tar_writer.rb +1 -1
- data/test/rubygems/test_gem_package_task.rb +1 -1
- data/test/rubygems/test_gem_path_support.rb +1 -1
- data/test/rubygems/test_gem_platform.rb +2 -1
- data/test/rubygems/test_gem_rdoc.rb +1 -1
- data/test/rubygems/test_gem_remote_fetcher.rb +31 -1
- data/test/rubygems/test_gem_request.rb +36 -10
- data/test/rubygems/test_gem_request_connection_pools.rb +1 -1
- data/test/rubygems/test_gem_request_set.rb +1 -1
- data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +1 -1
- data/test/rubygems/test_gem_request_set_lockfile.rb +1 -1
- data/test/rubygems/test_gem_request_set_lockfile_parser.rb +1 -1
- data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +1 -1
- data/test/rubygems/test_gem_requirement.rb +35 -1
- data/test/rubygems/test_gem_resolver.rb +1 -1
- data/test/rubygems/test_gem_resolver_activation_request.rb +1 -1
- data/test/rubygems/test_gem_resolver_api_set.rb +1 -1
- data/test/rubygems/test_gem_resolver_api_specification.rb +1 -1
- data/test/rubygems/test_gem_resolver_best_set.rb +1 -1
- data/test/rubygems/test_gem_resolver_composed_set.rb +1 -1
- data/test/rubygems/test_gem_resolver_conflict.rb +1 -1
- data/test/rubygems/test_gem_resolver_dependency_request.rb +1 -1
- data/test/rubygems/test_gem_resolver_git_set.rb +1 -1
- data/test/rubygems/test_gem_resolver_git_specification.rb +2 -1
- data/test/rubygems/test_gem_resolver_index_set.rb +1 -1
- data/test/rubygems/test_gem_resolver_index_specification.rb +1 -1
- data/test/rubygems/test_gem_resolver_installed_specification.rb +1 -1
- data/test/rubygems/test_gem_resolver_installer_set.rb +19 -1
- data/test/rubygems/test_gem_resolver_local_specification.rb +1 -1
- data/test/rubygems/test_gem_resolver_lock_set.rb +1 -1
- data/test/rubygems/test_gem_resolver_lock_specification.rb +1 -1
- data/test/rubygems/test_gem_resolver_requirement_list.rb +1 -1
- data/test/rubygems/test_gem_resolver_specification.rb +1 -1
- data/test/rubygems/test_gem_resolver_vendor_set.rb +1 -1
- data/test/rubygems/test_gem_resolver_vendor_specification.rb +1 -1
- data/test/rubygems/test_gem_security.rb +1 -1
- data/test/rubygems/test_gem_security_policy.rb +1 -1
- data/test/rubygems/test_gem_security_signer.rb +1 -1
- data/test/rubygems/test_gem_security_trust_dir.rb +1 -1
- data/test/rubygems/test_gem_server.rb +1 -1
- data/test/rubygems/test_gem_silent_ui.rb +1 -1
- data/test/rubygems/test_gem_source.rb +1 -1
- data/test/rubygems/test_gem_source_fetch_problem.rb +1 -1
- data/test/rubygems/test_gem_source_git.rb +1 -1
- data/test/rubygems/test_gem_source_installed.rb +1 -1
- data/test/rubygems/test_gem_source_list.rb +1 -1
- data/test/rubygems/test_gem_source_local.rb +1 -1
- data/test/rubygems/test_gem_source_lock.rb +1 -1
- data/test/rubygems/test_gem_source_specific_file.rb +1 -1
- data/test/rubygems/test_gem_source_subpath_problem.rb +1 -1
- data/test/rubygems/test_gem_source_vendor.rb +1 -1
- data/test/rubygems/test_gem_spec_fetcher.rb +1 -1
- data/test/rubygems/test_gem_specification.rb +15 -165
- data/test/rubygems/test_gem_stream_ui.rb +1 -1
- data/test/rubygems/test_gem_stub_specification.rb +1 -1
- data/test/rubygems/test_gem_text.rb +1 -1
- data/test/rubygems/test_gem_uninstaller.rb +1 -1
- data/test/rubygems/test_gem_unsatisfiable_dependency_error.rb +1 -1
- data/test/rubygems/test_gem_uri.rb +39 -0
- data/test/rubygems/test_gem_uri_formatter.rb +1 -1
- data/test/rubygems/test_gem_util.rb +1 -1
- data/test/rubygems/test_gem_validator.rb +1 -1
- data/test/rubygems/test_gem_version.rb +1 -1
- data/test/rubygems/test_gem_version_option.rb +1 -1
- data/test/rubygems/test_kernel.rb +1 -1
- data/test/rubygems/test_project_sanity.rb +1 -1
- data/test/rubygems/test_remote_fetch_error.rb +1 -1
- data/test/rubygems/test_require.rb +1 -1
- data/test/rubygems/test_rubygems.rb +44 -0
- data/{lib/rubygems/test_utilities.rb → test/rubygems/utilities.rb} +0 -2
- metadata +10 -10
- data/lib/rubygems/syck_hack.rb +0 -77
- data/lib/rubygems/uri_parser.rb +0 -34
- data/lib/rubygems/uri_parsing.rb +0 -23
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ef3b3d5da1e7cb11b95714c00fa4e0b0026112870503550c694d5c502dab5339
|
4
|
+
data.tar.gz: 7ec21881232ed07b1061a4570f5af5e80246f74cd20e8a27592f45c609c70f8d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4806038e2893fd4957e02b09f6ed6289ec5759142c8ba3329500b5423aa4d1e6dddeb3f2f218667bfd17791b886f0a7d436b465795368217d9ee7e94d0e4479f
|
7
|
+
data.tar.gz: 680548baf911d819513df953d56005d4bf59f903d5a37dc0fb24eb057f5e0cf7bcf77cad9821efb9962f95c13353f0858538ddc1ebc5844f31f8237d83e48c4b
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,60 @@
|
|
1
|
+
# 3.2.28 / 2021-09-23
|
2
|
+
|
3
|
+
## Enhancements:
|
4
|
+
|
5
|
+
* Support MINGW-UCRT. Pull request #4925 by hsbt
|
6
|
+
* Only check if descriptions *start with* FIXME/TODO. Pull request #4841
|
7
|
+
by duckinator
|
8
|
+
* Avoid loading `uri` unnecessarily when activating gems. Pull request
|
9
|
+
#4897 by deivid-rodriguez
|
10
|
+
|
11
|
+
## Bug fixes:
|
12
|
+
|
13
|
+
* Fix redacted credentials being sent to gemserver. Pull request #4919 by
|
14
|
+
jdliss
|
15
|
+
|
16
|
+
# 3.2.27 / 2021-09-03
|
17
|
+
|
18
|
+
## Enhancements:
|
19
|
+
|
20
|
+
* Redact credentails when printing URI. Pull request #4868 by intuxicated
|
21
|
+
* Prefer `require_relative` to `require` for internal requires. Pull
|
22
|
+
request #4858 by deivid-rodriguez
|
23
|
+
* Prioritise gems with higher version for fetching metadata, and stop
|
24
|
+
fetching once we find a valid candidate. Pull request #4843 by intuxicated
|
25
|
+
|
26
|
+
# 3.2.26 / 2021-08-17
|
27
|
+
|
28
|
+
## Enhancements:
|
29
|
+
|
30
|
+
* Enhance the error handling for loading the
|
31
|
+
`rubygems/defaults/operating_system` file. Pull request #4824 by
|
32
|
+
intuxicated
|
33
|
+
* Ignore `RUBYGEMS_GEMDEPS` for the bundler gem. Pull request #4532 by
|
34
|
+
deivid-rodriguez
|
35
|
+
|
36
|
+
## Bug fixes:
|
37
|
+
|
38
|
+
* Also load user installed rubygems plugins. Pull request #4829 by
|
39
|
+
deivid-rodriguez
|
40
|
+
|
41
|
+
# 3.2.25 / 2021-07-30
|
42
|
+
|
43
|
+
## Enhancements:
|
44
|
+
|
45
|
+
* Don't load the `base64` library since it's not used. Pull request #4785
|
46
|
+
by deivid-rodriguez
|
47
|
+
* Don't load the `resolv` library since it's not used. Pull request #4784
|
48
|
+
by deivid-rodriguez
|
49
|
+
* Lazily load `shellwords` library. Pull request #4783 by deivid-rodriguez
|
50
|
+
* Check requirements class before loading marshalled requirements. Pull
|
51
|
+
request #4651 by nobu
|
52
|
+
|
53
|
+
## Bug fixes:
|
54
|
+
|
55
|
+
* Add missing `require 'fileutils'` in `Gem::ConfigFile`. Pull request
|
56
|
+
#4768 by ybiquitous
|
57
|
+
|
1
58
|
# 3.2.24 / 2021-07-15
|
2
59
|
|
3
60
|
## Bug fixes:
|
data/Manifest.txt
CHANGED
@@ -378,7 +378,6 @@ lib/rubygems/install_default_message.rb
|
|
378
378
|
lib/rubygems/install_message.rb
|
379
379
|
lib/rubygems/install_update_options.rb
|
380
380
|
lib/rubygems/installer.rb
|
381
|
-
lib/rubygems/installer_test_case.rb
|
382
381
|
lib/rubygems/installer_uninstaller_utils.rb
|
383
382
|
lib/rubygems/local_remote_options.rb
|
384
383
|
lib/rubygems/mock_gem_ui.rb
|
@@ -393,7 +392,6 @@ lib/rubygems/package/source.rb
|
|
393
392
|
lib/rubygems/package/tar_header.rb
|
394
393
|
lib/rubygems/package/tar_reader.rb
|
395
394
|
lib/rubygems/package/tar_reader/entry.rb
|
396
|
-
lib/rubygems/package/tar_test_case.rb
|
397
395
|
lib/rubygems/package/tar_writer.rb
|
398
396
|
lib/rubygems/package_task.rb
|
399
397
|
lib/rubygems/path_support.rb
|
@@ -485,14 +483,10 @@ lib/rubygems/ssl_certs/.document
|
|
485
483
|
lib/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA.pem
|
486
484
|
lib/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA_R3.pem
|
487
485
|
lib/rubygems/stub_specification.rb
|
488
|
-
lib/rubygems/syck_hack.rb
|
489
|
-
lib/rubygems/test_case.rb
|
490
|
-
lib/rubygems/test_utilities.rb
|
491
486
|
lib/rubygems/text.rb
|
492
487
|
lib/rubygems/uninstaller.rb
|
488
|
+
lib/rubygems/uri.rb
|
493
489
|
lib/rubygems/uri_formatter.rb
|
494
|
-
lib/rubygems/uri_parser.rb
|
495
|
-
lib/rubygems/uri_parsing.rb
|
496
490
|
lib/rubygems/user_interaction.rb
|
497
491
|
lib/rubygems/util.rb
|
498
492
|
lib/rubygems/util/licenses.rb
|
@@ -527,6 +521,8 @@ test/rubygems/good_rake.rb
|
|
527
521
|
test/rubygems/grandchild_cert.pem
|
528
522
|
test/rubygems/grandchild_cert_32.pem
|
529
523
|
test/rubygems/grandchild_key.pem
|
524
|
+
test/rubygems/helper.rb
|
525
|
+
test/rubygems/installer_test_case.rb
|
530
526
|
test/rubygems/invalid_client.pem
|
531
527
|
test/rubygems/invalid_issuer_cert.pem
|
532
528
|
test/rubygems/invalid_issuer_cert_32.pem
|
@@ -536,6 +532,7 @@ test/rubygems/invalid_signer_cert_32.pem
|
|
536
532
|
test/rubygems/invalidchild_cert.pem
|
537
533
|
test/rubygems/invalidchild_cert_32.pem
|
538
534
|
test/rubygems/invalidchild_key.pem
|
535
|
+
test/rubygems/package/tar_test_case.rb
|
539
536
|
test/rubygems/packages/ascii_binder-0.1.10.1.gem
|
540
537
|
test/rubygems/packages/ill-formatted-platform-1.0.0.10.gem
|
541
538
|
test/rubygems/plugin/exception/rubygems_plugin.rb
|
@@ -680,6 +677,7 @@ test/rubygems/test_gem_stub_specification.rb
|
|
680
677
|
test/rubygems/test_gem_text.rb
|
681
678
|
test/rubygems/test_gem_uninstaller.rb
|
682
679
|
test/rubygems/test_gem_unsatisfiable_dependency_error.rb
|
680
|
+
test/rubygems/test_gem_uri.rb
|
683
681
|
test/rubygems/test_gem_uri_formatter.rb
|
684
682
|
test/rubygems/test_gem_util.rb
|
685
683
|
test/rubygems/test_gem_validator.rb
|
@@ -689,6 +687,8 @@ test/rubygems/test_kernel.rb
|
|
689
687
|
test/rubygems/test_project_sanity.rb
|
690
688
|
test/rubygems/test_remote_fetch_error.rb
|
691
689
|
test/rubygems/test_require.rb
|
690
|
+
test/rubygems/test_rubygems.rb
|
691
|
+
test/rubygems/utilities.rb
|
692
692
|
test/rubygems/wrong_key_cert.pem
|
693
693
|
test/rubygems/wrong_key_cert_32.pem
|
694
694
|
test/test_changelog_generator.rb
|
data/bundler/CHANGELOG.md
CHANGED
@@ -1,3 +1,65 @@
|
|
1
|
+
# 2.2.28 (September 23, 2021)
|
2
|
+
|
3
|
+
## Enhancements:
|
4
|
+
|
5
|
+
- Use example.com in new gem template, since it will never have a potentially dangerous backing website [#4918](https://github.com/rubygems/rubygems/pull/4918)
|
6
|
+
- Deprecate `--install` flag to `bundle remove` and trigger install by default [#4891](https://github.com/rubygems/rubygems/pull/4891)
|
7
|
+
|
8
|
+
# 2.2.27 (September 3, 2021)
|
9
|
+
|
10
|
+
## Enhancements:
|
11
|
+
|
12
|
+
- Optimize some requires [#4887](https://github.com/rubygems/rubygems/pull/4887)
|
13
|
+
- Correctly redact credentials when using x-oauth-basic [#4866](https://github.com/rubygems/rubygems/pull/4866)
|
14
|
+
|
15
|
+
## Bug fixes:
|
16
|
+
|
17
|
+
- Add missing key `branches:` to template for GitHub Actions [#4883](https://github.com/rubygems/rubygems/pull/4883)
|
18
|
+
- Fix `bundle plugin install` detection of already installed plugins [#4869](https://github.com/rubygems/rubygems/pull/4869)
|
19
|
+
- Make plugin installation idempotent [#4864](https://github.com/rubygems/rubygems/pull/4864)
|
20
|
+
- Fix `bundle check` showing duplicated gems when multiple platforms are locked [#4854](https://github.com/rubygems/rubygems/pull/4854)
|
21
|
+
- Fix `bundle check` incorrectly considering cached gems [#4853](https://github.com/rubygems/rubygems/pull/4853)
|
22
|
+
|
23
|
+
# 2.2.26 (August 17, 2021)
|
24
|
+
|
25
|
+
## Enhancements:
|
26
|
+
|
27
|
+
- Remove `RUBYGEMS_GEMDEPS` warning [#4827](https://github.com/rubygems/rubygems/pull/4827)
|
28
|
+
- Better defaults for GitHub Actions template generated by `bundle gem` [#4619](https://github.com/rubygems/rubygems/pull/4619)
|
29
|
+
- Make `bundle exec` keep file descriptors by default [#4812](https://github.com/rubygems/rubygems/pull/4812)
|
30
|
+
- Exclude gemspec file itself from file list of gems generated by `bundle gem` [#4650](https://github.com/rubygems/rubygems/pull/4650)
|
31
|
+
- Fix a couple small typos in deprecation / error messages [#4806](https://github.com/rubygems/rubygems/pull/4806)
|
32
|
+
- Make script generated by `bundle install --standalone` resilient to moving the application to a differently nested folder when `path` sources are used [#4792](https://github.com/rubygems/rubygems/pull/4792)
|
33
|
+
- Exclude CI files and issue templates from file list of gems generated by `bundle gem` [#4033](https://github.com/rubygems/rubygems/pull/4033)
|
34
|
+
|
35
|
+
## Bug fixes:
|
36
|
+
|
37
|
+
- Respect `BUNDLE_USER_HOME` env when choosing config location [#4828](https://github.com/rubygems/rubygems/pull/4828)
|
38
|
+
- Fix `bundle gem` on path with spaces [#4816](https://github.com/rubygems/rubygems/pull/4816)
|
39
|
+
- Fix bundler hitting the network in some cases where not allowed [#4805](https://github.com/rubygems/rubygems/pull/4805)
|
40
|
+
|
41
|
+
# 2.2.25 (July 30, 2021)
|
42
|
+
|
43
|
+
## Deprecations:
|
44
|
+
|
45
|
+
- Deprecate Gemfile without an explicit global source [#4779](https://github.com/rubygems/rubygems/pull/4779)
|
46
|
+
- Deprecate `bundle cache --path` [#4496](https://github.com/rubygems/rubygems/pull/4496)
|
47
|
+
|
48
|
+
## Enhancements:
|
49
|
+
|
50
|
+
- Give better errors when materialization fails [#4788](https://github.com/rubygems/rubygems/pull/4788)
|
51
|
+
- Lazily load `shellwords` library [#4786](https://github.com/rubygems/rubygems/pull/4786)
|
52
|
+
- Show original error and backtrace directly on `bundle install` errors instead of a more brittle `gem install` hint [#4778](https://github.com/rubygems/rubygems/pull/4778)
|
53
|
+
- Remove LoadError message in regards to requiring a relative file [#4772](https://github.com/rubygems/rubygems/pull/4772)
|
54
|
+
|
55
|
+
## Bug fixes:
|
56
|
+
|
57
|
+
- Fix `BUNDLE_USER_CONFIG` no longer respected as config location [#4797](https://github.com/rubygems/rubygems/pull/4797)
|
58
|
+
- Fix `--standalone` installation of default gems [#4782](https://github.com/rubygems/rubygems/pull/4782)
|
59
|
+
- Fix `--quiet` flag not printing warnings [#4781](https://github.com/rubygems/rubygems/pull/4781)
|
60
|
+
- Fix bundler binstub version selection [#4775](https://github.com/rubygems/rubygems/pull/4775)
|
61
|
+
- Fix interrupt handling in Bundler workers [#4767](https://github.com/rubygems/rubygems/pull/4767)
|
62
|
+
|
1
63
|
# 2.2.24 (July 15, 2021)
|
2
64
|
|
3
65
|
## Bug fixes:
|
@@ -4,8 +4,8 @@ module Bundler
|
|
4
4
|
# Represents metadata from when the Bundler gem was built.
|
5
5
|
module BuildMetadata
|
6
6
|
# begin ivars
|
7
|
-
@built_at = "2021-
|
8
|
-
@git_commit_sha = "
|
7
|
+
@built_at = "2021-09-23".freeze
|
8
|
+
@git_commit_sha = "99b72cbd55".freeze
|
9
9
|
@release = true
|
10
10
|
# end ivars
|
11
11
|
|
@@ -9,7 +9,7 @@ module Bundler
|
|
9
9
|
end
|
10
10
|
|
11
11
|
def run
|
12
|
-
Bundler.ui.level = "
|
12
|
+
Bundler.ui.level = "warn" if options[:quiet]
|
13
13
|
Bundler.settings.set_command_option_if_given :path, options[:path]
|
14
14
|
Bundler.settings.set_command_option_if_given :cache_path, options["cache-path"]
|
15
15
|
|
@@ -12,12 +12,7 @@ module Bundler
|
|
12
12
|
@options = options
|
13
13
|
@cmd = args.shift
|
14
14
|
@args = args
|
15
|
-
|
16
|
-
if !Bundler.current_ruby.jruby?
|
17
|
-
@args << { :close_others => !options.keep_file_descriptors? }
|
18
|
-
elsif options.keep_file_descriptors?
|
19
|
-
Bundler.ui.warn "Ruby version #{RUBY_VERSION} defaults to keeping non-standard file descriptors on Kernel#exec."
|
20
|
-
end
|
15
|
+
@args << { :close_others => !options.keep_file_descriptors? } unless Bundler.current_ruby.jruby?
|
21
16
|
end
|
22
17
|
|
23
18
|
def run
|
@@ -184,14 +184,15 @@ module Bundler
|
|
184
184
|
)
|
185
185
|
end
|
186
186
|
|
187
|
-
if
|
187
|
+
if target.exist? && !target.directory?
|
188
188
|
Bundler.ui.error "Couldn't create a new gem named `#{gem_name}` because there's an existing file named `#{gem_name}`."
|
189
189
|
exit Bundler::BundlerError.all_errors[Bundler::GenericSystemCallError]
|
190
190
|
end
|
191
191
|
|
192
192
|
if use_git
|
193
193
|
Bundler.ui.info "Initializing git repo in #{target}"
|
194
|
-
|
194
|
+
require "shellwords"
|
195
|
+
`git init #{target.to_s.shellescape}`
|
195
196
|
|
196
197
|
config[:git_default_branch] = File.read("#{target}/.git/HEAD").split("/").last.chomp
|
197
198
|
end
|
@@ -8,7 +8,7 @@ module Bundler
|
|
8
8
|
end
|
9
9
|
|
10
10
|
def run
|
11
|
-
Bundler.ui.level = "
|
11
|
+
Bundler.ui.level = "warn" if options[:quiet]
|
12
12
|
|
13
13
|
warn_if_root
|
14
14
|
|
@@ -60,7 +60,7 @@ module Bundler
|
|
60
60
|
installer = Installer.install(Bundler.root, definition, options)
|
61
61
|
|
62
62
|
Bundler.settings.temporary(:cache_all_platforms => options[:local] ? false : Bundler.settings[:cache_all_platforms]) do
|
63
|
-
Bundler.load.cache if Bundler.app_cache.exist? && !options["no-cache"] && !Bundler.frozen_bundle?
|
63
|
+
Bundler.load.cache(nil, options[:local]) if Bundler.app_cache.exist? && !options["no-cache"] && !Bundler.frozen_bundle?
|
64
64
|
end
|
65
65
|
|
66
66
|
Bundler.ui.confirm "Bundle complete! #{dependencies_count_for(definition)}, #{gems_installed_for(definition)}."
|
@@ -83,22 +83,9 @@ module Bundler
|
|
83
83
|
end
|
84
84
|
|
85
85
|
Bundler::CLI::Common.output_fund_metadata_summary
|
86
|
-
rescue
|
87
|
-
if options[:local] && Bundler.app_cache.exist?
|
88
|
-
Bundler.ui.warn "Some gems seem to be missing from your #{Bundler.settings.app_cache_path} directory."
|
89
|
-
end
|
90
|
-
|
91
|
-
unless Bundler.definition.has_rubygems_remotes?
|
92
|
-
Bundler.ui.warn <<-WARN, :wrap => true
|
93
|
-
Your Gemfile has no gem server sources. If you need gems that are \
|
94
|
-
not already on your machine, add a line like this to your Gemfile:
|
95
|
-
source 'https://rubygems.org'
|
96
|
-
WARN
|
97
|
-
end
|
98
|
-
raise e
|
99
|
-
rescue Gem::InvalidSpecificationException => e
|
86
|
+
rescue Gem::InvalidSpecificationException
|
100
87
|
Bundler.ui.warn "You have one or more invalid gemspecs that need to be fixed."
|
101
|
-
raise
|
88
|
+
raise
|
102
89
|
end
|
103
90
|
|
104
91
|
private
|
@@ -16,7 +16,13 @@ module Bundler
|
|
16
16
|
specs = if @only_group.any? || @without_group.any?
|
17
17
|
filtered_specs_by_groups
|
18
18
|
else
|
19
|
-
|
19
|
+
begin
|
20
|
+
Bundler.load.specs
|
21
|
+
rescue GemNotFound => e
|
22
|
+
Bundler.ui.error e.message
|
23
|
+
Bundler.ui.warn "Install missing gems with `bundle install`."
|
24
|
+
exit 1
|
25
|
+
end
|
20
26
|
end.reject {|s| s.name == "bundler" }.sort_by(&:name)
|
21
27
|
|
22
28
|
return Bundler.ui.info "No gems in the Gemfile" if specs.empty?
|
@@ -1,7 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "shellwords"
|
4
|
-
|
5
3
|
module Bundler
|
6
4
|
class CLI::Open
|
7
5
|
attr_reader :options, :name
|
@@ -19,6 +17,7 @@ module Bundler
|
|
19
17
|
else
|
20
18
|
path = spec.full_gem_path
|
21
19
|
Dir.chdir(path) do
|
20
|
+
require "shellwords"
|
22
21
|
command = Shellwords.split(editor) + [path]
|
23
22
|
Bundler.with_original_env do
|
24
23
|
system(*command)
|
@@ -11,8 +11,7 @@ module Bundler
|
|
11
11
|
raise InvalidOption, "Please specify gems to remove." if @gems.empty?
|
12
12
|
|
13
13
|
Injector.remove(@gems, {})
|
14
|
-
|
15
|
-
Installer.install(Bundler.root, Bundler.definition) if @options["install"]
|
14
|
+
Installer.install(Bundler.root, Bundler.definition)
|
16
15
|
end
|
17
16
|
end
|
18
17
|
end
|
data/bundler/lib/bundler/cli.rb
CHANGED
@@ -73,14 +73,6 @@ module Bundler
|
|
73
73
|
Bundler.ui = UI::Shell.new(options)
|
74
74
|
Bundler.ui.level = "debug" if options["verbose"]
|
75
75
|
unprinted_warnings.each {|w| Bundler.ui.warn(w) }
|
76
|
-
|
77
|
-
if ENV["RUBYGEMS_GEMDEPS"] && !ENV["RUBYGEMS_GEMDEPS"].empty?
|
78
|
-
Bundler.ui.warn(
|
79
|
-
"The RUBYGEMS_GEMDEPS environment variable is set. This enables RubyGems' " \
|
80
|
-
"experimental Gemfile mode, which may conflict with Bundler and cause unexpected errors. " \
|
81
|
-
"To remove this warning, unset RUBYGEMS_GEMDEPS.", :wrap => true
|
82
|
-
)
|
83
|
-
end
|
84
76
|
end
|
85
77
|
|
86
78
|
check_unknown_options!(:except => [:config, :exec])
|
@@ -192,6 +184,7 @@ module Bundler
|
|
192
184
|
method_option "install", :type => :boolean, :banner =>
|
193
185
|
"Runs 'bundle install' after removing the gems from the Gemfile"
|
194
186
|
def remove(*gems)
|
187
|
+
SharedHelpers.major_deprecation(2, "The `--install` flag has been deprecated. `bundle install` is triggered by default.") if ARGV.include?("--install")
|
195
188
|
require_relative "cli/remove"
|
196
189
|
Remove.new(gems, options).run
|
197
190
|
end
|
@@ -456,6 +449,12 @@ module Bundler
|
|
456
449
|
"do in future versions. Instead please use `bundle config set cache_all true`, " \
|
457
450
|
"and stop using this flag" if ARGV.include?("--all")
|
458
451
|
|
452
|
+
SharedHelpers.major_deprecation 2,
|
453
|
+
"The `--path` flag is deprecated because its semantics are unclear. " \
|
454
|
+
"Use `bundle config cache_path` to configure the path of your cache of gems, " \
|
455
|
+
"and `bundle config path` to configure the path where your gems are installed, " \
|
456
|
+
"and stop using this flag" if ARGV.include?("--path")
|
457
|
+
|
459
458
|
require_relative "cli/cache"
|
460
459
|
Cache.new(options).run
|
461
460
|
end
|
@@ -463,7 +462,7 @@ module Bundler
|
|
463
462
|
map aliases_for("cache")
|
464
463
|
|
465
464
|
desc "exec [OPTIONS]", "Run the command in context of the bundle"
|
466
|
-
method_option :keep_file_descriptors, :type => :boolean, :default =>
|
465
|
+
method_option :keep_file_descriptors, :type => :boolean, :default => true
|
467
466
|
method_option :gemfile, :type => :string, :required => false
|
468
467
|
long_desc <<-D
|
469
468
|
Exec runs a command, providing it access to the gems in the bundle. While using
|
@@ -471,6 +470,10 @@ module Bundler
|
|
471
470
|
into the system wide RubyGems repository.
|
472
471
|
D
|
473
472
|
def exec(*args)
|
473
|
+
if ARGV.include?("--no-keep-file-descriptors")
|
474
|
+
SharedHelpers.major_deprecation(2, "The `--no-keep-file-descriptors` has been deprecated. `bundle exec` no longer mess with your file descriptors. Close them in the exec'd script if you need to")
|
475
|
+
end
|
476
|
+
|
474
477
|
require_relative "cli/exec"
|
475
478
|
Exec.new(options, args).run
|
476
479
|
end
|
@@ -133,7 +133,7 @@ module Bundler
|
|
133
133
|
@unlock[:gems] ||= @dependencies.map(&:name)
|
134
134
|
else
|
135
135
|
eager_unlock = expand_dependencies(@unlock[:gems] || [], true)
|
136
|
-
@unlock[:gems] = @locked_specs.for(eager_unlock, false, false
|
136
|
+
@unlock[:gems] = @locked_specs.for(eager_unlock, false, false).map(&:name)
|
137
137
|
end
|
138
138
|
|
139
139
|
@dependency_changes = converge_dependencies
|
@@ -185,15 +185,7 @@ module Bundler
|
|
185
185
|
#
|
186
186
|
# @return [Bundler::SpecSet]
|
187
187
|
def specs
|
188
|
-
@specs ||=
|
189
|
-
rescue GemNotFound => e # Handle yanked gem
|
190
|
-
gem_name, gem_version = extract_gem_info(e)
|
191
|
-
locked_gem = @locked_specs[gem_name].last
|
192
|
-
raise if locked_gem.nil? || locked_gem.version.to_s != gem_version || !@remote
|
193
|
-
raise GemNotFound, "Your bundle is locked to #{locked_gem} from #{locked_gem.source}, but that version can " \
|
194
|
-
"no longer be found in that source. That means the author of #{locked_gem} has removed it. " \
|
195
|
-
"You'll need to update your bundle to a version other than #{locked_gem} that hasn't been " \
|
196
|
-
"removed in order to install."
|
188
|
+
@specs ||= materialize(requested_dependencies)
|
197
189
|
end
|
198
190
|
|
199
191
|
def new_specs
|
@@ -205,9 +197,7 @@ module Bundler
|
|
205
197
|
end
|
206
198
|
|
207
199
|
def missing_specs
|
208
|
-
|
209
|
-
resolve.materialize(requested_dependencies, missing)
|
210
|
-
missing
|
200
|
+
resolve.materialize(requested_dependencies).missing_specs
|
211
201
|
end
|
212
202
|
|
213
203
|
def missing_specs?
|
@@ -241,7 +231,7 @@ module Bundler
|
|
241
231
|
def specs_for(groups)
|
242
232
|
groups = requested_groups if groups.empty?
|
243
233
|
deps = dependencies_for(groups)
|
244
|
-
|
234
|
+
materialize(expand_dependencies(deps))
|
245
235
|
end
|
246
236
|
|
247
237
|
def dependencies_for(groups)
|
@@ -274,10 +264,6 @@ module Bundler
|
|
274
264
|
end
|
275
265
|
end
|
276
266
|
|
277
|
-
def has_rubygems_remotes?
|
278
|
-
sources.rubygems_sources.any? {|s| s.remotes.any? }
|
279
|
-
end
|
280
|
-
|
281
267
|
def spec_git_paths
|
282
268
|
sources.git_sources.map {|s| File.realpath(s.path) if File.exist?(s.path) }.compact
|
283
269
|
end
|
@@ -493,7 +479,23 @@ module Bundler
|
|
493
479
|
|
494
480
|
private
|
495
481
|
|
496
|
-
def
|
482
|
+
def materialize(dependencies)
|
483
|
+
specs = resolve.materialize(dependencies)
|
484
|
+
missing_specs = specs.missing_specs
|
485
|
+
|
486
|
+
if missing_specs.any?
|
487
|
+
missing_specs.each do |s|
|
488
|
+
locked_gem = @locked_specs[s.name].last
|
489
|
+
next if locked_gem.nil? || locked_gem.version != s.version || !@remote
|
490
|
+
raise GemNotFound, "Your bundle is locked to #{locked_gem} from #{locked_gem.source}, but that version can " \
|
491
|
+
"no longer be found in that source. That means the author of #{locked_gem} has removed it. " \
|
492
|
+
"You'll need to update your bundle to a version other than #{locked_gem} that hasn't been " \
|
493
|
+
"removed in order to install."
|
494
|
+
end
|
495
|
+
|
496
|
+
raise GemNotFound, "Could not find #{missing_specs.map(&:full_name).join(", ")} in any of the sources"
|
497
|
+
end
|
498
|
+
|
497
499
|
unless specs["bundler"].any?
|
498
500
|
bundler = sources.metadata_source.specs.search(Gem::Dependency.new("bundler", VERSION)).last
|
499
501
|
specs["bundler"] = bundler
|
@@ -503,7 +505,7 @@ module Bundler
|
|
503
505
|
end
|
504
506
|
|
505
507
|
def precompute_source_requirements_for_indirect_dependencies?
|
506
|
-
sources.non_global_rubygems_sources.all?(&:dependency_api_available?) && !sources.aggregate_global_source?
|
508
|
+
@remote && sources.non_global_rubygems_sources.all?(&:dependency_api_available?) && !sources.aggregate_global_source?
|
507
509
|
end
|
508
510
|
|
509
511
|
def current_ruby_platform_locked?
|
@@ -712,7 +714,7 @@ module Bundler
|
|
712
714
|
@locked_specs.each do |s|
|
713
715
|
# Replace the locked dependency's source with the equivalent source from the Gemfile
|
714
716
|
dep = @dependencies.find {|d| s.satisfies?(d) }
|
715
|
-
s.source = (dep && dep.source) || sources.get(s.source)
|
717
|
+
s.source = (dep && dep.source) || sources.get(s.source) unless multisource_allowed?
|
716
718
|
|
717
719
|
# Don't add a spec to the list if its source is expired. For example,
|
718
720
|
# if you change a Git gem to RubyGems.
|
@@ -730,7 +732,7 @@ module Bundler
|
|
730
732
|
# if we won't need the source (according to the lockfile),
|
731
733
|
# don't error if the path/git source isn't available
|
732
734
|
next if @locked_specs.
|
733
|
-
for(requested_dependencies, false, true
|
735
|
+
for(requested_dependencies, false, true).
|
734
736
|
none? {|locked_spec| locked_spec.source == s.source }
|
735
737
|
|
736
738
|
raise
|
@@ -750,7 +752,7 @@ module Bundler
|
|
750
752
|
|
751
753
|
resolve = SpecSet.new(converged)
|
752
754
|
@locked_specs_incomplete_for_platform = !resolve.for(expand_dependencies(requested_dependencies & deps), true, true)
|
753
|
-
resolve = SpecSet.new(resolve.for(expand_dependencies(deps, true), false, false
|
755
|
+
resolve = SpecSet.new(resolve.for(expand_dependencies(deps, true), false, false).reject{|s| @unlock[:gems].include?(s.name) })
|
754
756
|
diff = nil
|
755
757
|
|
756
758
|
# Now, we unlock any sources that do not have anymore gems pinned to it
|
@@ -854,12 +856,6 @@ module Bundler
|
|
854
856
|
current == proposed
|
855
857
|
end
|
856
858
|
|
857
|
-
def extract_gem_info(error)
|
858
|
-
# This method will extract the error message like "Could not find foo-1.2.3 in any of the sources"
|
859
|
-
# to an array. The first element will be the gem name (e.g. foo), the second will be the version number.
|
860
|
-
error.message.scan(/Could not find (\w+)-(\d+(?:\.\d+)+)/).flatten
|
861
|
-
end
|
862
|
-
|
863
859
|
def compute_requires
|
864
860
|
dependencies.reduce({}) do |requires, dep|
|
865
861
|
next requires unless dep.should_include?
|
data/bundler/lib/bundler/dsl.rb
CHANGED
@@ -447,8 +447,21 @@ repo_name ||= user_name
|
|
447
447
|
end
|
448
448
|
|
449
449
|
def check_rubygems_source_safety
|
450
|
-
|
450
|
+
if @sources.implicit_global_source?
|
451
|
+
implicit_global_source_warning
|
452
|
+
elsif @sources.aggregate_global_source?
|
453
|
+
multiple_global_source_warning
|
454
|
+
end
|
455
|
+
end
|
456
|
+
|
457
|
+
def implicit_global_source_warning
|
458
|
+
Bundler::SharedHelpers.major_deprecation 2, "This Gemfile does not include an explicit global source. " \
|
459
|
+
"Not using an explicit global source may result in a different lockfile being generated depending on " \
|
460
|
+
"the gems you have installed locally before bundler is run. " \
|
461
|
+
"Instead, define a global source in your Gemfile like this: source \"https://rubygems.org\"."
|
462
|
+
end
|
451
463
|
|
464
|
+
def multiple_global_source_warning
|
452
465
|
if Bundler.feature_flag.bundler_3_mode?
|
453
466
|
msg = "This Gemfile contains multiple primary sources. " \
|
454
467
|
"Each source after the first must include a block to indicate which gems " \
|
@@ -122,7 +122,7 @@ module Bundler
|
|
122
122
|
|
123
123
|
class VirtualProtocolError < BundlerError
|
124
124
|
def message
|
125
|
-
"There was an error relating to virtualization and file access." \
|
125
|
+
"There was an error relating to virtualization and file access. " \
|
126
126
|
"It is likely that you need to grant access to or mount some file system correctly."
|
127
127
|
end
|
128
128
|
|
@@ -1,7 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "shellwords"
|
4
|
-
|
5
3
|
module Bundler
|
6
4
|
class GemInstaller
|
7
5
|
attr_reader :spec, :standalone, :worker, :force, :installer
|
@@ -31,34 +29,23 @@ module Bundler
|
|
31
29
|
|
32
30
|
def specific_failure_message(e)
|
33
31
|
message = "#{e.class}: #{e.message}\n"
|
34
|
-
message += " " + e.backtrace.join("\n ") + "\n\n"
|
32
|
+
message += " " + e.backtrace.join("\n ") + "\n\n"
|
35
33
|
message = message.lines.first + Bundler.ui.add_color(message.lines.drop(1).join, :clear)
|
36
34
|
message + Bundler.ui.add_color(failure_message, :red)
|
37
35
|
end
|
38
36
|
|
39
37
|
def failure_message
|
40
|
-
|
41
|
-
"#{install_error_message}\n#{gem_install_message}"
|
38
|
+
install_error_message
|
42
39
|
end
|
43
40
|
|
44
41
|
def install_error_message
|
45
42
|
"An error occurred while installing #{spec.name} (#{spec.version}), and Bundler cannot continue."
|
46
43
|
end
|
47
44
|
|
48
|
-
def gem_install_message
|
49
|
-
source = spec.source
|
50
|
-
return unless source.respond_to?(:remotes)
|
51
|
-
|
52
|
-
if source.remotes.size == 1
|
53
|
-
"Make sure that `gem install #{spec.name} -v '#{spec.version}' --source '#{source.remotes.first}'` succeeds before bundling."
|
54
|
-
else
|
55
|
-
"Make sure that `gem install #{spec.name} -v '#{spec.version}'` succeeds before bundling."
|
56
|
-
end
|
57
|
-
end
|
58
|
-
|
59
45
|
def spec_settings
|
60
46
|
# Fetch the build settings, if there are any
|
61
47
|
if settings = Bundler.settings["build.#{spec.name}"]
|
48
|
+
require "shellwords"
|
62
49
|
Shellwords.shellsplit(settings)
|
63
50
|
end
|
64
51
|
end
|