Class CommandLauncher

java.lang.Object
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

    Fields 
    Modifier and Type Field Description
    protected static FileUtils FILE_UTILS  
  • Constructor Summary

    Constructors 
    Constructor Description
    CommandLauncher()  
  • Method Summary

    Modifier and Type Method Description
    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 Details

  • Constructor Details

  • Method Details

    • 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.
      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