Skip to content

Commit 1acced9

Browse files
committed
Adapt to wasm-metadata changes
1 parent aafbb7f commit 1acced9

File tree

1 file changed

+18
-13
lines changed
  • crates/wasm-pkg-core/src

1 file changed

+18
-13
lines changed

crates/wasm-pkg-core/src/wit.rs

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ use std::{collections::HashSet, path::Path, str::FromStr};
44

55
use anyhow::{Context, Result};
66
use semver::{Version, VersionReq};
7-
use wasm_metadata::AddMetadata;
7+
use wasm_metadata::{AddMetadata, AddMetadataField};
88
use wasm_pkg_client::{
99
caching::{CachingClient, FileCache},
1010
PackageRef,
@@ -83,20 +83,25 @@ pub async fn build_package(
8383
let processed_by_version = option_env!("WIT_VERSION_INFO").unwrap_or(env!("CARGO_PKG_VERSION"));
8484

8585
let metadata = config.metadata.clone().unwrap_or_default();
86-
let add_metadata = AddMetadata {
87-
name: Some(format!("{}:{}", pkg.name.namespace, pkg.name.name)),
88-
processed_by: vec![(
86+
let add_metadata = {
87+
/// MetadataField::Set iff the given Option is Some
88+
fn set<T: std::fmt::Debug + Clone>(opt: Option<T>) -> AddMetadataField<T> {
89+
opt.map(AddMetadataField::Set).unwrap_or_default()
90+
}
91+
let mut add = AddMetadata::default();
92+
add.name = set(Some(format!("{}:{}", pkg.name.namespace, pkg.name.name)));
93+
add.processed_by = vec![(
8994
env!("CARGO_PKG_NAME").to_string(),
9095
processed_by_version.to_string(),
91-
)],
92-
authors: metadata.authors.map(|v| v.parse()).transpose()?,
93-
description: metadata.description.map(|v| v.parse()).transpose()?,
94-
licenses: metadata.licenses.map(|v| v.parse()).transpose()?,
95-
source: metadata.source.map(|v| v.parse()).transpose()?,
96-
homepage: metadata.homepage.map(|v| v.parse()).transpose()?,
97-
revision: metadata.revision.map(|v| v.parse()).transpose()?,
98-
version,
99-
..Default::default()
96+
)];
97+
add.authors = set(metadata.authors.map(|v| v.parse()).transpose()?);
98+
add.description = set(metadata.description.map(|v| v.parse()).transpose()?);
99+
add.licenses = set(metadata.licenses.map(|v| v.parse()).transpose()?);
100+
add.source = set(metadata.source.map(|v| v.parse()).transpose()?);
101+
add.homepage = set(metadata.homepage.map(|v| v.parse()).transpose()?);
102+
add.revision = set(metadata.revision.map(|v| v.parse()).transpose()?);
103+
add.version = set(version);
104+
add
100105
};
101106
let bytes = add_metadata.to_wasm(&bytes)?;
102107

0 commit comments

Comments
 (0)