pub struct PluginMetadata {Show 14 fields
pub name: String,
pub version: String,
pub abi_version: String,
pub description: Option<String>,
pub authors: Option<Vec<String>>,
pub license: Option<String>,
pub keywords: Option<Vec<String>>,
pub categories: Option<Vec<String>>,
pub repository: Option<String>,
pub homepage: Option<String>,
pub documentation: Option<String>,
pub capabilities: Option<Vec<String>>,
pub requirements: Option<PluginRequirements>,
pub dependencies: Option<Vec<DependencyMetadata>>,
}Expand description
Rich metadata extracted from a plugin
Fields§
§name: StringPlugin name (unique identifier)
version: StringSemantic version (e.g., “1.2.3”)
abi_version: StringABI version (e.g., “2.0”)
description: Option<String>Human-readable description
Plugin author(s)
license: Option<String>License identifier (SPDX)
keywords: Option<Vec<String>>Plugin keywords for searching
categories: Option<Vec<String>>Categories/tags
repository: Option<String>Repository URL
homepage: Option<String>Homepage URL
documentation: Option<String>Documentation URL
capabilities: Option<Vec<String>>Plugin capabilities
requirements: Option<PluginRequirements>Plugin requirements
dependencies: Option<Vec<DependencyMetadata>>Dependencies
Implementations§
Source§impl PluginMetadata
impl PluginMetadata
Sourcepub fn from_manifest(manifest_content: &str) -> Result<Self>
pub fn from_manifest(manifest_content: &str) -> Result<Self>
Extract basic metadata from a manifest
Sourcepub fn dependency_count(&self) -> usize
pub fn dependency_count(&self) -> usize
Get total dependency count (including optional)
Sourcepub fn required_dependency_count(&self) -> usize
pub fn required_dependency_count(&self) -> usize
Get required dependency count (excluding optional)
Sourcepub fn optional_dependency_count(&self) -> usize
pub fn optional_dependency_count(&self) -> usize
Get optional dependency count
Sourcepub fn to_abi_compatible(&self) -> Result<ABICompatibleInfo>
pub fn to_abi_compatible(&self) -> Result<ABICompatibleInfo>
Convert to ABI v2.0 compatible info for registry integration
Sourcepub fn validate_abi_compatibility(&self) -> Result<ABIValidationResult>
pub fn validate_abi_compatibility(&self) -> Result<ABIValidationResult>
Validate ABI v2.0 compatibility
Sourcepub fn is_abi_v2_compatible(&self) -> Result<bool>
pub fn is_abi_v2_compatible(&self) -> Result<bool>
Check if plugin meets minimum ABI v2.0 requirements
Trait Implementations§
Source§impl Clone for PluginMetadata
impl Clone for PluginMetadata
Source§fn clone(&self) -> PluginMetadata
fn clone(&self) -> PluginMetadata
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for PluginMetadata
impl Debug for PluginMetadata
Source§impl<'de> Deserialize<'de> for PluginMetadata
impl<'de> Deserialize<'de> for PluginMetadata
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for PluginMetadata
impl RefUnwindSafe for PluginMetadata
impl Send for PluginMetadata
impl Sync for PluginMetadata
impl Unpin for PluginMetadata
impl UnsafeUnpin for PluginMetadata
impl UnwindSafe for PluginMetadata
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more