package javagen import ( "errors" "fmt" "strings" "github.com/logrusorgru/aurora" "github.com/tal-tech/go-zero/core/logx" "github.com/tal-tech/go-zero/tools/goctl/api/parser" "github.com/tal-tech/go-zero/tools/goctl/util" "github.com/urfave/cli" ) func JavaCommand(c *cli.Context) error { apiFile := c.String("api") dir := c.String("dir") if len(apiFile) == 0 { return errors.New("missing -api") } if len(dir) == 0 { return errors.New("missing -dir") } p, err := parser.NewParser(apiFile) if err != nil { return err } api, err := p.Parse() if err != nil { return err } packetName := api.Service.Name if strings.HasSuffix(packetName, "-api") { packetName = packetName[:len(packetName)-4] } logx.Must(util.MkdirIfNotExist(dir)) logx.Must(genPacket(dir, packetName, api)) logx.Must(genComponents(dir, packetName, api)) fmt.Println(aurora.Green("Done.")) return nil }