func()

in pkg/build/inline.go [396:440]


func (n *Inliner) rawTextFiles(ctx context.Context, fileGroups []bundle.FileGroup, ref bundle.ComponentReference, componentPath *url.URL) ([]*unstructured.Unstructured, error) {
	var newObjs []*unstructured.Unstructured
	for _, fg := range fileGroups {
		fgName := fg.Name
		if fgName == "" {
			return nil, fmt.Errorf("error reading raw text file group object for component %v; name was empty ", ref)
		}
		m := newConfigMapMaker(fgName)
		for _, cf := range fg.Files {
			furl, err := cf.ParsedURL()
			if err != nil {
				return nil, err
			}
			cf.URL = makeAbsWithParent(componentPath, furl).String()

			text, err := n.readFile(ctx, cf)
			if err != nil {
				return nil, fmt.Errorf("error reading raw text file for component %q: %v", ref, err)
			}
			dataName := filepath.Base(cf.URL)
			if fg.AsBinary {
				m.addBinaryData(dataName, text)
			} else {
				m.addData(dataName, string(text))
			}
		}
		if len(m.cfgMap.Data) > 0 && len(m.cfgMap.BinaryData) > 0 {
			return nil, fmt.Errorf("both and binary data were filled out for group: %v", fg)
		}

		for key, value := range fg.Annotations {
			m.cfgMap.ObjectMeta.Annotations[key] = value
		}
		for key, value := range fg.Labels {
			m.cfgMap.ObjectMeta.Labels[key] = value
		}

		uns, err := m.toUnstructured()
		if err != nil {
			return nil, fmt.Errorf("for component %v and file group %q, %v", ref, fgName, err)
		}
		newObjs = append(newObjs, uns)
	}
	return newObjs, nil
}