12345678910111213141516171819202122232425262728293031323334353637383940 |
- package generator
- import (
- _ "embed"
- "io/ioutil"
- "os"
- "path/filepath"
- conf "github.com/zeromicro/go-zero/tools/goctl/config"
- "github.com/zeromicro/go-zero/tools/goctl/rpc/parser"
- "github.com/zeromicro/go-zero/tools/goctl/util/format"
- "github.com/zeromicro/go-zero/tools/goctl/util/pathx"
- )
- //go:embed config.tpl
- var configTemplate string
- // GenConfig generates the configuration structure definition file of the rpc service,
- // which contains the zrpc.RpcServerConf configuration item by default.
- // You can specify the naming style of the target file name through config.Config. For details,
- // see https://github.com/zeromicro/go-zero/tree/master/tools/goctl/config/config.go
- func (g *Generator) GenConfig(ctx DirContext, _ parser.Proto, cfg *conf.Config) error {
- dir := ctx.GetConfig()
- configFilename, err := format.FileNamingFormat(cfg.NamingFormat, "config")
- if err != nil {
- return err
- }
- fileName := filepath.Join(dir.Filename, configFilename+".go")
- if pathx.FileExists(fileName) {
- return nil
- }
- text, err := pathx.LoadTemplate(category, configTemplateFileFile, configTemplate)
- if err != nil {
- return err
- }
- return ioutil.WriteFile(fileName, []byte(text), os.ModePerm)
- }
|