gen.go 840 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. package javagen
  2. import (
  3. "errors"
  4. "fmt"
  5. "strings"
  6. "github.com/logrusorgru/aurora"
  7. "github.com/tal-tech/go-zero/core/logx"
  8. "github.com/tal-tech/go-zero/tools/goctl/api/parser"
  9. "github.com/tal-tech/go-zero/tools/goctl/util"
  10. "github.com/urfave/cli"
  11. )
  12. // JavaCommand the generate java code command entrance
  13. func JavaCommand(c *cli.Context) error {
  14. apiFile := c.String("api")
  15. dir := c.String("dir")
  16. if len(apiFile) == 0 {
  17. return errors.New("missing -api")
  18. }
  19. if len(dir) == 0 {
  20. return errors.New("missing -dir")
  21. }
  22. api, err := parser.Parse(apiFile)
  23. if err != nil {
  24. return err
  25. }
  26. packetName := strings.TrimSuffix(api.Service.Name, "-api")
  27. logx.Must(util.MkdirIfNotExist(dir))
  28. logx.Must(genPacket(dir, packetName, api))
  29. logx.Must(genComponents(dir, packetName, api))
  30. fmt.Println(aurora.Green("Done."))
  31. return nil
  32. }