gouick/helpers/golang.go

47 lines
794 B
Go
Raw Normal View History

package helpers
import (
"os"
"path/filepath"
"strings"
"github.com/juju/errors"
)
// IsGoProject check if we are in a golang project (have go.mod).
func IsGoProject(path string) (bool, error) {
exist, err := FileExists(filepath.Join(path, "go.mod"), false)
if err != nil {
return false, errors.Trace(err)
}
if exist {
return true, nil
}
exist, err = FileExists(filepath.Join(path, "go.sum"), false)
if err != nil {
return false, errors.Trace(err)
}
if exist {
return true, nil
}
return false, nil
}
// IsInGoPath check if the given path is in the gopath directory.
func IsInGoPath(path string) bool {
gopath := os.Getenv("GOPATH")
if gopath == "" {
return false
}
// clean path
gopath = filepath.Clean(gopath)
return strings.HasPrefix(path, gopath)
}