make status values configurable

This commit is contained in:
Michael Barz
2022-05-07 15:40:51 +02:00
parent 4ce35acf01
commit 5f0c635f92
7 changed files with 74 additions and 18 deletions
+41 -2
View File
@@ -1,15 +1,18 @@
package version
import (
"strconv"
"time"
"github.com/Masterminds/semver"
)
var (
// String gets defined by the build system.
String = "0.0.0"
String = "dev"
// Date indicates the build date.
Date = "00000000"
Date = time.Now().Format("20060102")
)
// Compiled returns the compile time of this service.
@@ -17,3 +20,39 @@ func Compiled() time.Time {
t, _ := time.Parse("20060102", Date)
return t
}
func GetString() string {
if String == "dev" {
return "0.0.0+dev"
}
parsedVersion, err := semver.NewVersion(String)
// We have no semver version but a commitid
if err != nil {
return String
}
return parsedVersion.String()
}
func Parsed() *semver.Version {
var versionToParse string
if String == "dev" {
versionToParse = "0.0.0+dev"
}
parsedVersion, err := semver.NewVersion(versionToParse)
// We have no semver version but a commitid
if err != nil {
parsedVersion, _ = semver.NewVersion("0.0.0+" + String)
}
return parsedVersion
}
func Long() string {
var s string
if Parsed().Metadata() == "" {
s = "-" + Parsed().Prerelease()
}
s = "+" + Parsed().Metadata()
return strconv.FormatInt(Parsed().Major(), 10) + "." +
strconv.FormatInt(Parsed().Minor(), 10) + "." +
strconv.FormatInt(Parsed().Patch(), 10) + "." + "0" + s
}