in dev-tools/mage/gotool/go.go [93:109]
func ListDepsLocation(pkg string) (map[string]string, error) {
const tmpl = `{{if not .Standard}}{{.ImportPath}};{{.Dir}}{{end}}`
lines, err := getLines(callGo(nil, "list", "-deps", "-f", tmpl, pkg))
if err != nil {
return nil, err
}
deps := make(map[string]string, len(lines))
for _, l := range lines {
parts := strings.Split(l, ";")
if len(parts) != 2 {
return nil, fmt.Errorf("invalid number of parts")
}
deps[parts[0]] = parts[1]
}
return deps, nil
}