Initial commit

This commit is contained in:
Romain de Laage 2021-12-21 20:37:41 +01:00
commit c06b72f8e8
Signed by: rdelaage
GPG Key ID: 534845FADDF0C329
5 changed files with 77 additions and 0 deletions

40
cli/cli.go Normal file
View File

@ -0,0 +1,40 @@
package cli
import (
"flag"
"fmt"
"git.rdelaage.ovh/rdelaage/VolumesAndDatabasesBackup/version"
)
const (
flagInfoHelp = "Show application information"
flagVersionHelp = "Show application version"
flagConfigFileHelp = "Load configuration file"
)
func Parse() {
var (
flagInfo bool
flagVersion bool
flagConfigFile string
)
flag.BoolVar(&flagInfo, "info", false, flagInfoHelp)
flag.BoolVar(&flagInfo, "i", false, flagInfoHelp)
flag.BoolVar(&flagVersion, "version", false, flagVersionHelp)
flag.BoolVar(&flagVersion, "v", false, flagVersionHelp)
flag.StringVar(&flagConfigFile, "config-file", "", flagConfigFileHelp)
flag.StringVar(&flagConfigFile, "c", "", flagConfigFileHelp)
flag.Parse()
if flagInfo {
info()
return
}
if flagVersion {
fmt.Println(version.Version)
return
}
}

18
cli/info.go Normal file
View File

@ -0,0 +1,18 @@
package cli
import (
"fmt"
"runtime"
"git.rdelaage.ovh/rdelaage/VolumesAndDatabasesBackup/version"
)
func info() {
fmt.Println("Version:", version.Version)
fmt.Println("Commit:", version.Commit)
fmt.Println("Build Date:", version.BuildDate)
fmt.Println("Go Version:", runtime.Version())
fmt.Println("Compiler:", runtime.Compiler)
fmt.Println("Arch:", runtime.GOARCH)
fmt.Println("OS:", runtime.GOOS)
}

3
go.mod Normal file
View File

@ -0,0 +1,3 @@
module git.rdelaage.ovh/rdelaage/VolumesAndDatabasesBackup
go 1.17

9
main.go Normal file
View File

@ -0,0 +1,9 @@
package main
import (
"git.rdelaage.ovh/rdelaage/VolumesAndDatabasesBackup/cli"
)
func main() {
cli.Parse()
}

7
version/version.go Normal file
View File

@ -0,0 +1,7 @@
package version
var (
Version = "dev"
Commit = "HEAD"
BuildDate = "undefined"
)