summaryrefslogtreecommitdiff
path: root/goWork.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-01-13 08:55:48 -0600
committerJeff Carr <[email protected]>2025-01-13 08:55:48 -0600
commitbd54fa707a03125878a23f1ad4c93f25708cf4d3 (patch)
tree4ee592e9ae7c0fe13e4c08aa91b47e143c8b26ca /goWork.go
parent24200adb8ab373582e1d66703e7c3db103945640 (diff)
code to determine the go src directory
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
+}