org.gradle.process

## Interface ProcessForkOptions

- All Known Subinterfaces:
    BaseExecSpec, ExecSpec, JavaExecSpec, JavaForkOptions
  All Known Implementing Classes:
    Exec, JavaExec, RhinoShellExec, Test

      public interface ProcessForkOptions

  Specifies the options to use to fork a process.

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `ProcessForkOptions` | `copyTo(ProcessForkOptions options)` Copies these options to the given target options.
    `ProcessForkOptions` | `environment(Map<String,?> environmentVariables)` Adds some environment variables to the environment for this process.
    `ProcessForkOptions` | `environment(String name, Object value)` Adds an environment variable to the environment for this process.
    `ProcessForkOptions` | `executable(Object executable)` Sets the name of the executable to use.
    `Map<String,Object>` | `getEnvironment()` The environment variables to use for the process.
    `String` | `getExecutable()` Returns the name of the executable to use.
    `File` | `getWorkingDir()` Returns the working directory for the process.
    `void` | `setEnvironment(Map<String,?> environmentVariables)` Sets the environment variable to use for the process.
    `void` | `setExecutable(Object executable)` Sets the name of the executable to use.
    `void` | `setWorkingDir(Object dir)` Sets the working directory for the process.
    `ProcessForkOptions` | `workingDir(Object dir)` Sets the working directory for the process.

- - ### Method Detail

    - #### getExecutable

          String getExecutable()

      Returns the name of the executable to use.
      Returns:
        The executable.

    - #### setExecutable

          void setExecutable(Object executable)

      Sets the name of the executable to use.
      Parameters:
        `executable` - The executable. Must not be null.

    - #### executable

          ProcessForkOptions executable(Object executable)

      Sets the name of the executable to use.
      Parameters:
        `executable` - The executable. Must not be null.
      Returns:
        this

    - #### getWorkingDir

          File getWorkingDir()

      Returns the working directory for the process. Defaults to the project directory.
      Returns:
        The working directory. Never returns null.

    - #### setWorkingDir

          void setWorkingDir(Object dir)

      Sets the working directory for the process. The supplied argument is evaluated as for `Project.file(Object)`.
      Parameters:
        `dir` - The working directory. Must not be null.

    - #### workingDir

          ProcessForkOptions workingDir(Object dir)

      Sets the working directory for the process. The supplied argument is evaluated as for `Project.file(Object)`.
      Parameters:
        `dir` - The working directory. Must not be null.
      Returns:
        this

    - #### getEnvironment

          Map<String,Object> getEnvironment()

      The environment variables to use for the process. Defaults to the environment of this process.
      Returns:
        The environment. Returns an empty map when there are no environment variables.

    - #### setEnvironment

          void setEnvironment(Map<String,?> environmentVariables)

      Sets the environment variable to use for the process.
      Parameters:
        `environmentVariables` - The environment variables. Must not be null.

    - #### environment

          ProcessForkOptions environment(Map<String,?> environmentVariables)

      Adds some environment variables to the environment for this process.
      Parameters:
        `environmentVariables` - The environment variables. Must not be null.
      Returns:
        this

    - #### environment

          ProcessForkOptions environment(String name,
                                       Object value)

      Adds an environment variable to the environment for this process.
      Parameters:
        `name` - The name of the variable.
        `value` - The value for the variable. Must not be null.
      Returns:
        this

    - #### copyTo

          ProcessForkOptions copyTo(ProcessForkOptions options)

      Copies these options to the given target options.
      Parameters:
        `options` - The target options
      Returns:
        this