コード例 #1
0
ファイル: main.go プロジェクト: tomzhang/golang-devops-stuff
func main() {
	defer func() {
		if r := recover(); r != nil {
			fatal, ok := r.(*cmd.FatalError)
			if !ok {
				panic(r)
			}
			fmt.Println("ERROR:", fatal.Message)
			os.Exit(fatal.ReturnCode)
		}
	}()

	command := cmd.RootCommand()

	flags, args, err := command.ParseFlags(os.Args[1:])
	if err != nil {
		cmd.Fatal(err)
	}

	err = cmd.InitContext(flags)
	if err != nil {
		cmd.Fatal(err)
	}
	defer cmd.ShutdownContext()

	err = command.Dispatch(args)
	if err != nil {
		cmd.Fatal(err)
	}
}
コード例 #2
0
func main() {
	defer func() { os.Exit(returnCode) }()

	command := cmd.RootCommand()

	err := command.Flag.Parse(os.Args[1:])
	if err != nil {
		fatal(err)
		return
	}

	err = loadConfig(command)
	if err != nil {
		fatal(err)
		return
	}
	if returnCode != 0 {
		return
	}

	err = cmd.InitContext(command)
	if err != nil {
		fatal(err)
		return
	}
	defer cmd.ShutdownContext()

	err = command.Dispatch(command.Flag.Args())
	if err != nil {
		fatal(err)
		return
	}
}
コード例 #3
0
ファイル: main.go プロジェクト: hdonnay/aptly
func main() {
	command := cmd.RootCommand()

	err := command.Flag.Parse(os.Args[1:])
	if err != nil {
		fatal(err)
	}

	err = loadConfig(command)
	if err != nil {
		fatal(err)
	}

	err = cmd.InitContext(command)
	if err != nil {
		fatal(err)
	}
	defer cmd.ShutdownContext()

	err = command.Dispatch(command.Flag.Args())
	if err != nil {
		fatal(err)
	}
}