From 907f5095914c36d75cdabe21e12ef7ceb633bf6f Mon Sep 17 00:00:00 2001 From: Colin Adler <colin@coder.com> Date: Wed, 20 May 2020 17:20:14 -0500 Subject: [PATCH] Add version command --- cmd/coder/main.go | 10 +++++++--- cmd/coder/version.go | 27 +++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 3 deletions(-) create mode 100644 cmd/coder/version.go diff --git a/cmd/coder/main.go b/cmd/coder/main.go index eb4afb7c..6f34d152 100644 --- a/cmd/coder/main.go +++ b/cmd/coder/main.go @@ -4,13 +4,16 @@ import ( "github.com/spf13/pflag" "go.coder.com/cli" "log" - "os" "net/http" _ "net/http/pprof" + "os" ) -type rootCmd struct { -} +var ( + version string +) + +type rootCmd struct{} func (r *rootCmd) Run(fl *pflag.FlagSet) { fl.Usage() @@ -32,6 +35,7 @@ func (r *rootCmd) Subcommands() []cli.Command { &shellCmd{}, &syncCmd{}, &urlCmd{}, + &versionCmd{}, } } diff --git a/cmd/coder/version.go b/cmd/coder/version.go new file mode 100644 index 00000000..54065db5 --- /dev/null +++ b/cmd/coder/version.go @@ -0,0 +1,27 @@ +package main + +import ( + "fmt" + "runtime" + + "github.com/spf13/pflag" + "go.coder.com/cli" +) + +type versionCmd struct{} + +func (versionCmd) Spec() cli.CommandSpec { + return cli.CommandSpec{ + Name: "version", + Usage: "", + Desc: "Print the currently installed CLI version", + } +} + +func (versionCmd) Run(fl *pflag.FlagSet) { + fmt.Println( + version, + runtime.Version(), + runtime.GOOS+"/"+runtime.GOARCH, + ) +}