List of usage examples for org.eclipse.jgit.pgm TextBuiltin execute
public final void execute(String[] args) throws Exception
From source file:kr.re.ec.grigit.util.PgmMain.java
License:Eclipse Distribution License
private void execute(final String[] argv) throws Exception { /*/* www. jav a 2 s .c o m*/ if (version) { String cmdId = Version.class.getSimpleName().toLowerCase(); subcommand = CommandCatalog.get(cmdId).create(); } if (cmd.requiresRepository()) cmd.init(openGitDir(gitdir), null); else cmd.init(null, gitdir); try { cmd.execute(arguments.toArray(new String[arguments.size()])); } finally { if (cmd.outw != null) cmd.outw.flush(); if (cmd.errw != null) cmd.errw.flush(); } */ final CmdLineParser clp = new CmdLineParser(this); PrintWriter writer = new PrintWriter(System.err); try { clp.parseArgument(argv); } catch (CmdLineException err) { if (argv.length > 0 && !help && !version) { // cmd.errw.println(MessageFormat.format(CLIText.get().fatalError, err.getMessage())); writer.println(MessageFormat.format(CLIText.get().fatalError, err.getMessage())); writer.flush(); // System.exit(1); } } if (argv.length == 0 || help) { final String ex = clp.printExample(ExampleMode.ALL, CLIText.get().resourceBundle()); // cmd.outw.println("jgit" + ex + " command [ARG ...]"); writer.println("jgit" + ex + " command [ARG ...]"); //$NON-NLS-1$ if (help) { // cmd.outw.println(); writer.println(); clp.printUsage(writer, CLIText.get().resourceBundle()); // cmd.outw.println(); writer.println(); } else if (subcommand == null) { writer.println(); // cmd.outw.println(); writer.println(CLIText.get().mostCommonlyUsedCommandsAre); // cmd.outw.println(CLIText.get().mostCommonlyUsedCommandsAre); final CommandRef[] common = CommandCatalog.common(); int width = 0; for (final CommandRef c : common) width = Math.max(width, c.getName().length()); width += 2; for (final CommandRef c : common) { writer.print(' '); writer.print(c.getName()); for (int i = c.getName().length(); i < width; i++) writer.print(' '); writer.print(CLIText.get().resourceBundle().getString(c.getUsage())); writer.println(); // cmd.outw.print(' '); // cmd.outw.print(c.getName()); // for (int i = c.getName().length(); i < width; i++) // cmd.outw.print(' '); // cmd.outw.print(CLIText.get().resourceBundle().getString(c.getUsage())); // cmd.outw.println(); } writer.println(); // cmd.outw.println(); } writer.flush(); // cmd.outw.flush(); // System.exit(1); } if (version) { String cmdId = Version.class.getSimpleName().toLowerCase(); subcommand = CommandCatalog.get(cmdId).create(); } final TextBuiltin cmd = subcommand; if (cmd.requiresRepository()) cmd.init(openGitDir(gitdir), null); else cmd.init(null, gitdir); try { cmd.execute(arguments.toArray(new String[arguments.size()])); } finally { if (cmd.outw != null) cmd.outw.flush(); if (cmd.errw != null) cmd.errw.flush(); } }
From source file:org.apache.sshd.git.pgm.EmbeddedCommandRunner.java
License:Apache License
/** * Execute a command.//from w ww . java 2s . co m * * @param argv * the command and its arguments * @param in * the input stream, may be null in which case the system input stream will be used * @param out * the output stream, may be null in which case the system output stream will be used * @param err * the error stream, may be null in which case the system error stream will be used * @throws Exception * if an error occurs */ public void execute(final String[] argv, InputStream in, OutputStream out, OutputStream err) throws Exception { final CmdLineParser clp = new CmdLineParser(this); PrintWriter writer = new PrintWriter(err != null ? err : System.err); try { clp.parseArgument(argv); } catch (CmdLineException e) { if (argv.length > 0 && !help) { writer.println(MessageFormat.format(CLIText.get().fatalError, e.getMessage())); writer.flush(); throw new Die(true); } } if (argv.length == 0 || help) { final String ex = clp.printExample(ExampleMode.ALL, CLIText.get().resourceBundle()); writer.println("jgit" + ex + " command [ARG ...]"); //$NON-NLS-1$ if (help) { writer.println(); clp.printUsage(writer, CLIText.get().resourceBundle()); writer.println(); } else if (subcommand == null) { writer.println(); writer.println(CLIText.get().mostCommonlyUsedCommandsAre); final CommandRef[] common = CommandCatalog.common(); int width = 0; for (final CommandRef c : common) { width = Math.max(width, c.getName().length()); } width += 2; for (final CommandRef c : common) { writer.print(' '); writer.print(c.getName()); for (int i = c.getName().length(); i < width; i++) { writer.print(' '); } writer.print(CLIText.get().resourceBundle().getString(c.getUsage())); writer.println(); } writer.println(); } writer.flush(); throw new Die(true); } gitdir = new File(rootDir, gitdir).getPath(); final TextBuiltin cmd = subcommand; // cmd.ins = in; // cmd.outs = out; // cmd.errs = err; // if (cmd.requiresRepository()) // cmd.init(openGitDir(gitdir), null); // else // cmd.init(null, gitdir); // try { // cmd.execute(arguments.toArray(new String[arguments.size()])); // } finally { // if (cmd.outw != null) // cmd.outw.flush(); // if (cmd.errw != null) // cmd.errw.flush(); // } set(cmd, "ins", in); set(cmd, "outs", out); set(cmd, "errs", err); Boolean success = (Boolean) call(cmd, "requiresRepository"); if (success) { call(cmd, "init", new Class[] { Repository.class, String.class }, new Object[] { openGitDir(gitdir), gitdir }); } else { call(cmd, "init", new Class[] { Repository.class, String.class }, new Object[] { null, gitdir }); } try { cmd.execute(arguments.toArray(new String[arguments.size()])); } finally { if (get(cmd, "outw") != null) { ((ThrowingPrintWriter) get(cmd, "outw")).flush(); } if (get(cmd, "errw") != null) { ((ThrowingPrintWriter) get(cmd, "errw")).flush(); } } }