DynamicBuild.this.setResult(r);
}
@Override
protected Result doRun(BuildListener listener) throws Exception, hudson.model.Run.RunnerAbortedException {
BuildEnvironment buildEnvironment = new BuildEnvironment(DynamicBuild.this, launcher, listener);
try {
if (!buildEnvironment.initialize()) {
return Result.FAILURE;
}
setDescription(getCause().getBuildDescription());
BuildType buildType = BuildType.getBuildType(getParent());
Result buildRunResult = buildType.runBuild(DynamicBuild.this, this, launcher, listener);
setResult(buildRunResult);
return buildRunResult;
} catch (InvalidBuildConfigurationException invalidBuildConfigurationException) {
for (String error : invalidBuildConfigurationException.getValidationErrors()) {
listener.error(error);
}
return Result.FAILURE;
}catch (InterruptedException e) {
Executor x = Executor.currentExecutor();
x.recordCauseOfInterruption(DynamicBuild.this, listener);
return x.abortResult();
}catch (Exception e) {
PrintStream logger = listener.getLogger();
logger.println(e.getMessage());
logger.println(ExceptionUtils.getStackTrace(e));
Executor x = Executor.currentExecutor();
x.recordCauseOfInterruption(DynamicBuild.this, listener);
x.doStop();
return Result.FAILURE;
} finally {
if (buildEnvironment.tearDownBuildEnvironments(listener)) {
return Result.FAILURE;
}
}
}