hasshelper/gen_version.go

50 lines
841 B
Go

//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()
}