From 25bd66be5e7e751f88c0fe98d1b6c434954293b4 Mon Sep 17 00:00:00 2001 From: Romain de Laage Date: Sat, 12 Feb 2022 13:52:38 +0100 Subject: [PATCH] First commit --- cli/cli.go | 37 +++++++++++++++++++++++++++++++++++++ cli/info.go | 18 ++++++++++++++++++ go.mod | 3 +++ main.go | 9 +++++++++ version/version.go | 7 +++++++ 5 files changed, 74 insertions(+) create mode 100644 cli/cli.go create mode 100644 cli/info.go create mode 100644 go.mod create mode 100644 main.go create mode 100644 version/version.go diff --git a/cli/cli.go b/cli/cli.go new file mode 100644 index 0000000..fe84800 --- /dev/null +++ b/cli/cli.go @@ -0,0 +1,37 @@ +package cli + +import ( + "fmt" + "flag" + + "git.rdelaage.ovh/rdelaage/cyanocorax/version" +) + +const ( + flagInfoHelp = "Show application information" + flagVersionHelp = "Show application version" +) + +func Parse() { + var ( + flagInfo bool + flagVersion bool + ) + + 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.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..d21f6d9 --- /dev/null +++ b/cli/info.go @@ -0,0 +1,18 @@ +package cli + +import ( + "fmt" + "runtime" + + "git.rdelaage.ovh/rdelaage/cyanocorax/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..99e3aeb --- /dev/null +++ b/go.mod @@ -0,0 +1,3 @@ +module git.rdelaage.ovh/rdelaage/cyanocorax + +go 1.17 diff --git a/main.go b/main.go new file mode 100644 index 0000000..2fc6f48 --- /dev/null +++ b/main.go @@ -0,0 +1,9 @@ +package main + +import ( + "git.rdelaage.ovh/rdelaage/cyanocorax/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" +)