private void processBinaryArtifacts()

in teamcity-symbol-agent/src/main/java/jetbrains/buildServer/symbols/SymbolsIndexer.java [270:293]


  private void processBinaryArtifacts(@NotNull List<ArtifactsCollection> artifacts, String fileExtension) {
    final Map<File, String> binaryFiles = getArtifactPathsByFileExtension(artifacts, fileExtension);
    for (File binaryFile : binaryFiles.keySet()){
      if(myBinaryFileToArtifactMap.containsKey(binaryFile)){
        LOG.debug(String.format("File %s already processed. Skipped.", binaryFile.getAbsolutePath()));
        continue;
      }
      final String blockName = "Binary file";
      myProgressLogger.message("Indexing binary file " + binaryFile.getAbsolutePath());
      try {
        myProgressLogger.logMessage(DefaultMessagesInfo.createBlockStart(blockName, "symbol-server"));
        final String artifactPath = myArtifactPathHelper.concatenateArtifactPath(binaryFiles.get(binaryFile), binaryFile.getName());
        final PdbSignatureIndexEntry signatureIndexEntry = getBinarySignature(binaryFile);
        myBinaryFileToArtifactMap.put(binaryFile, artifactPath);
        myBinaryFileSignatures.add(signatureIndexEntry);
      } catch (Throwable e) {
        LOG.error("Error occurred while processing binary file " + binaryFile, e);
        myProgressLogger.error("Error occurred while processing binary file " + binaryFile);
        myProgressLogger.exception(e);
      } finally {
        myProgressLogger.logMessage(DefaultMessagesInfo.createBlockEnd(blockName, "symbol-server"));
      }
    }
  }