From e8df09774534abe6131eb455b4f5c614fb438983 Mon Sep 17 00:00:00 2001 From: Anthony Fok Date: Tue, 16 Feb 2021 08:08:24 -0700 Subject: [PATCH] Change version string format and add VendorInfo to help with issue triaging * Change version string format as proposed by @moorereason 1. shorten program name 2. make version string semver compliant with +extended. The slash is not allowed in semver. 3. Use key=value pairs for BuildDate etc. * Add optional vendorInfo to version string to help with issue triaging, e.g. VendorInfo=debian:0.80.0-7 --- common/hugo/hugo.go | 3 +++ common/hugo/version.go | 14 +++++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/common/hugo/hugo.go b/common/hugo/hugo.go index 702da0dede7..67e8e40a6d0 100644 --- a/common/hugo/hugo.go +++ b/common/hugo/hugo.go @@ -40,6 +40,9 @@ var ( // buildDate contains the date of the current build. buildDate string + + // vendorInfo contains vendor notes about the current build. + vendorInfo string ) // Info contains information about the current Hugo environment diff --git a/common/hugo/version.go b/common/hugo/version.go index b87dab54797..531f4483dfa 100644 --- a/common/hugo/version.go +++ b/common/hugo/version.go @@ -127,14 +127,15 @@ func (v Version) NextPatchLevel(level int) Version { // BuildVersionString creates a version string. This is what you see when // running "hugo version". func BuildVersionString() string { - program := "Hugo Static Site Generator" + // program := "Hugo Static Site Generator" + program := "hugo" version := "v" + CurrentVersion.String() if commitHash != "" { version += "-" + strings.ToUpper(commitHash) } if IsExtended { - version += "/extended" + version += "+extended" } osArch := runtime.GOOS + "/" + runtime.GOARCH @@ -144,7 +145,14 @@ func BuildVersionString() string { date = "unknown" } - return fmt.Sprintf("%s %s %s BuildDate: %s", program, version, osArch, date) + versionString := fmt.Sprintf("%s %s %s BuildDate=%s", + program, version, osArch, date) + + if vendorInfo != "" { + versionString += " VendorInfo=" + vendorInfo + } + + return versionString } func version(version float32, patchVersion int, suffix string) string {