diff options
Diffstat (limited to 'src/java_tools/buildjar/java/com')
-rw-r--r-- | src/java_tools/buildjar/java/com/google/devtools/build/buildjar/ReducedClasspathJavaLibraryBuilder.java | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/ReducedClasspathJavaLibraryBuilder.java b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/ReducedClasspathJavaLibraryBuilder.java index ebc1f0f006..1ff9886add 100644 --- a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/ReducedClasspathJavaLibraryBuilder.java +++ b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/ReducedClasspathJavaLibraryBuilder.java @@ -21,6 +21,7 @@ import com.sun.tools.javac.main.Main.Result; import java.io.IOException; import java.io.PrintWriter; import java.io.StringWriter; +import java.util.regex.Pattern; /** * A variant of SimpleJavaLibraryBuilder that attempts to reduce the compile-time classpath right @@ -76,10 +77,14 @@ public class ReducedClasspathJavaLibraryBuilder extends SimpleJavaLibraryBuilder } return result; } - + + private static final Pattern MISSING_PACKAGE = + Pattern.compile("error: package ([\\p{javaJavaIdentifierPart}\\.]+) does not exist"); + private boolean hasRecognizedError(String javacOutput) { return javacOutput.contains("error: cannot access") || javacOutput.contains("error: cannot find symbol") - || javacOutput.contains("com.sun.tools.javac.code.Symbol$CompletionFailure"); + || javacOutput.contains("com.sun.tools.javac.code.Symbol$CompletionFailure") + || MISSING_PACKAGE.matcher(javacOutput).find(); } } |