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
Verbose bool
AskPass bool
Version bool
}
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.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.Version, "version", false, "Wypisuje wersję i kończy działanie")
flag.Usage = printUsage
flag.Parse()

View File

@ -2,7 +2,9 @@ package main
import (
"flag"
"fmt"
"os"
"runtime/debug"
"strings"
"baal.ar76.eu/x/pub/multisql/cfg"
@ -15,7 +17,10 @@ import (
func main() {
log.SetFlags(log.LstdFlags)
params := cfg.GetParams()
if params.Version {
printVersion()
return
}
args := flag.Args()
if len (args) > 0 {
encryption(args, params)
@ -109,3 +114,12 @@ func encryption(args []string, params cfg.Parameters) {
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)
}