show version info

This commit is contained in:
Nazar Kanaev 2020-09-24 11:01:42 +01:00
parent dc0d8bb50b
commit 751ccd2cd4
2 changed files with 20 additions and 3 deletions

11
main.go
View File

@ -2,6 +2,7 @@ package main
import ( import (
"flag" "flag"
"fmt"
"github.com/nkanaev/yarr/server" "github.com/nkanaev/yarr/server"
"github.com/nkanaev/yarr/storage" "github.com/nkanaev/yarr/storage"
"github.com/nkanaev/yarr/platform" "github.com/nkanaev/yarr/platform"
@ -10,12 +11,22 @@ import (
"path/filepath" "path/filepath"
) )
var Version string = "v0.0"
var GitHash string = "unknown"
func main() { func main() {
var addr, storageFile string var addr, storageFile string
var ver bool
flag.StringVar(&addr, "addr", "127.0.0.1:7070", "address to run server on") flag.StringVar(&addr, "addr", "127.0.0.1:7070", "address to run server on")
flag.StringVar(&storageFile, "db", "", "storage file path") flag.StringVar(&storageFile, "db", "", "storage file path")
flag.BoolVar(&ver, "version", false, "print application version")
flag.Parse() flag.Parse()
if ver {
fmt.Printf("%s (%s)\n", Version, GitHash)
return
}
logger := log.New(os.Stdout, "", log.Ldate|log.Ltime|log.Lshortfile) logger := log.New(os.Stdout, "", log.Ldate|log.Ltime|log.Lshortfile)
configPath, err := os.UserConfigDir() configPath, err := os.UserConfigDir()

View File

@ -1,6 +1,12 @@
VERSION=v1.0
GITHASH=$(shell git rev-parse --short=8 HEAD)
ASSETS = assets/javascripts/* assets/stylesheets/* assets/graphicarts/* assets/index.html ASSETS = assets/javascripts/* assets/stylesheets/* assets/graphicarts/* assets/index.html
CGO_ENABLED=1 CGO_ENABLED=1
GO_LDFLAGS = -s -w
GO_LDFLAGS := $(GO_LDFLAGS) -X 'main.Version=$(VERSION)' -X 'main.GitHash=$(GITHASH)'
default: bundle default: bundle
server/assets_bundle.go: $(ASSETS) server/assets_bundle.go: $(ASSETS)
@ -12,7 +18,7 @@ build_macos: bundle
set GOOS=darwin set GOOS=darwin
set GOARCH=amd64 set GOARCH=amd64
mkdir -p _output/macos mkdir -p _output/macos
go build -tags "sqlite_foreign_keys release macos" -ldflags="-s -w" -o _output/macos/yarr main.go go build -tags "sqlite_foreign_keys release macos" -ldflags="$(GO_LDFLAGS)" -o _output/macos/yarr main.go
cp artwork/icon.png _output/macos/icon.png cp artwork/icon.png _output/macos/icon.png
go run scripts/package_macos.go _output/macos go run scripts/package_macos.go _output/macos
@ -20,11 +26,11 @@ build_linux: bundle
set GOOS=linux set GOOS=linux
set GOARCH=386 set GOARCH=386
mkdir -p _output/linux mkdir -p _output/linux
go build -tags "sqlite_foreign_keys release linux" -ldflags="-s -w" -o _output/linux/yarr main.go go build -tags "sqlite_foreign_keys release linux" -ldflags="$(GO_LDFLAGS)" -o _output/linux/yarr main.go
build_windows: bundle build_windows: bundle
set GOOS=windows set GOOS=windows
set GOARCH=386 set GOARCH=386
mkdir -p _output/windows mkdir -p _output/windows
windres -i artwork/versioninfo.rc -O coff -o platform/versioninfo.syso windres -i artwork/versioninfo.rc -O coff -o platform/versioninfo.syso
go build -tags "sqlite_foreign_keys release windows" -ldflags="-s -w -H windowsgui" -o _output/windows/yarr.exe main.go go build -tags "sqlite_foreign_keys release windows" -ldflags="$(GO_LDFLAGS) -H windowsgui" -o _output/windows/yarr.exe main.go