//go:build ignore package main import ( "bufio" "fmt" "log" "os" "github.com/mdomke/git-semver/v6/version" ) func fetchVersion() string { repoPath, err := os.Getwd() if err != nil { log.Fatal(err) } v, err := version.NewFromRepo(repoPath) if err != nil { log.Fatal(err) } s, err := v.Format(version.FullFormat) if err != nil { log.Fatal(err) } return s } func main() { lines := []string{ "package main", "// Code generated automatically. DO NOT EDIT", "", fmt.Sprintf("const gitVersion = \"%s\"", fetchVersion()), } file, err := os.Create("./version.go") if err != nil { log.Fatal(err) } writer := bufio.NewWriter(file) for _, line := range lines { _, err := writer.WriteString(line + "\n") if err != nil { log.Fatalf("Error while writing to file: %s", err.Error()) } } writer.Flush() }