gen.go 841 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package javagen
  2. import (
  3. "errors"
  4. "fmt"
  5. "strings"
  6. "zero/core/lang"
  7. "zero/tools/goctl/api/parser"
  8. "zero/tools/goctl/util"
  9. "github.com/logrusorgru/aurora"
  10. "github.com/urfave/cli"
  11. )
  12. func JavaCommand(c *cli.Context) error {
  13. apiFile := c.String("api")
  14. dir := c.String("dir")
  15. if len(apiFile) == 0 {
  16. return errors.New("missing -api")
  17. }
  18. if len(dir) == 0 {
  19. return errors.New("missing -dir")
  20. }
  21. p, err := parser.NewParser(apiFile)
  22. if err != nil {
  23. return err
  24. }
  25. api, err := p.Parse()
  26. if err != nil {
  27. return err
  28. }
  29. packetName := api.Service.Name
  30. if strings.HasSuffix(packetName, "-api") {
  31. packetName = packetName[:len(packetName)-4]
  32. }
  33. lang.Must(util.MkdirIfNotExist(dir))
  34. lang.Must(genPacket(dir, packetName, api))
  35. lang.Must(genComponents(dir, packetName, api))
  36. fmt.Println(aurora.Green("Done."))
  37. return nil
  38. }