generator

package
v0.0.0-...-65ee0f0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 10, 2024 License: MIT Imports: 26 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Category

func Category() string

Category returns a const string value for rpc template category

func Clean

func Clean() error

Clean deletes all template files

func GenTemplates

func GenTemplates(_ *cli.Context) error

GenTemplates is the entry for command goctl template, it will create the specified category

func ProtoTmpl

func ProtoTmpl(out, protoFilename string) error

ProtoTmpl returns a sample of a proto file

func RevertTemplate

func RevertTemplate(name string) error

RevertTemplate restores the deleted template files

func ServiceProtoTmpl

func ServiceProtoTmpl(src, out, protoFilename, protoType string) (string, error)

ProtoTmpl returns a sample of a proto file

func Update

func Update() error

Update is used to update the template files, it will delete the existing old templates at first, and then create the latest template files

Types

type Dir

type Dir struct {
	Base     string
	Filename string
	Package  string
}

Dir defines a directory

func (*Dir) Valid

func (d *Dir) Valid() bool

Valid returns true if the directory is valid

type DirContext

type DirContext interface {
	GetCall() Dir
	GetClient() Dir
	GetCmd() Dir
	GetCmdd() Dir
	GetEtc() Dir
	GetPlugin() Dir
	GetInternal() Dir
	GetConfig() Dir
	GetCore() Dir
	GetDao() Dir
	GetLogic() Dir
	GetServer() Dir
	GetGrpc() Dir
	GetService() Dir
	GetSvc() Dir
	GetPb() Dir
	GetProtoGo() Dir
	GetMain() Dir
	GetServiceName() stringx.String
	SetPbDir(pbDir, grpcDir string)
}

DirContext defines a rpc service directories context

type Generator

type Generator struct {
	// contains filtered or unexported fields
}

Generator defines the environment needs of rpc service generation

func NewGenerator

func NewGenerator(style string, verbose bool, protoType string) *Generator

NewGenerator returns an instance of Generator

func (*Generator) GenCall

func (g *Generator) GenCall(ctx DirContext, proto parser.Proto, service *parser.Service, cfg *conf.Config, c *ZRpcContext) error

GenCall generates the rpc client code, which is the entry point for the rpc service call. It is a layer of encapsulation for the rpc client and shields the details in the pb.

func (*Generator) GenClassNameRegisters

func (g *Generator) GenClassNameRegisters(ctx DirContext, proto parser.Proto, service *parser.Service, cfg *conf.Config, c *ZRpcContext) error

GenClient generates the rpc client code, which is the entry point for the rpc service call. It is a layer of encapsulation for the rpc client and shields the details in the pb.

func (*Generator) GenClient

func (g *Generator) GenClient(ctx DirContext, proto parser.Proto, service *parser.Service, cfg *conf.Config, c *ZRpcContext) error

GenClient generates the rpc client code, which is the entry point for the rpc service call. It is a layer of encapsulation for the rpc client and shields the details in the pb.

func (*Generator) GenCmd

func (g *Generator) GenCmd(ctx DirContext, _ parser.Proto, service *parser.Service, cfg *conf.Config, c *ZRpcContext) error

GenCmd 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://bitbucket.org/hokego/go-zero/tree/master/tools/goctl/config/config.go

func (*Generator) GenConfig

func (g *Generator) GenConfig(ctx DirContext, _ parser.Proto, service *parser.Service, cfg *conf.Config, c *ZRpcContext) error

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://bitbucket.org/hokego/go-zero/tree/master/tools/goctl/config/config.go

func (*Generator) GenCore

func (g *Generator) GenCore(ctx DirContext, proto parser.Proto, service *parser.Service, cfg *conf.Config, c *ZRpcContext) error

GenCore 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://bitbucket.org/hokego/go-zero/tree/master/tools/goctl/config/config.go

func (*Generator) GenDao

func (g *Generator) GenDao(ctx DirContext, proto parser.Proto, service *parser.Service, cfg *conf.Config, c *ZRpcContext) error

GenDao 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://bitbucket.org/hokego/go-zero/tree/master/tools/goctl/config/config.go

func (*Generator) GenEtc

func (g *Generator) GenEtc(ctx DirContext, _ parser.Proto, service *parser.Service, cfg *conf.Config, c *ZRpcContext) error

GenEtc generates the yaml configuration file of the rpc service, including host, port monitoring configuration items and etcd configuration

func (*Generator) GenGrpc

func (g *Generator) GenGrpc(ctx DirContext, proto parser.Proto, service *parser.Service, cfg *conf.Config, c *ZRpcContext) error

GenGrpc 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://bitbucket.org/hokego/go-zero/tree/master/tools/goctl/config/config.go

func (*Generator) GenHandlers

func (g *Generator) GenHandlers(ctx DirContext, proto parser.Proto, service *parser.Service, cfg *conf.Config, c *ZRpcContext) error

GenHandlers generates the rpc handler code, which is the entry point for the rpc service call. It is a layer of encapsulation for the rpc handler and shields the details in the pb.

func (*Generator) GenHelper

func (g *Generator) GenHelper(ctx DirContext, proto parser.Proto, service *parser.Service, cfg *conf.Config, c *ZRpcContext) error

GenHelper 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://bitbucket.org/hokego/go-zero/tree/master/tools/goctl/config/config.go

func (*Generator) GenImpl

func (g *Generator) GenImpl(ctx DirContext, proto parser.Proto, service *parser.Service, cfg *conf.Config, c *ZRpcContext) error

GenImpl generates the rpc impl code, which is the entry point for the rpc service call. It is a layer of encapsulation for the rpc impl and shields the details in the pb.

func (*Generator) GenLogic

func (g *Generator) GenLogic(ctx DirContext, proto parser.Proto, service *parser.Service, cfg *conf.Config, c *ZRpcContext) error

GenLogic generates the logic file of the rpc service, which corresponds to the RPC definition items in proto.

func (*Generator) GenMain

func (g *Generator) GenMain(ctx DirContext, proto parser.Proto, service *parser.Service, cfg *conf.Config, c *ZRpcContext) error

GenMain generates the main file of the rpc service, which is an rpc service program call entry

func (*Generator) GenPb

func (g *Generator) GenPb(ctx DirContext, c *ZRpcContext) error

GenPb generates the pb.go file, which is a layer of packaging for protoc to generate gprc, but the commands and flags in protoc are not completely joined in goctl. At present, proto_path(-I) is introduced

func (*Generator) GenPlugin

func (g *Generator) GenPlugin(ctx DirContext, _ parser.Proto, service *parser.Service, cfg *conf.Config, c *ZRpcContext) error

GenPlugin 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://bitbucket.org/hokego/go-zero/tree/master/tools/goctl/config/config.go

func (*Generator) GenRpcClientRegisters

func (g *Generator) GenRpcClientRegisters(ctx DirContext, proto parser.Proto, service *parser.Service, cfg *conf.Config, c *ZRpcContext) error

GenClient generates the rpc client code, which is the entry point for the rpc service call. It is a layer of encapsulation for the rpc client and shields the details in the pb.

func (*Generator) GenServer

func (g *Generator) GenServer(ctx DirContext, proto parser.Proto, service *parser.Service, cfg *conf.Config, c *ZRpcContext) error

GenServer generates rpc server file, which is an implementation of rpc server

func (*Generator) GenServer2

func (g *Generator) GenServer2(ctx DirContext, proto parser.Proto, service *parser.Service, cfg *conf.Config, c *ZRpcContext) error

GenServer generates rpc server file, which is an implementation of rpc server

func (*Generator) GenService

func (g *Generator) GenService(ctx DirContext, proto parser.Proto, service *parser.Service, cfg *conf.Config, c *ZRpcContext) error

GenService 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://bitbucket.org/hokego/go-zero/tree/master/tools/goctl/config/config.go

func (*Generator) GenSvc

func (g *Generator) GenSvc(ctx DirContext, _ parser.Proto, service *parser.Service, cfg *conf.Config, c *ZRpcContext) error

GenSvc generates the servicecontext.go file, which is the resource dependency of a service, such as rpc dependency, model dependency, etc.

func (*Generator) GencodecSchemas

func (g *Generator) GencodecSchemas(ctx DirContext, proto parser.Proto, service *parser.Service, cfg *conf.Config, c *ZRpcContext) error

GenClient generates the rpc client code, which is the entry point for the rpc service call. It is a layer of encapsulation for the rpc client and shields the details in the pb.

func (*Generator) Generate

func (g *Generator) Generate(zctx *ZRpcContext) error

Generate generates an rpc service, through the proto file, code storage directory, and proto import parameters to control the source file and target location of the rpc service that needs to be generated

func (*Generator) GenerateMtproto

func (g *Generator) GenerateMtproto(zctx *ZRpcContext) error

Generate generates an rpc service, through the proto file, code storage directory, and proto import parameters to control the source file and target location of the rpc service that needs to be generated

func (*Generator) GenerateServices

func (g *Generator) GenerateServices(zctxs []*ZRpcContext) error

Generate generates an rpc service, through the proto file, code storage directory, and proto import parameters to control the source file and target location of the rpc service that needs to be generated

func (*Generator) GetCfg

func (g *Generator) GetCfg() *conf.Config

func (*Generator) Prepare

func (g *Generator) Prepare() error

Prepare provides environment detection generated by rpc service, including go environment, protoc, whether protoc-gen-go is installed or not

type ZRpcContext

type ZRpcContext struct {
	RpcName         string
	Src             string
	ProtocCmd       string
	ProtoGenGrpcDir string
	ProtoGenGoDir   string
	IsGooglePlugin  bool
	GoOutput        string
	GrpcOutput      string
	Output          string
	WorkDir         string
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL