github.com/anchore/syft@v1.4.2-0.20240516191711-1bec1fc5d397/syft/pkg/cataloger/java/config.go (about) 1 package java 2 3 import "github.com/anchore/syft/syft/cataloging" 4 5 const mavenBaseURL = "https://repo1.maven.org/maven2" 6 7 type ArchiveCatalogerConfig struct { 8 cataloging.ArchiveSearchConfig `yaml:",inline" json:"" mapstructure:",squash"` 9 UseNetwork bool `yaml:"use-network" json:"use-network" mapstructure:"use-network"` 10 MavenBaseURL string `yaml:"maven-base-url" json:"maven-base-url" mapstructure:"maven-base-url"` 11 MaxParentRecursiveDepth int `yaml:"max-parent-recursive-depth" json:"max-parent-recursive-depth" mapstructure:"max-parent-recursive-depth"` 12 } 13 14 func DefaultArchiveCatalogerConfig() ArchiveCatalogerConfig { 15 return ArchiveCatalogerConfig{ 16 ArchiveSearchConfig: cataloging.DefaultArchiveSearchConfig(), 17 UseNetwork: false, 18 MavenBaseURL: mavenBaseURL, 19 MaxParentRecursiveDepth: 5, 20 } 21 } 22 23 func (j ArchiveCatalogerConfig) WithUseNetwork(input bool) ArchiveCatalogerConfig { 24 j.UseNetwork = input 25 return j 26 } 27 28 func (j ArchiveCatalogerConfig) WithMavenBaseURL(input string) ArchiveCatalogerConfig { 29 if input != "" { 30 j.MavenBaseURL = input 31 } 32 return j 33 } 34 35 func (j ArchiveCatalogerConfig) WithArchiveTraversal(search cataloging.ArchiveSearchConfig, maxDepth int) ArchiveCatalogerConfig { 36 if maxDepth > 0 { 37 j.MaxParentRecursiveDepth = maxDepth 38 } 39 j.ArchiveSearchConfig = search 40 return j 41 }