1
0
mirror of https://github.com/osmarks/mycorrhiza.git synced 2024-10-30 03:36:16 +00:00
mycorrhiza/version/version.go

35 lines
680 B
Go
Raw Normal View History

2022-08-17 08:13:57 +00:00
package version
import (
"runtime/debug"
"strconv"
)
// This is set through ldflags='-X ...' in the Makefile
var taggedRelease string = "unknown"
2022-08-17 08:13:57 +00:00
func FormatVersion() string {
var commitHash string = ""
2022-08-17 08:13:57 +00:00
var dirty string = ""
info, ok := debug.ReadBuildInfo()
if ok {
for _, setting := range info.Settings {
if setting.Key == "vcs.revision" {
commitHash = "+" + setting.Value
if len(commitHash) > 8 {
commitHash = commitHash[:8]
}
2022-08-17 08:13:57 +00:00
} else if setting.Key == "vcs.modified" {
modified, err := strconv.ParseBool(setting.Value)
if err == nil && modified {
dirty = "-dirty"
}
}
}
}
return taggedRelease + commitHash + dirty
2022-08-17 08:13:57 +00:00
}