summaryrefslogtreecommitdiff
path: root/doNewUser.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-10-19 15:29:02 -0500
committerJeff Carr <[email protected]>2025-10-19 15:29:02 -0500
commit3246e9b1f7ba7b983ca536f06d1dbbb636d1ad5b (patch)
treefc7e065170afb516ecb9d77401e4aec8ec8b3743 /doNewUser.go
parent1a618273bf123cef8a91cccd191b32b605c90abc (diff)
redo argv name
Diffstat (limited to 'doNewUser.go')
-rw-r--r--doNewUser.go59
1 files changed, 32 insertions, 27 deletions
diff --git a/doNewUser.go b/doNewUser.go
index b4a5eda..b9f9511 100644
--- a/doNewUser.go
+++ b/doNewUser.go
@@ -6,6 +6,8 @@ package main
// An app to submit patches for the 30 GO GUI repos
import (
+ "errors"
+
"go.wit.com/lib/fhelp"
"go.wit.com/lib/gui/shell"
"go.wit.com/lib/protobuf/forgepb"
@@ -16,17 +18,13 @@ func doNewUser() (string, error) {
var s string
var err error
- if me.forge.Config.Mode == forgepb.ForgeMode_NORMAL {
- // not new user
- return s, err
- }
if me.forge.Config.Mode == forgepb.ForgeMode_UNKNOWN {
dumpDebug()
log.Info("---- ----")
log.Info("---- Welcome to forge!!! ----")
log.Info("---- ----")
- // this should never happen
if err := me.forge.SetMode(forgepb.ForgeMode_NEWUSER); err != nil {
+ // this should never happen
log.Info("early forge new user handling failed", err)
return "forge is still new and under development", err
}
@@ -34,11 +32,13 @@ func doNewUser() (string, error) {
// log.Info("MODE NOT UNKNOWN")
}
+ // TODO: verify config values are valid here
if me.forge.Config.ReposPB == "" {
log.Info("broken config. load default config here")
me.forge.Config, err = forgepb.MakeDefaultConfig()
}
+ // TODO: make checks that make sense here and then exit from NEWUSER mode
if shell.Exists(me.forge.Config.ReposPB) {
log.Info("looks like you might not be a new user")
log.Info("a repos file already exists at", me.forge.Config.ReposPB)
@@ -46,33 +46,38 @@ func doNewUser() (string, error) {
return s, err
}
+ if me.forge.Config.Mode != forgepb.ForgeMode_NEWUSER {
+ return s, err
+ }
+
// very likely new user
pfile, _ := resources.ReadFile("resources/NEWUSER")
log.Info("")
log.Info(string(pfile))
- me.forge.ScanRepoDir() // looks for new dirs, checks existing repos for changes
- if me.forge.Config.Mode == forgepb.ForgeMode_NEWUSER {
- log.Info("")
- log.Info(" A good thing to try as a new user is to rebuild forge.")
- log.Info(" This will attempt to download all the sources & needed tools.")
- log.Info("")
- log.Info(" Also, you can enable bash & zsh completion with --bash & --zsh")
- log.Info("")
- log.Info(" todo: make better notes here.")
- log.Info("")
- if fhelp.QuestionUser("test question") {
- log.Info("question true")
- } else {
- log.Info("question false")
- }
- me.forge.SetMode(forgepb.ForgeMode_CLEAN)
- if err != nil {
- log.Info("ConfigSave() failed", err)
- } else {
- log.Info("ConfigSave() worked filename =", me.forge.Config.Filename)
- }
+ if fhelp.QuestionUser("Scan ~/go/src for .git repos") {
+ me.forge.ScanRepoDir() // looks for new dirs, checks existing repos for changes
+ } else {
+ // log.Info("question false")
+ return "not scanned", errors.New("~/go/src not scanned")
+ }
+
+ log.Info("")
+ log.Info(" A good thing to try as a new user is to rebuild forge.")
+ log.Info(" This will attempt to download all the sources & needed tools.")
+ log.Info("")
+ log.Info(" Also, you can enable bash & zsh completion with --bash & --zsh")
+ log.Info("")
+ log.Info(" todo: make better notes here.")
+ log.Info("")
+
+ // turn off NEWUSER
+ err = me.forge.SetMode(forgepb.ForgeMode_CLEAN)
+ if err != nil {
+ log.Info("ConfigSave() failed filename =", me.forge.Config.Filename, err)
+ return "ConfigSave() failed", err
+ } else {
+ log.Info("ConfigSave() worked filename =", me.forge.Config.Filename)
}
- me.sh.GoodExit("try running: 'forge rebuild forge' to test out that forge is working on your machine")
return s, err
}