org.apache.tools.ant.taskdefs.launcher
Class CommandLauncher

java.lang.Object
  extended by org.apache.tools.ant.taskdefs.launcher.CommandLauncher
Direct Known Subclasses:
CommandLauncherProxy, Java13CommandLauncher

public class CommandLauncher
extends java.lang.Object

A command launcher for a particular JVM/OS platform. This class is a general purpose command launcher which can only launch commands in the current working directory.


Field Summary
protected static FileUtils FILE_UTILS
           
 
Constructor Summary
CommandLauncher()
           
 
Method Summary
 java.lang.Process exec(Project project, java.lang.String[] cmd, java.lang.String[] env)
          Launches the given command in a new process.
 java.lang.Process exec(Project project, java.lang.String[] cmd, java.lang.String[] env, java.io.File workingDir)
          Launches the given command in a new process, in the given working directory.
static CommandLauncher getShellLauncher(Project project)
          Obtains the shell launcher configured for the given project or the default shell launcher.
static CommandLauncher getVMLauncher(Project project)
          Obtains the VM launcher configured for the given project or the default VM launcher.
static void setShellLauncher(Project project, CommandLauncher launcher)
          Sets the shell launcher to use for the given project.
static void setVMLauncher(Project project, CommandLauncher launcher)
          Sets the VM launcher to use for the given project.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

FILE_UTILS

protected static final FileUtils FILE_UTILS
Constructor Detail

CommandLauncher

public CommandLauncher()
Method Detail

exec

public java.lang.Process exec(Project project,
                              java.lang.String[] cmd,
                              java.lang.String[] env)
                       throws java.io.IOException
Launches the given command in a new process.

Parameters:
project - The project that the command is part of.
cmd - The command to execute.
env - The environment for the new process. If null, the environment of the current process is used.
Returns:
the created Process.
Throws:
java.io.IOException - if attempting to run a command in a specific directory.

exec

public java.lang.Process exec(Project project,
                              java.lang.String[] cmd,
                              java.lang.String[] env,
                              java.io.File workingDir)
                       throws java.io.IOException
Launches the given command in a new process, in the given working directory.

Parameters:
project - The project that the command is part of.
cmd - The command to execute.
env - The environment for the new process. If null, the environment of the current process is used.
workingDir - The directory to start the command in. If null, the current directory is used.
Returns:
the created Process.
Throws:
java.io.IOException - if trying to change directory.

getShellLauncher

public static CommandLauncher getShellLauncher(Project project)
Obtains the shell launcher configured for the given project or the default shell launcher.


getVMLauncher

public static CommandLauncher getVMLauncher(Project project)
Obtains the VM launcher configured for the given project or the default VM launcher.


setVMLauncher

public static void setVMLauncher(Project project,
                                 CommandLauncher launcher)
Sets the VM launcher to use for the given project.


setShellLauncher

public static void setShellLauncher(Project project,
                                    CommandLauncher launcher)
Sets the shell launcher to use for the given project.