github.com/artisanhe/tools@v1.0.1-0.20210607022958-19a8fef2eb04/cmd/cmd.go (about) 1 package cmd 2 3 import ( 4 "fmt" 5 "go/build" 6 "os" 7 8 "github.com/spf13/cobra" 9 ) 10 11 var ( 12 packageName string 13 ) 14 15 func getPackageName() string { 16 pwd, _ := os.Getwd() 17 pkg, err := build.ImportDir(pwd, build.FindOnly) 18 if err != nil { 19 panic(err) 20 } 21 return pkg.ImportPath 22 } 23 24 var cmdRoot = &cobra.Command{ 25 Use: "tools", 26 Short: "g7pay tools", 27 } 28 29 func Execute() { 30 if err := cmdRoot.Execute(); err != nil { 31 fmt.Println(err) 32 os.Exit(-1) 33 } 34 } 35 36 func init() { 37 cmdRoot.PersistentFlags().StringVarP(&packageName, "package", "p", getPackageName(), "package name for generating") 38 }