diff options
author | David RodrÃguez <[email protected]> | 2020-07-08 23:26:28 +0200 |
---|---|---|
committer | Hiroshi SHIBATA <[email protected]> | 2021-08-31 19:06:14 +0900 |
commit | 4bc87cb1fb9ecbd227720bd48836935996574166 (patch) | |
tree | 407e9cdcbd6d453b1dd48b0ebce2a0d8a50997ef /lib | |
parent | 1e290c31f4fdfd330b9cd1d5c7fe61efa4ab066c (diff) |
[rubygems/rubygems] Remove `syck` traces from `bundler`
Same reason as in the previous commit.
https://github.com/rubygems/rubygems/commit/f00a6c8516
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/4789
Diffstat (limited to 'lib')
-rw-r--r-- | lib/bundler.rb | 4 | ||||
-rw-r--r-- | lib/bundler/endpoint_specification.rb | 8 | ||||
-rw-r--r-- | lib/bundler/psyched_yaml.rb | 14 | ||||
-rw-r--r-- | lib/bundler/rubygems_integration.rb | 2 |
4 files changed, 3 insertions, 25 deletions
diff --git a/lib/bundler.rb b/lib/bundler.rb index dcbc3fdfb7..f2d874bdf3 100644 --- a/lib/bundler.rb +++ b/lib/bundler.rb @@ -647,10 +647,8 @@ EOF def eval_yaml_gemspec(path, contents) require_relative "bundler/psyched_yaml" - # If the YAML is invalid, Syck raises an ArgumentError, and Psych - # raises a Psych::SyntaxError. See psyched_yaml.rb for more info. Gem::Specification.from_yaml(contents) - rescue YamlLibrarySyntaxError, ArgumentError, Gem::EndOfYAMLException, Gem::Exception + rescue ::Psych::SyntaxError, ArgumentError, Gem::EndOfYAMLException, Gem::Exception eval_gemspec(path, contents) end diff --git a/lib/bundler/endpoint_specification.rb b/lib/bundler/endpoint_specification.rb index 476151ae56..6cf597b943 100644 --- a/lib/bundler/endpoint_specification.rb +++ b/lib/bundler/endpoint_specification.rb @@ -3,7 +3,6 @@ module Bundler # used for Creating Specifications from the Gemcutter Endpoint class EndpointSpecification < Gem::Specification - ILLFORMED_MESSAGE = 'Ill-formed requirement ["#<YAML::Syck::DefaultKey'.freeze include MatchPlatform attr_reader :name, :version, :platform, :required_rubygems_version, :required_ruby_version, :checksum @@ -129,13 +128,6 @@ module Bundler def build_dependency(name, requirements) Gem::Dependency.new(name, requirements) - rescue ArgumentError => e - raise unless e.message.include?(ILLFORMED_MESSAGE) - puts # we shouldn't print the error message on the "fetching info" status line - raise GemspecError, - "Unfortunately, the gem #{name} (#{version}) has an invalid " \ - "gemspec.\nPlease ask the gem author to yank the bad version to fix " \ - "this issue. For more information, see http://bit.ly/syck-defaultkey." end end end diff --git a/lib/bundler/psyched_yaml.rb b/lib/bundler/psyched_yaml.rb index 463d52dc4a..3d9893031f 100644 --- a/lib/bundler/psyched_yaml.rb +++ b/lib/bundler/psyched_yaml.rb @@ -1,22 +1,10 @@ # frozen_string_literal: true -# Psych could be in the stdlib -# but it's too late if Syck is already loaded begin - require "psych" unless defined?(Syck) + require "psych" rescue LoadError # Apparently Psych wasn't available. Oh well. end # At least load the YAML stdlib, whatever that may be require "yaml" unless defined?(YAML.dump) - -module Bundler - # On encountering invalid YAML, - # Psych raises Psych::SyntaxError - if defined?(::Psych::SyntaxError) - YamlLibrarySyntaxError = ::Psych::SyntaxError - else # Syck raises ArgumentError - YamlLibrarySyntaxError = ::ArgumentError - end -end diff --git a/lib/bundler/rubygems_integration.rb b/lib/bundler/rubygems_integration.rb index 98982b0f07..26cc4d85e5 100644 --- a/lib/bundler/rubygems_integration.rb +++ b/lib/bundler/rubygems_integration.rb @@ -119,7 +119,7 @@ module Bundler Bundler.ui.error "#{e.class}: #{e.message}" Bundler.ui.trace e raise - rescue YamlLibrarySyntaxError => e + rescue ::Psych::SyntaxError => e raise YamlSyntaxError.new(e, "Your RubyGems configuration, which is " \ "usually located in ~/.gemrc, contains invalid YAML syntax.") end |