Sort requirements alphabetically by name. (#659)
This commit is contained in:
parent
2e57beb448
commit
e3e7905f07
|
|
@ -9,6 +9,7 @@ import (
|
|||
"io/ioutil"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"sort"
|
||||
"strings"
|
||||
)
|
||||
|
||||
|
|
@ -49,6 +50,8 @@ type ChartRequirements struct {
|
|||
|
||||
type ChartLockedRequirements struct {
|
||||
ResolvedDependencies []ResolvedChartDependency `yaml:"dependencies"`
|
||||
Digest string `yaml:"digest"`
|
||||
Generated string `yaml:"generated"`
|
||||
}
|
||||
|
||||
func (d *UnresolvedDependencies) Add(chart, url, versionConstraint string) error {
|
||||
|
|
@ -328,6 +331,22 @@ func (m *chartDependencyManager) Update(shell helmexec.DependencyUpdater, wd str
|
|||
return nil, err
|
||||
}
|
||||
|
||||
// Sort requirements alphabetically by name.
|
||||
lockedReqs := &ChartLockedRequirements{}
|
||||
if err := yaml.Unmarshal(updatedLockFileContent, lockedReqs); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
sort.Slice(lockedReqs.ResolvedDependencies, func(i, j int) bool {
|
||||
return lockedReqs.ResolvedDependencies[i].ChartName < lockedReqs.ResolvedDependencies[j].ChartName
|
||||
})
|
||||
|
||||
updatedLockFileContent, err = yaml.Marshal(lockedReqs)
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// Commit the lock file if and only if everything looks ok
|
||||
if err := m.writeBytes(lockFile, updatedLockFileContent); err != nil {
|
||||
return nil, err
|
||||
|
|
|
|||
Loading…
Reference in New Issue