aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Googler <noreply@google.com>2017-01-21 02:58:45 +0000
committerGravatar Laszlo Csomor <laszlocsomor@google.com>2017-01-23 09:53:16 +0000
commit35184c01f2a54a0e7c3af99e8853036150973c78 (patch)
treedef771151d75a2460f549e792cc17e34d19c0b8a
parent2248cd8fa5e352e26148871aef9c5d0a2f2868ca (diff)
Description redacted.
-- PiperOrigin-RevId: 145152574 MOS_MIGRATED_REVID=145152574
-rw-r--r--src/java_tools/buildjar/java/com/google/devtools/build/buildjar/BazelJavaBuilder.java2
-rw-r--r--src/java_tools/buildjar/java/com/google/devtools/build/buildjar/ReducedClasspathJavaLibraryBuilder.java2
-rw-r--r--src/java_tools/buildjar/java/com/google/devtools/build/buildjar/SimpleJavaLibraryBuilder.java6
-rw-r--r--src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/BlazeJavacMain.java14
-rw-r--r--src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/BlazeJavacResult.java15
5 files changed, 22 insertions, 17 deletions
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 ade5424b63..0fb8456212 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
@@ -92,7 +92,7 @@ public abstract class BazelJavaBuilder {
err.write(d.getFormatted());
}
err.write(result.output());
- return result.isOk() ? 0 : 1;
+ return result.javacResult().exitCode;
}
} catch (InvalidCommandLineException e) {
err.println(CMDNAME + " threw exception: " + e.getMessage());
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 9e2a6652f9..8bcf586f78 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
@@ -73,7 +73,7 @@ public class ReducedClasspathJavaLibraryBuilder extends SimpleJavaLibraryBuilder
}
private static boolean shouldFallBack(BlazeJavacResult result) {
- if (result.isOk()) {
+ if (result.javacResult().isOK()) {
return false;
}
for (FormattedDiagnostic diagnostic : result.diagnostics()) {
diff --git a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/SimpleJavaLibraryBuilder.java b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/SimpleJavaLibraryBuilder.java
index eb03a9bae7..858c884b3e 100644
--- a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/SimpleJavaLibraryBuilder.java
+++ b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/SimpleJavaLibraryBuilder.java
@@ -176,7 +176,7 @@ public class SimpleJavaLibraryBuilder implements Closeable {
BlazeJavacResult result = BlazeJavacResult.error("");
try {
result = compileJavaLibrary(build);
- if (result.isOk()) {
+ if (result.javacResult().isOK()) {
buildJar(build);
}
if (!build.getProcessors().isEmpty()) {
@@ -185,7 +185,9 @@ public class SimpleJavaLibraryBuilder implements Closeable {
}
}
} finally {
- build.getDependencyModule().emitDependencyInformation(build.getClassPath(), result.isOk());
+ build
+ .getDependencyModule()
+ .emitDependencyInformation(build.getClassPath(), result.javacResult().isOK());
build.getProcessingModule().emitManifestProto();
}
return result;
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 6666e08c24..f00f9f6953 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
@@ -25,9 +25,11 @@ import com.google.devtools.build.buildjar.javac.FormattedDiagnostic.Listener;
import com.google.devtools.build.buildjar.javac.plugins.BlazeJavaCompilerPlugin;
import com.sun.source.util.JavacTask;
import com.sun.tools.javac.api.ClientCodeWrapper.Trusted;
+import com.sun.tools.javac.api.JavacTaskImpl;
import com.sun.tools.javac.api.JavacTool;
import com.sun.tools.javac.file.JavacFileManager;
import com.sun.tools.javac.main.JavaCompiler;
+import com.sun.tools.javac.main.Main.Result;
import com.sun.tools.javac.util.Context;
import com.sun.tools.javac.util.PropagatedException;
import java.io.IOError;
@@ -75,7 +77,7 @@ public class BlazeJavacMain {
Context context = new Context();
setupBlazeJavaCompiler(arguments.plugins(), context);
- boolean ok = false;
+ Result result = Result.ABNORMAL;
StringWriter errOutput = new StringWriter();
// TODO(cushon): where is this used when a diagnostic listener is registered? Consider removing
// it and handling exceptions directly in callers.
@@ -101,16 +103,16 @@ public class BlazeJavacMain {
setLocations(fileManager, arguments);
try {
try {
- ok = task.call();
+ result = ((JavacTaskImpl) task).doCall();
} catch (PropagatedException e) {
throw e.getCause();
}
} catch (Throwable t) {
t.printStackTrace(errWriter);
- ok = false;
+ result = Result.ABNORMAL;
} finally {
compiler = (BlazeJavaCompiler) JavaCompiler.instance(context);
- if (ok) {
+ if (result.isOK()) {
// There could be situations where we incorrectly skip Error Prone and the compilation
// ends up succeeding, e.g., if there are errors that are fixed by subsequent round of
// annotation processing. This check ensures that if there were any flow events at all,
@@ -118,13 +120,13 @@ public class BlazeJavacMain {
// or empty source files.
if (compiler.skippedFlowEvents() > 0 && compiler.flowEvents() == 0) {
errWriter.println("Expected at least one FLOW event");
- ok = false;
+ result = Result.ABNORMAL;
}
}
}
errWriter.flush();
return new BlazeJavacResult(
- ok, filterDiagnostics(diagnostics.build()), errOutput.toString(), compiler);
+ result, filterDiagnostics(diagnostics.build()), errOutput.toString(), compiler);
}
private static final ImmutableSet<String> IGNORED_DIAGNOSTIC_CODES =
diff --git a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/BlazeJavacResult.java b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/BlazeJavacResult.java
index 6f8e90aee8..61702ffa09 100644
--- a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/BlazeJavacResult.java
+++ b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/BlazeJavacResult.java
@@ -16,36 +16,37 @@ package com.google.devtools.build.buildjar.javac;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.collect.ImmutableList;
+import com.sun.tools.javac.main.Main.Result;
/** The result of a single compilation performed by {@link BlazeJavacMain}. */
public class BlazeJavacResult {
- private final boolean ok;
+ private final Result javacResult;
private final ImmutableList<FormattedDiagnostic> diagnostics;
private final String output;
private final BlazeJavaCompiler compiler;
public static BlazeJavacResult ok() {
- return new BlazeJavacResult(true, ImmutableList.of(), "", null);
+ return new BlazeJavacResult(Result.OK, ImmutableList.of(), "", null);
}
public static BlazeJavacResult error(String message) {
- return new BlazeJavacResult(false, ImmutableList.of(), message, null);
+ return new BlazeJavacResult(Result.ERROR, ImmutableList.of(), message, null);
}
public BlazeJavacResult(
- boolean ok,
+ Result javacResult,
ImmutableList<FormattedDiagnostic> diagnostics,
String output,
BlazeJavaCompiler compiler) {
- this.ok = ok;
+ this.javacResult = javacResult;
this.diagnostics = diagnostics;
this.output = output;
this.compiler = compiler;
}
- public boolean isOk() {
- return ok;
+ public Result javacResult() {
+ return javacResult;
}
public ImmutableList<FormattedDiagnostic> diagnostics() {