org.apache.tools.ant.taskdefs.launcher

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 and Description
      protected static FileUtils FILE_UTILS 
    • Constructor Summary

      Constructors 
      Constructor and Description
      CommandLauncher() 
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method and 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 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.
        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