diff --git a/cmd/task/task.go b/cmd/task/task.go index 9df50193..8ee98236 100644 --- a/cmd/task/task.go +++ b/cmd/task/task.go @@ -58,7 +58,7 @@ func run() error { entrypoint := flags.Entrypoint if flags.Version { - fmt.Printf("Task version: %s\n", ver.GetVersion()) + fmt.Printf("Task version: %s\n", ver.GetVersionWithSum()) return nil } diff --git a/internal/version/version.go b/internal/version/version.go index 0fbbcab6..6bf4b08d 100644 --- a/internal/version/version.go +++ b/internal/version/version.go @@ -5,21 +5,25 @@ import ( "runtime/debug" ) -var version = "" - -func GetVersion() string { - if version != "" { - return version - } +var ( + version = "" + sum = "" +) +func init() { info, ok := debug.ReadBuildInfo() if !ok || info.Main.Version == "" { - return "unknown" + version = "unknown" + } else { + version = info.Main.Version + sum = info.Main.Sum } - - ver := info.Main.Version - if info.Main.Sum != "" { - ver += fmt.Sprintf(" (%s)", info.Main.Sum) - } - return ver +} + +func GetVersion() string { + return version +} + +func GetVersionWithSum() string { + return fmt.Sprintf("%s (%s)", version, sum) }