mirror of https://github.com/stashapp/stash.git
58 lines
1.0 KiB
Go
58 lines
1.0 KiB
Go
package build
|
|
|
|
import (
|
|
"regexp"
|
|
)
|
|
|
|
var version string
|
|
var buildstamp string
|
|
var githash string
|
|
var officialBuild string
|
|
|
|
func Version() (string, string, string) {
|
|
return version, githash, buildstamp
|
|
}
|
|
|
|
func VersionString() string {
|
|
var versionString string
|
|
switch {
|
|
case version != "":
|
|
if githash != "" && !IsDevelop() {
|
|
versionString = version + " (" + githash + ")"
|
|
} else {
|
|
versionString = version
|
|
}
|
|
case githash != "":
|
|
versionString = githash
|
|
default:
|
|
versionString = "unknown"
|
|
}
|
|
if IsOfficial() {
|
|
versionString += " - Official Build"
|
|
} else {
|
|
versionString += " - Unofficial Build"
|
|
}
|
|
if buildstamp != "" {
|
|
versionString += " - " + buildstamp
|
|
}
|
|
return versionString
|
|
}
|
|
|
|
func IsOfficial() bool {
|
|
return officialBuild == "true"
|
|
}
|
|
|
|
func IsDevelop() bool {
|
|
if githash == "" {
|
|
return false
|
|
}
|
|
|
|
// if the version is suffixed with -x-xxxx, then we are running a development build
|
|
develop := false
|
|
re := regexp.MustCompile(`-\d+-g\w+$`)
|
|
if re.MatchString(version) {
|
|
develop = true
|
|
}
|
|
return develop
|
|
}
|