mirror of
https://github.com/anchore/syft.git
synced 2026-10-30 14:02:26 +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>
31 lines
1.1 KiB
Go
31 lines
1.1 KiB
Go
/*
|
|
Defines a Presenter interface for displaying catalog results to an io.Writer as well as a helper utility to obtain
|
|
a specific Presenter implementation given user configuration.
|
|
*/
|
|
package packages
|
|
|
|
import (
|
|
"github.com/anchore/syft/internal/presenter/packages"
|
|
"github.com/anchore/syft/syft/presenter"
|
|
)
|
|
|
|
// Presenter returns a presenter for images or directories
|
|
func Presenter(option PresenterOption, config PresenterConfig) presenter.Presenter {
|
|
switch option {
|
|
case JSONPresenterOption:
|
|
return packages.NewJSONPresenter(config.Catalog, config.SourceMetadata, config.Distro, config.Scope)
|
|
case TextPresenterOption:
|
|
return packages.NewTextPresenter(config.Catalog, config.SourceMetadata)
|
|
case TablePresenterOption:
|
|
return packages.NewTablePresenter(config.Catalog)
|
|
case CycloneDxPresenterOption:
|
|
return packages.NewCycloneDxPresenter(config.Catalog, config.SourceMetadata)
|
|
case SPDXTagValuePresenterOption:
|
|
return packages.NewSPDXTagValuePresenter(config.Catalog, config.SourceMetadata)
|
|
case SPDXJSONPresenterOption:
|
|
return packages.NewSPDXJSONPresenter(config.Catalog, config.SourceMetadata)
|
|
default:
|
|
return nil
|
|
}
|
|
}
|