diff options
author | 2015-06-09 13:06:40 +0000 | |
---|---|---|
committer | 2015-06-10 16:02:09 +0000 | |
commit | c820c70bdd527ac1f065c2fe4320dc06bbe9eaf5 (patch) | |
tree | 37491f2a055a67725385cf9335141f1be5bcb27d /src/java_tools/buildjar/java/com/google/devtools/build | |
parent | b7ce7a84484e877fab21e5e5f2fc1befb55a5384 (diff) |
Some small, random fixes for JavaBuilder that increase error reporting, fix JavaDoc strings, ...
I found having stack traces very helpful while I was debugging an issue where the JavaBuilder ran out of file handles and crashed, but only printed "Compilation failed: No more file handles" and didn't tell me which part of the code actually tried to open the file.
--
MOS_MIGRATED_REVID=95529141
Diffstat (limited to 'src/java_tools/buildjar/java/com/google/devtools/build')
4 files changed, 9 insertions, 7 deletions
diff --git a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/AbstractJavaBuilder.java b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/AbstractJavaBuilder.java index 1ba28bf0bc..766d1f55e7 100644 --- a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/AbstractJavaBuilder.java +++ b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/AbstractJavaBuilder.java @@ -13,7 +13,9 @@ // limitations under the License. package com.google.devtools.build.buildjar; + import com.google.common.annotations.VisibleForTesting; +import com.google.common.base.Throwables; import com.google.common.io.Files; import com.google.devtools.build.buildjar.javac.JavacRunner; import com.google.devtools.build.buildjar.javac.JavacRunnerImpl; @@ -85,9 +87,7 @@ public abstract class AbstractJavaBuilder extends AbstractLibraryBuilder { } catch (JavacException e) { message[0] = e.getMessage(); } catch (Exception e) { - // Some exceptions have a null message, yet the stack trace is useful - e.printStackTrace(); - message[0] = "java compilation threw exception: " + e.getMessage(); + message[0] = Throwables.getStackTraceAsString(e); } } }, 4L * 1024 * 1024); // 4MB stack diff --git a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/BazelJavaBuilder.java b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/BazelJavaBuilder.java index 0ba15cd4fd..63d3cac13c 100644 --- a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/BazelJavaBuilder.java +++ b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/BazelJavaBuilder.java @@ -102,8 +102,11 @@ public abstract class BazelJavaBuilder { ? new ReducedClasspathJavaLibraryBuilder() : new SimpleJavaLibraryBuilder(); builder.run(build, System.err); - } catch (IOException | InvalidCommandLineException e) { - System.err.println(CMDNAME + " threw exception : " + e.getMessage()); + } catch (InvalidCommandLineException e) { + System.err.println(CMDNAME + " threw exception: " + e.getMessage()); + return 1; + } catch (IOException e) { + e.printStackTrace(); return 1; } return 0; diff --git a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/JarCreator.java b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/JarCreator.java index ead7ceb3dc..a233358263 100644 --- a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/JarCreator.java +++ b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/JarCreator.java @@ -191,7 +191,6 @@ public class JarCreator extends JarHelper { createJar.execute(); } catch (IOException e) { e.printStackTrace(); - System.err.println(e.getMessage()); System.exit(1); } long stop = System.currentTimeMillis(); diff --git a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/BlazeJavacMain.java b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/BlazeJavacMain.java index eeb471c0bc..057c145a74 100644 --- a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/BlazeJavacMain.java +++ b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/BlazeJavacMain.java @@ -52,7 +52,7 @@ public class BlazeJavacMain { * Compose {@link com.sun.tools.javac.main.Main} and perform custom setup before deferring to * its compile() method. * - * Historically BlazeJavacMain extended javac's Main and overrode methods to get the desired + * <p>Historically BlazeJavacMain extended javac's Main and overrode methods to get the desired * custom behaviour. That approach created incompatibilities when upgrading to newer versions of * javac, so composition is preferred. */ |