cmd.go 742 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package ktgen
  2. import (
  3. "errors"
  4. "github.com/urfave/cli"
  5. "github.com/zeromicro/go-zero/tools/goctl/api/parser"
  6. )
  7. // KtCommand generates kotlin code command entrance
  8. func KtCommand(c *cli.Context) error {
  9. apiFile := c.String("api")
  10. if apiFile == "" {
  11. return errors.New("missing -api")
  12. }
  13. dir := c.String("dir")
  14. if dir == "" {
  15. return errors.New("missing -dir")
  16. }
  17. pkg := c.String("pkg")
  18. if pkg == "" {
  19. return errors.New("missing -pkg")
  20. }
  21. api, e := parser.Parse(apiFile)
  22. if e != nil {
  23. return e
  24. }
  25. if err := api.Validate(); err != nil {
  26. return err
  27. }
  28. api.Service = api.Service.JoinPrefix()
  29. e = genBase(dir, pkg, api)
  30. if e != nil {
  31. return e
  32. }
  33. e = genApi(dir, pkg, api)
  34. if e != nil {
  35. return e
  36. }
  37. return nil
  38. }