Add templateDir variable
This commit is contained in:
parent
8e2be0f866
commit
f9e191c6a4
68
encoder.go
68
encoder.go
@ -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)
|
||||
|
6
main.go
6
main.go
@ -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()...)
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user