"cmd/go/internal/search"
"encoding/hex"
"fmt"
+ "internal/goroot"
"os"
"path/filepath"
"strings"
func findStandardImportPath(path string) string {
if search.IsStandardImportPath(path) {
- dir := filepath.Join(cfg.GOROOT, "src", path)
- if _, err := os.Stat(dir); err == nil {
- return dir
+ if goroot.IsStandardPackage(cfg.GOROOT, cfg.BuildContext.Compiler, path) {
+ return filepath.Join(cfg.GOROOT, "src", path)
}
- dir = filepath.Join(cfg.GOROOT, "src/vendor", path)
- if _, err := os.Stat(dir); err == nil {
- return dir
+ if goroot.IsStandardPackage(cfg.GOROOT, cfg.BuildContext.Compiler, "vendor/"+path) {
+ return filepath.Join(cfg.GOROOT, "src/vendor", path)
}
}
return ""
"errors"
"fmt"
"go/build"
+ "internal/goroot"
"os"
"path/filepath"
"strings"
if strings.HasPrefix(path, "golang_org/") {
return module.Version{}, filepath.Join(cfg.GOROOT, "src/vendor", path), nil
}
- dir := filepath.Join(cfg.GOROOT, "src", path)
- if _, err := os.Stat(dir); err == nil {
+ if goroot.IsStandardPackage(cfg.GOROOT, cfg.BuildContext.Compiler, path) {
+ dir := filepath.Join(cfg.GOROOT, "src", path)
return module.Version{}, dir, nil
}
}