35 lines
682 B
Go
35 lines
682 B
Go
package fhelp
|
|
|
|
import (
|
|
"os"
|
|
|
|
"go.wit.com/log"
|
|
)
|
|
|
|
/*
|
|
try to determine the GO working dir
|
|
this will look for a go.work file, otherwise
|
|
it will default to ~/go/src
|
|
|
|
returns:
|
|
string # ~/go/src or the path to the go.work file
|
|
bool # true if the user is using a go.work file
|
|
err # if everything goes wrong, the error
|
|
*/
|
|
func DetermineGoPath() (string, bool, error) {
|
|
gosrc := os.Getenv("FORGE_GOSRC")
|
|
if gosrc != "" {
|
|
hasWork := goWorkExists(gosrc)
|
|
log.Info("Using ENV{FORGE_GOSRC} =", gosrc)
|
|
return gosrc, hasWork, nil
|
|
}
|
|
|
|
gosrc, err := findGoSrc()
|
|
if err != nil {
|
|
log.Info("fhelp.DetermineGoPath()", err)
|
|
}
|
|
hasWork := goWorkExists(gosrc)
|
|
|
|
return gosrc, hasWork, err
|
|
}
|