changeset 111:204681404aa1

workaround archive path processing issue
author Evgeniy.Koshkin@unit-519.Labs.IntelliJ.Net
date Wed, 18 May 2016 18:56:33 +0300
parents 0d0a3c1aa428
children bb78121b3602 8d6bfbd57bd7
files agent/src/jetbrains/buildServer/symbols/ArtifactPathHelper.java
diffstat 1 files changed, 6 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/agent/src/jetbrains/buildServer/symbols/ArtifactPathHelper.java	Wed May 18 17:34:21 2016 +0300
+++ b/agent/src/jetbrains/buildServer/symbols/ArtifactPathHelper.java	Wed May 18 18:56:33 2016 +0300
@@ -10,8 +10,9 @@
  * Created by Evgeniy.Koshkin.
  */
 public class ArtifactPathHelper {
-    private static final String ARCHIVE_DELIMITER = "!";
-    private static final String FOLDER_DELIMITER = "/";
+    private static final String ARCHIVE_PATH_SEPARATOR = "!";
+    private static final String ARCHIVE_PATH_SEPARATOR_FULL = "!/";
+    private static final String FOLDER_SEPARATOR = "/";
 
     private final ExtensionHolder myExtensions;
 
@@ -21,8 +22,9 @@
 
     @NotNull
     String concatenateArtifactPath(String fileNamePrefix, String pdbFileName) {
-        final String delimiter = (isPathToArchive(fileNamePrefix) && !fileNamePrefix.contains(ARCHIVE_DELIMITER)) ? ARCHIVE_DELIMITER : FOLDER_DELIMITER;
-        return fileNamePrefix + delimiter + pdbFileName;
+      final String normilizedFileNamePrefix = fileNamePrefix.replace(ARCHIVE_PATH_SEPARATOR, ARCHIVE_PATH_SEPARATOR_FULL);
+      final String delimiter = (isPathToArchive(normilizedFileNamePrefix) && !normilizedFileNamePrefix.contains(ARCHIVE_PATH_SEPARATOR)) ? ARCHIVE_PATH_SEPARATOR_FULL : FOLDER_SEPARATOR;
+        return normilizedFileNamePrefix + delimiter + pdbFileName;
     }
 
     private boolean isPathToArchive(@NotNull final String path){