private void finishProcessing()

in agent/src/jetbrains/buildServer/xmlReportPlugin/XmlReportPlugin.java [240:271]


  private void finishProcessing(@NotNull final ProcessingContext processingContext, boolean fullFinish) {
    Thread monitor = processingContext.monitorThread;
    if (!isStarted(monitor) && isRulesEmpty(processingContext)) return;
    if (!isStarted(monitor)) {
      // process all rules even if we do not have build steps
      processAllRules(processingContext);
    }

    processingContext.finished = true;
    try {
      monitor = processingContext.monitorThread;
      processingContext.monitorThread = null;
      if (isStarted(monitor)) {
        monitor.join();
      }


      for (RulesContext rulesContext : processingContext.rulesContexts) {
        rulesContext.waitRuntimeParsing();
        rulesContext.clearRuntimeParseTasks();

        final MonitorRulesCommand monitorRules = rulesContext.getMonitorRulesCommand();
        if (monitorRules != null) monitorRules.run();
        if (fullFinish) rulesContext.finish();
        else rulesContext.waitRuntimeParsing();

        if (fullFinish && !myQuietMode) logStatistics(rulesContext);
      }
    } catch (Exception e) {
      LoggingUtils.logError("Exception occurred while finishing rules monitoring", e, getBuild().getBuildLogger(), false);
    }
  }