mirror of
https://github.com/anchore/syft.git
synced 2025-11-17 08:23:15 +01:00
* add new cyclonedx format object Signed-off-by: Alex Goodman <alex.goodman@anchore.com> * remove cyclonedx presenter Signed-off-by: Alex Goodman <alex.goodman@anchore.com> * remove cyclonedx presenter call Signed-off-by: Alex Goodman <alex.goodman@anchore.com> * remove dependence on golden images for format tests Signed-off-by: Alex Goodman <alex.goodman@anchore.com> * wire up new formt + rename all-presenters ref Signed-off-by: Alex Goodman <alex.goodman@anchore.com> * add CLI test to ensure that all formats can be expressed as report output Signed-off-by: Alex Goodman <alex.goodman@anchore.com> * add cyclonedx version and encoding format to package name Signed-off-by: Alex Goodman <alex.goodman@anchore.com> * optionally preserve format snapshot images Signed-off-by: Alex Goodman <alex.goodman@anchore.com> * fix linting + text unit tests Signed-off-by: Alex Goodman <alex.goodman@anchore.com>
32 lines
1.3 KiB
Go
32 lines
1.3 KiB
Go
package model
|
|
|
|
import (
|
|
"encoding/xml"
|
|
)
|
|
|
|
// Source: https://cyclonedx.org/ext/bom-descriptor/
|
|
|
|
// BomDescriptor represents all metadata surrounding the BOM report (such as when the BOM was made, with which tool, and the item being cataloged).
|
|
type BomDescriptor struct {
|
|
XMLName xml.Name `xml:"metadata"`
|
|
Timestamp string `xml:"timestamp,omitempty"` // The date and time (timestamp) when the document was created
|
|
Tools []BomDescriptorTool `xml:"tools>tool"` // The tool used to create the BOM.
|
|
Component *BomDescriptorComponent `xml:"component"` // The component that the BOM describes.
|
|
}
|
|
|
|
// BomDescriptorTool represents the tool that created the BOM report.
|
|
type BomDescriptorTool struct {
|
|
XMLName xml.Name `xml:"tool"`
|
|
Vendor string `xml:"vendor,omitempty"` // The vendor of the tool used to create the BOM.
|
|
Name string `xml:"name,omitempty"` // The name of the tool used to create the BOM.
|
|
Version string `xml:"version,omitempty"` // The version of the tool used to create the BOM.
|
|
// TODO: hashes, author, manufacture, supplier
|
|
// TODO: add user-defined fields for the remaining build/version parameters
|
|
}
|
|
|
|
// BomDescriptorComponent represents the software/package being cataloged.
|
|
type BomDescriptorComponent struct {
|
|
XMLName xml.Name `xml:"component"`
|
|
Component
|
|
}
|