gouick/helpers/golang.go
Matthieu 'JP' DERASSE 65add2a61d
Some checks failed
continuous-integration/drone/push Build is failing
feat(go-swagger): Refactoring to use go-swagger templating system for most of the work
2023-01-01 17:06:47 +00:00

47 lines
794 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"), 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)
}