build

package
v0.0.0-...-e472556 Latest Latest
Warning

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

Go to latest
Published: Sep 6, 2023 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MavenHome              = "M2_HOME"
	MavenExtractorFileName = "build-info-extractor-maven3-%s-uber.jar"

	PropertiesTempFolderName        = "properties"
	MavenExtractorRemotePath        = "org/jfrog/buildinfo/build-info-extractor-maven3/%s"
	MavenExtractorDependencyVersion = "2.40.0"

	ClassworldsConf = `` /* 171-byte string literal not displayed */

)
View Source
const (
	// BuildInfo details dir name
	BuildInfoDetails = "details"
)
View Source
const BuildsTempPath = "jfrog/builds/"

Variables

This section is empty.

Functions

func GetGradleExecPath

func GetGradleExecPath(useWrapper bool) (string, error)

func RunYarnCommand

func RunYarnCommand(executablePath, srcPath string, args ...string) error

Types

type Build

type Build struct {
	// contains filtered or unexported fields
}

func NewBuild

func NewBuild(buildName, buildNumber, projectKey, tempDirPath string, logger utils.Log) *Build

func (*Build) AddDotnetModules

func (b *Build) AddDotnetModules(srcPath string) (*DotnetModule, error)

AddDotnetModules adds a Dotnet module to this Build. Pass srcPath as an empty string if the root of the Dotnet project is the working directory.

func (*Build) AddGoModule

func (b *Build) AddGoModule(srcPath string) (*GoModule, error)

AddGoModule adds a Go module to this Build. Pass srcPath as an empty string if the root of the Go project is the working directory.

func (*Build) AddGradleModule

func (b *Build) AddGradleModule(srcPath string) (*GradleModule, error)

AddGradleModule adds a Gradle module to this Build. Pass srcPath as an empty string if the root of the Gradle project is the working directory.

func (*Build) AddMavenModule

func (b *Build) AddMavenModule(srcPath string) (*MavenModule, error)

AddMavenModule adds a Maven module to this Build. Pass srcPath as an empty string if the root of the Maven project is the working directory.

func (*Build) AddNpmModule

func (b *Build) AddNpmModule(srcPath string) (*NpmModule, error)

AddNpmModule adds a Npm module to this Build. Pass srcPath as an empty string if the root of the Npm project is the working directory.

func (*Build) AddNugetModules

func (b *Build) AddNugetModules(srcPath string) (*DotnetModule, error)

AddNugetModules adds a Nuget module to this Build. Pass srcPath as an empty string if the root of the Nuget project is the working directory.

func (*Build) AddPythonModule

func (b *Build) AddPythonModule(srcPath string, tool pythonutils.PythonTool) (*PythonModule, error)

AddPythonModule adds a Python module to this Build. Pass srcPath as an empty string if the root of the python project is the working directory.

func (*Build) AddYarnModule

func (b *Build) AddYarnModule(srcPath string) (*YarnModule, error)

AddYarnModule adds a Yarn module to this Build. Pass srcPath as an empty string if the root of the Yarn project is the working directory.

func (*Build) Clean

func (b *Build) Clean() error

func (*Build) CollectEnv

func (b *Build) CollectEnv() error

func (*Build) SaveBuildInfo

func (b *Build) SaveBuildInfo(buildInfo *entities.BuildInfo) (err error)

func (*Build) SavePartialBuildInfo

func (b *Build) SavePartialBuildInfo(partial *entities.Partial) (err error)

SavePartialBuildInfo saves the given partial in the builds directory. The partial's Timestamp field is set inside this function.

func (*Build) SetAgentName

func (b *Build) SetAgentName(agentName string)

This field is not saved in local cache. It is used only when creating a build-info using the ToBuildInfo() function.

func (*Build) SetAgentVersion

func (b *Build) SetAgentVersion(agentVersion string)

This field is not saved in local cache. It is used only when creating a build-info using the ToBuildInfo() function.

func (*Build) SetBuildAgentVersion

func (b *Build) SetBuildAgentVersion(buildAgentVersion string)

This field is not saved in local cache. It is used only when creating a build-info using the ToBuildInfo() function.

func (*Build) SetBuildUrl

func (b *Build) SetBuildUrl(buildUrl string)

This field is not saved in local cache. It is used only when creating a build-info using the ToBuildInfo() function.

func (*Build) SetPrincipal

func (b *Build) SetPrincipal(principal string)

This field is not saved in local cache. It is used only when creating a build-info using the ToBuildInfo() function.

func (*Build) ToBuildInfo

func (b *Build) ToBuildInfo() (*entities.BuildInfo, error)

type BuildInfoService

type BuildInfoService struct {
	// contains filtered or unexported fields
}

func NewBuildInfoService

func NewBuildInfoService() *BuildInfoService

func (*BuildInfoService) GetOrCreateBuild

func (bis *BuildInfoService) GetOrCreateBuild(buildName, buildNumber string) (*Build, error)

GetOrCreateBuild gets a build from cache, or creates a new one if it doesn't exist. It's important to invoke this function at the very beginning of the build, so that the start time property in the build-info will be accurate.

func (*BuildInfoService) GetOrCreateBuildWithProject

func (bis *BuildInfoService) GetOrCreateBuildWithProject(buildName, buildNumber, projectKey string) (*Build, error)

GetOrCreateBuildWithProject gets a build from cache, or creates a new one if it doesn't exist. It's important to invoke this function at the very beginning of the build, so that the start time property in the build-info will be accurate.

func (*BuildInfoService) SetLogger

func (bis *BuildInfoService) SetLogger(logger utils.Log)

func (*BuildInfoService) SetTempDirPath

func (bis *BuildInfoService) SetTempDirPath(tempDirPath string)

type DotnetModule

type DotnetModule struct {
	// contains filtered or unexported fields
}

func (*DotnetModule) CalcDependencies

func (dm *DotnetModule) CalcDependencies() error

CalcDependencies exec all type of dotnet commands - install, update, add, restore. Collects the dotnet project's dependencies and saves them in the build-info module.

func (*DotnetModule) GetArgAndFlags

func (dm *DotnetModule) GetArgAndFlags() []string

func (*DotnetModule) GetName

func (dm *DotnetModule) GetName() string

func (*DotnetModule) GetSolutionPath

func (dm *DotnetModule) GetSolutionPath() string

func (*DotnetModule) GetSubcommand

func (dm *DotnetModule) GetSubcommand() string

func (*DotnetModule) GetToolchainType

func (dm *DotnetModule) GetToolchainType() dotnet.ToolchainType

func (*DotnetModule) SetArgAndFlags

func (dm *DotnetModule) SetArgAndFlags(argAndFlags []string)

func (*DotnetModule) SetName

func (dm *DotnetModule) SetName(name string)

func (*DotnetModule) SetSolutionPath

func (dm *DotnetModule) SetSolutionPath(solutionPath string)

func (*DotnetModule) SetSubcommand

func (dm *DotnetModule) SetSubcommand(subCommand string)

func (*DotnetModule) SetToolchainType

func (dm *DotnetModule) SetToolchainType(toolchainType dotnet.ToolchainType)

type GoModule

type GoModule struct {
	// contains filtered or unexported fields
}

func (*GoModule) AddArtifacts

func (gm *GoModule) AddArtifacts(artifacts ...entities.Artifact) error

func (*GoModule) CalcDependencies

func (gm *GoModule) CalcDependencies() error

func (*GoModule) SetName

func (gm *GoModule) SetName(name string)

type GradleModule

type GradleModule struct {
	// contains filtered or unexported fields
}

func (*GradleModule) CalcDependencies

func (gm *GradleModule) CalcDependencies() (err error)

Generates Gradle build-info.

func (*GradleModule) SetExtractorDetails

func (gm *GradleModule) SetExtractorDetails(localExtractorPath, extractorPropsDir string, tasks []string, useWrapper, usePlugin bool, downloadExtractorFunc func(downloadTo, downloadFrom string) error, props map[string]string) *GradleModule

type MavenModule

type MavenModule struct {
	// contains filtered or unexported fields
}

func (*MavenModule) CalcDependencies

func (mm *MavenModule) CalcDependencies() (err error)

Generates Maven build-info.

func (*MavenModule) SetExtractorDetails

func (mm *MavenModule) SetExtractorDetails(localExtractorPath, extractorPropsdir string, goals []string, downloadExtractorFunc func(downloadTo, downloadFrom string) error, configProps map[string]string, useWrapper bool) *MavenModule

func (*MavenModule) SetMavenGoals

func (mm *MavenModule) SetMavenGoals(goals ...string)

func (*MavenModule) SetMavenOpts

func (mm *MavenModule) SetMavenOpts(mavenOpts ...string)

func (*MavenModule) SetOutputWriter

func (mm *MavenModule) SetOutputWriter(outputWriter io.Writer)

type NpmModule

type NpmModule struct {
	// contains filtered or unexported fields
}

func (*NpmModule) AddArtifacts

func (nm *NpmModule) AddArtifacts(artifacts ...entities.Artifact) error

func (*NpmModule) Build

func (nm *NpmModule) Build() error

func (*NpmModule) CalcDependencies

func (nm *NpmModule) CalcDependencies() error

func (*NpmModule) SetCollectBuildInfo

func (nm *NpmModule) SetCollectBuildInfo(collectBuildInfo bool)

func (*NpmModule) SetName

func (nm *NpmModule) SetName(name string)

func (*NpmModule) SetNpmArgs

func (nm *NpmModule) SetNpmArgs(npmArgs []string)

type PythonModule

type PythonModule struct {
	// contains filtered or unexported fields
}

func (*PythonModule) InstallWithLogParsing

func (pm *PythonModule) InstallWithLogParsing(commandArgs []string) (map[string]entities.Dependency, error)

Run install command while parsing the logs for downloaded packages. Populates 'downloadedDependencies' with downloaded package-name and its actual downloaded file (wheel/egg/zip...).

func (*PythonModule) RunInstallAndCollectDependencies

func (pm *PythonModule) RunInstallAndCollectDependencies(commandArgs []string) error

func (*PythonModule) SetLocalDependenciesPath

func (pm *PythonModule) SetLocalDependenciesPath(localDependenciesPath string)

func (*PythonModule) SetName

func (pm *PythonModule) SetName(name string)

func (*PythonModule) SetUpdateDepsChecksumInfoFunc

func (pm *PythonModule) SetUpdateDepsChecksumInfoFunc(updateDepsChecksumInfoFunc func(dependenciesMap map[string]entities.Dependency, srcPath string) error)

type YarnModule

type YarnModule struct {
	// contains filtered or unexported fields
}

func (*YarnModule) AddArtifacts

func (ym *YarnModule) AddArtifacts(artifacts ...entities.Artifact) error

func (*YarnModule) Build

func (ym *YarnModule) Build() error

Build builds the project, collects its dependencies and saves them in the build-info module.

func (*YarnModule) SetArgs

func (ym *YarnModule) SetArgs(yarnArgs []string)

func (*YarnModule) SetName

func (ym *YarnModule) SetName(name string)

func (*YarnModule) SetThreads

func (ym *YarnModule) SetThreads(threads int)

func (*YarnModule) SetTraverseDependenciesFunc

func (ym *YarnModule) SetTraverseDependenciesFunc(traverseDependenciesFunc func(dependency *entities.Dependency) (bool, error))

SetTraverseDependenciesFunc gets a function to execute on all dependencies after their collection in Build(), before they're saved. This function needs to return a boolean value indicating whether to save this dependency in the build-info or not. This function might run asynchronously with different dependencies (if the threads amount setting is bigger than 1). If more than one error are returned from this function in different threads, only the first of them will be returned from Build().

Jump to

Keyboard shortcuts

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