diff options
| author | Jeff Carr <[email protected]> | 2025-10-26 08:29:43 -0500 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-10-26 08:29:43 -0500 |
| commit | 4684799ca211b13b821a51cb0b3c87e43bd95aa8 (patch) | |
| tree | fc23a62eed2b8d091e135c69f7e90bd6df24ff31 /argv.go | |
| parent | 213d7bd6749471c583534e76f9c29c5b0183a4cb (diff) | |
new argv design
Diffstat (limited to 'argv.go')
| -rw-r--r-- | argv.go | 108 |
1 files changed, 108 insertions, 0 deletions
@@ -0,0 +1,108 @@ +// Copyright 2017-2025 WIT.COM Inc. All rights reserved. +// Use of this source code is governed by the GPL 3.0 + +package main + +/* + this parses the command line arguements + this enables command line options from other packages like 'gui' and 'log' +*/ + +var argv args + +type args struct { + Git *GitCmd `arg:"subcommand:git" help:"git stuff"` + Build *BuildCmd `arg:"subcommand:build" help:"build and install things"` + ListPkgs *EmptyCmd `arg:"subcommand:list" help:"list all the packages on mirrors.wit.com"` + Clone *CloneCmd `arg:"subcommand:go-clone" help:"go-clone from a gowebd repomap"` + Linux *LinuxCmd `arg:"subcommand:linux" help:"helpful linux things"` + Zoo *EmptyCmd `arg:"subcommand:zoo" help:"WIT Private Cloud info"` + PB *ProtoCmd `arg:"subcommand:pb" help:"example .pb files"` + Droplet *DropletCmd `arg:"subcommand:droplet" help:"do things on virtual machines"` + Upgrade *UpgradeCmd `arg:"subcommand:upgrade" help:"apt upgrade packages installed from mirrors.wit.com"` + Publish *PublishCmd `arg:"subcommand:publish" help:"publish packages"` + Test *TestCmd `arg:"subcommand:test" help:"test things"` + RepoMap string `arg:"--repomap" help:"location of the repomap"` + DryRun bool `arg:"--dry-run" help:"only show what would be packaged"` + Install bool `arg:"--install" help:"go install the binaries first"` + Verbose bool `arg:"--verbose" help:"be loud about it"` + Force bool `arg:"--force" help:"rebuild everything"` + All bool `arg:"--all" help:"show everything"` + Recursive bool `arg:"--recursive" help:"go-clone --recursive"` + WITCOM bool `arg:"--witcom" help:"add the GPL header"` + Max int32 `arg:"--max" help:"stop building after max builds"` +} + +type BuildCmd struct { + Debian *DebianCmd `arg:"subcommand:deb" help:"build missing .deb packages"` + MacBuild *EmptyCmd `arg:"subcommand:macos" help:"build macos packages"` + Install *DefaultCmd `arg:"subcommand:install" help:"run make install in each repo"` +} + +type ProtoCmd struct { + Identify string `arg:"--identify" help:"identify a .pb file"` +} + +type DropletCmd struct { + Trim *EmptyCmd `arg:"subcommand:trim" help:"clean out stuff and power off vm"` +} + +type TestCmd struct { + Version *EmptyCmd `arg:"subcommand:version" help:"test with cmd --version"` + Copy bool `arg:"--copy" help:"re-copy argv.template.go"` +} + +type LinuxCmd struct { + Rdate *EmptyCmd `arg:"subcommand:rdate" help:"rdate: check the time from the network"` +} + +type DebianCmd struct { + Release bool `arg:"--release" help:"use go-deb --release"` + DryRun bool `arg:"--dry-run" help:"only show what would be packaged"` + Verbose bool `arg:"--verbose" help:"be loud about it"` + Force bool `arg:"--force" help:"force devel .deb builds into /incoming"` + Priv bool `arg:"--private" help:"build private repos"` + All bool `arg:"--all" help:"build everything again"` + BuildVersion int `arg:"--buildversion" help:"the build version"` + Arch string `arg:"--arch" help:"what arch"` +} + +type CloneCmd struct { + Check *EmptyCmd `arg:"subcommand:check" help:"check urls against the repomap"` + Fix *EmptyCmd `arg:"subcommand:fix" help:"fix urls from the repomap"` + Repomap *EmptyCmd `arg:"subcommand:repomap" help:"make updated repomap"` + DryRun bool `arg:"--dry-run" help:"show what has not yet come to pass"` + Verbose bool `arg:"--verbose" help:"be loud about it"` +} + +type UpgradeCmd struct { + All bool `arg:"--all" help:"show all the packages"` + Force bool `arg:"--force" help:"force un-install and re-install each package"` +} + +type PublishCmd struct { + All bool `arg:"--all" help:"show all the packages"` + Gomod bool `arg:"--keep-gomod" help:"don't really do anything"` +} + +type DefaultCmd struct { + DryRun bool `arg:"--dry-run" help:"show what has not yet come to pass"` + Verbose bool `arg:"--verbose" help:"be loud about it"` + Force bool `arg:"--force" help:"rebuild everything"` +} + +type GitCmd struct { + Log *EmptyCmd `arg:"subcommand:log" help:"git log"` + Who *EmptyCmd `arg:"subcommand:who" help:"git who"` + Tag *EmptyCmd `arg:"subcommand:tag" help:"show tags"` + Pull *EmptyCmd `arg:"subcommand:pull" help:"pull the wit standard paths"` + Push *EmptyCmd `arg:"subcommand:push" help:"push the wit standard paths"` + Template string `arg:"--template" help:"create a new reup from a tempalte"` + Create string `arg:"--create" help:"create new repo"` + Edit string `arg:"--edit" help:"edit the subject of the last commit"` + ChopHEAD int `arg:"--chop-head-off" help:"remove the last commit (HEAD-1)"` + DeleteUntracked bool `arg:"--delete-untracked" help:"delete the untracked files"` +} + +type EmptyCmd struct { +} |
