* feature: refactor api parse to g4 * new g4 parser * add CHANGE_LOG.MD * refactor * fix byte bug * refactor * optimized * optimized * revert * update readme.md * update readme.md * update readme.md * update readme.md * remove no need * fix java gen * add upgrade * resolve confilits Co-authored-by: anqiansong <anqiansong@xiaoheiban.cn>
42 lines
851 B
Go
42 lines
851 B
Go
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")
|
|
}
|
|
|
|
api, err := parser.Parse(apiFile)
|
|
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
|
|
}
|