org.apache.tools.ant.taskdefs
public class Execute extends Object
Since: Ant 1.2
Field Summary | |
---|---|
static int | INVALID Invalid exit code.
set to |
Constructor Summary | |
---|---|
Execute()
Creates a new execute object using PumpStreamHandler for
stream handling. | |
Execute(ExecuteStreamHandler streamHandler)
Creates a new execute object.
| |
Execute(ExecuteStreamHandler streamHandler, ExecuteWatchdog watchdog)
Creates a new execute object.
|
Method Summary | |
---|---|
static void | closeStreams(Process process)
Close the streams belonging to the given Process. |
int | execute()
Runs a process defined by the command line and returns its exit status.
|
String[] | getCommandline()
Returns the commandline used to create a subprocess.
|
String[] | getEnvironment()
Returns the environment used to create a subprocess.
|
int | getExitValue()
Query the exit value of the process. |
static Vector | getProcEnvironment()
Find the list of environment variables for this process.
|
File | getWorkingDirectory()
Return the working directory. |
static boolean | isFailure(int exitValue)
Checks whether exitValue signals a failure on the current
system (OS specific).
|
boolean | isFailure()
Did this execute return in a failure. |
boolean | killedProcess()
Test for an untimely death of the process. |
static Process | launch(Project project, String[] command, String[] env, File dir, boolean useVM)
Creates a process that runs a command.
|
static void | runCommand(Task task, String[] cmdline)
A utility method that runs an external command. |
void | setAntRun(Project project)
Set the name of the antRun script using the project's value.
|
void | setCommandline(String[] commandline)
Sets the commandline of the subprocess to launch.
|
void | setEnvironment(String[] env)
Sets the environment variables for the subprocess to launch.
|
protected void | setExitValue(int value)
Set the exit value.
|
void | setNewenvironment(boolean newenv)
Set whether to propagate the default environment or not.
|
void | setSpawn(boolean spawn)
Set whether or not you want the process to be spawned.
|
void | setStreamHandler(ExecuteStreamHandler streamHandler)
Set the stream handler to use. |
void | setVMLauncher(boolean useVMLauncher)
Launch this execution through the VM, where possible, rather than through
the OS's shell. |
void | setWorkingDirectory(File wd)
Sets the working directory of the process to execute.
|
void | spawn()
Starts a process defined by the command line.
|
static String | toString(ByteArrayOutputStream bos)
ByteArrayOutputStream#toString doesn't seem to work reliably on
OS/390, at least not the way we use it in the execution
context.
|
protected void | waitFor(Process process)
Wait for a given process.
|
PumpStreamHandler
for
stream handling.Parameters: streamHandler the stream handler used to handle the input and output streams of the subprocess.
Parameters: streamHandler the stream handler used to handle the input and
output streams of the subprocess. watchdog a watchdog for the subprocess or null
to
to disable a timeout for the subprocess.
Parameters: process the Process
.
Returns: the exit status of the subprocess or INVALID
.
Throws: java.io.IOException The exception is thrown, if launching of the subprocess failed.
Returns: the commandline used to create a subprocess.
Returns: the environment used to create a subprocess.
Returns: the exit value or Execute.INVALID if no exit value has been received.
Returns: a vector containing the environment variables. The vector elements are strings formatted like variable = value.
Returns: the directory as a File.
Since: Ant 1.7
exitValue
signals a failure on the current
system (OS specific).
Note that this method relies on the conventions of the OS, it will return false results if the application you are running doesn't follow these conventions. One notable exception is the Java VM provided by HP for OpenVMS - it will return 0 if successful (like on any other platform), but this signals a failure on OpenVMS. So if you execute a new Java VM on OpenVMS, you cannot trust this method.
Parameters: exitValue the exit value (return code) to be checked.
Returns: true
if exitValue
signals a failure.
Returns: true if and only if the exit code is interpreted as a failure
Since: Ant1.7
See Also: Execute
Returns: true if a watchdog had to kill the process.
Since: Ant 1.5
Parameters: project the Project, only used for logging purposes, may be null. command the command to run. env the environment for the command. dir the working directory for the command. useVM use the built-in exec command for JDK 1.3 if available.
Returns: the process started.
Throws: IOException forwarded from the particular launcher used.
Since: Ant 1.5
Parameters: task The task that the command is part of. Used for logging cmdline The command to execute.
Throws: BuildException if the command does not exit successfully.
Parameters: project the current project.
Throws: BuildException not clear when it is going to throw an exception, but it is the method's signature.
Parameters: commandline the commandline of the subprocess to launch.
Parameters: env array of Strings, each element of which has an environment variable settings in format key=value.
Parameters: value exit value of the process.
Parameters: newenv whether to propagate the process environment.
Parameters: spawn if true you do not want Ant to wait for the end of the process.
Since: Ant 1.6
Parameters: streamHandler ExecuteStreamHandler.
Since: Ant 1.6
Parameters: useVMLauncher true if exec should launch through the VM, false if the shell should be used to launch the command.
This is emulated using the antRun scripts unless the OS is Windows NT in which case a cmd.exe is spawned, or MRJ and setting user.dir works, or JDK 1.3 and there is official support in java.lang.Runtime.
Parameters: wd the working directory of the process.
Throws: java.io.IOException The exception is thrown, if launching of the subprocess failed.
Since: Ant 1.6
Parameters: bos the output stream that one wants to read.
Returns: the output stream as a string, read with special encodings in the case of z/os and os/400.
Since: Ant 1.5
Parameters: process the process one wants to wait for.