Add templateDir variable

This commit is contained in:
Manfred Touron 2016-12-15 16:25:44 +01:00
parent 8e2be0f866
commit f9e191c6a4
No known key found for this signature in database
GPG Key ID: 9CCF47DF1FD978A1
2 changed files with 41 additions and 33 deletions

View File

@ -14,33 +14,36 @@ import (
)
type GenericTemplateBasedEncoder struct {
templateDir string
service *descriptor.ServiceDescriptorProto
file *descriptor.FileDescriptorProto
debug bool
templateDir string
service *descriptor.ServiceDescriptorProto
file *descriptor.FileDescriptorProto
debug bool
destinationDir string
}
type Ast struct {
BuildDate time.Time `json:"build-date"`
BuildHostname string `json:"build-hostname"`
BuildUser string `json:"build-user"`
GoPWD string `json:"go-pwd,omitempty"`
PWD string `json:"pwd"`
Debug bool `json:"debug"`
File *descriptor.FileDescriptorProto `json:"file"`
RawFilename string `json:"raw-filename"`
Filename string `json:"filename"`
TemplateDir string `json:"template-dir"`
Service *descriptor.ServiceDescriptorProto `json:"service"`
Environment []string `json:"environment"`
BuildDate time.Time `json:"build-date"`
BuildHostname string `json:"build-hostname"`
BuildUser string `json:"build-user"`
GoPWD string `json:"go-pwd,omitempty"`
PWD string `json:"pwd"`
Debug bool `json:"debug"`
DestinationDir string `json:"destination-dir"`
File *descriptor.FileDescriptorProto `json:"file"`
RawFilename string `json:"raw-filename"`
Filename string `json:"filename"`
TemplateDir string `json:"template-dir"`
Service *descriptor.ServiceDescriptorProto `json:"service"`
Environment []string `json:"environment"`
}
func NewGenericTemplateBasedEncoder(templateDir string, service *descriptor.ServiceDescriptorProto, file *descriptor.FileDescriptorProto, debug bool) (e *GenericTemplateBasedEncoder) {
func NewGenericTemplateBasedEncoder(templateDir string, service *descriptor.ServiceDescriptorProto, file *descriptor.FileDescriptorProto, debug bool, destinationDir string) (e *GenericTemplateBasedEncoder) {
e = &GenericTemplateBasedEncoder{
service: service,
file: file,
templateDir: templateDir,
debug: debug,
service: service,
file: file,
templateDir: templateDir,
debug: debug,
destinationDir: destinationDir,
}
if debug {
@ -88,17 +91,18 @@ func (e *GenericTemplateBasedEncoder) genAst(templateFilename string) (*Ast, err
}
}
ast := Ast{
BuildDate: time.Now(),
BuildHostname: hostname,
BuildUser: os.Getenv("USER"),
PWD: pwd,
GoPWD: goPwd,
File: e.file,
TemplateDir: e.templateDir,
RawFilename: templateFilename,
Filename: "",
Environment: os.Environ(),
Service: e.service,
BuildDate: time.Now(),
BuildHostname: hostname,
BuildUser: os.Getenv("USER"),
PWD: pwd,
GoPWD: goPwd,
File: e.file,
TemplateDir: e.templateDir,
DestinationDir: e.destinationDir,
RawFilename: templateFilename,
Filename: "",
Environment: os.Environ(),
Service: e.service,
}
buffer := new(bytes.Buffer)
tmpl, err := template.New("").Funcs(ProtoHelpersFuncMap).Parse(templateFilename)

View File

@ -30,6 +30,7 @@ func main() {
// Parse parameters
templateDir := "./templates"
destinationDir := "."
debug := false
if parameter := g.Request.GetParameter(); parameter != "" {
for _, param := range strings.Split(parameter, ",") {
@ -42,6 +43,9 @@ func main() {
case "template_dir":
templateDir = parts[1]
break
case "destination_dir":
destinationDir = parts[1]
break
case "debug":
switch strings.ToLower(parts[1]) {
case "true", "t":
@ -60,7 +64,7 @@ func main() {
// Generate the encoders
for _, file := range g.Request.GetProtoFile() {
for _, service := range file.GetService() {
encoder := NewGenericTemplateBasedEncoder(templateDir, service, file, debug)
encoder := NewGenericTemplateBasedEncoder(templateDir, service, file, debug, destinationDir)
g.Response.File = append(g.Response.File, encoder.Files()...)
}
}