commit 25bd66be5e7e751f88c0fe98d1b6c434954293b4 Author: Romain de Laage Date: Sat Feb 12 13:52:38 2022 +0100 First commit 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" +)