package generator import ( "io/ioutil" "os" "path/filepath" conf "github.com/tal-tech/go-zero/tools/goctl/config" "github.com/tal-tech/go-zero/tools/goctl/rpc/parser" "github.com/tal-tech/go-zero/tools/goctl/util" "github.com/tal-tech/go-zero/tools/goctl/util/format" ) const configTemplate = `package config import "github.com/tal-tech/go-zero/zrpc" type Config struct { zrpc.RpcServerConf } ` func (g *defaultGenerator) 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 util.FileExists(fileName) { return nil } text, err := util.LoadTemplate(category, configTemplateFileFile, configTemplate) if err != nil { return err } return ioutil.WriteFile(fileName, []byte(text), os.ModePerm) }