diff --git a/src/models/checksum.rs b/src/models/checksum.rs index d66bd36..95f1405 100644 --- a/src/models/checksum.rs +++ b/src/models/checksum.rs @@ -5,6 +5,7 @@ use serde::{Deserialize, Serialize}; /// Representation of SPDX's +/// /// [Package Checksum](https://spdx.github.io/spdx-spec/3-package-information/#310-package-checksum) /// and /// [File Checksum](https://spdx.github.io/spdx-spec/4-file-information/#44-file-checksum). @@ -30,6 +31,7 @@ impl Checksum { } /// Possible algorithms to be used for SPDX's +/// /// [package checksum](https://spdx.github.io/spdx-spec/3-package-information/#310-package-checksum) /// and [file checksum](https://spdx.github.io/spdx-spec/4-file-information/#44-file-checksum). #[derive(Debug, Serialize, Deserialize, PartialEq, Eq, PartialOrd, Clone, Copy)] diff --git a/src/models/file_information.rs b/src/models/file_information.rs index 41c9578..bdb40c5 100644 --- a/src/models/file_information.rs +++ b/src/models/file_information.rs @@ -123,9 +123,7 @@ impl FileInformation { .iter() .find(|&checksum| checksum.algorithm == algorithm); - checksum.map_or(false, |checksum| { - checksum.value.to_ascii_lowercase() == value.to_ascii_lowercase() - }) + checksum.is_some_and(|checksum| checksum.value.eq_ignore_ascii_case(value)) } /// Get checksum diff --git a/src/models/package_information.rs b/src/models/package_information.rs index a0cc561..bf8a2c2 100644 --- a/src/models/package_information.rs +++ b/src/models/package_information.rs @@ -307,12 +307,13 @@ pub enum ExternalPackageReferenceCategory { } #[derive(Debug, Serialize, Deserialize, Clone, PartialEq, Eq, Copy)] -#[serde(rename_all = "SCREAMING_SNAKE_CASE")] +#[serde(rename_all = "SCREAMING-KEBAB-CASE")] pub enum PrimaryPackagePurpose { Application, Framework, Library, Container, + #[serde(alias = "OPERATING_SYSTEM")] OperatingSystem, Device, Firmware, diff --git a/src/models/spdx_document.rs b/src/models/spdx_document.rs index 69834e3..634e131 100644 --- a/src/models/spdx_document.rs +++ b/src/models/spdx_document.rs @@ -74,6 +74,7 @@ pub struct SPDX { /// Counter for creating SPDXRefs. Is not part of the spec, so don't serialize. #[serde(skip)] + #[allow(clippy::doc_markdown)] pub spdx_ref_counter: i32, } diff --git a/src/parsers/mod.rs b/src/parsers/mod.rs index 358492c..28c78cc 100644 --- a/src/parsers/mod.rs +++ b/src/parsers/mod.rs @@ -119,7 +119,7 @@ fn spdx_from_atoms(atoms: &[Atom]) -> Result { atom, &mut file_in_progress, &mut file_information, - &package_in_progress, + package_in_progress.as_ref(), &mut relationships, ); process_atom_for_snippets(atom, &mut snippet_information, &mut snippet_in_progress); @@ -411,7 +411,7 @@ fn process_atom_for_files( atom: &Atom, mut file_in_progress: &mut Option, files: &mut Vec, - package_in_progress: &Option, + package_in_progress: Option<&PackageInformation>, relationships: &mut HashSet, ) { match atom { @@ -595,6 +595,7 @@ fn process_atom_for_relationships( } #[derive(Debug, Default)] +#[allow(clippy::struct_field_names)] struct AnnotationInProgress { annotator_in_progress: Option, date_in_progress: Option>,