Package org.gradle.process

## Interface ProcessForkOptions

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

      public interface ProcessForkOptions

  Specifies the options to use to fork a process.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `ProcessForkOptions` | `copyTo​(ProcessForkOptions options)` | Copies these options to the given target options.
    `ProcessForkOptions` | `environment​(String name, Object value)` | Adds an environment variable to the environment for this process.
    `ProcessForkOptions` | `environment​(Map<String,​?> environmentVariables)` | Adds some environment variables 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` | `setExecutable​(String executable)` | Sets the name of the executable to use.
    `void` | `setWorkingDir​(File dir)` | Sets the working directory for the process.
    `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​(String executable)

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

    - #### 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​(File dir)

      Sets the working directory for the process.
      Parameters:
        `dir` - The working directory. Must not be null.
      Since:
        4.0

    - #### setWorkingDir

          void setWorkingDir​(Object dir)

      Sets the working directory for the process. The supplied argument is evaluated as per `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 per `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