diff --git a/main.go b/main.go index b422b89..c25fb15 100644 --- a/main.go +++ b/main.go @@ -1,7 +1,9 @@ package main import ( + "fmt" "log" + "os" "github.com/boltdb/bolt" "github.com/namsral/flag" @@ -14,18 +16,25 @@ var ( func main() { var ( + version bool config string dbpath string baseurl string bind string ) + flag.BoolVar(&version, "v", false, "display version information") flag.StringVar(&config, "config", "", "config file") flag.StringVar(&dbpath, "dbpath", "urls.db", "Database path") flag.StringVar(&baseurl, "baseurl", "", "Base URL for display purposes") flag.StringVar(&bind, "bind", "0.0.0.0:8000", "[int]: to bind to") flag.Parse() + if version { + fmt.Printf("shorturl v%s", FullVersion()) + os.Exit(0) + } + var err error db, err = bolt.Open(dbpath, 0600, nil) if err != nil { diff --git a/version.go b/version.go new file mode 100644 index 0000000..96df98e --- /dev/null +++ b/version.go @@ -0,0 +1,16 @@ +package main + +var ( + // Version release version + Version = "0.0.1" + + // Build will be overwritten automatically by the build system + Build = "-dev" + + // GitCommit will be overwritten automatically by the build system + GitCommit = "HEAD" +) + +func FullVersion() string { + return Version + Build + " (" + GitCommit + ")" +}