12345678910111213141516171819202122232425 |
- package ctx
- import (
- "errors"
- "os"
- "github.com/zeromicro/go-zero/tools/goctl/rpc/execx"
- )
- // IsGoMod is used to determine whether workDir is a go module project through command `go list -json -m`
- func IsGoMod(workDir string) (bool, error) {
- if len(workDir) == 0 {
- return false, errors.New("the work directory is not found")
- }
- if _, err := os.Stat(workDir); err != nil {
- return false, err
- }
- data, err := execx.Run("go list -m -f '{{.GoMod}}'", workDir)
- if err != nil || len(data) == 0 {
- return false, nil
- }
- return true, nil
- }
|