func()

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
}