diff options
5 files changed, 13 insertions, 14 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. */ diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompileAction.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompileAction.java index 505aae862f..6b9fcbb9a8 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompileAction.java +++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompileAction.java @@ -378,7 +378,7 @@ public class JavaCompileAction extends AbstractAction { } }; - executor.getSpawnActionContext(getMnemonic()).exec(spawn, actionExecutionContext); + getContext(executor).exec(spawn, actionExecutionContext); } catch (ExecException e) { throw e.toActionExecutionException("Java compilation in rule '" + getOwner().getLabel() + "'", executor.getVerboseFailures(), this); @@ -422,8 +422,7 @@ public class JavaCompileAction extends AbstractAction { @Override public ResourceSet estimateResourceConsumption(Executor executor) { - SpawnActionContext context = getContext(executor); - if (context.isRemotable(getMnemonic(), true)) { + if (getContext(executor).isRemotable(getMnemonic(), true)) { return ResourceSet.ZERO; } return LOCAL_RESOURCES; @@ -677,9 +676,8 @@ public class JavaCompileAction extends AbstractAction { /** * Gets the name of the target that produced the given jar artifact. * - * When specifying jars directly in the "srcs" attribute of a rule (mostly - * for third_party libraries), there is no generating action, so we just - * return the jar name in label form. + * <p>When specifying jars directly in the "srcs" attribute of a rule (mostly for third_party + * libraries), there is no generating action, so we just return the jar name in label form. */ private static Label getTargetName(Artifact jar) { return Preconditions.checkNotNull(jar.getOwner(), jar); @@ -909,7 +907,6 @@ public class JavaCompileAction extends AbstractAction { directJars, strictJavaDeps, compileTimeDependencyArtifacts, - semantics); } |