aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/java_tools/buildjar/java/com/google/devtools/build/buildjar/ReducedClasspathJavaLibraryBuilder.java9
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();
}
}