From c5a34f5b566a5d89dd5fa311e75f8cf30d5dbe66 Mon Sep 17 00:00:00 2001 From: Mat Sadler Date: Thu, 26 Jan 2023 20:32:05 -0800 Subject: [rubygems/rubygems] better error message if cargo metadata doesn't contain the package we expect https://github.com/rubygems/rubygems/commit/cb7e6d1577 --- lib/rubygems/ext/cargo_builder.rb | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'lib') 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 -- cgit v1.2.3