...
1
2
3
4
5
6
7 package main
8
9 import (
10 "flag"
11 "fmt"
12 "io/fs"
13 "os"
14 "strings"
15 )
16
17 func main() {
18 outputFileName := flag.String("out", "circl.go", "name of the output file.")
19 flag.Parse()
20
21 f, err := os.Create(*outputFileName)
22 if err != nil {
23 panic(err)
24 }
25 defer f.Close()
26
27 skipDirs := []string{".", "testdata", "internal", "templates"}
28 circl := "github.com/cloudflare/circl/"
29
30 fmt.Fprintln(f, "package main")
31 err = fs.WalkDir(os.DirFS("."), ".", func(path string, d fs.DirEntry, err error) error {
32 if err != nil {
33 panic(err)
34 }
35 if d.IsDir() {
36 for _, sd := range skipDirs {
37 if strings.Contains(path, sd) {
38 return nil
39 }
40 }
41 fmt.Fprintf(f, "import _ \"%v%v\"\n", circl, path)
42 }
43 return nil
44 })
45 if err != nil {
46 panic(err)
47 }
48 fmt.Fprintln(f, "func main() {}")
49 }
50
View as plain text