Add all arguments
This commit is contained in:
parent
4149bd5c25
commit
72880bafe5
18
encoder.go
18
encoder.go
@ -37,7 +37,7 @@ type Ast struct {
|
||||
Environment []string `json:"environment"`
|
||||
}
|
||||
|
||||
func NewGenericTemplateBasedEncoder(templateDir string, service *descriptor.ServiceDescriptorProto, file *descriptor.FileDescriptorProto, debug bool, destinationDir string) (e *GenericTemplateBasedEncoder) {
|
||||
func NewGenericServiceTemplateBasedEncoder(templateDir string, service *descriptor.ServiceDescriptorProto, file *descriptor.FileDescriptorProto, debug bool, destinationDir string) (e *GenericTemplateBasedEncoder) {
|
||||
e = &GenericTemplateBasedEncoder{
|
||||
service: service,
|
||||
file: file,
|
||||
@ -53,6 +53,22 @@ func NewGenericTemplateBasedEncoder(templateDir string, service *descriptor.Serv
|
||||
return
|
||||
}
|
||||
|
||||
func NewGenericTemplateBasedEncoder(templateDir string, file *descriptor.FileDescriptorProto, debug bool, destinationDir string) (e *GenericTemplateBasedEncoder) {
|
||||
e = &GenericTemplateBasedEncoder{
|
||||
service: nil,
|
||||
file: file,
|
||||
templateDir: templateDir,
|
||||
debug: debug,
|
||||
destinationDir: destinationDir,
|
||||
}
|
||||
|
||||
if debug {
|
||||
log.Printf("new encoder: file=%q template-dir=%q", file.GetName(), templateDir)
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func (e *GenericTemplateBasedEncoder) templates() ([]string, error) {
|
||||
filenames := []string{}
|
||||
|
||||
|
19
main.go
19
main.go
@ -7,6 +7,7 @@ import (
|
||||
"strings"
|
||||
|
||||
"github.com/golang/protobuf/proto"
|
||||
"github.com/golang/protobuf/protoc-gen-go/descriptor"
|
||||
"github.com/golang/protobuf/protoc-gen-go/generator"
|
||||
)
|
||||
|
||||
@ -32,6 +33,7 @@ func main() {
|
||||
templateDir := "./templates"
|
||||
destinationDir := "."
|
||||
debug := false
|
||||
all := false
|
||||
if parameter := g.Request.GetParameter(); parameter != "" {
|
||||
for _, param := range strings.Split(parameter, ",") {
|
||||
parts := strings.Split(param, "=")
|
||||
@ -55,6 +57,15 @@ func main() {
|
||||
log.Printf("Err: invalid value for debug: %q", parts[1])
|
||||
}
|
||||
break
|
||||
case "all":
|
||||
switch strings.ToLower(parts[1]) {
|
||||
case "true", "t":
|
||||
all = true
|
||||
case "false", "f":
|
||||
default:
|
||||
log.Printf("Err: invalid value for debug: %q", parts[1])
|
||||
}
|
||||
break
|
||||
default:
|
||||
log.Printf("Err: unknown parameter: %q", param)
|
||||
}
|
||||
@ -63,8 +74,14 @@ func main() {
|
||||
|
||||
// Generate the encoders
|
||||
for _, file := range g.Request.GetProtoFile() {
|
||||
if all {
|
||||
encoder := NewGenericTemplateBasedEncoder(templateDir, file, debug, destinationDir)
|
||||
g.Response.File = append(g.Response.File, encoder.Files()...)
|
||||
continue
|
||||
}
|
||||
|
||||
for _, service := range file.GetService() {
|
||||
encoder := NewGenericTemplateBasedEncoder(templateDir, service, file, debug, destinationDir)
|
||||
encoder := NewGenericServiceTemplateBasedEncoder(templateDir, service, file, debug, destinationDir)
|
||||
g.Response.File = append(g.Response.File, encoder.Files()...)
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user