github.com/nextlinux/gosbom@v0.81.1-0.20230627115839-1ff50c281391/gosbom/pkg/cataloger/config.go (about)

     1  package cataloger
     2  
     3  import (
     4  	"github.com/nextlinux/gosbom/gosbom/pkg/cataloger/golang"
     5  	"github.com/nextlinux/gosbom/gosbom/pkg/cataloger/java"
     6  	"github.com/nextlinux/gosbom/gosbom/pkg/cataloger/kernel"
     7  )
     8  
     9  // TODO: these field naming vs helper function naming schemes are inconsistent.
    10  
    11  type Config struct {
    12  	Search      SearchConfig
    13  	Golang      golang.GoCatalogerOpts
    14  	LinuxKernel kernel.LinuxCatalogerConfig
    15  	Catalogers  []string
    16  	Parallelism int
    17  }
    18  
    19  func DefaultConfig() Config {
    20  	return Config{
    21  		Search:      DefaultSearchConfig(),
    22  		Parallelism: 1,
    23  		LinuxKernel: kernel.DefaultLinuxCatalogerConfig(),
    24  	}
    25  }
    26  
    27  func (c Config) Java() java.Config {
    28  	return java.Config{
    29  		SearchUnindexedArchives: c.Search.IncludeUnindexedArchives,
    30  		SearchIndexedArchives:   c.Search.IncludeIndexedArchives,
    31  	}
    32  }
    33  
    34  func (c Config) Go() golang.GoCatalogerOpts {
    35  	return c.Golang
    36  }
    37  
    38  func (c Config) Kernel() kernel.LinuxCatalogerConfig {
    39  	return c.LinuxKernel
    40  }