packer-cn/packer/version.go

51 lines
1.2 KiB
Go
Raw Normal View History

package packer
import (
"bytes"
"fmt"
)
2013-07-08 18:37:01 -04:00
// The git commit that is being compiled. This will be filled in by the
// compiler for source builds.
var GitCommit string
// The version of packer.
2013-08-12 20:23:14 -04:00
const Version = "0.3.2"
// Any pre-release marker for the version. If this is "" (empty string),
// then it means that it is a final release. Otherwise, this is the
// pre-release marker.
2013-08-12 20:23:14 -04:00
const VersionPrerelease = "dev"
type versionCommand byte
func (versionCommand) Help() string {
return `usage: packer version
Outputs the version of Packer that is running. There are no additional
command-line flags for this command.`
}
2013-05-02 17:03:55 -04:00
func (versionCommand) Run(env Environment, args []string) int {
env.Ui().Machine("version", Version)
env.Ui().Machine("version-prelease", VersionPrerelease)
env.Ui().Machine("version-commit", GitCommit)
var versionString bytes.Buffer
fmt.Fprintf(&versionString, "Packer v%s", Version)
if VersionPrerelease != "" {
fmt.Fprintf(&versionString, ".%s", VersionPrerelease)
if GitCommit != "" {
fmt.Fprintf(&versionString, " (%s)", GitCommit)
}
2013-07-08 18:37:01 -04:00
}
env.Ui().Say(versionString.String())
return 0
}
2013-03-24 19:28:35 -04:00
func (versionCommand) Synopsis() string {
return "print Packer version"
}