public ExtendedRuntime(ResourceLoader resourceLoaderValue,
ClassLoader classLoaderValue, Collection<? extends Backend> backendsValue,
RuntimeOptions runtimeOptionsValue, StopWatch stopWatchValue,
RuntimeGlue optionalGlueValue) {
super(resourceLoaderValue, classLoaderValue, backendsValue, runtimeOptionsValue, stopWatchValue,
optionalGlueValue);
if (backendsValue.isEmpty()) {
throw new CucumberException(
"No backends were found. Please make sure you have a backend module on your CLASSPATH.");
}
this.classLoader = classLoaderValue;
this.backends = backendsValue;
this.runtimeOptions = runtimeOptionsValue;
this.stopWatch = stopWatchValue;
if (optionalGlueValue != null) {
this.glue = optionalGlueValue;
} else {
this.glue = new RuntimeGlue(
undefinedStepsTracker, new LocalizedXStreams(classLoaderValue));
}
this.stats = new Stats(runtimeOptionsValue.isMonochrome());
for (Backend backend : backends) {
backend.loadGlue(glue, runtimeOptions.getGlue());
backend.setUnreportedStepExecutor(this);
}
}