* Added automatic git version string generation.
authorUrban Wallasch <urban.wallasch@freenet.de>
Fri, 5 Apr 2019 08:23:33 +0000 (10:23 +0200)
committerUrban Wallasch <urban.wallasch@freenet.de>
Fri, 5 Apr 2019 08:23:33 +0000 (10:23 +0200)
.gitignore
Makefile
gogopherd.go
version.sh [new file with mode: 0644]

index e656622b95170055fa7da65296ba9c6c441ee6c9..825745fc059af70ea8f7169757cc80fddcbe818d 100644 (file)
@@ -1 +1,2 @@
 gogopherd
+version.go
index 1603da165665abcc5dec1a96f205db385b3b4ade..7e8bded6c448b19bc8f681cef9fe724be70430b9 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -5,21 +5,29 @@
 PROJECT := gogopherd
 
 GOBLD   := go build
+SH      := /bin/sh
+
+GETVER  := version.sh
+VERFILE := version.go
+
 
 BIN     := $(PROJECT)
 SRC     := $(wildcard *.go)
 SELF    := $(lastword $(MAKEFILE_LIST))
 
 
-.PHONY: all clean distclean
+.PHONY: all version clean distclean
 
-all: $(BIN)
+all: version $(BIN)
 
 $(BIN): $(SRC) $(SELF)
        $(GOBLD) $(SRVSRC)
 
+version:
+       $(SH) $(GETVER) $(VERFILE)
+
 clean:
-       $(RM) $(BIN)
+       $(RM) $(BIN) $(VERFILE)
 
 distclean: clean
 
index 7f303aa6c9bfeef1b6aad028fc6d8599fe98fbaa..f3618f1c4b794d44095fa05621e4de480a901c15 100644 (file)
@@ -66,10 +66,12 @@ func initialize() {
        flag.BoolVar(&cfg.verbose, "v", cfg.verbose, "produce verbose output")
        flag.Parse()
        if help {
+               fmt.Println("Version ", version)
                flag.Usage()
                os.Exit(1)
        }
        if 0 != len(flag.Args()) {
+               fmt.Println("Version ", version)
                fmt.Println("unrecognized options: ", flag.Args())
                flag.Usage()
                os.Exit(1)
diff --git a/version.sh b/version.sh
new file mode 100644 (file)
index 0000000..50007cc
--- /dev/null
@@ -0,0 +1,4 @@
+#!/bin/sh
+VERSION=`git describe`
+echo "package main" > "$1"
+echo "const version = \"$VERSION\"" >> "$1"