From ant-dev-return-22379-qmlist-jakarta-archive-ant-dev=jakarta.apache.org@jakarta.apache.org Sun Jan 06 01:43:47 2002 Return-Path: Delivered-To: apmail-jakarta-ant-dev-archive@apache.org Received: (qmail 2500 invoked from network); 6 Jan 2002 01:43:46 -0000 Received: from unknown (HELO nagoya.betaversion.org) (192.18.49.131) by daedalus.apache.org with SMTP; 6 Jan 2002 01:43:46 -0000 Received: (qmail 3681 invoked by uid 97); 6 Jan 2002 01:43:51 -0000 Delivered-To: qmlist-jakarta-archive-ant-dev@jakarta.apache.org Received: (qmail 3665 invoked by uid 97); 6 Jan 2002 01:43:51 -0000 Mailing-List: contact ant-dev-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Ant Developers List" Reply-To: "Ant Developers List" Delivered-To: mailing list ant-dev@jakarta.apache.org Received: (qmail 3651 invoked by uid 97); 6 Jan 2002 01:43:50 -0000 Date: 6 Jan 2002 01:43:39 -0000 Message-ID: <20020106014339.72933.qmail@icarus.apache.org> From: donaldp@apache.org To: jakarta-ant-cvs@apache.org Subject: cvs commit: jakarta-ant/proposal/myrmidon/src/java/org/apache/myrmidon/framework/exec/impl DefaultExecManager.java X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N donaldp 02/01/05 17:43:39 Modified: proposal/myrmidon/src/java/org/apache/myrmidon/framework/exec ExecManager.java proposal/myrmidon/src/java/org/apache/myrmidon/framework/exec/impl DefaultExecManager.java Log: Made the ExecManager support another method of execution that involves supplying an ExecOutputHandler Revision Changes Path 1.3 +19 -1 jakarta-ant/proposal/myrmidon/src/java/org/apache/myrmidon/framework/exec/ExecManager.java Index: ExecManager.java =================================================================== RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/java/org/apache/myrmidon/framework/exec/ExecManager.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- ExecManager.java 22 Dec 2001 23:54:47 -0000 1.2 +++ ExecManager.java 6 Jan 2002 01:43:39 -0000 1.3 @@ -26,7 +26,7 @@ * * * @author Peter Donald - * @version $Revision: 1.2 $ $Date: 2001/12/22 23:54:47 $ + * @version $Revision: 1.3 $ $Date: 2002/01/06 01:43:39 $ */ public interface ExecManager { @@ -51,6 +51,24 @@ InputStream input, OutputStream output, OutputStream error, + long timeout ) + throws IOException, ExecException /*TimeoutException*/; + + /** + * Execute a process and wait for it to finish before + * returning. Note that this version of execute() does not allow you + * to specify input. + * + * @param execMetaData the metaData for native command to execute + * @param handler the handler to which line-orientated output of + * process is directed for standard output and standard error + * @param timeout the maximum duration in milliseconds that a process + * can execute. The value must be positive or zero. If it is zero + * then the process will not timeout. If the process times out it + * will be forcibly shutdown and a TimeoutException thrown + */ + int execute( ExecMetaData execMetaData, + ExecOutputHandler handler, long timeout ) throws IOException, ExecException /*TimeoutException*/; } 1.3 +16 -1 jakarta-ant/proposal/myrmidon/src/java/org/apache/myrmidon/framework/exec/impl/DefaultExecManager.java Index: DefaultExecManager.java =================================================================== RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/java/org/apache/myrmidon/framework/exec/impl/DefaultExecManager.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- DefaultExecManager.java 30 Dec 2001 06:53:15 -0000 1.2 +++ DefaultExecManager.java 6 Jan 2002 01:43:39 -0000 1.3 @@ -18,6 +18,7 @@ import org.apache.myrmidon.framework.exec.ExecException; import org.apache.myrmidon.framework.exec.ExecManager; import org.apache.myrmidon.framework.exec.ExecMetaData; +import org.apache.myrmidon.framework.exec.ExecOutputHandler; import org.apache.myrmidon.framework.exec.launchers.DefaultCommandLauncher; import org.apache.myrmidon.framework.exec.launchers.MacCommandLauncher; import org.apache.myrmidon.framework.exec.launchers.ScriptCommandLauncher; @@ -29,7 +30,7 @@ * * @author Peter Donald * @author Thomas Haas - * @version $Revision: 1.2 $ $Date: 2001/12/30 06:53:15 $ + * @version $Revision: 1.3 $ $Date: 2002/01/06 01:43:39 $ * @see ExecManager * @see ExecMetaData */ @@ -49,6 +50,20 @@ { m_launcher = new DefaultCommandLauncher(); m_shellLauncher = createShellLauncher( antDir ); + } + + /** + * Execute a process and wait for it to finish before + * returning. + */ + public int execute( final ExecMetaData execMetaData, + final ExecOutputHandler handler, + long timeout ) + throws IOException, ExecException /*TimeoutException*/ + { + final LogOutputStream output = new LogOutputStream( handler, false ); + final LogOutputStream error = new LogOutputStream( handler, true ); + return execute( execMetaData, null, output, error, timeout ); } /** -- To unsubscribe, e-mail: For additional commands, e-mail: