Browse Source

Now catching the ExitException that can arise from

running ANTLR in non-forked mode. It implies that
the System Manager is overriden and trap System.exit()
calls to throw an ExitException instead.


git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@270149 13f79535-47bb-0310-9956-ffa450edef68
master
Stephane Bailliez 23 years ago
parent
commit
c375195b52
1 changed files with 8 additions and 1 deletions
  1. +8
    -1
      src/main/org/apache/tools/ant/taskdefs/optional/ANTLR.java

+ 8
- 1
src/main/org/apache/tools/ant/taskdefs/optional/ANTLR.java View File

@@ -63,6 +63,7 @@ import java.net.URL;
import org.apache.tools.ant.Task;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.ExitException;
import org.apache.tools.ant.taskdefs.Execute;
import org.apache.tools.ant.taskdefs.LogStreamHandler;
import org.apache.tools.ant.taskdefs.ExecuteJava;
@@ -196,7 +197,13 @@ public class ANTLR extends Task {
ExecuteJava exe = new ExecuteJava();
exe.setJavaCommand(commandline.getJavaCommand());
exe.setClasspath(commandline.getClasspath());
exe.execute(project);
try {
exe.execute(project);
} catch (ExitException e){
if ( e.getStatus() != 0 ){
throw new BuildException("ANTLR returned: " + e.getStatus(), location);
}
}
}
}
}


Loading…
Cancel
Save