Package org.gradle.api.tasks.compile

# Class ForkOptions

java.lang.Object
org.gradle.api.tasks.compile.BaseForkOptions
org.gradle.api.tasks.compile.ProviderAwareCompilerDaemonForkOptions
org.gradle.api.tasks.compile.ForkOptions

All Implemented Interfaces:
  `Serializable`

public abstract class ForkOptions extends ProviderAwareCompilerDaemonForkOptions
Fork options for Java compilation. Only take effect if `CompileOptions.fork` is `true`.

See Also:
  - Serialized Form

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ForkOptions()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `abstract Property<String>`
  `getExecutable()`
  Returns the compiler executable to be used.
  `@Nullable File`
  `getJavaHome()`
  Returns the Java home which contains the compiler to use.
  `abstract Property<String>`
  `getTempDir()`
  Returns the directory used for temporary files that may be created to pass command line arguments to the compiler process.
  `void`
  `setExecutable(@Nullable String executable)`
  Sets the compiler executable to be used.
  `void`
  `setJavaHome(@Nullable File javaHome)`
  Sets the Java home which contains the compiler to use.
  `void`
  `setTempDir(@Nullable String tempDir)`
  Sets the directory used for temporary files that may be created to pass command line arguments to the compiler process.

  ### Methods inherited from class org.gradle.api.tasks.compile.ProviderAwareCompilerDaemonForkOptions

  `getAllJvmArgs, getJvmArgumentProviders`

  ### Methods inherited from class org.gradle.api.tasks.compile.BaseForkOptions

  `getJvmArgs, getMemoryInitialSize, getMemoryMaximumSize, setJvmArgs, setMemoryInitialSize, setMemoryMaximumSize`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### ForkOptions

    public ForkOptions()

- ## Method Details

  - ### getExecutable

    @Optional @Input public abstract Property<String> getExecutable()
    Returns the compiler executable to be used.

    Only takes effect if `CompileOptions.fork` is `true`. Not present by default.

    Setting the executable disables task output caching.

  - ### setExecutable

    public void setExecutable(@Nullable String executable)
    Sets the compiler executable to be used.

    Only takes effect if `CompileOptions.fork` is `true`. Defaults to `null`.

    Setting the executable disables task output caching.

  - ### getJavaHome

    @Internal public @Nullable File getJavaHome()
    Returns the Java home which contains the compiler to use.

    Only takes effect if `CompileOptions.fork` is `true`. Defaults to `null`.

    Since:
      3.5

  - ### setJavaHome

    public void setJavaHome(@Nullable File javaHome)
    Sets the Java home which contains the compiler to use.

    Only takes effect if `CompileOptions.fork` is `true`. Defaults to `null`.

    Since:
      3.5

  - ### getTempDir

    @Internal public abstract Property<String> getTempDir()
    Returns the directory used for temporary files that may be created to pass command line arguments to the compiler process. Not present by default, in which case the directory will be chosen automatically.

  - ### setTempDir

    public void setTempDir(@Nullable String tempDir)
    Sets the directory used for temporary files that may be created to pass command line arguments to the compiler process. Defaults to `null`, in which case the directory will be chosen automatically.