mirror of
https://github.com/criyle/go-judge.git
synced 2025-11-04 14:50:02 +08:00
33 lines
624 B
Go
33 lines
624 B
Go
// +build ignore
|
|
|
|
package main
|
|
|
|
import (
|
|
"bytes"
|
|
"fmt"
|
|
"log"
|
|
"os/exec"
|
|
"strings"
|
|
)
|
|
|
|
func main() {
|
|
var ret bytes.Buffer
|
|
c := exec.Command("git", "describe", "--tags")
|
|
c.Stdout = &ret
|
|
|
|
if err := c.Run(); err != nil {
|
|
log.Fatalln("run git describe", err)
|
|
}
|
|
|
|
var buf bytes.Buffer
|
|
fmt.Fprintln(&buf, "// Code generated by go generate; DO NOT EDIT.")
|
|
fmt.Fprintln(&buf)
|
|
fmt.Fprintln(&buf, "package version")
|
|
fmt.Fprintln(&buf)
|
|
fmt.Fprintf(&buf, "const Version = `%s`", strings.TrimSpace(ret.String()))
|
|
|
|
if err := os.WriteFile("version.go", buf.Bytes(), 0644); err != nil {
|
|
log.Fatalln("write file", err)
|
|
}
|
|
}
|