diff options
| author | Jeff Carr <[email protected]> | 2025-10-18 11:53:14 -0500 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-10-18 11:53:14 -0500 |
| commit | 3a7d5a176350447cf568d9fbc7ea804895549968 (patch) | |
| tree | 9df0aebff512050f84634ff02967ad00107fd2ed /argv.go | |
| parent | 94fd646c63f0d85083c991ea219d34197aaa085e (diff) | |
the long road to betterness
Diffstat (limited to 'argv.go')
| -rw-r--r-- | argv.go | 184 |
1 files changed, 0 insertions, 184 deletions
diff --git a/argv.go b/argv.go deleted file mode 100644 index 81d8431..0000000 --- a/argv.go +++ /dev/null @@ -1,184 +0,0 @@ -// 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' -*/ - -import ( - "os" - - "go.wit.com/lib/debugger" - "go.wit.com/lib/fhelp" - "go.wit.com/lib/gui/logsettings" - "go.wit.com/lib/protobuf/argvpb" - "go.wit.com/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"` - Gui *GuiCmd `arg:"subcommand:gui" help:"start the gui"` - 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 GuiCmd struct { - GuiToolkit string `arg:"--gui" help:"which GUI toolkit to load"` - GuiDebug string `arg:"--gui-debug" help:"enable GUI debugging"` - GuiBuild string `arg:"--gui-build" help:"build the GUI plugins"` -} - -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"` - 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 { -} - -func init() { - if debugger.ArgDebug() { - log.Info("cmd line --debugger == true") - go func() { - log.Sleep(2) - debugger.DebugWindow() - }() - } - - if debugger.ArgLogger() { - log.Info("cmd line --loggger == true") - go func() { - log.Sleep(4) - logsettings.LogWindow() - logsettings.LogWindow() - }() - } -} - -func (args) Buildtime() (string, string) { - return BUILDTIME, VERSION -} - -func (args) Version() string { - return "wit-test " + VERSION + " Built on " + BUILDTIME -} - -/* - handles shell autocomplete -*/ - -func (args) Appname() string { - return ARGNAME -} - -func (args) ArgvGui() error { - me.myGui = fhelp.Gui() // adds the GUI package argv support - return nil -} - -func (a args) DoAutoComplete(pb *argvpb.Argv) { - base := []string{"build", "upgrade", "git", "publish", "pb", "linux", "droplet"} - base = append(base, "--version", "--force", "--all") - - // add these only if installed - if _, err := fhelp.CheckCmd("zood"); err == nil { - base = append(base, "zoo") - } - if _, err := fhelp.CheckCmd("forge"); err == nil { - base = append(base, "forge") - } - if _, err := fhelp.CheckCmd("go-clone"); err == nil { - base = append(base, "go-clone") - } - if areSuperuser() { - base = append(base, "upgrade") - base = append(base, "rdate") - } - if pb.Cmd == "" { - pb.SendStrings(base) - } else { - pb.SubCommand(pb.Goargs...) - } - os.Exit(0) -} |
