summaryrefslogtreecommitdiff
path: root/subCommand.go
diff options
context:
space:
mode:
Diffstat (limited to 'subCommand.go')
-rw-r--r--subCommand.go96
1 files changed, 96 insertions, 0 deletions
diff --git a/subCommand.go b/subCommand.go
new file mode 100644
index 0000000..fd75fc2
--- /dev/null
+++ b/subCommand.go
@@ -0,0 +1,96 @@
+// Copyright 2017-2025 WIT.COM Inc. All rights reserved.
+// Use of this source code is governed by the GPL 3.0
+
+package main
+
+import (
+ "go.wit.com/lib/protobuf/filepb"
+ "go.wit.com/log"
+)
+
+func subCommand() (string, error) {
+ // Standard subcommand handling starts here
+ var s string
+ var err error
+
+ if argv.Upgrade != nil {
+ doUpgrade()
+ me.argv.GoodExit("")
+ }
+
+ if argv.Linux != nil {
+ if argv.Linux.Rdate != nil {
+ s, err = doRdate()
+ } else {
+ setTerminalTitle("pinging google", "ping", []string{"google.com"})
+ }
+ }
+
+ if argv.Build != nil {
+ s, err = doBuild()
+ }
+
+ if argv.Test != nil {
+ s, err = doTest()
+ }
+
+ if argv.Git != nil {
+ initMachine()
+ s, err = doGit()
+ }
+
+ if argv.PB != nil {
+ pbuuid, pbver, pberr := filepb.IdentifyPB(argv.PB.Identify)
+ if pberr == nil {
+ log.Info("pb version is:", pbver)
+ log.Info("pb uuid is:", pbuuid)
+ s = "pb identify worked"
+ } else {
+ s = "identify failed"
+ err = pberr
+ }
+ }
+
+ if argv.Clone != nil {
+ doClone()
+ me.argv.GoodExit("")
+ }
+
+ if argv.WITCOM {
+ doWITCOM()
+ me.argv.GoodExit("")
+ }
+
+ if argv.Clone != nil {
+ doClone()
+ me.argv.GoodExit("")
+ }
+
+ if argv.WITCOM {
+ doWITCOM()
+ me.argv.GoodExit("")
+ }
+
+ if argv.Upgrade != nil {
+ doUpgrade()
+ }
+
+ if argv.Droplet != nil {
+ s, err = doDroplet()
+ }
+
+ if argv.Publish != nil {
+ if err := doPublish(); err != nil {
+ me.argv.BadExit("doPublish failed", err)
+ }
+ me.argv.GoodExit("")
+ }
+
+ if argv.Zoo != nil {
+ if areSuperuser() {
+ exitOnErrorRealtime([]string{"journalctl", "-n", "100", "-f", "_SYSTEMD_UNIT=zood.service"})
+ }
+ me.argv.GoodExit("do something here")
+ }
+ return s, err
+}