in packages/package.go [358:391]
func (p *Package) setRuntimeFields() error {
var err error
p.versionSemVer, err = semver.StrictNewVersion(p.Version)
if err != nil {
return fmt.Errorf("invalid package version: %w", err)
}
if p.Conditions != nil && p.Conditions.Kibana != nil {
p.Conditions.Kibana.constraint, err = semver.NewConstraint(p.Conditions.Kibana.Version)
if err != nil {
return fmt.Errorf("invalid Kibana versions range %s: %w", p.Conditions.Kibana.Version, err)
}
}
// Packages from proxy mode do not have "format_version" field
if p.FormatVersion == "" {
return nil
}
specSemVer, err := semver.StrictNewVersion(p.FormatVersion)
if err != nil {
return fmt.Errorf("invalid format spec version '%s': %w", p.FormatVersion, err)
}
specMajorMinorVersion := fmt.Sprintf("%d.%d.0", specSemVer.Major(), specSemVer.Minor())
p.specMajorMinorSemVer, err = semver.StrictNewVersion(specMajorMinorVersion)
if err != nil {
return fmt.Errorf("invalid format spec version '%s': %w", specMajorMinorVersion, err)
}
return nil
}