12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- package main
- import (
- "fmt"
- "log"
- "os"
- "os/exec"
- "path/filepath"
- "strings"
- )
- func regenerate(dir string) error {
- return filepath.Walk(dir, func(path string, info os.FileInfo, err error) error {
- if err != nil {
- return err
- }
- if info.IsDir() {
- return nil
- }
- if strings.HasSuffix(path, "sqlc.json") || strings.HasSuffix(path, "sqlc.yaml") {
- cwd := filepath.Dir(path)
- cmd := exec.Command("sqlc-dev", "generate", "--experimental")
- cmd.Dir = cwd
- failed := cmd.Run()
- if _, err := os.Stat(filepath.Join(cwd, "stderr.txt")); os.IsNotExist(err) && failed != nil {
- return fmt.Errorf("%s: sqlc-dev generate failed", cwd)
- }
- }
- return nil
- })
- }
- func main() {
- dirs := []string{
- filepath.Join("internal", "endtoend", "testdata"),
- filepath.Join("examples"),
- }
- for _, d := range dirs {
- if err := regenerate(d); err != nil {
- log.Fatal(err)
- }
- }
- }
|