SBoM.CycloneDX (SBoM v0.9.1)
View SourceSBoM CycloneDX encoding and decoding.
Summary
Functions
Generate a BOM for the current Mix project and its dependencies.
Canonicalize a BOM for comparison by removing volatile fields that change between generations but don't indicate actual content changes.
Decode a BOM
Create an empty BOM structure for the given schema version.
Encode a BOM
Compare two BOMs for equivalence.
Types
@type classification() :: SBoM.CycloneDX.V13.Classification.t() | SBoM.CycloneDX.V14.Classification.t() | SBoM.CycloneDX.V15.Classification.t() | SBoM.CycloneDX.V16.Classification.t() | SBoM.CycloneDX.V17.Classification.t()
@type format() :: :protobuf | :json | :xml
@type schema_version() :: String.t()
@type t() :: SBoM.CycloneDX.V13.Bom.t() | SBoM.CycloneDX.V14.Bom.t() | SBoM.CycloneDX.V15.Bom.t() | SBoM.CycloneDX.V16.Bom.t() | SBoM.CycloneDX.V17.Bom.t()
Functions
Generate a BOM for the current Mix project and its dependencies.
Canonicalize a BOM for comparison by removing volatile fields that change between generations but don't indicate actual content changes.
Removes: serial_number, version, and timestamp from metadata.
Decode a BOM
@spec empty(schema_version()) :: t()
Create an empty BOM structure for the given schema version.
Encode a BOM
Compare two BOMs for equivalence.
First compares directly. If not equal, canonicalizes both BOMs by removing volatile fields (serial_number, version, timestamp) and compares again.