terraform-provider-gitea/vendor/github.com/hashicorp/hc-install/internal/releasesjson/product_version.go
Malar Invention 00ebcd295e add vendor
2022-04-03 09:37:16 +05:30

42 lines
1.1 KiB
Go

package releasesjson
import "github.com/hashicorp/go-version"
// ProductVersion is a wrapper around a particular product version like
// "consul 0.5.1". A ProductVersion may have one or more builds.
type ProductVersion struct {
Name string `json:"name"`
RawVersion string `json:"version"`
Version *version.Version `json:"-"`
SHASUMS string `json:"shasums,omitempty"`
SHASUMSSig string `json:"shasums_signature,omitempty"`
SHASUMSSigs []string `json:"shasums_signatures,omitempty"`
Builds ProductBuilds `json:"builds"`
}
type ProductVersionsMap map[string]*ProductVersion
type ProductVersions []*ProductVersion
func (pv ProductVersions) Len() int {
return len(pv)
}
func (pv ProductVersions) Less(i, j int) bool {
return pv[i].Version.LessThan(pv[j].Version)
}
func (pv ProductVersions) Swap(i, j int) {
pv[i], pv[j] = pv[j], pv[i]
}
func (pvm ProductVersionsMap) AsSlice() ProductVersions {
versions := make(ProductVersions, 0)
for _, pVersion := range pvm {
versions = append(versions, pVersion)
}
return versions
}