in pkg/jobmanager/bundles.go [21:57]
func newReportingBundles(registry *pluginregistry.PluginRegistry, jobDescriptor *job.Descriptor) ([]*job.ReporterBundle, []*job.ReporterBundle, error) {
var (
runReporterBundles []*job.ReporterBundle
finalReporterBundles []*job.ReporterBundle
)
for _, reporter := range jobDescriptor.Reporting.RunReporters {
if strings.TrimSpace(reporter.Name) == "" {
return nil, nil, errors.New("invalid empty or all-whitespace run reporter name")
}
if err := limits.NewValidator().ValidateReporterName(reporter.Name); err != nil {
return nil, nil, err
}
bundle, err := registry.NewRunReporterBundle(reporter.Name, reporter.Parameters)
if err != nil {
return nil, nil, fmt.Errorf("failed to create bundle for run reporter '%s': %v", reporter.Name, err)
}
runReporterBundles = append(runReporterBundles, bundle)
}
for _, reporter := range jobDescriptor.Reporting.FinalReporters {
if strings.TrimSpace(reporter.Name) == "" {
return nil, nil, errors.New("invalid empty or all-whitespace final reporter name")
}
if err := limits.NewValidator().ValidateReporterName(reporter.Name); err != nil {
return nil, nil, err
}
bundle, err := registry.NewFinalReporterBundle(reporter.Name, reporter.Parameters)
if err != nil {
return nil, nil, fmt.Errorf("failed to create bundle for final reporter '%s': %v", reporter.Name, err)
}
finalReporterBundles = append(finalReporterBundles, bundle)
}
return runReporterBundles, finalReporterBundles, nil
}