Skip to content
Snippets Groups Projects
Unverified Commit 6e31166c authored by Zelda Hessler's avatar Zelda Hessler Committed by GitHub
Browse files

fix: don't panic on missing key in manifest (#1018)

parent 241df124
Branches
Tags
No related merge requests found
...@@ -53,13 +53,19 @@ async fn read_manifests(fs: Fs, manifest_paths: Vec<PathBuf>) -> Result<Vec<Mani ...@@ -53,13 +53,19 @@ async fn read_manifests(fs: Fs, manifest_paths: Vec<PathBuf>) -> Result<Vec<Mani
fn package_versions(manifests: &[Manifest]) -> Result<BTreeMap<String, Version>> { fn package_versions(manifests: &[Manifest]) -> Result<BTreeMap<String, Version>> {
let mut versions = BTreeMap::new(); let mut versions = BTreeMap::new();
for manifest in manifests { for manifest in manifests {
let name = manifest.metadata["package"]["name"] let name = manifest
.as_str() .metadata
.get("package")
.and_then(|package| package.get("name"))
.and_then(|name| name.as_str())
.ok_or_else(|| { .ok_or_else(|| {
anyhow::Error::msg(format!("{:?} is missing a package name", manifest.path)) anyhow::Error::msg(format!("{:?} is missing a package name", manifest.path))
})?; })?;
let version = manifest.metadata["package"]["version"] let version = manifest
.as_str() .metadata
.get("package")
.and_then(|package| package.get("version"))
.and_then(|name| name.as_str())
.ok_or_else(|| { .ok_or_else(|| {
anyhow::Error::msg(format!("{:?} is missing a package version", manifest.path)) anyhow::Error::msg(format!("{:?} is missing a package version", manifest.path))
})?; })?;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment