Fix 00_helper filename by truncating singletons.
- Also add better error output for when a formatting error occurs.
This commit is contained in:
parent
7c2a04ba4d
commit
5fbcb27f3f
1 changed files with 8 additions and 4 deletions
12
output.go
12
output.go
|
@ -2,13 +2,15 @@ package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
"errors"
|
|
||||||
"fmt"
|
"fmt"
|
||||||
"go/format"
|
"go/format"
|
||||||
"io"
|
"io"
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
"regexp"
|
||||||
"text/template"
|
"text/template"
|
||||||
|
|
||||||
|
"github.com/pkg/errors"
|
||||||
)
|
)
|
||||||
|
|
||||||
var testHarnessStdout io.Writer = os.Stdout
|
var testHarnessStdout io.Writer = os.Stdout
|
||||||
|
@ -108,6 +110,8 @@ func executeTemplates(e executeTemplateData) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
func executeSingletonTemplates(e executeTemplateData) error {
|
func executeSingletonTemplates(e executeTemplateData) error {
|
||||||
|
rgxRemove := regexp.MustCompile(`[0-9]+_`)
|
||||||
|
|
||||||
for _, template := range e.templates {
|
for _, template := range e.templates {
|
||||||
resp, err := executeTemplate(template, e.data)
|
resp, err := executeTemplate(template, e.data)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -125,7 +129,7 @@ func executeSingletonTemplates(e executeTemplateData) error {
|
||||||
|
|
||||||
err = outHandler(
|
err = outHandler(
|
||||||
e.state.Config.OutFolder,
|
e.state.Config.OutFolder,
|
||||||
fName+e.fileSuffix,
|
rgxRemove.ReplaceAllString(fName, "")+e.fileSuffix,
|
||||||
e.state.Config.PkgName,
|
e.state.Config.PkgName,
|
||||||
imps,
|
imps,
|
||||||
[][]byte{resp},
|
[][]byte{resp},
|
||||||
|
@ -200,12 +204,12 @@ func outHandler(outFolder string, fileName string, pkgName string, imps imports,
|
||||||
func executeTemplate(t *template.Template, data *templateData) ([]byte, error) {
|
func executeTemplate(t *template.Template, data *templateData) ([]byte, error) {
|
||||||
var buf bytes.Buffer
|
var buf bytes.Buffer
|
||||||
if err := t.Execute(&buf, data); err != nil {
|
if err := t.Execute(&buf, data); err != nil {
|
||||||
return nil, err
|
return nil, errors.Wrap(err, "failed to execute template")
|
||||||
}
|
}
|
||||||
|
|
||||||
output, err := format.Source(buf.Bytes())
|
output, err := format.Source(buf.Bytes())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, errors.Wrap(err, "failed to format template")
|
||||||
}
|
}
|
||||||
|
|
||||||
return output, nil
|
return output, nil
|
||||||
|
|
Loading…
Add table
Reference in a new issue