forked from TrueCloudLab/frostfs-node
[#624] cli/root: Delete version
command and add corresponding flag
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
This commit is contained in:
parent
e3b4216fa7
commit
87ce64fbbb
2 changed files with 19 additions and 48 deletions
|
@ -17,6 +17,7 @@ import (
|
|||
"github.com/nspcc-dev/neofs-api-go/pkg"
|
||||
"github.com/nspcc-dev/neofs-api-go/pkg/client"
|
||||
"github.com/nspcc-dev/neofs-api-go/pkg/owner"
|
||||
"github.com/nspcc-dev/neofs-node/misc"
|
||||
"github.com/nspcc-dev/neofs-node/pkg/network"
|
||||
"github.com/spf13/cobra"
|
||||
"github.com/spf13/viper"
|
||||
|
@ -48,6 +49,7 @@ It contains commands for interaction with NeoFS nodes using different versions
|
|||
of neofs-api and some useful utilities for compiling ACL rules from JSON
|
||||
notation, managing container access through protocol gates, querying network map
|
||||
and much more!`,
|
||||
Run: entryPoint,
|
||||
}
|
||||
|
||||
var (
|
||||
|
@ -107,7 +109,23 @@ func init() {
|
|||
|
||||
// Cobra also supports local flags, which will only run
|
||||
// when this action is called directly.
|
||||
// rootCmd.Flags().BoolP("toggle", "t", false, "Help message for toggle")
|
||||
rootCmd.Flags().Bool("version", false, "Application version and NeoFS API compatibility")
|
||||
}
|
||||
|
||||
func entryPoint(cmd *cobra.Command, _ []string) {
|
||||
printVersion, _ := cmd.Flags().GetBool("version")
|
||||
if printVersion {
|
||||
cmd.Printf(
|
||||
"Version: %s \nBuild: %s \nDebug: %s\n",
|
||||
misc.Version,
|
||||
misc.Build,
|
||||
misc.Debug,
|
||||
)
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
_ = cmd.Usage()
|
||||
}
|
||||
|
||||
// initConfig reads in config file and ENV variables if set.
|
||||
|
|
|
@ -1,47 +0,0 @@
|
|||
package cmd
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
|
||||
"github.com/nspcc-dev/neofs-node/misc"
|
||||
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
||||
var (
|
||||
// versionCmd represents the version command
|
||||
versionCmd = &cobra.Command{
|
||||
Use: "version",
|
||||
Short: "Print version and exit",
|
||||
Run: versionRun,
|
||||
}
|
||||
)
|
||||
|
||||
var flagJSON bool
|
||||
|
||||
type VersionInfo struct {
|
||||
Version string `json:"Version,omitempty"`
|
||||
Build string `json:"Build,omitempty"`
|
||||
Debug string `json:"Debug,omitempty"`
|
||||
}
|
||||
|
||||
func init() {
|
||||
rootCmd.AddCommand(versionCmd)
|
||||
versionCmd.Flags().BoolVarP(&flagJSON, "json", "j", false, "Print version information in JSON")
|
||||
}
|
||||
|
||||
func versionRun(cmd *cobra.Command, args []string) {
|
||||
versionInfo := VersionInfo{Version: misc.Version, Build: misc.Build, Debug: misc.Debug}
|
||||
|
||||
if flagJSON {
|
||||
bytes, _ := json.Marshal(versionInfo)
|
||||
fmt.Printf("%s", string(bytes)+"\n")
|
||||
return
|
||||
}
|
||||
|
||||
fmt.Printf("Version: %s \nBuild: %s \nDebug: %s\n",
|
||||
versionInfo.Version,
|
||||
versionInfo.Build,
|
||||
versionInfo.Debug)
|
||||
}
|
Loading…
Reference in a new issue