GitRoot
Craft your forge, Build your project, Grow your community freely
1// SPDX-FileCopyrightText: 2026 Romain Maneschi <romain@gitroot.dev>
2//
3// SPDX-License-Identifier: EUPL-1.2
4
5package main
6
7import (
8 "fmt"
9 "os"
10 "path/filepath"
11)
12
13var fileToIgnore = []string{"/model/fs.go", "/model/server.go", "/server.go", "/ptr.go", "/test/fakeserver.go", "/model/plugin.go"}
14
15func main() {
16 fromDir := "."
17 if len(os.Args) > 1 {
18 fromDir = os.Args[1]
19 }
20 fromDir = filepath.Clean(fromDir)
21
22 generate := Parse(fromDir)
23
24 toDir := "./generate"
25 if len(os.Args) > 2 {
26 toDir = os.Args[2]
27 }
28 toDir = filepath.Clean(toDir)
29
30 if err := generate.Execute(toDir, func(filepath string, filecontent string) {
31 os.WriteFile(filepath, []byte(filecontent), os.ModePerm)
32 }); err != nil {
33 fmt.Printf("🛑 Can't generate: %v\n", err)
34 }
35}