in ci-tools/main.go [280:313]
func generateProcessorsGoGetArgument(version string) (string, error) {
goModFile, err := os.Open("go.mod")
if err != nil {
return "", err
}
defer func(goModFile *os.File) {
_ = goModFile.Close()
}(goModFile)
goModFileBytes, err := io.ReadAll(goModFile)
if err != nil {
return "", err
}
goModInfo, err := modfile.Parse("go.mod", goModFileBytes, nil)
if err != nil {
return "", err
}
var argument strings.Builder
seem := map[string]bool{}
for _, dep := range goModInfo.Require {
if dep.Indirect {
continue
}
if !seem[dep.Mod.Path] && strings.HasPrefix(dep.Mod.Path, "github.com/open-telemetry/opentelemetry-collector-contrib/processor/") {
seem[dep.Mod.Path] = true
argument.WriteString(fmt.Sprintf("%s@%s", dep.Mod.Path, version))
argument.WriteString(" ")
}
}
return argument.String(), nil
}