From 6e31166c8283147cfcba71f5c1cc395cf6f91b0a Mon Sep 17 00:00:00 2001 From: Zelda Hessler Date: Thu, 30 Dec 2021 11:47:20 -0600 Subject: [PATCH] fix: don't panic on missing key in manifest (#1018) --- tools/publisher/src/subcommand/fix_manifests.rs | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/tools/publisher/src/subcommand/fix_manifests.rs b/tools/publisher/src/subcommand/fix_manifests.rs index 4faa2f1bd..75e8a4d8f 100644 --- a/tools/publisher/src/subcommand/fix_manifests.rs +++ b/tools/publisher/src/subcommand/fix_manifests.rs @@ -53,13 +53,19 @@ async fn read_manifests(fs: Fs, manifest_paths: Vec) -> Result Result> { let mut versions = BTreeMap::new(); for manifest in manifests { - let name = manifest.metadata["package"]["name"] - .as_str() + let name = manifest + .metadata + .get("package") + .and_then(|package| package.get("name")) + .and_then(|name| name.as_str()) .ok_or_else(|| { anyhow::Error::msg(format!("{:?} is missing a package name", manifest.path)) })?; - let version = manifest.metadata["package"]["version"] - .as_str() + let version = manifest + .metadata + .get("package") + .and_then(|package| package.get("version")) + .and_then(|name| name.as_str()) .ok_or_else(|| { anyhow::Error::msg(format!("{:?} is missing a package version", manifest.path)) })?; -- GitLab