in ci-tools/main.go [153:184]
func extractProcessorsVersionFromGoModule() (string, error) {
goModFile, err := os.Open("go.mod")
if err != nil {
return "", err
}
goModFileBytes, err := io.ReadAll(goModFile)
_ = goModFile.Close()
if err != nil {
return "", err
}
goModInfo, err := modfile.Parse("go.mod", goModFileBytes, nil)
if err != nil {
return "", err
}
var version string
for _, dep := range goModInfo.Require {
if dep.Indirect {
continue
}
if strings.HasPrefix(dep.Mod.Path, "github.com/open-telemetry/opentelemetry-collector-contrib/processor/") {
if version != "" && version != dep.Mod.Version {
return "", fmt.Errorf("multiple opentelemetry-collector-contrib versions found: %q and %q", version, dep.Mod.Version)
}
version = dep.Mod.Version
}
}
return version, nil
}