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  }