Documentation
¶
Overview ¶
Package java provides a concrete Cataloger implementation for packages relating to the Java language ecosystem.
Index ¶
- func NewArchiveCataloger(cfg ArchiveCatalogerConfig) pkg.Cataloger
- func NewGradleLockfileCataloger() pkg.Cataloger
- func NewJvmDistributionCataloger() pkg.Cataloger
- func NewNativeImageCataloger() pkg.Cataloger
- func NewPomCataloger(cfg ArchiveCatalogerConfig) pkg.Cataloger
- type ArchiveCatalogerConfig
- func (j ArchiveCatalogerConfig) WithArchiveTraversal(search cataloging.ArchiveSearchConfig, maxDepth int) ArchiveCatalogerConfig
- func (j ArchiveCatalogerConfig) WithMavenBaseURL(input string) ArchiveCatalogerConfig
- func (j ArchiveCatalogerConfig) WithMavenLocalRepositoryDir(input string) ArchiveCatalogerConfig
- func (j ArchiveCatalogerConfig) WithResolveTransitiveDependencies(resolveTransitiveDependencies bool) ArchiveCatalogerConfig
- func (j ArchiveCatalogerConfig) WithUseMavenLocalRepository(input bool) ArchiveCatalogerConfig
- func (j ArchiveCatalogerConfig) WithUseNetwork(input bool) ArchiveCatalogerConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewArchiveCataloger ¶ added in v0.95.0
func NewArchiveCataloger(cfg ArchiveCatalogerConfig) pkg.Cataloger
NewArchiveCataloger returns a new Java archive cataloger object for detecting packages with archives (jar, war, ear, par, sar, jpi, hpi, and native-image formats)
func NewGradleLockfileCataloger ¶ added in v0.95.0
NewGradleLockfileCataloger returns a cataloger capable of parsing dependencies from a gradle.lockfile file. Note: Older versions of lockfiles aren't supported yet
func NewJvmDistributionCataloger ¶ added in v1.13.0
NewJvmDistributionCataloger returns packages representing JDK/JRE installations (of multiple distribution types).
func NewNativeImageCataloger ¶ added in v0.66.0
NewNativeImageCataloger returns a new Native Image cataloger object.
func NewPomCataloger ¶ added in v0.95.0
func NewPomCataloger(cfg ArchiveCatalogerConfig) pkg.Cataloger
NewPomCataloger returns a cataloger capable of parsing dependencies from a pom.xml file. Pom files list dependencies that maybe not be locally installed yet.
Types ¶
type ArchiveCatalogerConfig ¶ added in v0.98.0
type ArchiveCatalogerConfig struct {
cataloging.ArchiveSearchConfig `yaml:",inline" json:"" mapstructure:",squash"`
// UseNetwork enables network operations for java package metadata enrichment, such as fetching parent POMs and license information.
// app-config: java.use-network
UseNetwork bool `yaml:"use-network" json:"use-network" mapstructure:"use-network"`
// UseMavenLocalRepository enables searching the local maven repository (`~/.m2/repository` by default) for parent POMs and other metadata.
// app-config: java.use-maven-local-repository
UseMavenLocalRepository bool `yaml:"use-maven-localrepository" json:"use-maven-localrepository" mapstructure:"use-maven-localrepository"`
// MavenLocalRepositoryDir specifies the location of the local maven repository. When not set, defaults to `~/.m2/repository`.
// app-config: java.maven-local-repository-dir
MavenLocalRepositoryDir string `yaml:"maven-localrepository-dir" json:"maven-localrepository-dir" mapstructure:"maven-localrepository-dir"`
// MavenBaseURL specifies the base URL(s) to use for fetching POMs and metadata from maven central or other repositories. When not set, defaults to `https://repo1.maven.org/maven2`.
// app-config: java.maven-url
MavenBaseURL string `yaml:"maven-base-url" json:"maven-base-url" mapstructure:"maven-base-url"`
// MaxParentRecursiveDepth limits how many parent POMs will be fetched recursively before stopping. This prevents fetching excessively deep parent graphs.
// app-config: java.max-parent-recursive-depth
MaxParentRecursiveDepth int `yaml:"max-parent-recursive-depth" json:"max-parent-recursive-depth" mapstructure:"max-parent-recursive-depth"`
// ResolveTransitiveDependencies enables resolving transitive dependencies for java packages found within archives.
// app-config: java.resolve-transitive-dependencies
ResolveTransitiveDependencies bool `yaml:"resolve-transitive-dependencies" json:"resolve-transitive-dependencies" mapstructure:"resolve-transitive-dependencies"`
}
func DefaultArchiveCatalogerConfig ¶ added in v0.98.0
func DefaultArchiveCatalogerConfig() ArchiveCatalogerConfig
func (ArchiveCatalogerConfig) WithArchiveTraversal ¶ added in v0.98.0
func (j ArchiveCatalogerConfig) WithArchiveTraversal(search cataloging.ArchiveSearchConfig, maxDepth int) ArchiveCatalogerConfig
func (ArchiveCatalogerConfig) WithMavenBaseURL ¶ added in v0.98.0
func (j ArchiveCatalogerConfig) WithMavenBaseURL(input string) ArchiveCatalogerConfig
func (ArchiveCatalogerConfig) WithMavenLocalRepositoryDir ¶ added in v1.11.0
func (j ArchiveCatalogerConfig) WithMavenLocalRepositoryDir(input string) ArchiveCatalogerConfig
func (ArchiveCatalogerConfig) WithResolveTransitiveDependencies ¶ added in v1.15.0
func (j ArchiveCatalogerConfig) WithResolveTransitiveDependencies(resolveTransitiveDependencies bool) ArchiveCatalogerConfig
func (ArchiveCatalogerConfig) WithUseMavenLocalRepository ¶ added in v1.11.0
func (j ArchiveCatalogerConfig) WithUseMavenLocalRepository(input bool) ArchiveCatalogerConfig
func (ArchiveCatalogerConfig) WithUseNetwork ¶ added in v0.98.0
func (j ArchiveCatalogerConfig) WithUseNetwork(input bool) ArchiveCatalogerConfig