fix(version): command line flag
This commit is contained in:
@@ -2,9 +2,10 @@ package cli
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
|
||||
"github.com/spf13/cobra"
|
||||
"github.com/spf13/viper"
|
||||
"os"
|
||||
)
|
||||
|
||||
type Version string
|
||||
@@ -27,12 +28,12 @@ func (v Version) Cmd(cmd *cobra.Command) {
|
||||
}
|
||||
|
||||
func (v Version) Flag(cmd *cobra.Command) {
|
||||
cmd.PersistentFlags().Bool(versionFlag, false, "print version")
|
||||
cmd.PersistentFlags().Count(versionFlag, "print version")
|
||||
_ = viper.BindPFlag(versionFlag, cmd.PersistentFlags().Lookup(versionFlag))
|
||||
}
|
||||
|
||||
func (v Version) FlagHook() {
|
||||
if viper.GetBool(versionFlag) {
|
||||
if viper.GetInt(versionFlag) > 0 {
|
||||
v.Print()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import (
|
||||
"gitea.suyono.dev/suyono/wingmate"
|
||||
"gitea.suyono.dev/suyono/wingmate/config"
|
||||
wminit "gitea.suyono.dev/suyono/wingmate/init"
|
||||
"github.com/spf13/viper"
|
||||
)
|
||||
|
||||
var (
|
||||
@@ -22,6 +23,10 @@ func main() {
|
||||
|
||||
_ = wingmate.NewLog(os.Stderr)
|
||||
config.SetVersion(version)
|
||||
config.ParseFlags()
|
||||
|
||||
wingmate.Log().Info().Msgf("starting wingmate version %s", viper.GetString(config.WingmateVersion))
|
||||
|
||||
if cfg, err = config.Read(); err != nil {
|
||||
wingmate.Log().Error().Msgf("failed to read config %#v", err)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user