mirror of https://github.com/status-im/consul.git
Add BuildDate to version structure
Signed-off-by: Mark Anderson <manderson@hashicorp.com>
This commit is contained in:
parent
915f1089f0
commit
b35e749305
|
@ -25,7 +25,9 @@ GIT_COMMIT?=$(shell git rev-parse --short HEAD)
|
||||||
GIT_COMMIT_YEAR?=$(shell git show -s --format=%cd --date=format:%Y HEAD)
|
GIT_COMMIT_YEAR?=$(shell git show -s --format=%cd --date=format:%Y HEAD)
|
||||||
GIT_DIRTY?=$(shell test -n "`git status --porcelain`" && echo "+CHANGES" || true)
|
GIT_DIRTY?=$(shell test -n "`git status --porcelain`" && echo "+CHANGES" || true)
|
||||||
GIT_IMPORT=github.com/hashicorp/consul/version
|
GIT_IMPORT=github.com/hashicorp/consul/version
|
||||||
GOLDFLAGS=-X $(GIT_IMPORT).GitCommit=$(GIT_COMMIT)$(GIT_DIRTY)
|
DATE_FORMAT="%Y-%m-%dT%H:%M:%SZ" # it's tricky to do an RFC3339 format in a cross platform way, so we hardcode UTC
|
||||||
|
GIT_DATE=$(shell git show -s --format=%cd --date=format:"$(DATE_FORMAT)" HEAD) # we're using this for build date because it's stable across platform builds
|
||||||
|
GOLDFLAGS=-X $(GIT_IMPORT).GitCommit=$(GIT_COMMIT)$(GIT_DIRTY) -X $(GIT_IMPORT).BuildDate=$(GIT_DATE)
|
||||||
|
|
||||||
ifeq ($(FORCE_REBUILD),1)
|
ifeq ($(FORCE_REBUILD),1)
|
||||||
NOCACHE=--no-cache
|
NOCACHE=--no-cache
|
||||||
|
|
|
@ -27,12 +27,19 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
func New(ui cli.Ui) *cmd {
|
func New(ui cli.Ui) *cmd {
|
||||||
|
buildDate, err := time.Parse(time.RFC3339, consulversion.BuildDate)
|
||||||
|
if err != nil {
|
||||||
|
ui.Error(fmt.Sprintf("Fatal error with internal time set; check makefile for build date %v %v \n", buildDate, err))
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
c := &cmd{
|
c := &cmd{
|
||||||
ui: ui,
|
ui: ui,
|
||||||
revision: consulversion.GitCommit,
|
revision: consulversion.GitCommit,
|
||||||
version: consulversion.Version,
|
version: consulversion.Version,
|
||||||
versionPrerelease: consulversion.VersionPrerelease,
|
versionPrerelease: consulversion.VersionPrerelease,
|
||||||
versionHuman: consulversion.GetHumanVersion(),
|
versionHuman: consulversion.GetHumanVersion(),
|
||||||
|
buildDate: buildDate,
|
||||||
flags: flag.NewFlagSet("", flag.ContinueOnError),
|
flags: flag.NewFlagSet("", flag.ContinueOnError),
|
||||||
}
|
}
|
||||||
config.AddFlags(c.flags, &c.configLoadOpts)
|
config.AddFlags(c.flags, &c.configLoadOpts)
|
||||||
|
@ -53,6 +60,7 @@ type cmd struct {
|
||||||
version string
|
version string
|
||||||
versionPrerelease string
|
versionPrerelease string
|
||||||
versionHuman string
|
versionHuman string
|
||||||
|
buildDate time.Time
|
||||||
configLoadOpts config.LoadOpts
|
configLoadOpts config.LoadOpts
|
||||||
logger hclog.InterceptLogger
|
logger hclog.InterceptLogger
|
||||||
}
|
}
|
||||||
|
@ -194,6 +202,7 @@ func (c *cmd) run(args []string) int {
|
||||||
segment = "<all>"
|
segment = "<all>"
|
||||||
}
|
}
|
||||||
ui.Info(fmt.Sprintf(" Version: '%s'", c.versionHuman))
|
ui.Info(fmt.Sprintf(" Version: '%s'", c.versionHuman))
|
||||||
|
ui.Info(fmt.Sprintf(" Build Date: %s", c.buildDate))
|
||||||
ui.Info(fmt.Sprintf(" Node ID: '%s'", config.NodeID))
|
ui.Info(fmt.Sprintf(" Node ID: '%s'", config.NodeID))
|
||||||
ui.Info(fmt.Sprintf(" Node name: '%s'", config.NodeName))
|
ui.Info(fmt.Sprintf(" Node name: '%s'", config.NodeName))
|
||||||
if ap := config.PartitionOrEmpty(); ap != "" {
|
if ap := config.PartitionOrEmpty(); ap != "" {
|
||||||
|
|
|
@ -23,6 +23,9 @@ var (
|
||||||
// then it means that it is a final release. Otherwise, this is a pre-release
|
// then it means that it is a final release. Otherwise, this is a pre-release
|
||||||
// such as "dev" (in development), "beta", "rc1", etc.
|
// such as "dev" (in development), "beta", "rc1", etc.
|
||||||
VersionPrerelease = "dev"
|
VersionPrerelease = "dev"
|
||||||
|
|
||||||
|
// The date/time of the build
|
||||||
|
BuildDate string
|
||||||
)
|
)
|
||||||
|
|
||||||
// GetHumanVersion composes the parts of the version in a way that's suitable
|
// GetHumanVersion composes the parts of the version in a way that's suitable
|
||||||
|
|
Loading…
Reference in New Issue