diff --git a/tools/build_version_file/main.go b/tools/build_version_file/main.go index c26b7fd68dd753795a6f1f0920ac64c02cfeb824_dG9vbHMvYnVpbGRfdmVyc2lvbl9maWxlL21haW4uZ28=..4be74723ba6326f450a33c7b1e7305b2f158be76_dG9vbHMvYnVpbGRfdmVyc2lvbl9maWxlL21haW4uZ28= 100644 --- a/tools/build_version_file/main.go +++ b/tools/build_version_file/main.go @@ -1,6 +1,7 @@ package main import ( + "errors" "fmt" "os" "os/exec" @@ -8,6 +9,6 @@ "text/template" ) -func syscmd(name string, arg ...string) string { +func sysCmd(name string, arg ...string) (string, error) { cmd := exec.Command(name, arg...) out, err := cmd.CombinedOutput() @@ -12,9 +13,5 @@ cmd := exec.Command(name, arg...) out, err := cmd.CombinedOutput() - if err != nil { - fmt.Println(string(out)) - panic(err) - } splitted := strings.Split(string(out), "\n") lines := make([]string, 0, len(splitted)) for _, l := range splitted { @@ -26,6 +23,7 @@ } if len(lines) != 1 { fmt.Println(string(out)) - panic("Expects a single line") + + return "", errors.New("Expects a single line") } @@ -30,6 +28,15 @@ } - return lines[0] + return lines[0], err +} + +func mustSysCmd(name string, arg ...string) string { + out, err := sysCmd(name, arg...) + if err != nil { + panic(err) + } + + return out } func getVersionTag(tags string) string { @@ -56,9 +63,9 @@ `)) func main() { - sha := syscmd("hg", "id", "--id") - curVersion := getVersionTag(syscmd("hg", "id", "--tags")) - lastVersion := getVersionTag(syscmd("hg", "id", "--tags", "-r", "limit(last(ancestors(.)&tag('re:v.*'))|.,1)")) + sha := mustSysCmd("hg", "id", "--id") + curVersion := getVersionTag(mustSysCmd("hg", "id", "--tags")) + lastVersion := getVersionTag(mustSysCmd("hg", "id", "--tags", "-r", "limit(last(ancestors(.)&tag('re:v.*'))|.,1)")) modified := strings.HasSuffix(sha, "+") jobID := os.Getenv("CI_JOB_ID") @@ -62,6 +69,6 @@ modified := strings.HasSuffix(sha, "+") jobID := os.Getenv("CI_JOB_ID") - topic := syscmd("hg", "topic", "--current") + topic, err := sysCmd("hg", "topic", "--current") if topic == "no active topic" { topic = "" @@ -66,3 +73,5 @@ if topic == "no active topic" { topic = "" + } else if err != nil { + panic(err) } @@ -68,5 +77,5 @@ } - branch := syscmd("hg", "id", "--branch") + branch := mustSysCmd("hg", "id", "--branch") var version string