2020-05-25 19:48:59 +02:00
|
|
|
package versioning
|
|
|
|
|
|
|
|
import (
|
|
|
|
"github.com/Masterminds/sprig"
|
|
|
|
|
|
|
|
"github.com/SAP/jenkins-library/pkg/log"
|
|
|
|
"github.com/SAP/jenkins-library/pkg/piperutils"
|
|
|
|
)
|
|
|
|
|
2021-02-08 13:18:36 +02:00
|
|
|
// 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
|
|
|
|
func DetermineProjectCoordinatesWithCustomVersion(nameTemplate, versionScheme, customVersion string, gav Coordinates) (string, string) {
|
|
|
|
name, version := DetermineProjectCoordinates(nameTemplate, versionScheme, gav)
|
|
|
|
if len(customVersion) > 0 {
|
2021-02-10 17:18:00 +02:00
|
|
|
log.Entry().Infof("Using custom version: %v", customVersion)
|
2021-02-08 13:18:36 +02:00
|
|
|
return name, customVersion
|
|
|
|
}
|
|
|
|
return name, version
|
|
|
|
}
|
|
|
|
|
|
|
|
// DetermineProjectCoordinates resolves the coordinates of the project for use in 3rd party scan tools
|
2020-05-25 19:48:59 +02:00
|
|
|
func DetermineProjectCoordinates(nameTemplate, versionScheme string, gav Coordinates) (string, string) {
|
|
|
|
projectName, err := piperutils.ExecuteTemplateFunctions(nameTemplate, sprig.HermeticTxtFuncMap(), gav)
|
|
|
|
if err != nil {
|
2020-11-02 14:50:04 +02:00
|
|
|
log.Entry().Warnf("Unable to resolve project name: %v", err)
|
2020-05-25 19:48:59 +02:00
|
|
|
}
|
|
|
|
|
2021-05-14 09:35:31 +02:00
|
|
|
projectVersion := ApplyVersioningModel(versionScheme, gav.Version)
|
2020-05-25 19:48:59 +02:00
|
|
|
return projectName, projectVersion
|
|
|
|
}
|