in gazelle/std_modules.go [70:98]
func isStdModule(m module) (bool, error) {
if _, seen := stdModulesSeen[m.Name]; seen {
return true, nil
}
stdModulesMutex.Lock()
defer stdModulesMutex.Unlock()
fmt.Fprintf(stdModulesStdin, "%s\n", m.Name)
stdoutReader := bufio.NewReader(stdModulesStdout)
line, err := stdoutReader.ReadString('\n')
if err != nil {
return false, err
}
if len(line) == 0 {
return false, fmt.Errorf("unexpected empty output from std_modules")
}
isStd, err := strconv.ParseBool(strings.TrimSpace(line))
if err != nil {
return false, err
}
if isStd {
stdModulesSeen[m.Name] = struct{}{}
return true, nil
}
return false, nil
}