Add version metadata

This commit is contained in:
Calvin Leung Huang
2017-04-28 16:22:00 -04:00
parent 91366e256c
commit 2eb72b69fd

View File

@@ -15,6 +15,7 @@ var (
Version = "unknown" Version = "unknown"
VersionPrerelease = "unknown" VersionPrerelease = "unknown"
VersionMetadata = ""
) )
// VersionInfo // VersionInfo
@@ -22,11 +23,13 @@ type VersionInfo struct {
Revision string Revision string
Version string Version string
VersionPrerelease string VersionPrerelease string
VersionMetadata string
} }
func GetVersion() *VersionInfo { func GetVersion() *VersionInfo {
ver := Version ver := Version
rel := VersionPrerelease rel := VersionPrerelease
md := VersionMetadata
if GitDescribe != "" { if GitDescribe != "" {
ver = GitDescribe ver = GitDescribe
} }
@@ -38,6 +41,7 @@ func GetVersion() *VersionInfo {
Revision: GitCommit, Revision: GitCommit,
Version: ver, Version: ver,
VersionPrerelease: rel, VersionPrerelease: rel,
VersionMetadata: md,
} }
} }
@@ -52,6 +56,10 @@ func (c *VersionInfo) VersionNumber() string {
version = fmt.Sprintf("%s-%s", version, c.VersionPrerelease) version = fmt.Sprintf("%s-%s", version, c.VersionPrerelease)
} }
if c.VersionMetadata != "" {
version = fmt.Sprintf("%s+%s", version, c.VersionMetadata)
}
return version return version
} }
@@ -66,6 +74,11 @@ func (c *VersionInfo) FullVersionNumber(rev bool) string {
if c.VersionPrerelease != "" { if c.VersionPrerelease != "" {
fmt.Fprintf(&versionString, "-%s", c.VersionPrerelease) fmt.Fprintf(&versionString, "-%s", c.VersionPrerelease)
} }
if c.VersionMetadata != "" {
fmt.Fprintf(&versionString, "+%s", c.VersionMetadata)
}
if rev && c.Revision != "" { if rev && c.Revision != "" {
fmt.Fprintf(&versionString, " (%s)", c.Revision) fmt.Fprintf(&versionString, " (%s)", c.Revision)
} }