summaryrefslogtreecommitdiff
path: root/goWork.go
diff options
context:
space:
mode:
Diffstat (limited to 'goWork.go')
-rw-r--r--goWork.go34
1 files changed, 34 insertions, 0 deletions
diff --git a/goWork.go b/goWork.go
new file mode 100644
index 0000000..7dbfac9
--- /dev/null
+++ b/goWork.go
@@ -0,0 +1,34 @@
+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
+}