java

package
v1.42.1-cn Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 4, 2026 License: Apache-2.0 Imports: 44 Imported by: 0

Documentation

Overview

Package java provides a concrete Cataloger implementation for packages relating to the Java language ecosystem.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewArchiveCataloger

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

func NewGradleLockfileCataloger() pkg.Cataloger

NewGradleLockfileCataloger returns a cataloger capable of parsing dependencies from a gradle.lockfile file. Note: Older versions of lockfiles aren't supported yet

func NewJvmDistributionCataloger

func NewJvmDistributionCataloger() pkg.Cataloger

NewJvmDistributionCataloger returns packages representing JDK/JRE installations (of multiple distribution types).

func NewNativeImageCataloger

func NewNativeImageCataloger() pkg.Cataloger

NewNativeImageCataloger returns a new Native Image cataloger object.

func NewPomCataloger

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

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

func DefaultArchiveCatalogerConfig() ArchiveCatalogerConfig

func (ArchiveCatalogerConfig) WithArchiveTraversal

func (j ArchiveCatalogerConfig) WithArchiveTraversal(search cataloging.ArchiveSearchConfig, maxDepth int) ArchiveCatalogerConfig

func (ArchiveCatalogerConfig) WithMavenBaseURL

func (j ArchiveCatalogerConfig) WithMavenBaseURL(input string) ArchiveCatalogerConfig

func (ArchiveCatalogerConfig) WithMavenLocalRepositoryDir

func (j ArchiveCatalogerConfig) WithMavenLocalRepositoryDir(input string) ArchiveCatalogerConfig

func (ArchiveCatalogerConfig) WithResolveTransitiveDependencies

func (j ArchiveCatalogerConfig) WithResolveTransitiveDependencies(resolveTransitiveDependencies bool) ArchiveCatalogerConfig

func (ArchiveCatalogerConfig) WithUseMavenLocalRepository

func (j ArchiveCatalogerConfig) WithUseMavenLocalRepository(input bool) ArchiveCatalogerConfig

func (ArchiveCatalogerConfig) WithUseNetwork

func (j ArchiveCatalogerConfig) WithUseNetwork(input bool) ArchiveCatalogerConfig

Directories

Path Synopsis
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL