refactor(toml): Rely on resolved homepage

This commit is contained in:
Ed Page 2024-03-19 13:46:24 -05:00
parent f96638ea3b
commit 5b5f64460b
2 changed files with 13 additions and 8 deletions

View File

@ -210,6 +210,10 @@ impl TomlPackage {
pub fn resolved_description(&self) -> Result<Option<&String>, UnresolvedError> {
self.description.as_ref().map(|v| v.resolved()).transpose()
}
pub fn resolved_homepage(&self) -> Result<Option<&String>, UnresolvedError> {
self.homepage.as_ref().map(|v| v.resolved()).transpose()
}
}
/// An enum that allows for inheriting keys from a workspace in a Cargo.toml.

View File

@ -568,6 +568,12 @@ pub fn to_real_manifest(
.map(|value| field_inherit_with(value, "description", || inherit()?.description()))
.transpose()?
.map(manifest::InheritableField::Value);
package.homepage = package
.homepage
.clone()
.map(|value| field_inherit_with(value, "homepage", || inherit()?.homepage()))
.transpose()?
.map(manifest::InheritableField::Value);
let rust_version = package
.resolved_rust_version()
@ -872,10 +878,9 @@ pub fn to_real_manifest(
.expect("previously resolved")
.cloned(),
homepage: package
.homepage
.clone()
.map(|mw| field_inherit_with(mw, "homepage", || inherit()?.homepage()))
.transpose()?,
.resolved_homepage()
.expect("previously resolved")
.cloned(),
documentation: package
.documentation
.clone()
@ -932,10 +937,6 @@ pub fn to_real_manifest(
links: package.links.clone(),
rust_version: rust_version.clone(),
};
package.homepage = metadata
.homepage
.clone()
.map(|homepage| manifest::InheritableField::Value(homepage));
package.documentation = metadata
.documentation
.clone()