in aws-codedeploy-server/src/main/java/jetbrains/buildServer/runner/codedeploy/CodeDeployDeploymentStatusProvider.java [41:101]
public void updateBuild(@NotNull SRunningBuild runningBuild, @Nullable String trackingInfo) {
final String deploymentId = getDeploymentInfo(runningBuild);
assert deploymentId != null;
final Map<String, String> runnerParameters = getParameters(runningBuild);
final Date finishDate = AWSCommonParams.withAWSClients(runnerParameters, clients -> {
final AWSClient awsClient = createAWSClient(clients.createS3Client(), clients.createCodeDeployClient(), runningBuild).withListener(new LoggingDeploymentListener(runnerParameters, StringUtil.EMPTY) {
private void log(@NotNull String message, @NotNull Status status) {
runningBuild.getBuildLog().message(message, status, attrs());
}
@Override
protected void log(@NotNull String message) {
log(message, Status.NORMAL);
}
@Override
protected void err(@NotNull String message) {
log(message, Status.ERROR);
}
@Override
protected void open(@NotNull String block) {
runningBuild.getBuildLog().openBlock(block, "", attrs());
}
@Override
protected void close(@NotNull String block) {
runningBuild.getBuildLog().closeBlock(block, "", new Date(), DEFAULT_FLOW_ID);
}
@Override
protected void progress(@NotNull String message) {
runningBuild.getBuildLog().progressMessage(message, null, DEFAULT_FLOW_ID);
}
@Override
protected void problem(int identity, @NotNull String type, @NotNull String descr) {
runningBuild.addBuildProblem(BuildProblemData.createBuildProblem(String.valueOf(identity), type, descr));
}
@Override
protected void parameter(@NotNull String name, @NotNull String value) {
((RunningBuildEx) runningBuild).getBuildPromotion().setCustomParameters(Collections.singletonMap(name, value));
}
@Override
protected void statusText(@NotNull String text) {
((RunningBuildEx) runningBuild).setCustomStatusText(text);
}
});
try {
return IOGuard.allowNetworkCall(() -> awsClient.checkDeploymentStatus(deploymentId, runningBuild.getFinishOnAgentDate()));
} catch (Exception e) {
throw new RuntimeException(e);
}
});
if (finishDate == null) return;
runningBuild.finish(finishDate);
}