rubygems-update 3.2.24 → 3.2.25
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 +17 -0
- data/Manifest.txt +4 -5
- data/bundler/CHANGELOG.md +22 -0
- data/bundler/lib/bundler.rb +0 -4
- data/bundler/lib/bundler/build_metadata.rb +2 -2
- data/bundler/lib/bundler/cli.rb +6 -0
- data/bundler/lib/bundler/cli/cache.rb +1 -1
- data/bundler/lib/bundler/cli/doctor.rb +1 -1
- 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/update.rb +1 -1
- data/bundler/lib/bundler/definition.rb +24 -28
- data/bundler/lib/bundler/dsl.rb +14 -1
- data/bundler/lib/bundler/installer/gem_installer.rb +3 -16
- data/bundler/lib/bundler/lockfile_parser.rb +1 -0
- data/bundler/lib/bundler/rubygems_gem_installer.rb +5 -1
- data/bundler/lib/bundler/runtime.rb +15 -6
- data/bundler/lib/bundler/settings.rb +2 -0
- 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 +4 -0
- data/bundler/lib/bundler/source_list.rb +16 -3
- data/bundler/lib/bundler/spec_set.rb +12 -34
- data/bundler/lib/bundler/templates/Executable.bundler +6 -6
- data/bundler/lib/bundler/version.rb +1 -1
- data/bundler/lib/bundler/worker.rb +17 -2
- data/lib/rubygems.rb +1 -11
- data/lib/rubygems/config_file.rb +4 -4
- 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/remote_fetcher.rb +0 -1
- data/lib/rubygems/requirement.rb +2 -21
- data/lib/rubygems/s3_uri_signer.rb +0 -1
- data/lib/rubygems/safe_yaml.rb +0 -2
- data/lib/rubygems/specification.rb +0 -6
- 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} +12 -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 +1 -1
- 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 +1 -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 +2 -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 +1 -1
- data/test/rubygems/test_gem_rdoc.rb +1 -1
- data/test/rubygems/test_gem_remote_fetcher.rb +1 -1
- data/test/rubygems/test_gem_request.rb +1 -1
- 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 +1 -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 +1 -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_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/{lib/rubygems/test_utilities.rb → test/rubygems/utilities.rb} +0 -2
- metadata +7 -8
- data/lib/rubygems/syck_hack.rb +0 -77
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 6a868e187974e482e1edf68ec0ff267398188892b84efd935be11cb3b841c278
|
|
4
|
+
data.tar.gz: e218469751b1378c58b757575903cb34f85837fcbdba0856b0ac1be9383acdc2
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 36a8dd7b54b4cff11c91a07c73896df1b502ffa7e2edae1bee6146b91141029938ca19d59492b801cdd129b3a5a3e3c22c9a44ebce3f457e2583b10f9927d2cd
|
|
7
|
+
data.tar.gz: 97f3152994341dcc1004b661beee9599b09a88727969014387acf45124b309db8751d08a562314f52924cd916545e69cd2249339a68079794e2cac379c11d7fb
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
# 3.2.25 / 2021-07-30
|
|
2
|
+
|
|
3
|
+
## Enhancements:
|
|
4
|
+
|
|
5
|
+
* Don't load the `base64` library since it's not used. Pull request #4785
|
|
6
|
+
by deivid-rodriguez
|
|
7
|
+
* Don't load the `resolv` library since it's not used. Pull request #4784
|
|
8
|
+
by deivid-rodriguez
|
|
9
|
+
* Lazily load `shellwords` library. Pull request #4783 by deivid-rodriguez
|
|
10
|
+
* Check requirements class before loading marshalled requirements. Pull
|
|
11
|
+
request #4651 by nobu
|
|
12
|
+
|
|
13
|
+
## Bug fixes:
|
|
14
|
+
|
|
15
|
+
* Add missing `require 'fileutils'` in `Gem::ConfigFile`. Pull request
|
|
16
|
+
#4768 by ybiquitous
|
|
17
|
+
|
|
1
18
|
# 3.2.24 / 2021-07-15
|
|
2
19
|
|
|
3
20
|
## 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,9 +483,6 @@ 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
|
|
493
488
|
lib/rubygems/uri_formatter.rb
|
|
@@ -527,6 +522,8 @@ test/rubygems/good_rake.rb
|
|
|
527
522
|
test/rubygems/grandchild_cert.pem
|
|
528
523
|
test/rubygems/grandchild_cert_32.pem
|
|
529
524
|
test/rubygems/grandchild_key.pem
|
|
525
|
+
test/rubygems/helper.rb
|
|
526
|
+
test/rubygems/installer_test_case.rb
|
|
530
527
|
test/rubygems/invalid_client.pem
|
|
531
528
|
test/rubygems/invalid_issuer_cert.pem
|
|
532
529
|
test/rubygems/invalid_issuer_cert_32.pem
|
|
@@ -536,6 +533,7 @@ test/rubygems/invalid_signer_cert_32.pem
|
|
|
536
533
|
test/rubygems/invalidchild_cert.pem
|
|
537
534
|
test/rubygems/invalidchild_cert_32.pem
|
|
538
535
|
test/rubygems/invalidchild_key.pem
|
|
536
|
+
test/rubygems/package/tar_test_case.rb
|
|
539
537
|
test/rubygems/packages/ascii_binder-0.1.10.1.gem
|
|
540
538
|
test/rubygems/packages/ill-formatted-platform-1.0.0.10.gem
|
|
541
539
|
test/rubygems/plugin/exception/rubygems_plugin.rb
|
|
@@ -689,6 +687,7 @@ 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/utilities.rb
|
|
692
691
|
test/rubygems/wrong_key_cert.pem
|
|
693
692
|
test/rubygems/wrong_key_cert_32.pem
|
|
694
693
|
test/test_changelog_generator.rb
|
data/bundler/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,25 @@
|
|
|
1
|
+
# 2.2.25 (July 30, 2021)
|
|
2
|
+
|
|
3
|
+
## Deprecations:
|
|
4
|
+
|
|
5
|
+
- Deprecate Gemfile without an explicit global source [#4779](https://github.com/rubygems/rubygems/pull/4779)
|
|
6
|
+
- Deprecate `bundle cache --path` [#4496](https://github.com/rubygems/rubygems/pull/4496)
|
|
7
|
+
|
|
8
|
+
## Enhancements:
|
|
9
|
+
|
|
10
|
+
- Give better errors when materialization fails [#4788](https://github.com/rubygems/rubygems/pull/4788)
|
|
11
|
+
- Lazily load `shellwords` library [#4786](https://github.com/rubygems/rubygems/pull/4786)
|
|
12
|
+
- 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)
|
|
13
|
+
- Remove LoadError message in regards to requiring a relative file [#4772](https://github.com/rubygems/rubygems/pull/4772)
|
|
14
|
+
|
|
15
|
+
## Bug fixes:
|
|
16
|
+
|
|
17
|
+
- Fix `BUNDLE_USER_CONFIG` no longer respected as config location [#4797](https://github.com/rubygems/rubygems/pull/4797)
|
|
18
|
+
- Fix `--standalone` installation of default gems [#4782](https://github.com/rubygems/rubygems/pull/4782)
|
|
19
|
+
- Fix `--quiet` flag not printing warnings [#4781](https://github.com/rubygems/rubygems/pull/4781)
|
|
20
|
+
- Fix bundler binstub version selection [#4775](https://github.com/rubygems/rubygems/pull/4775)
|
|
21
|
+
- Fix interrupt handling in Bundler workers [#4767](https://github.com/rubygems/rubygems/pull/4767)
|
|
22
|
+
|
|
1
23
|
# 2.2.24 (July 15, 2021)
|
|
2
24
|
|
|
3
25
|
## Bug fixes:
|
data/bundler/lib/bundler.rb
CHANGED
|
@@ -653,10 +653,6 @@ EOF
|
|
|
653
653
|
rescue ScriptError, StandardError => e
|
|
654
654
|
msg = "There was an error while loading `#{path.basename}`: #{e.message}"
|
|
655
655
|
|
|
656
|
-
if e.is_a?(LoadError)
|
|
657
|
-
msg += "\nDoes it try to require a relative path? That's been removed in Ruby 1.9"
|
|
658
|
-
end
|
|
659
|
-
|
|
660
656
|
raise GemspecError, Dsl::DSLError.new(msg, path, e.backtrace, contents)
|
|
661
657
|
end
|
|
662
658
|
|
|
@@ -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-07-
|
|
8
|
-
@git_commit_sha = "
|
|
7
|
+
@built_at = "2021-07-30".freeze
|
|
8
|
+
@git_commit_sha = "7f0f257c7a".freeze
|
|
9
9
|
@release = true
|
|
10
10
|
# end ivars
|
|
11
11
|
|
data/bundler/lib/bundler/cli.rb
CHANGED
|
@@ -456,6 +456,12 @@ module Bundler
|
|
|
456
456
|
"do in future versions. Instead please use `bundle config set cache_all true`, " \
|
|
457
457
|
"and stop using this flag" if ARGV.include?("--all")
|
|
458
458
|
|
|
459
|
+
SharedHelpers.major_deprecation 2,
|
|
460
|
+
"The `--path` flag is deprecated because its semantics are unclear. " \
|
|
461
|
+
"Use `bundle config cache_path` to configure the path of your cache of gems, " \
|
|
462
|
+
"and `bundle config path` to configure the path where your gems are installed, " \
|
|
463
|
+
"and stop using this flag" if ARGV.include?("--path")
|
|
464
|
+
|
|
459
465
|
require_relative "cli/cache"
|
|
460
466
|
Cache.new(options).run
|
|
461
467
|
end
|
|
@@ -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
|
|
|
@@ -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)
|
|
@@ -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
|
|
@@ -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 " \
|
|
@@ -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
|
|
@@ -195,6 +195,7 @@ module Bundler
|
|
|
195
195
|
platform = platform ? Gem::Platform.new(platform) : Gem::Platform::RUBY
|
|
196
196
|
@current_spec = LazySpecification.new(name, version, platform)
|
|
197
197
|
@current_spec.source = @current_source
|
|
198
|
+
@current_source.add_dependency_names(name)
|
|
198
199
|
|
|
199
200
|
@specs[@current_spec.identifier] = @current_spec
|
|
200
201
|
elsif spaces.size == 6
|