mirror of
https://github.com/anchore/syft.git
synced 2025-11-17 08:23:15 +01:00
* add initial spdx support Signed-off-by: Alex Goodman <alex.goodman@anchore.com> * expose FileOwner and use in SPDX presenter Signed-off-by: Alex Goodman <alex.goodman@anchore.com> * add initial json support for SPDX Signed-off-by: Alex Goodman <alex.goodman@anchore.com> * add remaining package fields Signed-off-by: Alex Goodman <alex.goodman@anchore.com> * add spdx license list generation + tests Signed-off-by: Alex Goodman <alex.goodman@anchore.com> * keep fileOwner unexported from pkg Signed-off-by: Alex Goodman <alex.goodman@anchore.com> * restore cli test util Signed-off-by: Alex Goodman <alex.goodman@anchore.com> * add external refs to spdx tag-value format Signed-off-by: Alex Goodman <alex.goodman@anchore.com> * add golang support to CPE generation Signed-off-by: Alex Goodman <alex.goodman@anchore.com> * use tag-value format as default "spdx" format flavor Signed-off-by: Alex Goodman <alex.goodman@anchore.com> * add tests around spdx presenters + refactor presenter tests Signed-off-by: Alex Goodman <alex.goodman@anchore.com> * add bouncer exception for spdx tools-golang repo Signed-off-by: Alex Goodman <alex.goodman@anchore.com> * remove spdx model questions Signed-off-by: Alex Goodman <alex.goodman@anchore.com>
38 lines
1.3 KiB
Go
38 lines
1.3 KiB
Go
package spdx22
|
|
|
|
// ElementID represents the identifier string portion of an SPDX element
|
|
// identifier. DocElementID should be used for any attributes which can
|
|
// contain identifiers defined in a different SPDX document.
|
|
// ElementIDs should NOT contain the mandatory 'SPDXRef-' portion.
|
|
type ElementID string
|
|
|
|
func (e ElementID) String() string {
|
|
return "SPDXRef-" + string(e)
|
|
}
|
|
|
|
// DocElementID represents an SPDX element identifier that could be defined
|
|
// in a different SPDX document, and therefore could have a "DocumentRef-"
|
|
// portion, such as Relationship and Annotations.
|
|
// ElementID is used for attributes in which a "DocumentRef-" portion cannot
|
|
// appear, such as a Package or File definition (since it is necessarily
|
|
// being defined in the present document).
|
|
// DocumentRefID will be the empty string for elements defined in the
|
|
// present document.
|
|
// DocElementIDs should NOT contain the mandatory 'DocumentRef-' or
|
|
// 'SPDXRef-' portions.
|
|
type DocElementID struct {
|
|
DocumentRefID string
|
|
ElementRefID ElementID
|
|
}
|
|
|
|
// RenderDocElementID takes a DocElementID and returns the string equivalent,
|
|
// with the SPDXRef- prefix (and, if applicable, the DocumentRef- prefix)
|
|
// reinserted.
|
|
func (d DocElementID) String() string {
|
|
prefix := ""
|
|
if d.DocumentRefID != "" {
|
|
prefix = "DocumentRef-" + d.DocumentRefID + ":"
|
|
}
|
|
return prefix + d.ElementRefID.String()
|
|
}
|