rebar_sbom (rebar_sbom v1.0.0)
View SourceSummary
Types
-type bom_ref() :: string().
-type component() :: #component{type :: term(), bom_ref :: string(), authors :: [#{name := string()}], name :: string(), version :: string(), description :: string(), scope :: scope(), hashes :: [#{alg := string(), hash := string()}], licenses :: [#{name := string()} | #{id := string()}], externalReferences :: [#external_reference{type :: string(), url :: string()}], cpe :: string() | undefined, purl :: string()}.
-type dependency() :: #dependency{ref :: string(), dependencies :: [#dependency{}]}.
-type license() :: #license{bom_ref :: bom_ref() | undefined, id :: spdx_licence_id() | undefined, name :: string() | undefined, acknowledgement :: declared | concluded | undefined, properties :: properties()}.
-type metadata() :: #metadata{timestamp :: string(), component :: #component{type :: term(), bom_ref :: string(), authors :: [#{name := string()}], name :: string(), version :: string(), description :: string(), scope :: scope(), hashes :: [#{alg := string(), hash := string()}], licenses :: [#{name := string()} | #{id := string()}], externalReferences :: [#external_reference{type :: string(), url :: string()}], cpe :: string() | undefined, purl :: string()}, tools :: [#component{type :: term(), bom_ref :: string(), authors :: [#{name := string()}], name :: string(), version :: string(), description :: string(), scope :: scope(), hashes :: [#{alg := string(), hash := string()}], licenses :: [#{name := string()} | #{id := string()}], externalReferences :: [#external_reference{type :: string(), url :: string()}], cpe :: string() | undefined, purl :: string()}], manufacturer :: #organization{bom_ref :: bom_ref() | undefined, name :: string() | undefined, address :: #address{bom_ref :: bom_ref() | undefined, country :: string() | undefined, region :: string() | undefined, locality :: string() | undefined, post_office_box_number :: string() | undefined, postal_code :: string() | undefined, street_address :: string() | undefined} | undefined, url :: [string()], contact :: [#individual{bom_ref :: bom_ref() | undefined, name :: string() | undefined, email :: string() | undefined, phone :: string() | undefined}]} | undefined, authors :: [#individual{bom_ref :: bom_ref() | undefined, name :: string() | undefined, email :: string() | undefined, phone :: string() | undefined}], licenses :: [#license{bom_ref :: bom_ref() | undefined, id :: spdx_licence_id() | undefined, name :: string() | undefined, acknowledgement :: declared | concluded | undefined, properties :: properties()}], properties :: properties()}.
-type organization() :: #organization{bom_ref :: bom_ref() | undefined, name :: string() | undefined, address :: #address{bom_ref :: bom_ref() | undefined, country :: string() | undefined, region :: string() | undefined, locality :: string() | undefined, post_office_box_number :: string() | undefined, postal_code :: string() | undefined, street_address :: string() | undefined} | undefined, url :: [string()], contact :: [#individual{bom_ref :: bom_ref() | undefined, name :: string() | undefined, email :: string() | undefined, phone :: string() | undefined}]}.
-type sbom() :: #sbom{format :: string(), version :: integer(), serial :: string() | undefined, metadata :: #metadata{timestamp :: string(), component :: #component{type :: term(), bom_ref :: string(), authors :: [#{name := string()}], name :: string(), version :: string(), description :: string(), scope :: scope(), hashes :: [#{alg := string(), hash := string()}], licenses :: [#{name := string()} | #{id := string()}], externalReferences :: [#external_reference{type :: string(), url :: string()}], cpe :: string() | undefined, purl :: string()}, tools :: [#component{type :: term(), bom_ref :: string(), authors :: [#{name := string()}], name :: string(), version :: string(), description :: string(), scope :: scope(), hashes :: [#{alg := string(), hash := string()}], licenses :: [#{name := string()} | #{id := string()}], externalReferences :: [#external_reference{type :: string(), url :: string()}], cpe :: string() | undefined, purl :: string()}], manufacturer :: #organization{bom_ref :: bom_ref() | undefined, name :: string() | undefined, address :: #address{bom_ref :: bom_ref() | undefined, country :: string() | undefined, region :: string() | undefined, locality :: string() | undefined, post_office_box_number :: string() | undefined, postal_code :: string() | undefined, street_address :: string() | undefined} | undefined, url :: [string()], contact :: [#individual{bom_ref :: bom_ref() | undefined, name :: string() | undefined, email :: string() | undefined, phone :: string() | undefined}]} | undefined, authors :: [#individual{bom_ref :: bom_ref() | undefined, name :: string() | undefined, email :: string() | undefined, phone :: string() | undefined}], licenses :: [#license{bom_ref :: bom_ref() | undefined, id :: spdx_licence_id() | undefined, name :: string() | undefined, acknowledgement :: declared | concluded | undefined, properties :: properties()}], properties :: properties()} | undefined, components :: [#component{type :: term(), bom_ref :: string(), authors :: [#{name := string()}], name :: string(), version :: string(), description :: string(), scope :: scope(), hashes :: [#{alg := string(), hash := string()}], licenses :: [#{name := string()} | #{id := string()}], externalReferences :: [#external_reference{type :: string(), url :: string()}], cpe :: string() | undefined, purl :: string()}], dependencies :: [#dependency{ref :: string(), dependencies :: [#dependency{}]}]}.
-type scope() :: required | optional | excluded.
-type spdx_licence_id() :: string().