gouick/helpers/golang.go
Matthieu 'JP' DERASSE 7938ce2dfa
All checks were successful
continuous-integration/drone/push Build is passing
fix(lint): Finish to apply linter recommandation
2022-08-03 13:36:13 +00:00

47 lines
780 B
Go

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"))
if err != nil {
return false, errors.Trace(err)
}
if exist {
return true, nil
}
exist, err = fileExists(filepath.Join(path, "go.sum"))
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)
}