forked from toolshed/abra
parent
8aaedee39e
commit
448dadd292
@ -29,10 +29,11 @@ var recipeVersionCommand = &cli.Command{
|
|||||||
tableCol := []string{"Version", "Service", "Image", "Digest"}
|
tableCol := []string{"Version", "Service", "Image", "Digest"}
|
||||||
table := formatter.CreateTable(tableCol)
|
table := formatter.CreateTable(tableCol)
|
||||||
|
|
||||||
for version := range recipeMeta.Versions {
|
for _, serviceVersion := range recipeMeta.Versions {
|
||||||
for service := range recipeMeta.Versions[version] {
|
for tag, meta := range serviceVersion {
|
||||||
meta := recipeMeta.Versions[version][service]
|
for service, serviceMeta := range meta {
|
||||||
table.Append([]string{version, service, meta.Image, meta.Digest})
|
table.Append([]string{tag, service, serviceMeta.Image, serviceMeta.Digest})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -60,18 +60,22 @@ type RecipeMeta struct {
|
|||||||
Icon string `json:"icon"`
|
Icon string `json:"icon"`
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
Repository string `json:"repository"`
|
Repository string `json:"repository"`
|
||||||
Versions map[tag]map[service]serviceMeta `json:"versions"`
|
Versions []map[tag]map[service]serviceMeta `json:"versions"`
|
||||||
Website string `json:"website"`
|
Website string `json:"website"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// LatestVersion returns the latest version of a recipe.
|
// LatestVersion returns the latest version of a recipe.
|
||||||
func (r RecipeMeta) LatestVersion() string {
|
func (r RecipeMeta) LatestVersion() string {
|
||||||
var latestVersion string
|
var version string
|
||||||
for tag := range r.Versions {
|
|
||||||
// apps.json versions are sorted so the last key is latest
|
// apps.json versions are sorted so the last key is latest
|
||||||
latestVersion = tag
|
latest := r.Versions[len(r.Versions)-1]
|
||||||
|
|
||||||
|
for tag := range latest {
|
||||||
|
version = tag
|
||||||
}
|
}
|
||||||
return latestVersion
|
|
||||||
|
return version
|
||||||
}
|
}
|
||||||
|
|
||||||
// Name represents a recipe name.
|
// Name represents a recipe name.
|
||||||
@ -197,11 +201,12 @@ func VersionsOfService(recipe, serviceName string) ([]string, error) {
|
|||||||
|
|
||||||
versions := []string{}
|
versions := []string{}
|
||||||
alreadySeen := make(map[string]bool)
|
alreadySeen := make(map[string]bool)
|
||||||
for version := range rec.Versions {
|
for _, serviceVersion := range rec.Versions {
|
||||||
appVersion := rec.Versions[version][serviceName].Tag
|
for tag := range serviceVersion {
|
||||||
if _, ok := alreadySeen[appVersion]; !ok {
|
if _, ok := alreadySeen[tag]; !ok {
|
||||||
alreadySeen[appVersion] = true
|
alreadySeen[tag] = true
|
||||||
versions = append(versions, appVersion)
|
versions = append(versions, tag)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user