From adf454ecf2c7dd68020ba9ec70735feae1df2220 Mon Sep 17 00:00:00 2001 From: Eugene Zhuravlev Date: Sun, 10 Feb 2013 16:26:35 +0100 Subject: [PATCH] external build: avoiding exceptions when creating URI objects --- .../jps/javac/OptimizedFileManager.java | 8 ++++---- .../jps/javac/OptimizedFileManager17.java | 8 +++++++- jps/lib/optimizedFileManager.jar | Bin 19850 -> 20328 bytes 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/jps/jps-builders/src/org/jetbrains/jps/javac/OptimizedFileManager.java b/jps/jps-builders/src/org/jetbrains/jps/javac/OptimizedFileManager.java index 89c7be1cda83..0004f5736c3a 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/javac/OptimizedFileManager.java +++ b/jps/jps-builders/src/org/jetbrains/jps/javac/OptimizedFileManager.java @@ -19,6 +19,7 @@ import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.util.text.StringUtil; import com.sun.tools.javac.util.*; import com.sun.tools.javac.util.List; +import org.jetbrains.jps.incremental.Utils; import javax.lang.model.SourceVersion; import javax.tools.*; @@ -26,7 +27,6 @@ import java.io.*; import java.lang.ref.SoftReference; import java.lang.reflect.Field; import java.net.URI; -import java.net.URISyntaxException; import java.nio.ByteBuffer; import java.nio.CharBuffer; import java.nio.charset.*; @@ -418,10 +418,10 @@ class OptimizedFileManager extends DefaultFileManager { public URI toUri() { try { - return new URI(f.getPath()); + return Utils.toURI(f.getPath()); } - catch (URISyntaxException ex) { - return f.toURI(); + catch (Throwable ex) { + return f.toURI().normalize(); } } } diff --git a/jps/jps-builders/src/org/jetbrains/jps/javac/OptimizedFileManager17.java b/jps/jps-builders/src/org/jetbrains/jps/javac/OptimizedFileManager17.java index 80f06fd182c0..2d96145a20c9 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/javac/OptimizedFileManager17.java +++ b/jps/jps-builders/src/org/jetbrains/jps/javac/OptimizedFileManager17.java @@ -21,6 +21,7 @@ import com.sun.tools.javac.file.RelativePath; import com.sun.tools.javac.util.Context; import com.sun.tools.javac.util.List; import com.sun.tools.javac.util.ListBuffer; +import org.jetbrains.jps.incremental.Utils; import javax.lang.model.SourceVersion; import javax.tools.*; @@ -229,7 +230,12 @@ class OptimizedFileManager17 extends com.sun.tools.javac.file.JavacFileManager { @Override public URI toUri() { - return file.toURI().normalize(); + try { + return Utils.toURI(file.getPath()); + } + catch (Throwable e) { + return file.toURI().normalize(); // fallback + } } @Override diff --git a/jps/lib/optimizedFileManager.jar b/jps/lib/optimizedFileManager.jar index d744fd8cff843ee6965eeeb8d75f2a0712f13916..cc5355bc32a6fb93315cf3ae3a1d704d36585d95 100644 GIT binary patch literal 20328 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 sNQm-eUo`Wrgnu-H9Aq8}dlo$e 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