From 696fd0fd4c666890ca7c80f1f6711c9427e285b4 Mon Sep 17 00:00:00 2001 From: Sergey Ignatov Date: Thu, 2 Jun 2016 15:33:23 +0300 Subject: [PATCH] use Windows file separator in SetOutPath in idea_win.nsh should be like SetOutPath $INSTDIR\plugins\android\lib\templates\other\Daydream File "/opt/buildAgent/work/c2d8dfcc72679944/out/release/dist.all.ce/plugins/android/lib/templates/other/Daydream/globals.xml.ftl" File "/opt/buildAgent/work/c2d8dfcc72679944/out/release/dist.all.ce/plugins/android/lib/templates/other/Daydream/recipe.xml.ftl" File "/opt/buildAgent/work/c2d8dfcc72679944/out/release/dist.all.ce/plugins/android/lib/templates/other/Daydream/template.xml" --- build/lib/NsiFiles.jar | Bin 4164 -> 4330 bytes .../internalUtilities/ant/NsiFiles.java | 15 ++++++++++----- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/build/lib/NsiFiles.jar b/build/lib/NsiFiles.jar index 73c5be11109c9306736a144dd08b43202fccd95a..7961bfb64319ae91560ffc64d5b528c54064f1ce 100644 GIT binary patch delta 3731 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 delta 3564 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 diff --git a/build/src/com/intellij/internalUtilities/ant/NsiFiles.java b/build/src/com/intellij/internalUtilities/ant/NsiFiles.java index 153bc9cae79b..5420ffd3e128 100644 --- a/build/src/com/intellij/internalUtilities/ant/NsiFiles.java +++ b/build/src/com/intellij/internalUtilities/ant/NsiFiles.java @@ -25,6 +25,7 @@ import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.util.*; +import java.util.regex.Matcher; /** * Ant task to facilitate building NSIS installer. @@ -118,10 +119,10 @@ public class NsiFiles extends MatchingTask { for (String file : allFiles) { uninstWriter.newLine(); final String relPath = myAbsoluteToRelative.get(file); - uninstWriter.write("Delete \"$INSTDIR\\" + relPath + "\""); + uninstWriter.write("Delete \"$INSTDIR\\" + toWinPath(relPath) + "\""); if (relPath.endsWith(".py")) { uninstWriter.newLine(); - uninstWriter.write("Delete \"$INSTDIR\\" + relPath + "c\""); // .pyc + uninstWriter.write("Delete \"$INSTDIR\\" + toWinPath(relPath) + "c\""); // .pyc } } @@ -132,9 +133,9 @@ public class NsiFiles extends MatchingTask { final String dir = dirs.get(i); if (dir.length() == 0) continue; uninstWriter.newLine(); - uninstWriter.write("RmDir /r \"$INSTDIR\\" + dir + "\\__pycache__\""); + uninstWriter.write("RmDir /r \"$INSTDIR\\" + toWinPath(dir) + "\\__pycache__\""); uninstWriter.newLine(); - uninstWriter.write("RmDir \"$INSTDIR\\" + dir + "\""); + uninstWriter.write("RmDir \"$INSTDIR\\" + toWinPath(dir) + "\""); } uninstWriter.newLine(); uninstWriter.write("RmDir \"$INSTDIR\""); @@ -154,7 +155,7 @@ public class NsiFiles extends MatchingTask { instWriter.newLine(); instWriter.newLine(); if (dir.length() > 0) { - instWriter.write("SetOutPath $INSTDIR\\" + dir); + instWriter.write("SetOutPath $INSTDIR" + "\\" + toWinPath(dir)); } else { instWriter.write("SetOutPath $INSTDIR"); @@ -171,6 +172,10 @@ public class NsiFiles extends MatchingTask { } } + private static String toWinPath(String dir) { + return File.separatorChar == '\\' ? dir : dir.replaceAll(File.separator, Matcher.quoteReplacement("\\")); + } + private void processFileSet(final FileSet fileSet) throws IOException { final DirectoryScanner scanner = fileSet.getDirectoryScanner(getProject()); final String[] files = scanner.getIncludedFiles();