func ValidateProfilingNonGA()

in code/go/internal/validator/semantic/validate_profiling_nonga.go [21:49]


func ValidateProfilingNonGA(fsys fspath.FS) specerrors.ValidationErrors {
	manifestVersion, err := readManifestVersion(fsys)
	if err != nil {
		return specerrors.ValidationErrors{specerrors.NewStructuredError(err, specerrors.UnassignedCode)}
	}

	semVer, err := semver.NewVersion(manifestVersion)
	if err != nil {
		return specerrors.ValidationErrors{specerrors.NewStructuredError(err, specerrors.UnassignedCode)}
	}

	if semVer.Major() == 0 || semVer.Prerelease() != "" {
		return nil
	}

	dataStreams, err := listDataStreams(fsys)
	if err != nil {
		return specerrors.ValidationErrors{specerrors.NewStructuredError(err, specerrors.UnassignedCode)}
	}

	var errs specerrors.ValidationErrors
	for _, dataStream := range dataStreams {
		err := validateProfilingTypeNotUsed(fsys, dataStream)
		if err != nil {
			errs = append(errs, specerrors.NewStructuredError(err, specerrors.UnassignedCode))
		}
	}
	return errs
}