diff --git a/.goreleaser.yaml b/.goreleaser.yaml index 9bdad83..f72fe6a 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -15,8 +15,6 @@ builds: - arm64 env: - CGO_ENABLED=0 - ldflags: - - -s -w -X git.smsvc.net/pomodoro/GoTomato/internal/metadata.GoTomatoVersion={{.Version}} upx: - enabled: true diff --git a/internal/metadata/version.go b/internal/metadata/version.go index ecac17b..2b080e5 100644 --- a/internal/metadata/version.go +++ b/internal/metadata/version.go @@ -1,7 +1,20 @@ package metadata -import "strings" +import ( + "os/exec" + "strings" +) -// This will be overwritten by goreleaser on build -var GoTomatoVersion = "devel" // The GoTomato version -var ProtocolVersion = strings.Split(GoTomatoVersion, ".")[0] // The protocol version +var ( + GoTomatoVersion = "" // The GoTomato version + ProtocolVersion = "" // The protocol version +) + +func init() { + if GoTomatoVersion == "" { + output, _ := exec.Command("git", "describe", "--tags").Output() + trimmed_output := strings.TrimSpace(string(output)) // strip newlines + GoTomatoVersion = strings.Replace(trimmed_output, "v", "", 1) // strip leading "v" + } + ProtocolVersion = strings.Split(GoTomatoVersion, ".")[0] // The protocol version +}