commit c06b72f8e867a2fa0b78f6cb01e8b00831b44ddd Author: Romain de Laage Date: Tue Dec 21 20:37:41 2021 +0100 Initial commit diff --git a/cli/cli.go b/cli/cli.go new file mode 100644 index 0000000..d1c1f0b --- /dev/null +++ b/cli/cli.go @@ -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 + } +} diff --git a/cli/info.go b/cli/info.go new file mode 100644 index 0000000..41647f3 --- /dev/null +++ b/cli/info.go @@ -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) +} diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..540098a --- /dev/null +++ b/go.mod @@ -0,0 +1,3 @@ +module git.rdelaage.ovh/rdelaage/VolumesAndDatabasesBackup + +go 1.17 diff --git a/main.go b/main.go new file mode 100644 index 0000000..cbc7692 --- /dev/null +++ b/main.go @@ -0,0 +1,9 @@ +package main + +import ( + "git.rdelaage.ovh/rdelaage/VolumesAndDatabasesBackup/cli" +) + +func main() { + cli.Parse() +} diff --git a/version/version.go b/version/version.go new file mode 100644 index 0000000..d727747 --- /dev/null +++ b/version/version.go @@ -0,0 +1,7 @@ +package version + +var ( + Version = "dev" + Commit = "HEAD" + BuildDate = "undefined" +)