summaryrefslogtreecommitdiff
path: root/argv.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-10-18 11:53:14 -0500
committerJeff Carr <[email protected]>2025-10-18 11:53:14 -0500
commit3a7d5a176350447cf568d9fbc7ea804895549968 (patch)
tree9df0aebff512050f84634ff02967ad00107fd2ed /argv.go
parent94fd646c63f0d85083c991ea219d34197aaa085e (diff)
the long road to betterness
Diffstat (limited to 'argv.go')
-rw-r--r--argv.go184
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)
-}