diff --git a/server/common/constants.go b/server/common/constants.go index 9dc544f1..46fafb3a 100644 --- a/server/common/constants.go +++ b/server/common/constants.go @@ -5,6 +5,7 @@ import ( "path/filepath" ) +//go:generate go run ../generator/constants.go const ( APP_VERSION = "v0.5" LOG_PATH = "data/state/log/" diff --git a/server/generator/constants.go b/server/generator/constants.go new file mode 100644 index 00000000..401f12e6 --- /dev/null +++ b/server/generator/constants.go @@ -0,0 +1,32 @@ +package main + +import ( + "fmt" + "os" + "os/exec" + "strings" + "time" +) + +func main() { + cmd, b := exec.Command("git", "rev-parse", "HEAD"), new(strings.Builder) + cmd.Stdout = b + cmd.Run() + + content := fmt.Sprintf(`package common + +func init() { + BUILD_REF = "%s" + BUILD_DATE = "%s" +} +`, strings.TrimSpace(b.String()), time.Now().Format("20060102")) + + f, err := os.OpenFile("../common/constants_generated.go", os.O_CREATE|os.O_WRONLY, os.ModePerm) + if err != nil { + fmt.Fprintf(os.Stderr, "error: %v\n", err) + os.Exit(1) + return + } + f.Write([]byte(content)) + f.Close() +}