Move yggdrasilctl command line parsing to separate func

This commit is contained in:
Alex Kotov 2021-07-23 15:40:17 +05:00
parent b9a4a9749c
commit 26bf7747a1

View file

@ -37,21 +37,7 @@ func main() {
os.Exit(run()) os.Exit(run())
} }
func run() int { func createCmdLine(endpoint string) CmdLine {
logbuffer := &bytes.Buffer{}
logger := log.New(logbuffer, "", log.Flags())
defer func() int {
if r := recover(); r != nil {
logger.Println("Fatal error:", r)
fmt.Print(logbuffer)
return 1
}
return 0
}()
endpoint := defaults.GetDefaults().DefaultAdminListen
flag.Usage = func() { flag.Usage = func() {
fmt.Fprintf(flag.CommandLine.Output(), "Usage: %s [options] command [key=value] [key=value] ...\n\n", os.Args[0]) fmt.Fprintf(flag.CommandLine.Output(), "Usage: %s [options] command [key=value] [key=value] ...\n\n", os.Args[0])
fmt.Println("Options:") fmt.Println("Options:")
@ -77,6 +63,25 @@ func run() int {
cmdline.ver = flag.Bool("version", false, "Prints the version of this build") cmdline.ver = flag.Bool("version", false, "Prints the version of this build")
flag.Parse() flag.Parse()
cmdline.args = flag.Args() cmdline.args = flag.Args()
return cmdline
}
func run() int {
logbuffer := &bytes.Buffer{}
logger := log.New(logbuffer, "", log.Flags())
defer func() int {
if r := recover(); r != nil {
logger.Println("Fatal error:", r)
fmt.Print(logbuffer)
return 1
}
return 0
}()
endpoint := defaults.GetDefaults().DefaultAdminListen
cmdline := createCmdLine(endpoint)
if *cmdline.ver { if *cmdline.ver {
fmt.Println("Build name:", version.BuildName()) fmt.Println("Build name:", version.BuildName())