private int run(String[] command) throws BuildException { Execute exe = new Execute(new LogStreamHandler(this, Project.MSG_INFO, Project.MSG_WARN), null); exe.setAntRun(project); exe.setWorkingDirectory(dir); exe.setCommandline(command); try { return exe.execute(); } catch (IOException e) { throw new BuildException(e, location); } }
public void execute() throws BuildException { validateAttributes(); // TODO: use ANTLR to parse the grammer file to do this. if (target.lastModified() > getGeneratedFile().lastModified()) { commandline.createArgument().setValue("-o"); commandline.createArgument().setValue(outputDirectory.toString()); commandline.createArgument().setValue(target.toString()); if (fork) { log("Forking " + commandline.toString(), Project.MSG_VERBOSE); int err = run(commandline.getCommandline()); if (err == 1) { throw new BuildException("ANTLR returned: " + err, location); } } else { Execute.runCommand(this, commandline.getCommandline()); } } }