github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/libs/cosmos-sdk/version/command.go (about) 1 package version 2 3 import ( 4 "encoding/json" 5 "fmt" 6 7 "github.com/spf13/cobra" 8 "github.com/spf13/viper" 9 "gopkg.in/yaml.v2" 10 11 "github.com/fibonacci-chain/fbc/libs/tendermint/libs/cli" 12 ) 13 14 const flagLong = "long" 15 16 func init() { 17 Cmd.Flags().Bool(flagLong, false, "Print long version information") 18 } 19 20 // Cmd prints out the application's version information passed via build flags. 21 var Cmd = &cobra.Command{ 22 Use: "version", 23 Short: "Print the app version", 24 RunE: func(_ *cobra.Command, _ []string) error { 25 verInfo := NewInfo() 26 27 if !viper.GetBool(flagLong) { 28 fmt.Println(verInfo.Version) 29 return nil 30 } 31 32 var bz []byte 33 var err error 34 35 switch viper.GetString(cli.OutputFlag) { 36 case "json": 37 bz, err = json.Marshal(verInfo) 38 default: 39 bz, err = yaml.Marshal(&verInfo) 40 } 41 42 if err != nil { 43 return err 44 } 45 46 _, err = fmt.Println(string(bz)) 47 return err 48 }, 49 }