diff options
Diffstat (limited to 'cmd/flakeinfo')
-rw-r--r-- | cmd/flakeinfo/main.go | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/cmd/flakeinfo/main.go b/cmd/flakeinfo/main.go index d41f321..8c1960c 100644 --- a/cmd/flakeinfo/main.go +++ b/cmd/flakeinfo/main.go @@ -7,16 +7,38 @@ import ( "os" "time" + "github.com/fcuny/world/internal/version" "github.com/fcuny/world/pkg/flake/lock" ) +const usage = `Usage: + flake-info [flake.lock] + +Options: + -v, --version Print version information + -h, --help Print this message +` + func main() { - var flakeLockPath string + flag.Usage = func() { fmt.Fprintf(os.Stderr, "%s\n", usage) } + + var ( + flakeLockPath string + versionFlag bool + ) flag.StringVar(&flakeLockPath, "flake-lock", "flake.lock", "path to the flake lock file") + flag.BoolVar(&versionFlag, "version", false, "Print version information") + flag.BoolVar(&versionFlag, "v", false, "Print version information") flag.Parse() + if versionFlag { + information := version.VersionAndBuildInfo() + fmt.Println(information) + return + } + if _, err := os.Stat(flakeLockPath); err != nil { if errors.Is(err, os.ErrNotExist) { fmt.Fprintf(os.Stderr, "%s does not exists\n", flakeLockPath) |