Merge pull request #2195 from hashicorp/b-fix-version

Adds version info back into the config.
This commit is contained in:
James Phillips 2016-07-19 18:41:42 -07:00 committed by GitHub
commit 0c65b1e813
4 changed files with 34 additions and 22 deletions

View File

@ -38,18 +38,21 @@ var validDatacenter = regexp.MustCompile("^[a-zA-Z0-9_-]+$")
// ShutdownCh. If two messages are sent on the ShutdownCh it will forcibly
// exit.
type Command struct {
Version string
Ui cli.Ui
ShutdownCh <-chan struct{}
args []string
logFilter *logutils.LevelFilter
logOutput io.Writer
agent *Agent
rpcServer *AgentRPC
httpServers []*HTTPServer
dnsServer *DNSServer
scadaProvider *scada.Provider
scadaHttp *HTTPServer
Revision string
Version string
VersionPrerelease string
HumanVersion string
Ui cli.Ui
ShutdownCh <-chan struct{}
args []string
logFilter *logutils.LevelFilter
logOutput io.Writer
agent *Agent
rpcServer *AgentRPC
httpServers []*HTTPServer
dnsServer *DNSServer
scadaProvider *scada.Provider
scadaHttp *HTTPServer
}
// readConfig is responsible for setup of our configuration using
@ -309,6 +312,11 @@ func (c *Command) readConfig() *Config {
c.Ui.Error("WARNING: Bootstrap mode enabled! Do not enable unless necessary")
}
// Set the version info
config.Revision = c.Revision
config.Version = c.Version
config.VersionPrerelease = c.VersionPrerelease
return config
}

View File

@ -8,8 +8,8 @@ import (
// VersionCommand is a Command implementation prints the version.
type VersionCommand struct {
Version string
Ui cli.Ui
HumanVersion string
Ui cli.Ui
}
func (c *VersionCommand) Help() string {
@ -17,7 +17,7 @@ func (c *VersionCommand) Help() string {
}
func (c *VersionCommand) Run(_ []string) int {
c.Ui.Output(fmt.Sprintf("Consul Version: %s", c.Version))
c.Ui.Output(fmt.Sprintf("Consul Version: %s", c.HumanVersion))
c.Ui.Output(fmt.Sprintf("Supported Protocol Version(s): %d to %d",
consul.ProtocolVersionMin, consul.ProtocolVersionMax))
return 0

View File

@ -19,9 +19,12 @@ func init() {
Commands = map[string]cli.CommandFactory{
"agent": func() (cli.Command, error) {
return &agent.Command{
Version: GetVersion(),
Ui: ui,
ShutdownCh: make(chan struct{}),
Revision: GitCommit,
Version: Version,
VersionPrerelease: VersionPrerelease,
HumanVersion: GetHumanVersion(),
Ui: ui,
ShutdownCh: make(chan struct{}),
}, nil
},
@ -120,8 +123,8 @@ func init() {
"version": func() (cli.Command, error) {
return &command.VersionCommand{
Version: GetVersion(),
Ui: ui,
HumanVersion: GetHumanVersion(),
Ui: ui,
}, nil
},

View File

@ -19,8 +19,9 @@ const Version = "0.7.0"
// such as "dev" (in development), "beta", "rc1", etc.
const VersionPrerelease = "dev"
// GetVersion returns the full version of Consul.
func GetVersion() string {
// GetHumanVersion composes the parts of the version in a way that's suitable
// for displaying to humans.
func GetHumanVersion() string {
version := Version
if GitDescribe != "" {
version = GitDescribe