|
|
@ -124,14 +124,16 @@ func (k *kindSorter) Less(i, j int) bool {
|
|
|
|
b := k.manifests[j]
|
|
|
|
b := k.manifests[j]
|
|
|
|
first, aok := k.ordering[a.Head.Kind]
|
|
|
|
first, aok := k.ordering[a.Head.Kind]
|
|
|
|
second, bok := k.ordering[b.Head.Kind]
|
|
|
|
second, bok := k.ordering[b.Head.Kind]
|
|
|
|
// if same kind (including unknown) sub sort alphanumeric
|
|
|
|
|
|
|
|
if first == second {
|
|
|
|
if !aok && !bok {
|
|
|
|
// if both are unknown and of different kind sort by kind alphabetically
|
|
|
|
// if both are unknown then sort alphabetically by kind and name
|
|
|
|
if !aok && !bok && a.Head.Kind != b.Head.Kind {
|
|
|
|
if a.Head.Kind != b.Head.Kind {
|
|
|
|
return a.Head.Kind < b.Head.Kind
|
|
|
|
return a.Head.Kind < b.Head.Kind
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
return a.Name < b.Name
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return a.Name < b.Name
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// unknown kind is last
|
|
|
|
// unknown kind is last
|
|
|
|
if !aok {
|
|
|
|
if !aok {
|
|
|
|
return false
|
|
|
|
return false
|
|
|
@ -139,6 +141,11 @@ func (k *kindSorter) Less(i, j int) bool {
|
|
|
|
if !bok {
|
|
|
|
if !bok {
|
|
|
|
return true
|
|
|
|
return true
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// if same kind sub sort alphanumeric
|
|
|
|
|
|
|
|
if first == second {
|
|
|
|
|
|
|
|
return a.Name < b.Name
|
|
|
|
|
|
|
|
}
|
|
|
|
// sort different kinds
|
|
|
|
// sort different kinds
|
|
|
|
return first < second
|
|
|
|
return first < second
|
|
|
|
}
|
|
|
|
}
|
|
|
|