// Copyright 2017-2025 WIT.COM Inc. All rights reserved. // Use of this source code is governed by the GPL 3.0 package main // An app to submit patches for the 30 GO GUI repos import ( "go.wit.com/lib/fhelp" "go.wit.com/lib/gui/shell" "go.wit.com/lib/protobuf/forgepb" "go.wit.com/log" ) 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 { log.Info("early forge new user handling failed", err) return "forge is still new and under development", err } } else { // log.Info("MODE NOT UNKNOWN") } if me.forge.Config.ReposPB == "" { log.Info("broken config. load default config here") me.forge.Config, err = forgepb.MakeDefaultConfig() } 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) // not a new user 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.Config.Mode = forgepb.ForgeMode_MASTER err := me.forge.ConfigSave() if err != nil { log.Info("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 }