From 487ff2d35f83ce8029b4b8631d6411f32873f40e Mon Sep 17 00:00:00 2001 From: Cenk Alti Date: Fri, 11 Sep 2020 10:35:36 +0300 Subject: [PATCH] fix version flag; fix #24 --- cmd/dalga/main.go | 24 +++++++++++++++++++----- dalga.go | 2 -- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/cmd/dalga/main.go b/cmd/dalga/main.go index ee84cbe..583ee41 100644 --- a/cmd/dalga/main.go +++ b/cmd/dalga/main.go @@ -17,18 +17,32 @@ import ( "github.com/knadh/koanf/providers/file" ) +// These variables are set by goreleaser on build. var ( - config = flag.String("config", "dalga.toml", "config file") - version = flag.Bool("version", false, "print version") + version = "0.0.0" + commit = "" + date = "" +) + +var ( + configFlag = flag.String("config", "dalga.toml", "config file") + versionFlag = flag.Bool("version", false, "print version") createTables = flag.Bool("create-tables", false, "create table for storing jobs") debug = flag.Bool("debug", false, "turn on debug messages") ) +func versionString() string { + if len(commit) > 7 { + commit = commit[:7] + } + return fmt.Sprintf("%s (%s) [%s]", version, commit, date) +} + func main() { flag.Parse() - if *version { - fmt.Println(dalga.Version) + if *versionFlag { + fmt.Println(versionString()) return } @@ -70,7 +84,7 @@ func main() { func readConfig() (c dalga.Config, err error) { c = dalga.DefaultConfig k := koanf.New(".") - err = k.Load(file.Provider(*config), toml.Parser()) + err = k.Load(file.Provider(*configFlag), toml.Parser()) if err != nil { return } diff --git a/dalga.go b/dalga.go index 237f43b..2b8280e 100644 --- a/dalga.go +++ b/dalga.go @@ -17,8 +17,6 @@ import ( "github.com/cenkalti/dalga/v3/internal/table" ) -const Version = "2.0.0" - // Dalga is a job scheduler. type Dalga struct { config Config