gouick/helpers/golang.go
Matthieu 'JP' DERASSE a992c3cd5e
All checks were successful
continuous-integration/drone/push Build is passing
feat(init): Continue on first go-swagger gen
2022-09-02 18:50:04 +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)
}