Class CommandLauncher

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

public class CommandLauncher extends 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 Details

    • FILE_UTILS

      protected static final FileUtils FILE_UTILS
  • Constructor Details

    • CommandLauncher

      public CommandLauncher()
  • Method Details

    • exec

      public Process exec(Project project, String[] cmd, String[] env) throws 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:
      IOException - if attempting to run a command in a specific directory.
    • exec

      public Process exec(Project project, String[] cmd, String[] env, File workingDir) throws 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:
      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.
      Parameters:
      project - Project
      Returns:
      CommandLauncher
    • getVMLauncher

      public static CommandLauncher getVMLauncher(Project project)
      Obtains the VM launcher configured for the given project or the default VM launcher.
      Parameters:
      project - Project
      Returns:
      CommandLauncher
    • setVMLauncher

      public static void setVMLauncher(Project project, CommandLauncher launcher)
      Sets the VM launcher to use for the given project.
      Parameters:
      project - Project
      launcher - CommandLauncher
    • setShellLauncher

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