Google

ExecTask (Apache Ant API)

org.apache.tools.ant.taskdefs
Class ExecTask


java.lang.Object

  |

  +--org.apache.tools.ant.ProjectComponent

        |

        +--org.apache.tools.ant.Task

              |

              +--org.apache.tools.ant.taskdefs.ExecTask

Direct Known Subclasses:
ExecuteOn

public class ExecTask
extends Task

Executes a given command if the os platform is appropriate.

Since:
Ant 1.2
Author:
duncan@x180.com
, rubys@us.ibm.com , thomas.haas@softwired-inc.com , Stefan Bodewig , Mariusz Nowostawski

Field Summary
protected  Commandline cmdl
           
protected  boolean failOnError
           
protected  boolean newEnvironment
           
 
Fields inherited from class org.apache.tools.ant.Task
description, location, target, taskName, taskType, wrapper
 
Fields inherited from class org.apache.tools.ant.ProjectComponent
project
 
Constructor Summary
ExecTask()
           
 
Method Summary
 void addEnv(Environment.Variable var)
          Add an environment variable to the launched process.
protected  void checkConfiguration()
          Has the user set all necessary attributes?
 Commandline.Argument createArg()
          Adds a command-line argument.
protected  ExecuteStreamHandler createHandler()
          Create the StreamHandler to use with our Execute instance.
protected  ExecuteWatchdog createWatchdog()
          Create the Watchdog to kill a runaway process.
 void execute()
          Do the work.
protected  boolean isValidOs()
          Is this the OS the user wanted?
protected  void logFlush()
          Flush the output stream - if there is one.
protected  void maybeSetResultPropertyValue(int result)
          helper method to set result property to the passed in value if appropriate
protected  Execute prepareExec()
          Create an Execute instance with the correct working directory set.
protected  void runExec(Execute exe)
          Run the command using the given Execute instance.
protected  void runExecute(Execute exe)
          A Utility method for this classes and subclasses to run an Execute instance (an external command).
 void setAppend(boolean append)
          Whether output should be appended to or overwrite an existing file.
 void setCommand(Commandline cmdl)
           
 void setDir(java.io.File d)
          The working directory of the process.
 void setExecutable(java.lang.String value)
          The command to execute.
 void setFailIfExecutionFails(boolean flag)
          Stop the build if program cannot be started.
 void setFailonerror(boolean fail)
          Fail if the command exits with a non-zero return code.
 void setNewenvironment(boolean newenv)
          Do not propagate old environment when new environment variables are specified.
 void setOs(java.lang.String os)
          List of operating systems on which the command may be executed.
 void setOutput(java.io.File out)
          File the output of the process is redirected to.
 void setOutputproperty(java.lang.String outputprop)
          Property name whose value should be set to the output of the process.
 void setResultProperty(java.lang.String resultProperty)
          The name of a property in which the return code of the command should be stored.
 void setTimeout(java.lang.Integer value)
          Timeout in milliseconds after which the process will be killed.
 void setTimeout(java.lang.Long value)
          Timeout in milliseconds after which the process will be killed.
 void setVMLauncher(boolean vmLauncher)
          If true, launch new process with VM, otherwise use the OS's shell.
 
Methods inherited from class org.apache.tools.ant.Task
getDescription, getLocation, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, handleErrorOutput, handleOutput, init, isInvalid, log, log, maybeConfigure, perform, setDescription, setLocation, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName
 
Methods inherited from class org.apache.tools.ant.ProjectComponent
getProject, setProject
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

failOnError


protected boolean failOnError

newEnvironment


protected boolean newEnvironment

cmdl


protected Commandline cmdl
Constructor Detail

ExecTask


public ExecTask()
Method Detail

setTimeout


public void setTimeout(java.lang.Long value)
Timeout in milliseconds after which the process will be killed.

Since:
Ant 1.5

setTimeout


public void setTimeout(java.lang.Integer value)
Timeout in milliseconds after which the process will be killed.


setExecutable


public void setExecutable(java.lang.String value)
The command to execute.


setDir


public void setDir(java.io.File d)
The working directory of the process.


setOs


public void setOs(java.lang.String os)
List of operating systems on which the command may be executed.


setCommand


public void setCommand(Commandline cmdl)

setOutput


public void setOutput(java.io.File out)
File the output of the process is redirected to.


setOutputproperty


public void setOutputproperty(java.lang.String outputprop)
Property name whose value should be set to the output of the process.


setFailonerror


public void setFailonerror(boolean fail)
Fail if the command exits with a non-zero return code.


setNewenvironment


public void setNewenvironment(boolean newenv)
Do not propagate old environment when new environment variables are specified.


addEnv


public void addEnv(Environment.Variable var)
Add an environment variable to the launched process.


createArg


public Commandline.Argument createArg()
Adds a command-line argument.


setResultProperty


public void setResultProperty(java.lang.String resultProperty)
The name of a property in which the return code of the command should be stored. Only of interest if failonerror=false.

Since:
Ant 1.5

maybeSetResultPropertyValue


protected void maybeSetResultPropertyValue(int result)
helper method to set result property to the passed in value if appropriate


setFailIfExecutionFails


public void setFailIfExecutionFails(boolean flag)
Stop the build if program cannot be started. Defaults to true.

Since:
Ant 1.5

setAppend


public void setAppend(boolean append)
Whether output should be appended to or overwrite an existing file. Defaults to false.

Since:
1.30, Ant 1.5

execute


public void execute()
             throws BuildException
Do the work.

Overrides:
execute in class Task
Throws:
BuildException - if something goes wrong with the build

checkConfiguration


protected void checkConfiguration()
                           throws BuildException
Has the user set all necessary attributes?

BuildException

isValidOs


protected boolean isValidOs()
Is this the OS the user wanted?


setVMLauncher


public void setVMLauncher(boolean vmLauncher)
If true, launch new process with VM, otherwise use the OS's shell.


prepareExec


protected Execute prepareExec()
                       throws BuildException
Create an Execute instance with the correct working directory set.

BuildException

runExecute


protected final void runExecute(Execute exe)
                         throws java.io.IOException
A Utility method for this classes and subclasses to run an Execute instance (an external command).

java.io.IOException

runExec


protected void runExec(Execute exe)
                throws BuildException
Run the command using the given Execute instance. This may be overidden by subclasses

BuildException

createHandler


protected ExecuteStreamHandler createHandler()
                                      throws BuildException
Create the StreamHandler to use with our Execute instance.

BuildException

createWatchdog


protected ExecuteWatchdog createWatchdog()
                                  throws BuildException
Create the Watchdog to kill a runaway process.

BuildException

logFlush


protected void logFlush()
Flush the output stream - if there is one.



Copyright © 2000-2002 Apache Software Foundation. All Rights Reserved.