do not convert spaces for local paths
authorEugene Zhuravlev <jeka@intellij.com>
Wed, 1 Feb 2012 20:13:26 +0000 (21:13 +0100)
committerEugene Zhuravlev <jeka@intellij.com>
Wed, 1 Feb 2012 20:16:49 +0000 (21:16 +0100)
jps/jps-builders/src/org/jetbrains/jps/incremental/Paths.java
jps/jps-builders/src/org/jetbrains/jps/javac/JavacFileManager.java

index 17cd1cea16d928b7ea2dc7f013511c0136698b15..893377d034c61259a8823f9b6f41011b67385f45 100644 (file)
@@ -38,6 +38,10 @@ public class Paths {
   }
 
   public static URI toURI(String localPath) {
+    return toURI(localPath, true);
+  }
+
+  private static URI toURI(String localPath, boolean convertSpaces) {
     try {
       String p = FileUtil.toSystemIndependentName(localPath);
       if (!p.startsWith("/")) {
@@ -46,7 +50,7 @@ public class Paths {
       if (p.startsWith("//")) {
         p = "//" + p;
       }
-      return new URI("file", null, p.replaceAll(" ", "%20"), null);
+      return new URI("file", null, convertSpaces? p.replaceAll(" ", "%20") : p, null);
     }
     catch (URISyntaxException e) {
       throw new Error(e);
@@ -54,6 +58,6 @@ public class Paths {
   }
 
   public static File convertToFile(final URI uri) {
-    return new File(toURI(uri.getPath()));
+    return new File(toURI(uri.getPath(), false));
   }
 }
index 531159e48660bb25bf1d4a28e9321315090e7e99..a7aac0fce6dc9a1f3041e808e001f292696c8f7e 100644 (file)
@@ -135,7 +135,7 @@ class JavacFileManager extends ForwardingJavaFileManager<StandardJavaFileManager
   }
 
   private File findOutputDir(File src) {
-    File file = src.getParentFile();
+    File file = FileUtil.getParentFile(src);
     while (file != null) {
       for (Map.Entry<File, Set<File>> entry : myOutputsMap.entrySet()) {
         if (entry.getValue().contains(file)) {