--- a/langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/Main.java Tue Oct 11 00:28:49 2016 +0900
+++ b/langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/Main.java Mon Oct 10 06:47:47 2016 -0700
@@ -60,7 +60,7 @@
*/
public static int execute(String... args) {
Start jdoc = new Start();
- return jdoc.begin(args);
+ return jdoc.begin(args).exitCode;
}
/**
@@ -72,7 +72,7 @@
*/
public static int execute(String[] args, PrintWriter writer) {
Start jdoc = new Start(writer, writer);
- return jdoc.begin(args);
+ return jdoc.begin(args).exitCode;
}
/**
@@ -85,6 +85,36 @@
*/
public static int execute(String[] args, PrintWriter outWriter, PrintWriter errWriter) {
Start jdoc = new Start(outWriter, errWriter);
- return jdoc.begin(args);
+ return jdoc.begin(args).exitCode;
+ }
+
+ public static enum Result {
+ /** completed with no errors */
+ OK(0),
+ /** Completed with reported errors */
+ ERROR(1),
+ /** Bad command-line arguments */
+ CMDERR(2),
+ /** System error or resource exhaustion */
+ SYSERR(3),
+ /** Terminated abnormally */
+ ABNORMAL(4);
+
+ private static final long serialVersionUID = 1L;
+
+ Result(int exitCode) {
+ this.exitCode = exitCode;
+ }
+
+ public boolean isOK() {
+ return (exitCode == 0);
+ }
+
+ public final int exitCode;
+
+ @Override
+ public String toString() {
+ return name() + '(' + exitCode + ')';
+ }
}
}