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
This commit is contained in:
Anthony Fok 2021-02-16 08:08:24 -07:00 committed by GitHub
parent 3a5ee0d2d6
commit e8df097745
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 3 deletions

View file

@ -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

View file

@ -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 {