Refactor JavaBuilder exit code handling

PiperOrigin-RevId: 240250157
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 0f47826..66d2a6a 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
@@ -107,7 +107,7 @@
           err.write(d.getFormatted() + "\n");
         }
         err.write(result.output());
-        return result.isOk() ? 0 : 1;
+        return result.status().exitCode();
       }
     } catch (InvalidCommandLineException e) {
       err.println(CMDNAME + " threw exception: " + e.getMessage());
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 a135718..d651ca6 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
@@ -23,9 +23,20 @@
 public class BlazeJavacResult {
   /** The compilation result. */
   public enum Status {
-    OK,
-    ERROR,
-    REQUIRES_FALLBACK,
+    OK(0),
+    ERROR(1),
+    // TODO(djasper): this should be 0
+    REQUIRES_FALLBACK(1);
+
+    private final int exitCode;
+
+    private Status(int exitCode) {
+      this.exitCode = exitCode;
+    }
+
+    public int exitCode() {
+      return exitCode;
+    }
   }
 
   private final Status status;