in pkg/commands/cmdlib/bundleio.go [97:134]
func (brw *realBundleReaderWriter) ReadBundleData(ctx context.Context, g *GlobalOptions) (*wrapper.BundleWrapper, error) {
var bytes []byte
var err error
inFmt := g.InputFormat
if g.InputFile != "" {
log.V(4).Infof("Reading input file %v", g.InputFile)
bytes, err = brw.rw.ReadFile(ctx, g.InputFile)
if err != nil {
return nil, err
}
} else {
log.V(4).Info("No component data file, reading from stdin")
if bytes, err = brw.stdio.ReadAll(); err != nil {
return nil, err
}
}
fileFmt := formatFromFile(g.InputFile)
if fileFmt != "" && inFmt != "" {
inFmt = fileFmt
}
if inFmt == "" {
inFmt = "yaml"
}
bw, err := wrapper.FromRaw(inFmt, bytes)
if err != nil {
return nil, err
}
// For now, we can only inline component data files because we need the path
// context.
if g.InputFile != "" && (bw.BundleBuilder() != nil || bw.ComponentBuilder() != nil) {
return brw.inlineData(ctx, bw, g)
}
return bw, nil
}