Status of slice is important

Signed-off-by: frenchben <me+git@frenchben.com>
pull/10178/head
frenchben 4 years ago
parent 29620aa5c3
commit 1880377af6

@ -74,7 +74,7 @@ type BufferedFile struct {
func LoadFiles(files []*BufferedFile) (*chart.Chart, error) { func LoadFiles(files []*BufferedFile) (*chart.Chart, error) {
c := new(chart.Chart) c := new(chart.Chart)
subcharts := make(map[string][]*BufferedFile) subcharts := make(map[string][]*BufferedFile)
subChartsKeys := make([]string, 0) var subChartsKeys []string
// do not rely on assumed ordering of files in the chart and crash // do not rely on assumed ordering of files in the chart and crash
// if Chart.yaml was not coming early enough to initialize metadata // if Chart.yaml was not coming early enough to initialize metadata
@ -155,7 +155,9 @@ func LoadFiles(files []*BufferedFile) (*chart.Chart, error) {
fname := strings.TrimPrefix(f.Name, "charts/") fname := strings.TrimPrefix(f.Name, "charts/")
cname := strings.SplitN(fname, "/", 2)[0] cname := strings.SplitN(fname, "/", 2)[0]
// map[string] is unsorted - keep an array to keep things sorted // map[string] is unsorted - keep an array to keep things sorted
if !stringInSlice(cname, subChartsKeys) {
subChartsKeys = append(subChartsKeys, cname) subChartsKeys = append(subChartsKeys, cname)
}
subcharts[cname] = append(subcharts[cname], &BufferedFile{Name: fname, Data: f.Data, ModTime: f.ModTime}) subcharts[cname] = append(subcharts[cname], &BufferedFile{Name: fname, Data: f.Data, ModTime: f.ModTime})
default: default:
c.Files = append(c.Files, &chart.File{Name: f.Name, Data: f.Data, ModTime: f.ModTime}) c.Files = append(c.Files, &chart.File{Name: f.Name, Data: f.Data, ModTime: f.ModTime})
@ -207,3 +209,12 @@ func LoadFiles(files []*BufferedFile) (*chart.Chart, error) {
return c, nil return c, nil
} }
func stringInSlice(a string, list []string) bool {
for _, b := range list {
if b == a {
return true
}
}
return false
}

Loading…
Cancel
Save