From 0d6f04c4340c4f4bf89dcae2e0db4a0b70a6de16 Mon Sep 17 00:00:00 2001 From: Gianluca Date: Tue, 29 Mar 2016 19:16:27 +0200 Subject: [PATCH] added version command --- cmd/root.go | 11 +++++++++++ cmd/version.go | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 cmd/version.go diff --git a/cmd/root.go b/cmd/root.go index f1638761..e1dbea9e 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -5,12 +5,16 @@ import ( "log" "os" "path" + "strings" "github.com/spf13/cobra" "github.com/spf13/viper" + "github.com/xenolf/lego/acme" ) +var gittag string var cfgFile string +var version string var Logger *log.Logger func logger() *log.Logger { @@ -41,6 +45,13 @@ func Execute() { func init() { cobra.OnInitialize(initConfig) + + version = "0.3.0" + if strings.HasPrefix(gittag, "v") { + version = gittag + } + + acme.UserAgent = "lego/" + version cwd, err := os.Getwd() if err != nil { logger().Fatal("Could not determine current working directory. Please pass --path.") diff --git a/cmd/version.go b/cmd/version.go new file mode 100644 index 00000000..149c6ec6 --- /dev/null +++ b/cmd/version.go @@ -0,0 +1,36 @@ +// Copyright © 2016 NAME HERE +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package cmd + +import ( + "fmt" + + "github.com/spf13/cobra" +) + +// versionCmd represents the version command +var versionCmd = &cobra.Command{ + Use: "version", + Short: "Prints current version of lego", + Long: ``, + Run: func(cmd *cobra.Command, args []string) { + // TODO: Work your own magic here + fmt.Println("lego version", version) + }, +} + +func init() { + RootCmd.AddCommand(versionCmd) +}