Files
wehub-resource-sync 36b3af2e3d
PR Check / Code Quality: Format (push) Failing after 1s
PR Check / Code Quality: Lint (darwin) (push) Failing after 0s
PR Check / Code Quality: Lint (freebsd) (push) Failing after 1s
PR Check / Code Quality: Lint (windows) (push) Failing after 1s
PR Check / Code Quality: Lint (linux) (push) Failing after 1s
PR Check / Security: Vulnerability Scan (push) Failing after 0s
Update Documentation / update-docs (push) Failing after 2s
PR Check / Code Quality: Vendor (push) Failing after 1s
PR Check / Code Quality: Coverage (push) Failing after 0s
PR Check / Tests: Unit (macos-latest) (push) Has been cancelled
PR Check / Tests: Unit (ubuntu-24.04) (push) Has been cancelled
PR Check / Tests: Unit (ubuntu-24.04-arm) (push) Has been cancelled
PR Check / Tests: Unit (windows-latest) (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:22:06 +08:00

56 lines
972 B
Go

package version
import (
_ "embed"
"runtime/debug"
"strings"
)
//go:embed VERSION
var embedded string
// Version, Commit, and BuildDate are set via ldflags at build time.
// When ldflags are not provided (e.g., Debian packaging, go install),
// the embedded VERSION file and VCS build info are used as fallbacks.
var (
Version = ""
Commit = ""
BuildDate = ""
)
func init() {
if Version == "" {
v := strings.TrimSpace(embedded)
if v != "" {
Version = "v" + v
}
}
if Commit == "" || BuildDate == "" {
if info, ok := debug.ReadBuildInfo(); ok {
for _, s := range info.Settings {
switch s.Key {
case "vcs.revision":
if Commit == "" && len(s.Value) >= 7 {
Commit = s.Value[:7]
}
case "vcs.time":
if BuildDate == "" {
BuildDate = s.Value
}
}
}
}
}
if Version == "" {
Version = "v0.0.0-dev"
}
if Commit == "" {
Commit = "unknown"
}
if BuildDate == "" {
BuildDate = "unknown"
}
}