Use vfsgen instead of go-bindata (#7080)

* use vfsgen instead of go-bindata

* fix templates

* fix fmt

* vendor vsfgen
This commit is contained in:
Lunny Xiao 2019-06-03 05:43:47 +08:00 committed by Lauris BH
parent 8eba27c792
commit 83b90e4199
36 changed files with 1224 additions and 612 deletions

23
modules/templates/main.go Normal file
View file

@ -0,0 +1,23 @@
// +build ignore
package main
import (
"log"
"net/http"
"github.com/shurcooL/vfsgen"
)
func main() {
var fsTemplates http.FileSystem = http.Dir("../../templates")
err := vfsgen.Generate(fsTemplates, vfsgen.Options{
PackageName: "templates",
BuildTags: "bindata",
VariableName: "Assets",
Filename: "bindata.go",
})
if err != nil {
log.Fatal("%v", err)
}
}

View file

@ -203,3 +203,21 @@ func Mailer() *template.Template {
return templates
}
func Asset(name string) ([]byte, error) {
f, err := Assets.Open("/" + name)
if err != nil {
return nil, err
}
defer f.Close()
return ioutil.ReadAll(f)
}
func AssetNames() []string {
realFS := Assets.(vfsgen۰FS)
var results = make([]string, 0, len(realFS))
for k := range realFS {
results = append(results, k[1:])
}
return results
}

View file

@ -4,7 +4,5 @@
package templates
//go:generate go-bindata -tags "bindata" -ignore "\\.go" -pkg "templates" -o "bindata.go" ../../templates/...
//go:generate go run -mod=vendor main.go
//go:generate go fmt bindata.go
//go:generate sed -i.bak s/..\/..\/templates\/// bindata.go
//go:generate rm -f bindata.go.bak