in code/go/internal/validator/semantic/validate_version_integrity.go [21:47]
func ValidateVersionIntegrity(fsys fspath.FS) specerrors.ValidationErrors {
manifestVersion, err := readManifestVersion(fsys)
if err != nil {
return specerrors.ValidationErrors{specerrors.NewStructuredError(err, specerrors.UnassignedCode)}
}
changelogVersions, err := readChangelogVersions(fsys)
if err != nil {
return specerrors.ValidationErrors{specerrors.NewStructuredError(err, specerrors.UnassignedCode)}
}
err = ensureUniqueVersions(changelogVersions)
if err != nil {
return specerrors.ValidationErrors{specerrors.NewStructuredError(err, specerrors.UnassignedCode)}
}
err = ensureManifestVersionHasChangelogEntry(manifestVersion, changelogVersions)
if err != nil {
return specerrors.ValidationErrors{specerrors.NewStructuredError(err, specerrors.UnassignedCode)}
}
err = ensureChangelogLatestVersionIsGreaterThanOthers(changelogVersions)
if err != nil {
return specerrors.ValidationErrors{specerrors.NewStructuredError(err, specerrors.UnassignedCode)}
}
return nil
}