mirror of
https://github.com/vsariola/sointu.git
synced 2025-07-18 04:54:27 -04:00
feat: include version info in the binaries
This commit is contained in:
parent
f8c522873c
commit
2b38e11643
37
version/version.go
Normal file
37
version/version.go
Normal file
@ -0,0 +1,37 @@
|
||||
package version
|
||||
|
||||
import "runtime/debug"
|
||||
|
||||
// You can set the version at build time using something like:
|
||||
// go build -ldflags "-X github.com/vsariola/sointu/version.Version=$(git describe --dirty)"
|
||||
|
||||
var Version string
|
||||
|
||||
var Hash = func() string {
|
||||
if info, ok := debug.ReadBuildInfo(); ok {
|
||||
modified := false
|
||||
for _, setting := range info.Settings {
|
||||
if setting.Key == "vcs.modified" && setting.Value == "true" {
|
||||
modified = true
|
||||
break
|
||||
}
|
||||
}
|
||||
for _, setting := range info.Settings {
|
||||
if setting.Key == "vcs.revision" {
|
||||
shortHash := setting.Value[:7]
|
||||
if modified {
|
||||
return shortHash + "-dirty"
|
||||
}
|
||||
return shortHash
|
||||
}
|
||||
}
|
||||
}
|
||||
return ""
|
||||
}()
|
||||
|
||||
var VersionOrHash = func() string {
|
||||
if Version != "" {
|
||||
return Version
|
||||
}
|
||||
return Hash
|
||||
}()
|
Reference in New Issue
Block a user