generator

package
v1.3.6-0...-971d91a Latest Latest
Warning

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

Go to latest
Published: Sep 23, 2022 License: MIT Imports: 21 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() error

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

func ProtoTmpl

func ProtoTmpl(out string) error

ProtoTmpl returns a sample of a proto file

func RevertTemplate

func RevertTemplate(name string) error

RevertTemplate restores the deleted template files

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
	GetEtc() Dir
	GetInternal() Dir
	GetConfig() Dir
	GetLogic() Dir
	GetServer() 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) *Generator

NewGenerator returns an instance of Generator

func (*Generator) GenCall

func (g *Generator) GenCall(ctx DirContext, proto parser.Proto, cfg *conf.Config) 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) GenConfig

func (g *Generator) GenConfig(ctx DirContext, _ parser.Proto, cfg *conf.Config) 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://github.com/xiaoshouchen/go-zero/tree/master/tools/goctl/config/config.go

func (*Generator) GenEtc

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

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

func (*Generator) GenLogic

func (g *Generator) GenLogic(ctx DirContext, proto parser.Proto, cfg *conf.Config) 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, cfg *conf.Config) 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) GenServer

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

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

func (*Generator) GenSvc

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

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

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) 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 {
	Src             string
	ProtocCmd       string
	ProtoGenGrpcDir string
	ProtoGenGoDir   string
	IsGooglePlugin  bool
	GoOutput        string
	GrpcOutput      string
	Output          string
}

Jump to

Keyboard shortcuts

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