github.com/lineaje-labs/syft@v0.98.1-0.20231227153149-9e393f60ff1b/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.ArchiveSearchConfig{ 17 IncludeIndexedArchives: true, 18 IncludeUnindexedArchives: false, 19 }, 20 UseNetwork: false, 21 MavenBaseURL: mavenBaseURL, 22 MaxParentRecursiveDepth: 5, 23 } 24 } 25 26 func (j ArchiveCatalogerConfig) WithUseNetwork(input bool) ArchiveCatalogerConfig { 27 j.UseNetwork = input 28 return j 29 } 30 31 func (j ArchiveCatalogerConfig) WithMavenBaseURL(input string) ArchiveCatalogerConfig { 32 if input != "" { 33 j.MavenBaseURL = input 34 } 35 return j 36 } 37 38 func (j ArchiveCatalogerConfig) WithArchiveTraversal(search cataloging.ArchiveSearchConfig, maxDepth int) ArchiveCatalogerConfig { 39 if maxDepth > 0 { 40 j.MaxParentRecursiveDepth = maxDepth 41 } 42 j.ArchiveSearchConfig = search 43 return j 44 }