minor changes for generator

* allow to split client and server generation
* allow to override options for handler

Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
This commit is contained in:
2021-03-26 15:00:55 +03:00
parent c7ec840ac0
commit fcd8dd1f7c
5 changed files with 69 additions and 36 deletions

20
main.go
View File

@@ -12,7 +12,7 @@ import (
var (
flagDebug = flag.Bool("debug", false, "")
flagStandalone = flag.Bool("standalone", false, "")
flagComponents = flag.String("components", "micro|rpc", "")
flagComponents = flag.String("components", "micro|rpc|client|server", "")
)
func main() {
@@ -39,15 +39,27 @@ func (g *Generator) Generate(plugin *protogen.Plugin) error {
g.components = *flagComponents
plugin.SupportedFeatures = uint64(pluginpb.CodeGeneratorResponse_FEATURE_PROTO3_OPTIONAL)
var genClient bool
var genServer bool
if strings.Contains(g.components, "server") {
genServer = true
}
if strings.Contains(g.components, "client") {
genClient = true
}
// Protoc passes a slice of File structs for us to process
for _, component := range strings.Split(g.components, "|") {
switch component {
case "server", "client":
continue
case "micro":
err = g.microGenerate(component, plugin)
err = g.microGenerate(component, plugin, genClient, genServer)
case "http":
err = g.httpGenerate(component, plugin)
err = g.httpGenerate(component, plugin, genClient, genServer)
case "grpc", "rpc":
err = g.rpcGenerate("rpc", plugin)
err = g.rpcGenerate("rpc", plugin, genClient, genServer)
case "gorilla":
err = g.gorillaGenerate(component, plugin)
case "chi":