// Package version provides a version struct from values defined at build-time // for binaries. package version import ( "fmt" "strconv" edgeinfra "edge-infra.dev" "edge-infra.dev/pkg/lib/build" ) var ( semver = edgeinfra.SemVer commit = "d34db33f" rc = "true" timestamp = "0" ) // New instantiates a Version struct from the embedded variables // and returns it. func New() *build.Version { timestamp, err := strconv.ParseInt(timestamp, 10, 64) if err != nil { panic(fmt.Sprintf("failed to parse timestamp: %v", err)) } v := &build.Version{ Commit: commit, SemVer: semver, ReleaseCandidate: true, Timestamp: timestamp, } if rc == "false" { v.ReleaseCandidate = false } return v }