pub struct LicenseMetrics {
pub with_declared: usize,
pub with_concluded: usize,
pub valid_spdx_expressions: usize,
pub non_standard_licenses: usize,
pub noassertion_count: usize,
pub deprecated_licenses: usize,
pub restrictive_licenses: usize,
pub copyleft_license_ids: Vec<String>,
pub unique_licenses: Vec<String>,
pub file_components: usize,
}Expand description
License quality metrics
Fields§
§with_declared: usizeComponents with at least one real (non-NOASSERTION) declared license
with_concluded: usizeComponents with concluded licenses
valid_spdx_expressions: usizeComponents whose declared licenses are all valid SPDX expressions
(subset of with_declared)
non_standard_licenses: usizeComponents with at least one non-standard declared license name
(subset of with_declared; disjoint with valid_spdx_expressions)
noassertion_count: usizeComponents with at least one NOASSERTION declared entry
deprecated_licenses: usizeComponents with at least one deprecated SPDX license identifier
restrictive_licenses: usizeComponents with restrictive/copyleft licenses (GPL family)
copyleft_license_ids: Vec<String>Specific copyleft license identifiers found
unique_licenses: Vec<String>Unique licenses found
file_components: usizeFile-typed inventory entries excluded from per-component counting
(denominator plumbing for quality_score; not part of the report).
Implementations§
Source§impl LicenseMetrics
impl LicenseMetrics
Sourcepub fn from_sbom(sbom: &NormalizedSbom) -> Self
pub fn from_sbom(sbom: &NormalizedSbom) -> Self
Calculate license metrics from an SBOM
Sourcepub fn quality_score(&self, total_components: usize) -> f32
pub fn quality_score(&self, total_components: usize) -> f32
Calculate license quality score (0-100)
Trait Implementations§
Source§impl Clone for LicenseMetrics
impl Clone for LicenseMetrics
Source§fn clone(&self) -> LicenseMetrics
fn clone(&self) -> LicenseMetrics
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for LicenseMetrics
impl Debug for LicenseMetrics
Source§impl<'de> Deserialize<'de> for LicenseMetrics
impl<'de> Deserialize<'de> for LicenseMetrics
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>,
Auto Trait Implementations§
impl Freeze for LicenseMetrics
impl RefUnwindSafe for LicenseMetrics
impl Send for LicenseMetrics
impl Sync for LicenseMetrics
impl Unpin for LicenseMetrics
impl UnsafeUnpin for LicenseMetrics
impl UnwindSafe for LicenseMetrics
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more