diff --git a/mod.go b/mod.go index 74d7d0b..a10023f 100644 --- a/mod.go +++ b/mod.go @@ -35,7 +35,7 @@ var ( // replace 是否考虑 go.mod 中的 replace 指令的影响; // // NOTE: 这并不会检测 dir 指向目录是否真实且准确。 -func ModSourceDir(pkgPath, modDir string, replace bool) (dir string, err error) { +func PkgSourceDir(pkgPath, modDir string, replace bool) (dir string, err error) { if strings.IndexByte(pkgPath, '.') < 0 { return filepath.Join(stdSource, pkgPath), nil } @@ -135,7 +135,7 @@ LOOP: } } -// PkgPath 文件或目录 p 所在 Go 文件的导出路径 +// PkgPath 文件或目录 p 的导出路径 // // 会向上查找 go.mod,根据 go.mod 中的 module 结合当前目录组成当前目录的导出路径。 func PkgPath(p string) (string, error) { diff --git a/mod_test.go b/mod_test.go index ffc480b..a2cc7eb 100644 --- a/mod_test.go +++ b/mod_test.go @@ -14,37 +14,37 @@ import ( "github.com/issue9/assert/v4" ) -func TestModSourceDir(t *testing.T) { +func TestPkgSourceDir(t *testing.T) { a := assert.New(t, false) // std - dir, err := ModSourceDir("encoding/json", "./", false) + dir, err := PkgSourceDir("encoding/json", "./", false) a.NotError(err).FileExists(dir) - dir, err = ModSourceDir("note-exists", "./", false) + dir, err = PkgSourceDir("note-exists", "./", false) a.NotError(err).FileNotExists(dir) // require - dir, err = ModSourceDir("github.com/issue9/assert/v4", "./", false) + dir, err = PkgSourceDir("github.com/issue9/assert/v4", "./", false) a.NotError(err).FileExists(dir). True(strings.HasSuffix(filepath.ToSlash(dir), "assert/v4@v4.3.0")) - dir, err = ModSourceDir("github.com/issue9/assert/v4/rest", "./", false) + dir, err = PkgSourceDir("github.com/issue9/assert/v4/rest", "./", false) a.NotError(err).FileExists(dir). True(strings.HasSuffix(filepath.ToSlash(dir), "assert/v4@v4.3.0/rest")) // replace - dir, err = ModSourceDir("github.com/issue9/web/v2", "./testdata/go.mod", true) + dir, err = PkgSourceDir("github.com/issue9/web/v2", "./testdata/go.mod", true) a.NotError(err).NotEmpty(dir) // 此处 dir 可能不存在,因为 go.mod 关于 web 的包是随便指定的 - dir, err = ModSourceDir("github.com/issue9/source", "./testdata/go.mod", true) + dir, err = PkgSourceDir("github.com/issue9/source", "./testdata/go.mod", true) a.NotError(err).FileExists(dir) // not exist - dir, err = ModSourceDir("github.com/issue9/not-exists", "./testdata/go.mod", true) + dir, err = PkgSourceDir("github.com/issue9/not-exists", "./testdata/go.mod", true) a.ErrorIs(err, fs.ErrNotExist).Empty(dir) }