diff --git a/proposal/myrmidon/src/java/org/apache/antlib/build/Patch.java b/proposal/myrmidon/src/java/org/apache/antlib/build/Patch.java index a3bebd2cb..580de57ed 100644 --- a/proposal/myrmidon/src/java/org/apache/antlib/build/Patch.java +++ b/proposal/myrmidon/src/java/org/apache/antlib/build/Patch.java @@ -8,7 +8,6 @@ package org.apache.antlib.build; import java.io.File; -import java.io.IOException; import org.apache.aut.nativelib.ExecManager; import org.apache.myrmidon.api.AbstractTask; import org.apache.myrmidon.api.TaskException; @@ -102,17 +101,8 @@ public class Patch final ExecManager execManager = (ExecManager)getService( ExecManager.class ); final Execute exe = new Execute( execManager ); - buildCommand( exe.getCommandline() ); - - try - { - exe.execute(); - } - catch( IOException e ) - { - throw new TaskException( "Error", e ); - } + exe.execute(); } private void validate() diff --git a/proposal/myrmidon/src/java/org/apache/antlib/cvslib/Cvs.java b/proposal/myrmidon/src/java/org/apache/antlib/cvslib/Cvs.java index 7b4562acf..96b6f6138 100644 --- a/proposal/myrmidon/src/java/org/apache/antlib/cvslib/Cvs.java +++ b/proposal/myrmidon/src/java/org/apache/antlib/cvslib/Cvs.java @@ -8,7 +8,6 @@ package org.apache.antlib.cvslib; import java.io.File; -import java.io.IOException; import java.util.Properties; import org.apache.aut.nativelib.ExecManager; import org.apache.myrmidon.api.AbstractTask; @@ -158,19 +157,8 @@ public class Cvs exe.setCommandline( command ); exe.setEnvironment( env ); - try - { - final int retCode = exe.execute(); - if( retCode != 0 ) - { - //replace with an ExecuteException(message,code); - throw new TaskException( "cvs exited with error code " + retCode ); - } - } - catch( IOException e ) - { - throw new TaskException( e.toString(), e ); - } + exe.setReturnCode( 0 ); + exe.execute(); } private Properties buildEnvironment() diff --git a/proposal/myrmidon/src/java/org/apache/antlib/nativelib/Exec.java b/proposal/myrmidon/src/java/org/apache/antlib/nativelib/Exec.java index fe9fc2a2f..63e473cb4 100644 --- a/proposal/myrmidon/src/java/org/apache/antlib/nativelib/Exec.java +++ b/proposal/myrmidon/src/java/org/apache/antlib/nativelib/Exec.java @@ -8,7 +8,6 @@ package org.apache.antlib.nativelib; import java.io.File; -import java.io.IOException; import java.util.Properties; import org.apache.aut.nativelib.ExecManager; import org.apache.aut.nativelib.Os; @@ -119,21 +118,8 @@ public class Exec private void doExecute( final Execute exe ) throws TaskException { - try - { - final int err = exe.execute(); - if( 0 != err ) - { - final String message = - REZ.getString( "exec.bad-resultcode.error", new Integer( err ) ); - throw new TaskException( message ); - } - } - catch( final IOException ioe ) - { - final String message = REZ.getString( "exec.failed.error", ioe ); - throw new TaskException( message, ioe ); - } + exe.setReturnCode( 0 ); + exe.execute(); } private void validate() diff --git a/proposal/myrmidon/src/java/org/apache/antlib/security/GenerateKey.java b/proposal/myrmidon/src/java/org/apache/antlib/security/GenerateKey.java index a5fa16619..f20831575 100644 --- a/proposal/myrmidon/src/java/org/apache/antlib/security/GenerateKey.java +++ b/proposal/myrmidon/src/java/org/apache/antlib/security/GenerateKey.java @@ -7,7 +7,6 @@ */ package org.apache.antlib.security; -import java.io.IOException; import org.apache.aut.nativelib.ExecManager; import org.apache.myrmidon.api.AbstractTask; import org.apache.myrmidon.api.TaskException; @@ -125,14 +124,7 @@ public class GenerateKey final Execute exe = new Execute( execManager ); exe.setWorkingDirectory( getBaseDirectory() ); exe.setCommandline( cmd ); - try - { - exe.execute(); - } - catch( final IOException ioe ) - { - throw new TaskException( ioe.getMessage(), ioe ); - } + exe.execute(); } private Commandline createCommand() diff --git a/proposal/myrmidon/src/java/org/apache/antlib/security/SignJar.java b/proposal/myrmidon/src/java/org/apache/antlib/security/SignJar.java index 184989a32..2c6f9d8b2 100644 --- a/proposal/myrmidon/src/java/org/apache/antlib/security/SignJar.java +++ b/proposal/myrmidon/src/java/org/apache/antlib/security/SignJar.java @@ -298,14 +298,7 @@ public class SignJar final ExecManager execManager = (ExecManager)getService( ExecManager.class ); final Execute exe = new Execute( execManager ); exe.setCommandline( cmd ); - try - { - exe.execute(); - } - catch( final IOException ioe ) - { - throw new TaskException( ioe.getMessage(), ioe ); - } + exe.execute(); } private Commandline buildCommand( final File jarTarget, final File jarSource ) diff --git a/proposal/myrmidon/src/java/org/apache/myrmidon/framework/Execute.java b/proposal/myrmidon/src/java/org/apache/myrmidon/framework/Execute.java index 49185aabb..cef124202 100644 --- a/proposal/myrmidon/src/java/org/apache/myrmidon/framework/Execute.java +++ b/proposal/myrmidon/src/java/org/apache/myrmidon/framework/Execute.java @@ -110,20 +110,31 @@ public class Execute * @return the exit status of the subprocess or INVALID */ public int execute() - throws IOException, TaskException + throws TaskException { - final int returnCode = executenativeProcess(); + final int returnCode = executeNativeProcess(); + checkReturnCode( returnCode ); + return returnCode; + } + /** + * Utility method to verify that specified return code was the + * return code expected (if any). + */ + private void checkReturnCode( final int returnCode ) + throws TaskException + { if( null != m_returnCode && returnCode != m_returnCode.intValue() ) { throw new TaskException( "Unexpected return code " + returnCode ); } - - return returnCode; } - private int executenativeProcess() + /** + * Actually execute the native process. + */ + private int executeNativeProcess() throws TaskException { final ExecMetaData metaData = buildExecMetaData(); diff --git a/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/Java.java b/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/Java.java index 8caddc5c5..6c7124d66 100644 --- a/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/Java.java +++ b/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/Java.java @@ -8,7 +8,6 @@ package org.apache.tools.ant.taskdefs; import java.io.File; -import java.io.IOException; import java.io.PrintStream; import java.util.ArrayList; import org.apache.aut.nativelib.ExecManager; @@ -233,14 +232,6 @@ public class Java exe.setWorkingDirectory( m_dir ); exe.setCommandline( command ); - try - { - return exe.execute(); - } - catch( IOException e ) - { - final String message = "Error executing class"; - throw new TaskException( message, e ); - } + return exe.execute(); } } diff --git a/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/compilers/DefaultCompilerAdapter.java b/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/compilers/DefaultCompilerAdapter.java index 638aa2d62..2edf3f572 100644 --- a/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/compilers/DefaultCompilerAdapter.java +++ b/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/compilers/DefaultCompilerAdapter.java @@ -359,19 +359,12 @@ public abstract class DefaultCompilerAdapter commandArray = args; } - try - { final ExecManager execManager = (ExecManager)m_attributes.getService( ExecManager.class ); final Execute exe = new Execute( execManager ); exe.setWorkingDirectory( m_baseDir ); final String[] commandline = commandArray; exe.setCommandline( new Commandline( commandline ) ); return exe.execute(); - } - catch( IOException e ) - { - throw new TaskException( "Error running " + args[ 0 ] + " compiler", e ); - } } finally { diff --git a/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/javadoc/Javadoc.java b/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/javadoc/Javadoc.java index 7e836019d..b9c380ee1 100644 --- a/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/javadoc/Javadoc.java +++ b/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/javadoc/Javadoc.java @@ -19,9 +19,9 @@ import org.apache.aut.nativelib.ExecManager; import org.apache.aut.nativelib.ExecOutputHandler; import org.apache.aut.nativelib.Os; import org.apache.myrmidon.api.TaskException; +import org.apache.myrmidon.framework.Execute; import org.apache.myrmidon.framework.Pattern; import org.apache.tools.ant.Task; -import org.apache.myrmidon.framework.Execute; import org.apache.tools.ant.types.Commandline; import org.apache.tools.ant.types.DirectoryScanner; import org.apache.tools.ant.types.FileSet; @@ -825,22 +825,14 @@ public class Javadoc * Avoid problems with command line length in some environments. */ exe.setWorkingDirectory( null ); + exe.setCommandline( cmd ); + exe.setReturnCode( 0 ); try { - exe.setCommandline( cmd ); - final int ret = exe.execute(); - if( ret != 0 ) - { - throw new TaskException( "Javadoc returned " + ret ); - } - } - catch( IOException e ) - { - throw new TaskException( "Javadoc failed: " + e, e ); + exe.execute(); } finally { - if( m_tmpList != null ) { m_tmpList.delete(); diff --git a/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/ccm/Continuus.java b/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/ccm/Continuus.java index 9af513b5b..f29a8a1b7 100644 --- a/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/ccm/Continuus.java +++ b/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/ccm/Continuus.java @@ -8,7 +8,6 @@ package org.apache.tools.ant.taskdefs.optional.ccm; import java.io.File; -import java.io.IOException; import org.apache.aut.nativelib.ExecManager; import org.apache.aut.nativelib.ExecOutputHandler; import org.apache.myrmidon.api.AbstractTask; @@ -72,7 +71,7 @@ public abstract class Continuus /** * Set the value of ccmAction. * - * @param v Value to assign to ccmAction. + * @param ccmAction Value to assign to ccmAction. */ public void setCcmAction( final String ccmAction ) { @@ -110,21 +109,14 @@ public abstract class Continuus protected int run( final Commandline cmd, final ExecOutputHandler handler ) throws TaskException { - try + final ExecManager execManager = (ExecManager)getService( ExecManager.class ); + final Execute exe = new Execute( execManager ); + if( null != handler ) { - final ExecManager execManager = (ExecManager)getService( ExecManager.class ); - final Execute exe = new Execute( execManager ); - if( null != handler ) - { - exe.setExecOutputHandler( handler ); - } - exe.setWorkingDirectory( getBaseDirectory() ); - exe.setCommandline( cmd ); - return exe.execute(); - } - catch( final IOException ioe ) - { - throw new TaskException( "Error", ioe ); + exe.setExecOutputHandler( handler ); } + exe.setWorkingDirectory( getBaseDirectory() ); + exe.setCommandline( cmd ); + return exe.execute(); } } diff --git a/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/clearcase/ClearCase.java b/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/clearcase/ClearCase.java index 725513b86..43d3ef50e 100644 --- a/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/clearcase/ClearCase.java +++ b/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/clearcase/ClearCase.java @@ -8,11 +8,10 @@ package org.apache.tools.ant.taskdefs.optional.clearcase; import java.io.File; -import java.io.IOException; import org.apache.aut.nativelib.ExecManager; import org.apache.myrmidon.api.TaskException; -import org.apache.tools.ant.Task; import org.apache.myrmidon.framework.Execute; +import org.apache.tools.ant.Task; import org.apache.tools.ant.types.Commandline; /** @@ -106,18 +105,11 @@ public abstract class ClearCase extends Task protected int run( Commandline cmd ) throws TaskException { - try - { - final ExecManager execManager = (ExecManager)getService( ExecManager.class ); - final Execute exe = new Execute( execManager ); - exe.setWorkingDirectory( getBaseDirectory() ); - exe.setCommandline( cmd ); - return exe.execute(); - } - catch( IOException e ) - { - throw new TaskException( "Error", e ); - } + final ExecManager execManager = (ExecManager)getService( ExecManager.class ); + final Execute exe = new Execute( execManager ); + exe.setWorkingDirectory( getBaseDirectory() ); + exe.setCommandline( cmd ); + return exe.execute(); } } diff --git a/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/dotnet/NetCommand.java b/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/dotnet/NetCommand.java index e813ec894..13e47da4d 100644 --- a/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/dotnet/NetCommand.java +++ b/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/dotnet/NetCommand.java @@ -8,12 +8,11 @@ package org.apache.tools.ant.taskdefs.optional.dotnet;// imports import java.io.File; -import java.io.IOException; import org.apache.aut.nativelib.ExecManager; import org.apache.avalon.framework.logger.AbstractLogEnabled; import org.apache.myrmidon.api.TaskException; -import org.apache.tools.ant.Task; import org.apache.myrmidon.framework.Execute; +import org.apache.tools.ant.Task; import org.apache.tools.ant.types.Commandline; /** @@ -141,35 +140,28 @@ public class NetCommand throws TaskException { int err = -1;// assume the worst - try + if( _traceCommandLine ) + { + //_owner.getLogger().info( _commandLine.toString() ); + } + else + { + //in verbose mode we always log stuff + logVerbose( _commandLine.toString() ); + } + _exe.setCommandline( _commandLine ); + err = _exe.execute(); + if( err != 0 ) { - if( _traceCommandLine ) + if( _failOnError ) { - //_owner.getLogger().info( _commandLine.toString() ); + throw new TaskException( _title + " returned: " + err ); } else { - //in verbose mode we always log stuff - logVerbose( _commandLine.toString() ); - } - _exe.setCommandline( _commandLine ); - err = _exe.execute(); - if( err != 0 ) - { - if( _failOnError ) - { - throw new TaskException( _title + " returned: " + err ); - } - else - { - getLogger().error( _title + " Result: " + err ); - } + getLogger().error( _title + " Result: " + err ); } } - catch( IOException e ) - { - throw new TaskException( _title + " failed: " + e, e ); - } } /** diff --git a/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/javacc/JJTree.java b/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/javacc/JJTree.java index dd689e51a..7475e58ee 100644 --- a/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/javacc/JJTree.java +++ b/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/javacc/JJTree.java @@ -185,17 +185,7 @@ public class JJTree extends Task final Execute exe = new Execute( execManager ); getLogger().debug( cmdl.toString() ); exe.setCommandline( new Commandline( cmdl.getCommandline() ) ); - - try - { - if( exe.execute() != 0 ) - { - throw new TaskException( "JJTree failed." ); - } - } - catch( IOException e ) - { - throw new TaskException( "Failed to launch JJTree: " + e ); - } + exe.setReturnCode( 0 ); + exe.execute(); } } diff --git a/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/javacc/JavaCC.java b/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/javacc/JavaCC.java index 7c7a1af2f..144c6992c 100644 --- a/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/javacc/JavaCC.java +++ b/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/javacc/JavaCC.java @@ -8,13 +8,12 @@ package org.apache.tools.ant.taskdefs.optional.javacc; import java.io.File; -import java.io.IOException; import java.util.Enumeration; import java.util.Hashtable; import org.apache.aut.nativelib.ExecManager; import org.apache.myrmidon.api.TaskException; -import org.apache.tools.ant.Task; import org.apache.myrmidon.framework.Execute; +import org.apache.tools.ant.Task; import org.apache.tools.ant.types.Commandline; import org.apache.tools.ant.types.CommandlineJava; import org.apache.tools.ant.types.Path; @@ -239,23 +238,13 @@ public class JavaCC extends Task private void runCommand( final CommandlineJava cmdline ) throws TaskException { - try - { - getLogger().debug( cmdline.toString() ); - final ExecManager execManager = (ExecManager)getService( ExecManager.class ); - final Execute exe = new Execute( execManager ); - final String[] commandline = cmdline.getCommandline(); - exe.setCommandline( new Commandline( commandline ) ); - int retval = exe.execute(); - if( retval != 0 ) - { - throw new TaskException( cmdline + " failed with return code " + retval ); - } - } - catch( final IOException ioe ) - { - throw new TaskException( "Could not launch " + cmdline + ": " + ioe ); - } + getLogger().debug( cmdline.toString() ); + final ExecManager execManager = (ExecManager)getService( ExecManager.class ); + final Execute exe = new Execute( execManager ); + final String[] commandline = cmdline.getCommandline(); + exe.setCommandline( new Commandline( commandline ) ); + exe.setReturnCode( 0 ); + exe.execute(); } /** diff --git a/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/jdepend/JDependTask.java b/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/jdepend/JDependTask.java index 187c1de03..503effaa3 100644 --- a/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/jdepend/JDependTask.java +++ b/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/jdepend/JDependTask.java @@ -13,8 +13,8 @@ import java.io.IOException; import java.io.PrintWriter; import org.apache.aut.nativelib.ExecManager; import org.apache.myrmidon.api.TaskException; -import org.apache.tools.ant.Task; import org.apache.myrmidon.framework.Execute; +import org.apache.tools.ant.Task; import org.apache.tools.ant.types.Commandline; import org.apache.tools.ant.types.CommandlineJava; import org.apache.tools.ant.types.Path; @@ -255,14 +255,7 @@ public class JDependTask getLogger().info( "Output to be stored in " + m_outputFile.getPath() ); } getLogger().debug( "Executing: " + commandline.toString() ); - try - { - return exe.execute(); - } - catch( IOException e ) - { - throw new TaskException( "Process fork failed.", e ); - } + return exe.execute(); } diff --git a/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java b/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java index 6be28ebaa..c9070d702 100644 --- a/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java +++ b/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java @@ -658,14 +658,9 @@ public class JUnitTask extends Task } getLogger().debug( "Executing: " + cmd.toString() ); - int retVal; try { - retVal = exe.execute(); - } - catch( IOException e ) - { - throw new TaskException( "Process fork failed.", e ); + return exe.execute(); } finally { @@ -674,8 +669,6 @@ public class JUnitTask extends Task throw new TaskException( "Could not delete temporary properties file." ); } } - - return retVal; } /** diff --git a/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/metamata/AbstractMetamataTask.java b/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/metamata/AbstractMetamataTask.java index d8ccb697d..a529ded22 100644 --- a/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/metamata/AbstractMetamataTask.java +++ b/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/metamata/AbstractMetamataTask.java @@ -284,17 +284,8 @@ public abstract class AbstractMetamataTask getLogger().debug( m_cmdl.toString() ); final String[] commandline = m_cmdl.getCommandline(); exe.setCommandline( new Commandline( commandline ) ); - try - { - if( 0 != exe.execute() ) - { - throw new TaskException( "Metamata task failed." ); - } - } - catch( IOException e ) - { - throw new TaskException( "Failed to launch Metamata task: " + e ); - } + exe.setReturnCode( 0 ); + exe.execute(); } protected void generateOptionsFile( File tofile, ArrayList options ) diff --git a/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/metamata/MParse.java b/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/metamata/MParse.java index d239b68cb..70ba6259c 100644 --- a/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/metamata/MParse.java +++ b/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/metamata/MParse.java @@ -16,8 +16,8 @@ import java.util.Random; import org.apache.aut.nativelib.ExecManager; import org.apache.avalon.excalibur.io.IOUtil; import org.apache.myrmidon.api.TaskException; -import org.apache.tools.ant.Task; import org.apache.myrmidon.framework.Execute; +import org.apache.tools.ant.Task; import org.apache.tools.ant.types.Argument; import org.apache.tools.ant.types.Commandline; import org.apache.tools.ant.types.CommandlineJava; @@ -292,17 +292,8 @@ public class MParse getLogger().debug( m_cmdl.toString() ); final String[] commandline = m_cmdl.getCommandline(); exe.setCommandline( new Commandline( commandline ) ); - try - { - if( exe.execute() != 0 ) - { - throw new TaskException( "Metamata task failed." ); - } - } - catch( IOException e ) - { - throw new TaskException( "Failed to launch Metamata task: " + e ); - } + exe.setReturnCode( 0 ); + exe.execute(); } /** diff --git a/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/perforce/P4Base.java b/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/perforce/P4Base.java index 537cdfaf5..87990e28a 100644 --- a/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/perforce/P4Base.java +++ b/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/perforce/P4Base.java @@ -7,12 +7,11 @@ */ package org.apache.tools.ant.taskdefs.optional.perforce; -import java.io.IOException; import org.apache.aut.nativelib.ExecManager; import org.apache.aut.nativelib.ExecOutputHandler; import org.apache.myrmidon.api.TaskException; -import org.apache.oro.text.perl.Perl5Util; import org.apache.myrmidon.framework.Execute; +import org.apache.oro.text.perl.Perl5Util; import org.apache.tools.ant.types.Commandline; /** @@ -171,14 +170,7 @@ public abstract class P4Base exe.setExecOutputHandler( handler ); exe.setCommandline( cmd ); - try - { - exe.execute(); - } - catch( IOException e ) - { - throw new TaskException( "Error", e ); - } + exe.execute(); if( null != m_error ) { throw m_error; diff --git a/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/pvcs/Pvcs.java b/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/pvcs/Pvcs.java index 0ee4c3f7a..460252c99 100644 --- a/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/pvcs/Pvcs.java +++ b/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/pvcs/Pvcs.java @@ -198,11 +198,6 @@ public class Pvcs result = exe.execute(); checkResultCode( result, cmd ); } - catch( IOException e ) - { - String msg = "Failed executing: " + cmd.toString() + ". Exception: " + e.getMessage(); - throw new TaskException( msg ); - } finally { if( filelist != null ) diff --git a/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/vss/MSVSS.java b/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/vss/MSVSS.java index 3a278bbef..703443e8e 100644 --- a/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/vss/MSVSS.java +++ b/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/vss/MSVSS.java @@ -8,12 +8,11 @@ package org.apache.tools.ant.taskdefs.optional.vss; import java.io.File; -import java.io.IOException; import java.util.Properties; import org.apache.aut.nativelib.ExecManager; import org.apache.myrmidon.api.TaskException; -import org.apache.tools.ant.Task; import org.apache.myrmidon.framework.Execute; +import org.apache.tools.ant.Task; import org.apache.tools.ant.types.Commandline; /** @@ -203,28 +202,21 @@ public abstract class MSVSS extends Task protected int run( Commandline cmd ) throws TaskException { - try - { - final ExecManager execManager = (ExecManager)getService( ExecManager.class ); - final Execute exe = new Execute( execManager ); - - // If location of ss.ini is specified we need to set the - // environment-variable SSDIR to this value - if( m_serverPath != null ) - { - final Properties env = new Properties(); - env.setProperty( "SSDIR", m_serverPath ); - exe.setEnvironment( env ); - } - - exe.setWorkingDirectory( getBaseDirectory() ); - exe.setCommandline( cmd ); - return exe.execute(); - } - catch( IOException e ) + final ExecManager execManager = (ExecManager)getService( ExecManager.class ); + final Execute exe = new Execute( execManager ); + + // If location of ss.ini is specified we need to set the + // environment-variable SSDIR to this value + if( m_serverPath != null ) { - throw new TaskException( "Error", e ); + final Properties env = new Properties(); + env.setProperty( "SSDIR", m_serverPath ); + exe.setEnvironment( env ); } + + exe.setWorkingDirectory( getBaseDirectory() ); + exe.setCommandline( cmd ); + return exe.execute(); } } diff --git a/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/unix/Rpm.java b/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/unix/Rpm.java index cc585e587..235c7b4f7 100644 --- a/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/unix/Rpm.java +++ b/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/unix/Rpm.java @@ -8,7 +8,6 @@ package org.apache.tools.ant.taskdefs.unix; import java.io.File; -import java.io.IOException; import org.apache.aut.nativelib.ExecManager; import org.apache.myrmidon.api.AbstractTask; import org.apache.myrmidon.api.TaskException; @@ -98,22 +97,12 @@ public class Rpm m_topDir = getBaseDirectory(); } exe.setWorkingDirectory( m_topDir ); - exe.setCommandline( cmd ); - try - { - final String message = "Building the RPM based on the " + m_specFile + " file"; - getLogger().info( message ); + exe.setReturnCode( 0 ); - if( 0 != exe.execute() ) - { - throw new TaskException( "Failed to execute rpm" ); - } - } - catch( IOException e ) - { - throw new TaskException( "Error", e ); - } + final String message = "Building the RPM based on the " + m_specFile + " file"; + getLogger().info( message ); + exe.execute(); } private Commandline createCommand() diff --git a/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/Java.java b/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/Java.java index 8caddc5c5..6c7124d66 100644 --- a/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/Java.java +++ b/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/Java.java @@ -8,7 +8,6 @@ package org.apache.tools.ant.taskdefs; import java.io.File; -import java.io.IOException; import java.io.PrintStream; import java.util.ArrayList; import org.apache.aut.nativelib.ExecManager; @@ -233,14 +232,6 @@ public class Java exe.setWorkingDirectory( m_dir ); exe.setCommandline( command ); - try - { - return exe.execute(); - } - catch( IOException e ) - { - final String message = "Error executing class"; - throw new TaskException( message, e ); - } + return exe.execute(); } } diff --git a/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/compilers/DefaultCompilerAdapter.java b/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/compilers/DefaultCompilerAdapter.java index 638aa2d62..2edf3f572 100644 --- a/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/compilers/DefaultCompilerAdapter.java +++ b/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/compilers/DefaultCompilerAdapter.java @@ -359,19 +359,12 @@ public abstract class DefaultCompilerAdapter commandArray = args; } - try - { final ExecManager execManager = (ExecManager)m_attributes.getService( ExecManager.class ); final Execute exe = new Execute( execManager ); exe.setWorkingDirectory( m_baseDir ); final String[] commandline = commandArray; exe.setCommandline( new Commandline( commandline ) ); return exe.execute(); - } - catch( IOException e ) - { - throw new TaskException( "Error running " + args[ 0 ] + " compiler", e ); - } } finally { diff --git a/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/javadoc/Javadoc.java b/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/javadoc/Javadoc.java index 7e836019d..b9c380ee1 100644 --- a/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/javadoc/Javadoc.java +++ b/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/javadoc/Javadoc.java @@ -19,9 +19,9 @@ import org.apache.aut.nativelib.ExecManager; import org.apache.aut.nativelib.ExecOutputHandler; import org.apache.aut.nativelib.Os; import org.apache.myrmidon.api.TaskException; +import org.apache.myrmidon.framework.Execute; import org.apache.myrmidon.framework.Pattern; import org.apache.tools.ant.Task; -import org.apache.myrmidon.framework.Execute; import org.apache.tools.ant.types.Commandline; import org.apache.tools.ant.types.DirectoryScanner; import org.apache.tools.ant.types.FileSet; @@ -825,22 +825,14 @@ public class Javadoc * Avoid problems with command line length in some environments. */ exe.setWorkingDirectory( null ); + exe.setCommandline( cmd ); + exe.setReturnCode( 0 ); try { - exe.setCommandline( cmd ); - final int ret = exe.execute(); - if( ret != 0 ) - { - throw new TaskException( "Javadoc returned " + ret ); - } - } - catch( IOException e ) - { - throw new TaskException( "Javadoc failed: " + e, e ); + exe.execute(); } finally { - if( m_tmpList != null ) { m_tmpList.delete(); diff --git a/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/ccm/Continuus.java b/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/ccm/Continuus.java index 9af513b5b..f29a8a1b7 100644 --- a/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/ccm/Continuus.java +++ b/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/ccm/Continuus.java @@ -8,7 +8,6 @@ package org.apache.tools.ant.taskdefs.optional.ccm; import java.io.File; -import java.io.IOException; import org.apache.aut.nativelib.ExecManager; import org.apache.aut.nativelib.ExecOutputHandler; import org.apache.myrmidon.api.AbstractTask; @@ -72,7 +71,7 @@ public abstract class Continuus /** * Set the value of ccmAction. * - * @param v Value to assign to ccmAction. + * @param ccmAction Value to assign to ccmAction. */ public void setCcmAction( final String ccmAction ) { @@ -110,21 +109,14 @@ public abstract class Continuus protected int run( final Commandline cmd, final ExecOutputHandler handler ) throws TaskException { - try + final ExecManager execManager = (ExecManager)getService( ExecManager.class ); + final Execute exe = new Execute( execManager ); + if( null != handler ) { - final ExecManager execManager = (ExecManager)getService( ExecManager.class ); - final Execute exe = new Execute( execManager ); - if( null != handler ) - { - exe.setExecOutputHandler( handler ); - } - exe.setWorkingDirectory( getBaseDirectory() ); - exe.setCommandline( cmd ); - return exe.execute(); - } - catch( final IOException ioe ) - { - throw new TaskException( "Error", ioe ); + exe.setExecOutputHandler( handler ); } + exe.setWorkingDirectory( getBaseDirectory() ); + exe.setCommandline( cmd ); + return exe.execute(); } } diff --git a/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/clearcase/ClearCase.java b/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/clearcase/ClearCase.java index 725513b86..43d3ef50e 100644 --- a/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/clearcase/ClearCase.java +++ b/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/clearcase/ClearCase.java @@ -8,11 +8,10 @@ package org.apache.tools.ant.taskdefs.optional.clearcase; import java.io.File; -import java.io.IOException; import org.apache.aut.nativelib.ExecManager; import org.apache.myrmidon.api.TaskException; -import org.apache.tools.ant.Task; import org.apache.myrmidon.framework.Execute; +import org.apache.tools.ant.Task; import org.apache.tools.ant.types.Commandline; /** @@ -106,18 +105,11 @@ public abstract class ClearCase extends Task protected int run( Commandline cmd ) throws TaskException { - try - { - final ExecManager execManager = (ExecManager)getService( ExecManager.class ); - final Execute exe = new Execute( execManager ); - exe.setWorkingDirectory( getBaseDirectory() ); - exe.setCommandline( cmd ); - return exe.execute(); - } - catch( IOException e ) - { - throw new TaskException( "Error", e ); - } + final ExecManager execManager = (ExecManager)getService( ExecManager.class ); + final Execute exe = new Execute( execManager ); + exe.setWorkingDirectory( getBaseDirectory() ); + exe.setCommandline( cmd ); + return exe.execute(); } } diff --git a/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/dotnet/NetCommand.java b/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/dotnet/NetCommand.java index e813ec894..13e47da4d 100644 --- a/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/dotnet/NetCommand.java +++ b/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/dotnet/NetCommand.java @@ -8,12 +8,11 @@ package org.apache.tools.ant.taskdefs.optional.dotnet;// imports import java.io.File; -import java.io.IOException; import org.apache.aut.nativelib.ExecManager; import org.apache.avalon.framework.logger.AbstractLogEnabled; import org.apache.myrmidon.api.TaskException; -import org.apache.tools.ant.Task; import org.apache.myrmidon.framework.Execute; +import org.apache.tools.ant.Task; import org.apache.tools.ant.types.Commandline; /** @@ -141,35 +140,28 @@ public class NetCommand throws TaskException { int err = -1;// assume the worst - try + if( _traceCommandLine ) + { + //_owner.getLogger().info( _commandLine.toString() ); + } + else + { + //in verbose mode we always log stuff + logVerbose( _commandLine.toString() ); + } + _exe.setCommandline( _commandLine ); + err = _exe.execute(); + if( err != 0 ) { - if( _traceCommandLine ) + if( _failOnError ) { - //_owner.getLogger().info( _commandLine.toString() ); + throw new TaskException( _title + " returned: " + err ); } else { - //in verbose mode we always log stuff - logVerbose( _commandLine.toString() ); - } - _exe.setCommandline( _commandLine ); - err = _exe.execute(); - if( err != 0 ) - { - if( _failOnError ) - { - throw new TaskException( _title + " returned: " + err ); - } - else - { - getLogger().error( _title + " Result: " + err ); - } + getLogger().error( _title + " Result: " + err ); } } - catch( IOException e ) - { - throw new TaskException( _title + " failed: " + e, e ); - } } /** diff --git a/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/javacc/JJTree.java b/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/javacc/JJTree.java index dd689e51a..7475e58ee 100644 --- a/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/javacc/JJTree.java +++ b/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/javacc/JJTree.java @@ -185,17 +185,7 @@ public class JJTree extends Task final Execute exe = new Execute( execManager ); getLogger().debug( cmdl.toString() ); exe.setCommandline( new Commandline( cmdl.getCommandline() ) ); - - try - { - if( exe.execute() != 0 ) - { - throw new TaskException( "JJTree failed." ); - } - } - catch( IOException e ) - { - throw new TaskException( "Failed to launch JJTree: " + e ); - } + exe.setReturnCode( 0 ); + exe.execute(); } } diff --git a/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/javacc/JavaCC.java b/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/javacc/JavaCC.java index 7c7a1af2f..144c6992c 100644 --- a/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/javacc/JavaCC.java +++ b/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/javacc/JavaCC.java @@ -8,13 +8,12 @@ package org.apache.tools.ant.taskdefs.optional.javacc; import java.io.File; -import java.io.IOException; import java.util.Enumeration; import java.util.Hashtable; import org.apache.aut.nativelib.ExecManager; import org.apache.myrmidon.api.TaskException; -import org.apache.tools.ant.Task; import org.apache.myrmidon.framework.Execute; +import org.apache.tools.ant.Task; import org.apache.tools.ant.types.Commandline; import org.apache.tools.ant.types.CommandlineJava; import org.apache.tools.ant.types.Path; @@ -239,23 +238,13 @@ public class JavaCC extends Task private void runCommand( final CommandlineJava cmdline ) throws TaskException { - try - { - getLogger().debug( cmdline.toString() ); - final ExecManager execManager = (ExecManager)getService( ExecManager.class ); - final Execute exe = new Execute( execManager ); - final String[] commandline = cmdline.getCommandline(); - exe.setCommandline( new Commandline( commandline ) ); - int retval = exe.execute(); - if( retval != 0 ) - { - throw new TaskException( cmdline + " failed with return code " + retval ); - } - } - catch( final IOException ioe ) - { - throw new TaskException( "Could not launch " + cmdline + ": " + ioe ); - } + getLogger().debug( cmdline.toString() ); + final ExecManager execManager = (ExecManager)getService( ExecManager.class ); + final Execute exe = new Execute( execManager ); + final String[] commandline = cmdline.getCommandline(); + exe.setCommandline( new Commandline( commandline ) ); + exe.setReturnCode( 0 ); + exe.execute(); } /** diff --git a/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/jdepend/JDependTask.java b/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/jdepend/JDependTask.java index 187c1de03..503effaa3 100644 --- a/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/jdepend/JDependTask.java +++ b/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/jdepend/JDependTask.java @@ -13,8 +13,8 @@ import java.io.IOException; import java.io.PrintWriter; import org.apache.aut.nativelib.ExecManager; import org.apache.myrmidon.api.TaskException; -import org.apache.tools.ant.Task; import org.apache.myrmidon.framework.Execute; +import org.apache.tools.ant.Task; import org.apache.tools.ant.types.Commandline; import org.apache.tools.ant.types.CommandlineJava; import org.apache.tools.ant.types.Path; @@ -255,14 +255,7 @@ public class JDependTask getLogger().info( "Output to be stored in " + m_outputFile.getPath() ); } getLogger().debug( "Executing: " + commandline.toString() ); - try - { - return exe.execute(); - } - catch( IOException e ) - { - throw new TaskException( "Process fork failed.", e ); - } + return exe.execute(); } diff --git a/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java b/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java index 6be28ebaa..c9070d702 100644 --- a/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java +++ b/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java @@ -658,14 +658,9 @@ public class JUnitTask extends Task } getLogger().debug( "Executing: " + cmd.toString() ); - int retVal; try { - retVal = exe.execute(); - } - catch( IOException e ) - { - throw new TaskException( "Process fork failed.", e ); + return exe.execute(); } finally { @@ -674,8 +669,6 @@ public class JUnitTask extends Task throw new TaskException( "Could not delete temporary properties file." ); } } - - return retVal; } /** diff --git a/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/metamata/AbstractMetamataTask.java b/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/metamata/AbstractMetamataTask.java index d8ccb697d..a529ded22 100644 --- a/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/metamata/AbstractMetamataTask.java +++ b/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/metamata/AbstractMetamataTask.java @@ -284,17 +284,8 @@ public abstract class AbstractMetamataTask getLogger().debug( m_cmdl.toString() ); final String[] commandline = m_cmdl.getCommandline(); exe.setCommandline( new Commandline( commandline ) ); - try - { - if( 0 != exe.execute() ) - { - throw new TaskException( "Metamata task failed." ); - } - } - catch( IOException e ) - { - throw new TaskException( "Failed to launch Metamata task: " + e ); - } + exe.setReturnCode( 0 ); + exe.execute(); } protected void generateOptionsFile( File tofile, ArrayList options ) diff --git a/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/metamata/MParse.java b/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/metamata/MParse.java index d239b68cb..70ba6259c 100644 --- a/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/metamata/MParse.java +++ b/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/metamata/MParse.java @@ -16,8 +16,8 @@ import java.util.Random; import org.apache.aut.nativelib.ExecManager; import org.apache.avalon.excalibur.io.IOUtil; import org.apache.myrmidon.api.TaskException; -import org.apache.tools.ant.Task; import org.apache.myrmidon.framework.Execute; +import org.apache.tools.ant.Task; import org.apache.tools.ant.types.Argument; import org.apache.tools.ant.types.Commandline; import org.apache.tools.ant.types.CommandlineJava; @@ -292,17 +292,8 @@ public class MParse getLogger().debug( m_cmdl.toString() ); final String[] commandline = m_cmdl.getCommandline(); exe.setCommandline( new Commandline( commandline ) ); - try - { - if( exe.execute() != 0 ) - { - throw new TaskException( "Metamata task failed." ); - } - } - catch( IOException e ) - { - throw new TaskException( "Failed to launch Metamata task: " + e ); - } + exe.setReturnCode( 0 ); + exe.execute(); } /** diff --git a/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/perforce/P4Base.java b/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/perforce/P4Base.java index 537cdfaf5..87990e28a 100644 --- a/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/perforce/P4Base.java +++ b/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/perforce/P4Base.java @@ -7,12 +7,11 @@ */ package org.apache.tools.ant.taskdefs.optional.perforce; -import java.io.IOException; import org.apache.aut.nativelib.ExecManager; import org.apache.aut.nativelib.ExecOutputHandler; import org.apache.myrmidon.api.TaskException; -import org.apache.oro.text.perl.Perl5Util; import org.apache.myrmidon.framework.Execute; +import org.apache.oro.text.perl.Perl5Util; import org.apache.tools.ant.types.Commandline; /** @@ -171,14 +170,7 @@ public abstract class P4Base exe.setExecOutputHandler( handler ); exe.setCommandline( cmd ); - try - { - exe.execute(); - } - catch( IOException e ) - { - throw new TaskException( "Error", e ); - } + exe.execute(); if( null != m_error ) { throw m_error; diff --git a/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/pvcs/Pvcs.java b/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/pvcs/Pvcs.java index 0ee4c3f7a..460252c99 100644 --- a/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/pvcs/Pvcs.java +++ b/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/pvcs/Pvcs.java @@ -198,11 +198,6 @@ public class Pvcs result = exe.execute(); checkResultCode( result, cmd ); } - catch( IOException e ) - { - String msg = "Failed executing: " + cmd.toString() + ". Exception: " + e.getMessage(); - throw new TaskException( msg ); - } finally { if( filelist != null ) diff --git a/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/vss/MSVSS.java b/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/vss/MSVSS.java index 3a278bbef..703443e8e 100644 --- a/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/vss/MSVSS.java +++ b/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/vss/MSVSS.java @@ -8,12 +8,11 @@ package org.apache.tools.ant.taskdefs.optional.vss; import java.io.File; -import java.io.IOException; import java.util.Properties; import org.apache.aut.nativelib.ExecManager; import org.apache.myrmidon.api.TaskException; -import org.apache.tools.ant.Task; import org.apache.myrmidon.framework.Execute; +import org.apache.tools.ant.Task; import org.apache.tools.ant.types.Commandline; /** @@ -203,28 +202,21 @@ public abstract class MSVSS extends Task protected int run( Commandline cmd ) throws TaskException { - try - { - final ExecManager execManager = (ExecManager)getService( ExecManager.class ); - final Execute exe = new Execute( execManager ); - - // If location of ss.ini is specified we need to set the - // environment-variable SSDIR to this value - if( m_serverPath != null ) - { - final Properties env = new Properties(); - env.setProperty( "SSDIR", m_serverPath ); - exe.setEnvironment( env ); - } - - exe.setWorkingDirectory( getBaseDirectory() ); - exe.setCommandline( cmd ); - return exe.execute(); - } - catch( IOException e ) + final ExecManager execManager = (ExecManager)getService( ExecManager.class ); + final Execute exe = new Execute( execManager ); + + // If location of ss.ini is specified we need to set the + // environment-variable SSDIR to this value + if( m_serverPath != null ) { - throw new TaskException( "Error", e ); + final Properties env = new Properties(); + env.setProperty( "SSDIR", m_serverPath ); + exe.setEnvironment( env ); } + + exe.setWorkingDirectory( getBaseDirectory() ); + exe.setCommandline( cmd ); + return exe.execute(); } } diff --git a/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/unix/Rpm.java b/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/unix/Rpm.java index cc585e587..235c7b4f7 100644 --- a/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/unix/Rpm.java +++ b/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/unix/Rpm.java @@ -8,7 +8,6 @@ package org.apache.tools.ant.taskdefs.unix; import java.io.File; -import java.io.IOException; import org.apache.aut.nativelib.ExecManager; import org.apache.myrmidon.api.AbstractTask; import org.apache.myrmidon.api.TaskException; @@ -98,22 +97,12 @@ public class Rpm m_topDir = getBaseDirectory(); } exe.setWorkingDirectory( m_topDir ); - exe.setCommandline( cmd ); - try - { - final String message = "Building the RPM based on the " + m_specFile + " file"; - getLogger().info( message ); + exe.setReturnCode( 0 ); - if( 0 != exe.execute() ) - { - throw new TaskException( "Failed to execute rpm" ); - } - } - catch( IOException e ) - { - throw new TaskException( "Error", e ); - } + final String message = "Building the RPM based on the " + m_specFile + " file"; + getLogger().info( message ); + exe.execute(); } private Commandline createCommand()