feat: Dodanie wyświetlania wersji

This commit is contained in:
Rychliński Arkadiusz 2022-11-22 18:22:55 +01:00
parent 8af918bdce
commit 4dc83c3915
2 changed files with 17 additions and 1 deletions

View File

@ -18,6 +18,7 @@ type Parameters struct {
LogFile string LogFile string
Verbose bool Verbose bool
AskPass bool AskPass bool
Version bool
} }
var params Parameters var params Parameters
@ -30,6 +31,7 @@ func init() {
flag.StringVar(&params.SqlDir, "sqldir", "scripts", "Katalog, w którym znajdują się skrypty do uruchomienia") flag.StringVar(&params.SqlDir, "sqldir", "scripts", "Katalog, w którym znajdują się skrypty do uruchomienia")
flag.StringVar(&params.LogFile, "log", "", "Plik, do którego zostanie dopisany log programu") flag.StringVar(&params.LogFile, "log", "", "Plik, do którego zostanie dopisany log programu")
flag.BoolVar(&params.AskPass, "P", false, "Pytaj o hasło. Jeśli nie podane wymaga się hasła w ") flag.BoolVar(&params.AskPass, "P", false, "Pytaj o hasło. Jeśli nie podane wymaga się hasła w ")
flag.BoolVar(&params.Version, "version", false, "Wypisuje wersję i kończy działanie")
flag.Usage = printUsage flag.Usage = printUsage
flag.Parse() flag.Parse()

View File

@ -2,7 +2,9 @@ package main
import ( import (
"flag" "flag"
"fmt"
"os" "os"
"runtime/debug"
"strings" "strings"
"baal.ar76.eu/x/pub/multisql/cfg" "baal.ar76.eu/x/pub/multisql/cfg"
@ -15,7 +17,10 @@ import (
func main() { func main() {
log.SetFlags(log.LstdFlags) log.SetFlags(log.LstdFlags)
params := cfg.GetParams() params := cfg.GetParams()
if params.Version {
printVersion()
return
}
args := flag.Args() args := flag.Args()
if len (args) > 0 { if len (args) > 0 {
encryption(args, params) encryption(args, params)
@ -109,3 +114,12 @@ func encryption(args []string, params cfg.Parameters) {
log.Println("multisql decrypt hasła.zaszyfrowany hasła") log.Println("multisql decrypt hasła.zaszyfrowany hasła")
} }
} }
func printVersion() {
bi, ok := debug.ReadBuildInfo()
if !ok {
log.Fatalf("Błąd odczytu informacji o wersji")
}
fmt.Fprintf(os.Stderr, "Wersja głównego modułu: %v\n", bi.Main.Version)
fmt.Fprintln(os.Stderr, bi)
}