Documentation ¶
Index ¶
- Constants
- func ApplyVersioningModel(model, projectVersion string) string
- func DetermineProjectCoordinates(nameTemplate, versionScheme string, gav Coordinates) (string, string)
- func DetermineProjectCoordinatesWithCustomVersion(nameTemplate, versionScheme, customVersion string, gav Coordinates) (string, string)
- type Artifact
- type Coordinates
- type Docker
- type GoMod
- type Gradle
- type HelmChart
- type INIfile
- type JSONfile
- type Maven
- func (m *Maven) GetArtifactID() (string, error)
- func (m *Maven) GetCoordinates() (Coordinates, error)
- func (m *Maven) GetGroupID() (string, error)
- func (m *Maven) GetPackaging() (string, error)
- func (m *Maven) GetVersion() (string, error)
- func (m *Maven) SetVersion(version string) error
- func (m *Maven) VersioningScheme() string
- type Options
- type Pip
- type PropertiesFile
- type Utils
- type Versionfile
- type YAMLDescriptor
- type YAMLfile
Constants ¶
const ( // NameRegex is used to match the pip descriptor artifact name NameRegex = "(?s)(.*)name=['\"](.*?)['\"](.*)" // VersionRegex is used to match the pip descriptor artifact version VersionRegex = "(?s)(.*)version=['\"](.*?)['\"](.*)" )
const ( // SchemeMajorVersion is the versioning scheme based on the major version only SchemeMajorVersion = `{{(split "." (split "-" .Version)._0)._0}}` // SchemeMajorMinorVersion is the versioning scheme based on the major version only SchemeMajorMinorVersion = `{{(split "." (split "-" .Version)._0)._0}}.{{(split "." (split "-" .Version)._0)._1}}` // SchemeSemanticVersion is the versioning scheme based on the major.minor.micro version SchemeSemanticVersion = `` /* 128-byte string literal not displayed */ // SchemeFullVersion is the versioning scheme based on the full version SchemeFullVersion = "{{.Version}}" )
const ( VersioningModelFull string = "full" VersioningModelSemantic string = "semantic" VersioningModelMajorMinor string = "major-minor" VersioningModelMajor string = "major" )
Variables ¶
This section is empty.
Functions ¶
func ApplyVersioningModel ¶
func DetermineProjectCoordinates ¶
func DetermineProjectCoordinates(nameTemplate, versionScheme string, gav Coordinates) (string, string)
DetermineProjectCoordinates resolves the coordinates of the project for use in 3rd party scan tools
func DetermineProjectCoordinatesWithCustomVersion ¶
func DetermineProjectCoordinatesWithCustomVersion(nameTemplate, versionScheme, customVersion string, gav Coordinates) (string, string)
DetermineProjectCoordinatesWithCustomVersion resolves the coordinates of the project for use in 3rd party scan tools It considers a custom version if provided instead of using the GAV version adapted according to the versionScheme
Types ¶
type Artifact ¶
type Artifact interface { VersioningScheme() string GetVersion() (string, error) SetVersion(string) error GetCoordinates() (Coordinates, error) }
Artifact defines the versioning operations for various build tools
type Coordinates ¶
Coordinates to address the artifact coordinates like groupId, artifactId, version and packaging
type Docker ¶
type Docker struct {
// contains filtered or unexported fields
}
Docker defines an artifact based on a Dockerfile
func (*Docker) GetArtifactID ¶
GetArtifactID returns the current ID of the artifact
func (*Docker) GetCoordinates ¶
func (d *Docker) GetCoordinates() (Coordinates, error)
GetCoordinates returns the coordinates
func (*Docker) GetVersion ¶
GetVersion returns the current version of the artifact
func (*Docker) SetVersion ¶
SetVersion updates the version of the artifact
func (*Docker) VersioningScheme ¶
VersioningScheme returns the relevant versioning scheme
type GoMod ¶
type GoMod struct {
// contains filtered or unexported fields
}
GoMod utility to interact with Go Modules specific versioning
func (*GoMod) GetCoordinates ¶
func (m *GoMod) GetCoordinates() (Coordinates, error)
GetCoordinates returns the go.mod build descriptor coordinates
func (*GoMod) GetVersion ¶
GetVersion returns the go.mod descriptor version property
func (*GoMod) SetVersion ¶
SetVersion sets the go.mod descriptor version property
func (*GoMod) VersioningScheme ¶
VersioningScheme returns the relevant versioning scheme
type Gradle ¶
type Gradle struct {
// contains filtered or unexported fields
}
Gradle defines a maven artifact used for versioning
func (*Gradle) GetArtifactID ¶
GetArtifactID returns the current ID of the artifact
func (*Gradle) GetCoordinates ¶
func (g *Gradle) GetCoordinates() (Coordinates, error)
GetCoordinates reads the coordinates from the maven pom.xml descriptor file
func (*Gradle) GetGroupID ¶
GetGroupID returns the current ID of the Group
func (*Gradle) GetVersion ¶
GetVersion returns the current version of the artifact
func (*Gradle) SetVersion ¶
SetVersion updates the version of the artifact
func (*Gradle) VersioningScheme ¶
VersioningScheme returns the relevant versioning scheme
type HelmChart ¶
type HelmChart struct {
// contains filtered or unexported fields
}
JSONfile defines an artifact using a json file for versioning
func (*HelmChart) GetCoordinates ¶
func (h *HelmChart) GetCoordinates() (Coordinates, error)
GetCoordinates returns the coordinates
func (*HelmChart) GetVersion ¶
GetVersion returns the current version of the artifact with a JSON-based build descriptor
func (*HelmChart) SetVersion ¶
SetVersion updates the version of the artifact with a JSON-based build descriptor
func (*HelmChart) VersioningScheme ¶
VersioningScheme returns the relevant versioning scheme
type INIfile ¶
type INIfile struct {
// contains filtered or unexported fields
}
INIfile defines an artifact using a ini file for versioning
func (*INIfile) GetCoordinates ¶
func (i *INIfile) GetCoordinates() (Coordinates, error)
GetCoordinates returns the coordinates
func (*INIfile) GetVersion ¶
GetVersion returns the current version of the artifact with a ini-file-based build descriptor
func (*INIfile) SetVersion ¶
SetVersion updates the version of the artifact with a ini-file-based build descriptor
func (*INIfile) VersioningScheme ¶
VersioningScheme returns the relevant versioning scheme
type JSONfile ¶
type JSONfile struct {
// contains filtered or unexported fields
}
JSONfile defines an artifact using a json file for versioning
func (*JSONfile) GetCoordinates ¶
func (j *JSONfile) GetCoordinates() (Coordinates, error)
GetCoordinates returns the coordinates
func (*JSONfile) GetVersion ¶
GetVersion returns the current version of the artifact with a JSON-based build descriptor
func (*JSONfile) SetVersion ¶
SetVersion updates the version of the artifact with a JSON-based build descriptor
func (*JSONfile) VersioningScheme ¶
VersioningScheme returns the relevant versioning scheme
type Maven ¶
type Maven struct {
// contains filtered or unexported fields
}
Maven defines a maven artifact used for versioning
func (*Maven) GetArtifactID ¶
GetArtifactID returns the current ID of the artifact
func (*Maven) GetCoordinates ¶
func (m *Maven) GetCoordinates() (Coordinates, error)
GetCoordinates reads the coordinates from the maven pom.xml descriptor file
func (*Maven) GetGroupID ¶
GetGroupID returns the current ID of the Group
func (*Maven) GetPackaging ¶
GetPackaging returns the current ID of the Group
func (*Maven) GetVersion ¶
GetVersion returns the current version of the artifact
func (*Maven) SetVersion ¶
SetVersion updates the version of the artifact
func (*Maven) VersioningScheme ¶
VersioningScheme returns the relevant versioning scheme
type Options ¶
type Options struct { ProjectSettingsFile string DockerImage string GlobalSettingsFile string M2Path string VersionSource string VersionSection string VersionField string VersioningScheme string HelmUpdateAppVersion bool }
Options define build tool specific settings in order to properly retrieve e.g. the version / coordinates of an artifact
type Pip ¶
type Pip struct {
// contains filtered or unexported fields
}
Pip utility to interact with Python specific versioning
func (*Pip) GetCoordinates ¶
func (p *Pip) GetCoordinates() (Coordinates, error)
GetCoordinates returns the pip build descriptor coordinates
func (*Pip) GetVersion ¶
GetVersion returns the Pip descriptor version property
func (*Pip) SetVersion ¶
SetVersion sets the Pip descriptor version property
func (*Pip) VersioningScheme ¶
VersioningScheme returns the relevant versioning scheme
type PropertiesFile ¶
type PropertiesFile struct {
// contains filtered or unexported fields
}
PropertiesFile defines an artifact using a properties file for versioning
func (*PropertiesFile) GetCoordinates ¶
func (p *PropertiesFile) GetCoordinates() (Coordinates, error)
GetCoordinates returns the coordinates
func (*PropertiesFile) GetVersion ¶
func (p *PropertiesFile) GetVersion() (string, error)
GetVersion returns the current version of the artifact with a ini-file-based build descriptor
func (*PropertiesFile) SetVersion ¶
func (p *PropertiesFile) SetVersion(version string) error
SetVersion updates the version of the artifact with a ini-file-based build descriptor
func (*PropertiesFile) VersioningScheme ¶
func (p *PropertiesFile) VersioningScheme() string
VersioningScheme returns the relevant versioning scheme
type Utils ¶
type Utils interface { Stdout(out io.Writer) Stderr(err io.Writer) RunExecutable(e string, p ...string) error DownloadFile(url, filename string, header http.Header, cookies []*http.Cookie) error Glob(pattern string) (matches []string, err error) FileExists(filename string) (bool, error) Copy(src, dest string) (int64, error) MkdirAll(path string, perm os.FileMode) error FileWrite(path string, content []byte, perm os.FileMode) error FileRead(path string) ([]byte, error) FileRemove(path string) error }
Utils defines the versioning operations for various build tools
type Versionfile ¶
type Versionfile struct {
// contains filtered or unexported fields
}
Versionfile defines an artifact containing the version in a file, e.g. VERSION
func (*Versionfile) GetCoordinates ¶
func (v *Versionfile) GetCoordinates() (Coordinates, error)
GetCoordinates returns the coordinates
func (*Versionfile) GetVersion ¶
func (v *Versionfile) GetVersion() (string, error)
GetVersion returns the current version of the artifact
func (*Versionfile) SetVersion ¶
func (v *Versionfile) SetVersion(version string) error
SetVersion updates the version of the artifact
func (*Versionfile) VersioningScheme ¶
func (v *Versionfile) VersioningScheme() string
VersioningScheme returns the relevant versioning scheme
type YAMLDescriptor ¶
YAMLDescriptor holds the unique identifier combination for an artifact
type YAMLfile ¶
type YAMLfile struct {
// contains filtered or unexported fields
}
YAMLfile defines an artifact using a yaml file for versioning
func (*YAMLfile) GetArtifactID ¶
GetArtifactID returns the current ID of the artifact
func (*YAMLfile) GetCoordinates ¶
func (y *YAMLfile) GetCoordinates() (Coordinates, error)
GetCoordinates returns the coordinates
func (*YAMLfile) GetVersion ¶
GetVersion returns the current version of the artifact with a YAML-based build descriptor
func (*YAMLfile) SetVersion ¶
SetVersion updates the version of the artifact with a YAML-based build descriptor
func (*YAMLfile) VersioningScheme ¶
VersioningScheme returns the relevant versioning scheme