diff options
author | Mat Sadler <mat@sourcetagsandcodes.com> | 2023-01-26 20:32:05 -0800 |
---|---|---|
committer | git <svn-admin@ruby-lang.org> | 2023-01-30 17:39:48 +0000 |
commit | c5a34f5b566a5d89dd5fa311e75f8cf30d5dbe66 (patch) | |
tree | 122dbd415bd61be290f11e68691eb51fc79040f0 /lib | |
parent | b4defea362278a38a4f7c86a86c5c44fff173e8b (diff) |
[rubygems/rubygems] better error message if cargo metadata doesn't contain the package we expect
https://github.com/rubygems/rubygems/commit/cb7e6d1577
Diffstat (limited to 'lib')
-rw-r--r-- | lib/rubygems/ext/cargo_builder.rb | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/rubygems/ext/cargo_builder.rb b/lib/rubygems/ext/cargo_builder.rb index 2a9e72fdfe..e2ba9e8122 100644 --- a/lib/rubygems/ext/cargo_builder.rb +++ b/lib/rubygems/ext/cargo_builder.rb @@ -225,6 +225,17 @@ class Gem::Ext::CargoBuilder < Gem::Ext::Builder # avoid the json dependency metadata = Gem::SafeYAML.safe_load(output) package = metadata["packages"].find {|pkg| pkg["manifest_path"] == manifest_path } + unless package + found = metadata["packages"].map {|md| "#{md["name"]} at #{md["manifest_path"]}" } + raise Gem::InstallError, <<-EOF +failed to determine cargo package name + +looking for: #{manifest_path} + +found: +#{found.join("\n")} +EOF + end package["name"].tr("-", "_") end |