maven

package
v1.94.0 Latest Latest
Warning

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

Go to latest
Published: Oct 19, 2020 License: Apache-2.0 Imports: 11 Imported by: 6

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DownloadAndCopySettingsFiles added in v1.62.0

func DownloadAndCopySettingsFiles(globalSettingsFile string, projectSettingsFile string, fileUtils piperutils.FileUtils, httpClient SettingsDownloadUtils) error

func DownloadAndGetMavenParameters added in v1.62.0

func DownloadAndGetMavenParameters(globalSettingsFile string, projectSettingsFile string, fileUtils piperutils.FileUtils, httpClient SettingsDownloadUtils) ([]string, error)

func Evaluate added in v1.17.0

func Evaluate(options *EvaluateOptions, expression string, command mavenExecRunner) (string, error)

Evaluate constructs ExecuteOptions for using the maven-help-plugin's 'evaluate' goal to evaluate a given expression from a pom file. This allows to retrieve the value of - for example - 'project.version' from a pom file exactly as Maven itself evaluates it.

func Execute

func Execute(options *ExecuteOptions, command mavenExecRunner) (string, error)

Execute constructs a mvn command line from the given options, and uses the provided mavenExecRunner to execute it.

func GetTestModulesExcludes added in v1.16.0

func GetTestModulesExcludes() []string

func InstallFile added in v1.44.0

func InstallFile(file, pomFile, m2Path string, command mavenExecRunner) error

InstallFile installs a maven artifact and its pom into the local maven repository. If "file" is empty, only the pom is installed. "pomFile" must not be empty.

func InstallMavenArtifacts added in v1.44.0

func InstallMavenArtifacts(command mavenExecRunner, options EvaluateOptions) error

InstallMavenArtifacts finds maven modules (identified by pom.xml files) and installs the artifacts into the local maven repository.

func VisitAllMavenModules added in v1.87.0

func VisitAllMavenModules(path string, utils visitUtils, excludes []string, callback func(info ModuleInfo) error) error

VisitAllMavenModules ...

Types

type Dependency added in v1.87.0

type Dependency struct {
	XMLName    xml.Name    `xml:"dependency"`
	GroupID    string      `xml:"groupId"`
	ArtifactID string      `xml:"artifactId"`
	Version    string      `xml:"version"`
	Classifier string      `xml:"classifier"`
	Type       string      `xml:"type"`
	Scope      string      `xml:"scope"`
	Exclusions []Exclusion `xml:"exclusions>exclusion"`
}

Dependency describes a dependency of the module.

type EvaluateOptions added in v1.43.0

type EvaluateOptions struct {
	PomPath             string   `json:"pomPath,omitempty"`
	ProjectSettingsFile string   `json:"projectSettingsFile,omitempty"`
	GlobalSettingsFile  string   `json:"globalSettingsFile,omitempty"`
	M2Path              string   `json:"m2Path,omitempty"`
	Defines             []string `json:"defines,omitempty"`
}

EvaluateOptions are used by Evaluate() to construct the Maven command line. In contrast to ExecuteOptions, fewer settings are required for Evaluate and thus a separate type is needed.

type Exclusion added in v1.87.0

type Exclusion struct {
	XMLName    xml.Name `xml:"exclusion"`
	GroupID    string   `xml:"groupId"`
	ArtifactID string   `xml:"artifactId"`
}

Exclusion describes an exclusion within a dependency.

type ExecuteOptions

type ExecuteOptions struct {
	PomPath                     string   `json:"pomPath,omitempty"`
	ProjectSettingsFile         string   `json:"projectSettingsFile,omitempty"`
	GlobalSettingsFile          string   `json:"globalSettingsFile,omitempty"`
	M2Path                      string   `json:"m2Path,omitempty"`
	Goals                       []string `json:"goals,omitempty"`
	Defines                     []string `json:"defines,omitempty"`
	Flags                       []string `json:"flags,omitempty"`
	LogSuccessfulMavenTransfers bool     `json:"logSuccessfulMavenTransfers,omitempty"`
	ReturnStdout                bool     `json:"returnStdout,omitempty"`
}

ExecuteOptions are used by Execute() to construct the Maven command line.

type ModuleInfo added in v1.87.0

type ModuleInfo struct {
	PomXMLPath string
	Project    *Project
}

ModuleInfo describes a location and Project of a maven module.

type Parent added in v1.87.0

type Parent struct {
	XMLName    xml.Name `xml:"parent"`
	GroupID    string   `xml:"groupId"`
	ArtifactID string   `xml:"artifactId"`
	Version    string   `xml:"version"`
}

Parent describes the coordinates a module's parent POM.

type Project added in v1.87.0

type Project struct {
	XMLName      xml.Name     `xml:"project"`
	Parent       Parent       `xml:"parent"`
	GroupID      string       `xml:"groupId"`
	ArtifactID   string       `xml:"artifactId"`
	Version      string       `xml:"version"`
	Packaging    string       `xml:"packaging"`
	Name         string       `xml:"name"`
	Dependencies []Dependency `xml:"dependencies>dependency"`
	Modules      []string     `xml:"modules>module"`
}

Project describes the Maven object model.

func ParsePOM added in v1.87.0

func ParsePOM(xmlData []byte) (*Project, error)

ParsePOM parses the provided XML raw data into a Project.

type SettingsDownloadUtils added in v1.62.0

type SettingsDownloadUtils interface {
	DownloadFile(url, filename string, header http.Header, cookies []*http.Cookie) error
}

Jump to

Keyboard shortcuts

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