51 lines
790 B
Go
51 lines
790 B
Go
//go:build ignore
|
|
|
|
package main
|
|
|
|
import (
|
|
"os"
|
|
"path/filepath"
|
|
"strings"
|
|
"text/template"
|
|
)
|
|
|
|
const tmpl = `// Code generated by gen/gen.go — DO NOT EDIT
|
|
package main
|
|
|
|
import (
|
|
{{- range .}}
|
|
_ "{{.}}"
|
|
{{- end}}
|
|
)
|
|
`
|
|
|
|
func main() {
|
|
var packages []string
|
|
moduleName := "bdgrp_go"
|
|
|
|
filepath.WalkDir("routes", func(path string, d os.DirEntry, err error) error {
|
|
if err != nil || d.IsDir() {
|
|
return nil
|
|
}
|
|
|
|
if !strings.HasSuffix(d.Name(), ".go") {
|
|
return nil
|
|
}
|
|
|
|
pkg := moduleName + "/" + filepath.ToSlash(filepath.Dir(path))
|
|
|
|
for _, p := range packages {
|
|
if p == pkg {
|
|
return nil
|
|
}
|
|
}
|
|
|
|
packages = append(packages, pkg)
|
|
return nil
|
|
})
|
|
|
|
f, _ := os.Create("routes_gen.go")
|
|
defer f.Close()
|
|
template.Must(template.New("").Parse(tmpl)).Execute(f, packages)
|
|
}
|