Class AbstractExecTask<T extends AbstractExecTask>

  • Type Parameters:
    T - The concrete type of the class.
    All Implemented Interfaces:
    Comparable<Task>, org.gradle.api.internal.DynamicObjectAware, org.gradle.api.internal.IConventionAware, org.gradle.api.internal.TaskInternal, ExtensionAware, Task, BaseExecSpec, ExecSpec, ProcessForkOptions, org.gradle.util.Configurable<Task>
    Direct Known Subclasses:
    Exec, RunTestExecutable

    public abstract class AbstractExecTask<T extends AbstractExecTask>
    extends org.gradle.api.internal.ConventionTask
    implements ExecSpec
    AbstractExecTask is the base class for all exec tasks.
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface org.gradle.api.Task

        Task.Namer
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      T args​(Iterable<?> args)
      Adds arguments for the command to be executed.
      T args​(Object... args)
      Adds arguments for the command to be executed.
      T commandLine​(Iterable<?> args)
      Sets the full command line, including the executable to be executed plus its arguments.
      T commandLine​(Object... arguments)
      Sets the full command line, including the executable to be executed plus its arguments.
      T copyTo​(ProcessForkOptions target)
      Copies these options to the given target options.
      T environment​(String name, Object value)
      Adds an environment variable to the environment for this process.
      T environment​(Map<String,​?> environmentVariables)
      Adds some environment variables to the environment for this process.
      protected void exec()  
      T executable​(Object executable)
      Sets the name of the executable to use.
      List<String> getArgs()
      Returns the arguments for the command to be executed.
      List<String> getCommandLine()
      Returns the full command line, including the executable plus its arguments.
      Map<String,​Object> getEnvironment()
      The environment variables to use for the process.
      OutputStream getErrorOutput()
      Returns the output stream to consume standard error from the process executing the command.
      protected org.gradle.process.internal.ExecActionFactory getExecActionFactory()  
      ExecResult getExecResult()
      Returns the result for the command run by this task.
      String getExecutable()
      Returns the name of the executable to use.
      InputStream getStandardInput()
      Returns the standard input stream for the process executing the command.
      OutputStream getStandardOutput()
      Returns the output stream to consume standard output from the process executing the command.
      File getWorkingDir()
      Returns the working directory for the process.
      boolean isIgnoreExitValue()
      Tells whether a non-zero exit value is ignored, or an exception thrown.
      T setArgs​(Iterable<?> arguments)
      Sets the arguments for the command to be executed.
      T setArgs​(List<String> arguments)
      Sets the arguments for the command to be executed.
      void setCommandLine​(Iterable<?> args)
      Sets the full command line, including the executable to be executed plus its arguments.
      void setCommandLine​(Object... args)
      Sets the full command line, including the executable to be executed plus its arguments.
      void setCommandLine​(List<String> args)
      Sets the full command line, including the executable to be executed plus its arguments.
      void setEnvironment​(Map<String,​?> environmentVariables)
      Sets the environment variable to use for the process.
      T setErrorOutput​(OutputStream outputStream)
      Sets the output stream to consume standard error from the process executing the command.
      void setExecutable​(Object executable)
      Sets the name of the executable to use.
      void setExecutable​(String executable)
      Sets the name of the executable to use.
      T setIgnoreExitValue​(boolean ignoreExitValue)
      Sets whether a non-zero exit value is ignored, or an exception thrown.
      T setStandardInput​(InputStream inputStream)
      Sets the standard input stream for the process executing the command.
      T setStandardOutput​(OutputStream outputStream)
      Sets the output stream to consume standard output from the process executing the command.
      void setWorkingDir​(File dir)
      Sets the working directory for the process.
      void setWorkingDir​(Object dir)
      Sets the working directory for the process.
      T workingDir​(Object dir)
      Sets the working directory for the process.
      • Methods inherited from class org.gradle.api.internal.ConventionTask

        conventionMapping, conventionMapping, getConventionMapping
      • Methods inherited from class org.gradle.api.internal.AbstractTask

        addValidator, appendParallelSafeAction, compareTo, configure, deleteAllActions, dependsOn, dependsOnTaskDidWork, doFirst, doFirst, doFirst, doLast, doLast, doLast, execute, finalizedBy, getActions, getAnt, getAsDynamicObject, getConvention, getDependsOn, getDescription, getDestroyables, getDidWork, getEnabled, getExecuter, getExtensions, getFinalizedBy, getGroup, getIdentityPath, getImpliesSubProjects, getInputs, getLocalState, getLogger, getLogging, getMustRunAfter, getName, getOnlyIf, getOutputs, getPath, getProject, getServices, getShouldRunAfter, getStandardOutputCapture, getState, getTaskActions, getTaskDependencies, getTemporaryDir, getTemporaryDirFactory, getValidators, hasProperty, injectIntoNewInstance, isEnabled, isHasCustomActions, leftShift, mustRunAfter, onlyIf, onlyIf, prependParallelSafeAction, property, setActions, setDependsOn, setDescription, setDidWork, setEnabled, setExecuter, setFinalizedBy, setGroup, setImpliesSubProjects, setMustRunAfter, setOnlyIf, setOnlyIf, setProperty, setShouldRunAfter, shouldRunAfter, toString
    • Constructor Detail

      • AbstractExecTask

        public AbstractExecTask​(Class<T> taskType)
    • Method Detail

      • getExecActionFactory

        @Inject
        protected org.gradle.process.internal.ExecActionFactory getExecActionFactory()
      • exec

        protected void exec()
      • commandLine

        public T commandLine​(Object... arguments)
        Sets the full command line, including the executable to be executed plus its arguments.
        Specified by:
        commandLine in interface ExecSpec
        Parameters:
        arguments - the command plus the args to be executed
        Returns:
        this
      • commandLine

        public T commandLine​(Iterable<?> args)
        Sets the full command line, including the executable to be executed plus its arguments.
        Specified by:
        commandLine in interface ExecSpec
        Parameters:
        args - the command plus the args to be executed
        Returns:
        this
      • args

        public T args​(Object... args)
        Adds arguments for the command to be executed.
        Specified by:
        args in interface ExecSpec
        Parameters:
        args - args for the command
        Returns:
        this
      • args

        public T args​(Iterable<?> args)
        Adds arguments for the command to be executed.
        Specified by:
        args in interface ExecSpec
        Parameters:
        args - args for the command
        Returns:
        this
      • setArgs

        public T setArgs​(List<String> arguments)
        Sets the arguments for the command to be executed.
        Specified by:
        setArgs in interface ExecSpec
        Parameters:
        arguments - args for the command
        Returns:
        this
      • setArgs

        public T setArgs​(Iterable<?> arguments)
        Sets the arguments for the command to be executed.
        Specified by:
        setArgs in interface ExecSpec
        Parameters:
        arguments - args for the command
        Returns:
        this
      • getCommandLine

        @Internal
        public List<String> getCommandLine()
        Returns the full command line, including the executable plus its arguments.
        Specified by:
        getCommandLine in interface BaseExecSpec
        Returns:
        The full command line, including the executable plus its arguments
      • setCommandLine

        public void setCommandLine​(List<String> args)
        Sets the full command line, including the executable to be executed plus its arguments.
        Specified by:
        setCommandLine in interface ExecSpec
        Parameters:
        args - the command plus the args to be executed
      • setCommandLine

        public void setCommandLine​(Iterable<?> args)
        Sets the full command line, including the executable to be executed plus its arguments.
        Specified by:
        setCommandLine in interface ExecSpec
        Parameters:
        args - the command plus the args to be executed
      • setCommandLine

        public void setCommandLine​(Object... args)
        Sets the full command line, including the executable to be executed plus its arguments.
        Specified by:
        setCommandLine in interface ExecSpec
        Parameters:
        args - the command plus the args to be executed
      • setExecutable

        public void setExecutable​(String executable)
        Sets the name of the executable to use.
        Specified by:
        setExecutable in interface ProcessForkOptions
        Parameters:
        executable - The executable. Must not be null.
      • setExecutable

        public void setExecutable​(Object executable)
        Sets the name of the executable to use.
        Specified by:
        setExecutable in interface ProcessForkOptions
        Parameters:
        executable - The executable. Must not be null.
      • executable

        public T executable​(Object executable)
        Sets the name of the executable to use.
        Specified by:
        executable in interface ProcessForkOptions
        Parameters:
        executable - The executable. Must not be null.
        Returns:
        this
      • getWorkingDir

        @Internal
        public File getWorkingDir()
        Returns the working directory for the process. Defaults to the project directory.
        Specified by:
        getWorkingDir in interface ProcessForkOptions
        Returns:
        The working directory. Never returns null.
      • setWorkingDir

        public void setWorkingDir​(File dir)
        Sets the working directory for the process.
        Specified by:
        setWorkingDir in interface ProcessForkOptions
        Parameters:
        dir - The working directory. Must not be null.
      • setWorkingDir

        public void setWorkingDir​(Object dir)
        Sets the working directory for the process. The supplied argument is evaluated as per Project.file(Object).
        Specified by:
        setWorkingDir in interface ProcessForkOptions
        Parameters:
        dir - The working directory. Must not be null.
      • workingDir

        public T workingDir​(Object dir)
        Sets the working directory for the process. The supplied argument is evaluated as per Project.file(Object).
        Specified by:
        workingDir in interface ProcessForkOptions
        Parameters:
        dir - The working directory. Must not be null.
        Returns:
        this
      • getEnvironment

        @Internal
        public Map<String,​Object> getEnvironment()
        The environment variables to use for the process. Defaults to the environment of this process.
        Specified by:
        getEnvironment in interface ProcessForkOptions
        Returns:
        The environment. Returns an empty map when there are no environment variables.
      • setEnvironment

        public void setEnvironment​(Map<String,​?> environmentVariables)
        Sets the environment variable to use for the process.
        Specified by:
        setEnvironment in interface ProcessForkOptions
        Parameters:
        environmentVariables - The environment variables. Must not be null.
      • environment

        public T environment​(String name,
                             Object value)
        Adds an environment variable to the environment for this process.
        Specified by:
        environment in interface ProcessForkOptions
        Parameters:
        name - The name of the variable.
        value - The value for the variable. Must not be null.
        Returns:
        this
      • environment

        public T environment​(Map<String,​?> environmentVariables)
        Adds some environment variables to the environment for this process.
        Specified by:
        environment in interface ProcessForkOptions
        Parameters:
        environmentVariables - The environment variables. Must not be null.
        Returns:
        this
      • copyTo

        public T copyTo​(ProcessForkOptions target)
        Copies these options to the given target options.
        Specified by:
        copyTo in interface ProcessForkOptions
        Parameters:
        target - The target options
        Returns:
        this
      • setStandardInput

        public T setStandardInput​(InputStream inputStream)
        Sets the standard input stream for the process executing the command. The stream is closed after the process completes.
        Specified by:
        setStandardInput in interface BaseExecSpec
        Parameters:
        inputStream - The standard input stream for the process. Must not be null.
        Returns:
        this
      • getStandardInput

        @Internal
        public InputStream getStandardInput()
        Returns the standard input stream for the process executing the command. The stream is closed after the process completes. Defaults to an empty stream.
        Specified by:
        getStandardInput in interface BaseExecSpec
        Returns:
        The standard input stream.
      • setStandardOutput

        public T setStandardOutput​(OutputStream outputStream)
        Sets the output stream to consume standard output from the process executing the command. The stream is closed after the process completes.
        Specified by:
        setStandardOutput in interface BaseExecSpec
        Parameters:
        outputStream - The standard output stream for the process. Must not be null.
        Returns:
        this
      • getStandardOutput

        @Internal
        public OutputStream getStandardOutput()
        Returns the output stream to consume standard output from the process executing the command. Defaults to System.out.
        Specified by:
        getStandardOutput in interface BaseExecSpec
        Returns:
        The output stream
      • setErrorOutput

        public T setErrorOutput​(OutputStream outputStream)
        Sets the output stream to consume standard error from the process executing the command. The stream is closed after the process completes.
        Specified by:
        setErrorOutput in interface BaseExecSpec
        Parameters:
        outputStream - The standard output error stream for the process. Must not be null.
        Returns:
        this
      • getErrorOutput

        @Internal
        public OutputStream getErrorOutput()
        Returns the output stream to consume standard error from the process executing the command. Default to System.err.
        Specified by:
        getErrorOutput in interface BaseExecSpec
        Returns:
        The error output stream.
      • setIgnoreExitValue

        public T setIgnoreExitValue​(boolean ignoreExitValue)
        Sets whether a non-zero exit value is ignored, or an exception thrown.
        Specified by:
        setIgnoreExitValue in interface BaseExecSpec
        Parameters:
        ignoreExitValue - whether a non-zero exit value is ignored, or an exception thrown
        Returns:
        this
      • isIgnoreExitValue

        @Input
        public boolean isIgnoreExitValue()
        Tells whether a non-zero exit value is ignored, or an exception thrown. Defaults to false.
        Specified by:
        isIgnoreExitValue in interface BaseExecSpec
        Returns:
        whether a non-zero exit value is ignored, or an exception thrown
      • getExecResult

        @Internal
        public ExecResult getExecResult()
        Returns the result for the command run by this task. Returns null if this task has not been executed yet.
        Returns:
        The result. Returns null if this task has not been executed yet.