use goctl template to generate all kinds of templates
parent
85a815bea0
commit
dfe6e88529
@ -0,0 +1,11 @@
|
|||||||
|
package errorx
|
||||||
|
|
||||||
|
func Chain(fns ...func() error) error {
|
||||||
|
for _, fn := range fns {
|
||||||
|
if err := fn(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
@ -0,0 +1,27 @@
|
|||||||
|
package errorx
|
||||||
|
|
||||||
|
import (
|
||||||
|
"errors"
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"github.com/stretchr/testify/assert"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestChain(t *testing.T) {
|
||||||
|
var errDummy = errors.New("dummy")
|
||||||
|
assert.Nil(t, Chain(func() error {
|
||||||
|
return nil
|
||||||
|
}, func() error {
|
||||||
|
return nil
|
||||||
|
}))
|
||||||
|
assert.Equal(t, errDummy, Chain(func() error {
|
||||||
|
return errDummy
|
||||||
|
}, func() error {
|
||||||
|
return nil
|
||||||
|
}))
|
||||||
|
assert.Equal(t, errDummy, Chain(func() error {
|
||||||
|
return nil
|
||||||
|
}, func() error {
|
||||||
|
return errDummy
|
||||||
|
}))
|
||||||
|
}
|
@ -0,0 +1,33 @@
|
|||||||
|
package tpl
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
"github.com/logrusorgru/aurora"
|
||||||
|
"github.com/tal-tech/go-zero/core/errorx"
|
||||||
|
"github.com/tal-tech/go-zero/tools/goctl/api/gogen"
|
||||||
|
"github.com/tal-tech/go-zero/tools/goctl/util"
|
||||||
|
"github.com/urfave/cli"
|
||||||
|
)
|
||||||
|
|
||||||
|
const templateParentPath = "/"
|
||||||
|
|
||||||
|
func GenTemplates(ctx *cli.Context) error {
|
||||||
|
if err := errorx.Chain(
|
||||||
|
func() error {
|
||||||
|
return gogen.GenTemplates(ctx)
|
||||||
|
},
|
||||||
|
); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
dir, err := util.GetTemplateDir(templateParentPath)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
fmt.Printf("Templates are generated in %s, %s\n", aurora.Green(dir),
|
||||||
|
aurora.Red("edit on your risk!"))
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
@ -1,4 +1,4 @@
|
|||||||
package templatex
|
package util
|
||||||
|
|
||||||
var headTemplate = `// Code generated by goctl. DO NOT EDIT!
|
var headTemplate = `// Code generated by goctl. DO NOT EDIT!
|
||||||
// Source: {{.source}}`
|
// Source: {{.source}}`
|
Loading…
Reference in New Issue