github.com/unionj-cloud/go-doudou@v1.3.8-0.20221011095552-0088008e5b31/cmd/init.go (about) 1 package cmd 2 3 import ( 4 "github.com/sirupsen/logrus" 5 "github.com/spf13/cobra" 6 "github.com/unionj-cloud/go-doudou/cmd/internal/svc" 7 "github.com/unionj-cloud/go-doudou/toolkit/pathutils" 8 ) 9 10 var modName string 11 12 // initCmd initializes the service 13 var initCmd = &cobra.Command{ 14 Use: "init", 15 Short: "init a project folder", 16 Long: ``, 17 Run: func(cmd *cobra.Command, args []string) { 18 var svcdir string 19 if len(args) > 0 { 20 svcdir = args[0] 21 } 22 var err error 23 if svcdir, err = pathutils.FixPath(svcdir, ""); err != nil { 24 logrus.Panicln(err) 25 } 26 s := svc.NewSvc(svcdir, svc.WithModName(modName)) 27 s.Init() 28 }, 29 } 30 31 func init() { 32 svcCmd.AddCommand(initCmd) 33 34 initCmd.Flags().StringVarP(&modName, "mod", "m", "", `module name`) 35 }