public void beforeBuildFinish()

in aws-codebuild-agent/src/main/java/jetbrains/buildServer/aws/codebuild/CodeBuildRunner.java [241:273]


  public void beforeBuildFinish(@NotNull AgentRunningBuild build, @NotNull BuildFinishedStatus buildStatus) {
    super.beforeBuildFinish(build, buildStatus);

    for (CodeBuildBuildContext c : myCodeBuildBuilds) {
      startContext(c, build);
    }

    while (!myCodeBuildBuilds.isEmpty()) {
      for (CodeBuildBuildContext next : new ArrayList<CodeBuildBuildContext>(myCodeBuildBuilds)) {
        final boolean buildInterrupted = build.getInterruptReason() != null;
        boolean finished = false;
        try {
          finished = buildInterrupted || finished(next, build);
          if (buildInterrupted) {
            interrupt(next, build);
          }
        } finally {
          if (finished) {
            myCodeBuildBuilds.remove(next);
            log(build, getBlockEnd(next));
          }
        }
      }
      if (build.getInterruptReason() == null) {
        try {
          Thread.sleep(CodeBuildConstants.POLL_INTERVAL);
        } catch (InterruptedException e) {
          break;
        }
      }
    }
    myCodeBuildBuilds.clear();
  }