github.com/anchore/syft@v1.4.2-0.20240516191711-1bec1fc5d397/syft/cataloging/pkgcataloging/config.go (about) 1 package pkgcataloging 2 3 import ( 4 "github.com/anchore/syft/syft/pkg/cataloger/binary" 5 "github.com/anchore/syft/syft/pkg/cataloger/golang" 6 "github.com/anchore/syft/syft/pkg/cataloger/java" 7 "github.com/anchore/syft/syft/pkg/cataloger/javascript" 8 "github.com/anchore/syft/syft/pkg/cataloger/kernel" 9 "github.com/anchore/syft/syft/pkg/cataloger/python" 10 ) 11 12 type Config struct { 13 Binary binary.ClassifierCatalogerConfig `yaml:"binary" json:"binary" mapstructure:"binary"` 14 Golang golang.CatalogerConfig `yaml:"golang" json:"golang" mapstructure:"golang"` 15 JavaArchive java.ArchiveCatalogerConfig `yaml:"java-archive" json:"java-archive" mapstructure:"java-archive"` 16 JavaScript javascript.CatalogerConfig `yaml:"javascript" json:"javascript" mapstructure:"javascript"` 17 LinuxKernel kernel.LinuxKernelCatalogerConfig `yaml:"linux-kernel" json:"linux-kernel" mapstructure:"linux-kernel"` 18 Python python.CatalogerConfig `yaml:"python" json:"python" mapstructure:"python"` 19 } 20 21 func DefaultConfig() Config { 22 return Config{ 23 Binary: binary.DefaultClassifierCatalogerConfig(), 24 Golang: golang.DefaultCatalogerConfig(), 25 LinuxKernel: kernel.DefaultLinuxKernelCatalogerConfig(), 26 Python: python.DefaultCatalogerConfig(), 27 JavaArchive: java.DefaultArchiveCatalogerConfig(), 28 } 29 } 30 31 func (c Config) WithBinaryConfig(cfg binary.ClassifierCatalogerConfig) Config { 32 c.Binary = cfg 33 return c 34 } 35 36 func (c Config) WithGolangConfig(cfg golang.CatalogerConfig) Config { 37 c.Golang = cfg 38 return c 39 } 40 41 func (c Config) WithJavascriptConfig(cfg javascript.CatalogerConfig) Config { 42 c.JavaScript = cfg 43 return c 44 } 45 46 func (c Config) WithLinuxKernelConfig(cfg kernel.LinuxKernelCatalogerConfig) Config { 47 c.LinuxKernel = cfg 48 return c 49 } 50 51 func (c Config) WithPythonConfig(cfg python.CatalogerConfig) Config { 52 c.Python = cfg 53 return c 54 } 55 56 func (c Config) WithJavaArchiveConfig(cfg java.ArchiveCatalogerConfig) Config { 57 c.JavaArchive = cfg 58 return c 59 }