github.com/anchore/syft@v1.38.2/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/dotnet"
     6  	"github.com/anchore/syft/syft/pkg/cataloger/golang"
     7  	"github.com/anchore/syft/syft/pkg/cataloger/java"
     8  	"github.com/anchore/syft/syft/pkg/cataloger/javascript"
     9  	"github.com/anchore/syft/syft/pkg/cataloger/kernel"
    10  	"github.com/anchore/syft/syft/pkg/cataloger/nix"
    11  	"github.com/anchore/syft/syft/pkg/cataloger/python"
    12  )
    13  
    14  type Config struct {
    15  	Binary      binary.ClassifierCatalogerConfig  `yaml:"binary" json:"binary" mapstructure:"binary"`
    16  	Dotnet      dotnet.CatalogerConfig            `yaml:"dotnet" json:"dotnet" mapstructure:"dotnet"`
    17  	Golang      golang.CatalogerConfig            `yaml:"golang" json:"golang" mapstructure:"golang"`
    18  	JavaArchive java.ArchiveCatalogerConfig       `yaml:"java-archive" json:"java-archive" mapstructure:"java-archive"`
    19  	JavaScript  javascript.CatalogerConfig        `yaml:"javascript" json:"javascript" mapstructure:"javascript"`
    20  	LinuxKernel kernel.LinuxKernelCatalogerConfig `yaml:"linux-kernel" json:"linux-kernel" mapstructure:"linux-kernel"`
    21  	Nix         nix.Config                        `yaml:"nix" json:"nix" mapstructure:"nix"`
    22  	Python      python.CatalogerConfig            `yaml:"python" json:"python" mapstructure:"python"`
    23  }
    24  
    25  func DefaultConfig() Config {
    26  	return Config{
    27  		Binary:      binary.DefaultClassifierCatalogerConfig(),
    28  		Dotnet:      dotnet.DefaultCatalogerConfig(),
    29  		Golang:      golang.DefaultCatalogerConfig(),
    30  		JavaArchive: java.DefaultArchiveCatalogerConfig(),
    31  		LinuxKernel: kernel.DefaultLinuxKernelCatalogerConfig(),
    32  		Nix:         nix.DefaultConfig(),
    33  		Python:      python.DefaultCatalogerConfig(),
    34  	}
    35  }
    36  
    37  func (c Config) WithNixConfig(cfg nix.Config) Config {
    38  	c.Nix = cfg
    39  	return c
    40  }
    41  
    42  func (c Config) WithBinaryConfig(cfg binary.ClassifierCatalogerConfig) Config {
    43  	c.Binary = cfg
    44  	return c
    45  }
    46  
    47  func (c Config) WithDotnetConfig(cfg dotnet.CatalogerConfig) Config {
    48  	c.Dotnet = cfg
    49  	return c
    50  }
    51  
    52  func (c Config) WithGolangConfig(cfg golang.CatalogerConfig) Config {
    53  	c.Golang = cfg
    54  	return c
    55  }
    56  
    57  func (c Config) WithJavascriptConfig(cfg javascript.CatalogerConfig) Config {
    58  	c.JavaScript = cfg
    59  	return c
    60  }
    61  
    62  func (c Config) WithLinuxKernelConfig(cfg kernel.LinuxKernelCatalogerConfig) Config {
    63  	c.LinuxKernel = cfg
    64  	return c
    65  }
    66  
    67  func (c Config) WithPythonConfig(cfg python.CatalogerConfig) Config {
    68  	c.Python = cfg
    69  	return c
    70  }
    71  
    72  func (c Config) WithJavaArchiveConfig(cfg java.ArchiveCatalogerConfig) Config {
    73  	c.JavaArchive = cfg
    74  	return c
    75  }