Package: org.gradle.process

## [Java] Interface JavaForkOptions

- org.gradle.process.ProcessForkOptions

- All Superinterfaces:
    ProcessForkOptions

  Specifies the options to use to fork a Java process.

- - ### Methods Summary

    Methods
    Type | Name and description
    --- | ---
    `JavaForkOptions` | `bootstrapClasspath(Object... classpath)` Adds the given values to the end of the bootstrap classpath for the process.
    `JavaForkOptions` | `copyTo(JavaForkOptions options)` Copies these options to the given options.
    `List<String>` | `getAllJvmArgs()` Returns the full set of arguments to use to launch the JVM for the process.
    `FileCollection` | `getBootstrapClasspath()` Returns the bootstrap classpath to use for the process.
    `boolean` | `getDebug()` Returns true if debugging is enabled for the process.
    `String` | `getDefaultCharacterEncoding()` Returns the default character encoding to use.
    `boolean` | `getEnableAssertions()` Returns true if assertions are enabled for the process.
    `List<String>` | `getJvmArgs()` Returns the extra arguments to use to launch the JVM for the process.
    `String` | `getMaxHeapSize()` Returns the maximum heap size for the process, if any.
    `String` | `getMinHeapSize()` Returns the minimum heap size for the process, if any.
    `Map<String, Object>` | `getSystemProperties()` Returns the system properties which will be used for the process.
    `JavaForkOptions` | `jvmArgs(Iterable<?> arguments)` Adds some arguments to use to launch the JVM for the process.
    `JavaForkOptions` | `jvmArgs(Object... arguments)` Adds some arguments to use to launch the JVM for the process.
    `void` | `setAllJvmArgs(Iterable<?> arguments)` Sets the full set of arguments to use to launch the JVM for the process.
    `void` | `setBootstrapClasspath(FileCollection classpath)` Sets the bootstrap classpath to use for the process.
    `void` | `setDebug(boolean enabled)` Enable or disable debugging for the process.
    `void` | `setDefaultCharacterEncoding(String defaultCharacterEncoding)` Sets the default character encoding to use.
    `void` | `setEnableAssertions(boolean enabled)` Enable or disable assertions for the process.
    `void` | `setJvmArgs(Iterable<?> arguments)` Sets the extra arguments to use to launch the JVM for the process.
    `void` | `setMaxHeapSize(String heapSize)` Sets the maximum heap size for the process.
    `void` | `setMinHeapSize(String heapSize)` Sets the minimum heap size for the process.
    `void` | `setSystemProperties(Map<String, ?> properties)` Sets the system properties to use for the process.
    `JavaForkOptions` | `systemProperties(Map<String, ?> properties)` Adds some system properties to use for the process.
    `JavaForkOptions` | `systemProperty(String name, Object value)` Adds a system property to use for the process.

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `interface ProcessForkOptions` | `copyTo, environment, environment, executable, getEnvironment, getExecutable, getWorkingDir, setEnvironment, setExecutable, setWorkingDir, workingDir`

- - ### Method Detail

    - #### public JavaForkOptions bootstrapClasspath(Object... classpath)

      Adds the given values to the end of the bootstrap classpath for the process.

      Parameters:
        `classpath` - The classpath.
      Returns:
        this

    - #### public JavaForkOptions copyTo(JavaForkOptions options)

      Copies these options to the given options.

      Parameters:
        `options` - The target options.
      Returns:
        this

    - #### public List<String> getAllJvmArgs()

      Returns the full set of arguments to use to launch the JVM for the process. This includes arguments to define system properties, the minimum/maximum heap size, and the bootstrap classpath.

      Returns:
        The arguments. Returns an empty list if there are no arguments.

    - #### public FileCollection getBootstrapClasspath()

      Returns the bootstrap classpath to use for the process. The default bootstrap classpath for the JVM is used when this classpath is empty.

      Returns:
        The bootstrap classpath. Never returns null.

    - #### public boolean getDebug()

      Returns true if debugging is enabled for the process. When enabled, the process is started suspended and listening on port 5005.

      Returns:
        true when debugging is enabled, false to disable.

    - #### public String getDefaultCharacterEncoding()

      Returns the default character encoding to use.

      Returns:
        The default character encoding. Returns null if the default character encoding of this JVM should be used.

    - #### public boolean getEnableAssertions()

      Returns true if assertions are enabled for the process.

      Returns:
        true if assertions are enabled, false if disabled

    - #### public List<String> getJvmArgs()

      Returns the extra arguments to use to launch the JVM for the process. Does not include system properties and the minimum/maximum heap size.

      Returns:
        The arguments. Returns an empty list if there are no arguments.

    - #### public String getMaxHeapSize()

      Returns the maximum heap size for the process, if any.

      Returns:
        The maximum heap size. Returns null if the default maximum heap size should be used.

    - #### public String getMinHeapSize()

      Returns the minimum heap size for the process, if any.

      Returns:
        The minimum heap size. Returns null if the default minimum heap size should be used.

    - #### public Map<String, Object> getSystemProperties()

      Returns the system properties which will be used for the process.

      Returns:
        The system properties. Returns an empty map when there are no system properties.

    - #### public JavaForkOptions jvmArgs(Iterable<?> arguments)

      Adds some arguments to use to launch the JVM for the process.

      Parameters:
        `arguments` - The arguments. Must not be null.
      Returns:
        this

    - #### public JavaForkOptions jvmArgs(Object... arguments)

      Adds some arguments to use to launch the JVM for the process.

      Parameters:
        `arguments` - The arguments.
      Returns:
        this

    - #### public void setAllJvmArgs(Iterable<?> arguments)

      Sets the full set of arguments to use to launch the JVM for the process. Overwrites any previously set system properties, minimum/maximum heap size, assertions, and bootstrap classpath.

      Parameters:
        `arguments` - The arguments. Must not be null.

    - #### public void setBootstrapClasspath(FileCollection classpath)

      Sets the bootstrap classpath to use for the process. Set to an empty classpath to use the default bootstrap classpath for the specified JVM.

      Parameters:
        `classpath` - The classpath. Must not be null. Can be empty.

    - #### public void setDebug(boolean enabled)

      Enable or disable debugging for the process. When enabled, the process is started suspended and listening on port 5005.

      Parameters:
        `enabled` - true to enable debugging, false to disable.

    - #### public void setDefaultCharacterEncoding(String defaultCharacterEncoding)

      Sets the default character encoding to use. Note: Many JVM implementations support the setting of this attribute via system property on startup (namely, the `file.encoding` property). For JVMs where this is the case, setting the `file.encoding` property via setSystemProperties(java.util.Map) or similar will have no effect as this value will be overridden by the value specified by getDefaultCharacterEncoding().

      Parameters:
        `defaultCharacterEncoding` - The default character encoding. Use null to use this JVM's default charset

    - #### public void setEnableAssertions(boolean enabled)

      Enable or disable assertions for the process.

      Parameters:
        `enabled` - true to enable assertions, false to disable.

    - #### public void setJvmArgs(Iterable<?> arguments)

      Sets the extra arguments to use to launch the JVM for the process. System properties and minimum/maximum heap size are updated.

      Parameters:
        `arguments` - The arguments. Must not be null.

    - #### public void setMaxHeapSize(String heapSize)

      Sets the maximum heap size for the process.

      Parameters:
        `heapSize` - The heap size. Use null for the default maximum heap size.

    - #### public void setMinHeapSize(String heapSize)

      Sets the minimum heap size for the process.

      Parameters:
        `heapSize` - The minimum heap size. Use null for the default minimum heap size.

    - #### public void setSystemProperties(Map<String, ?> properties)

      Sets the system properties to use for the process.

      Parameters:
        `properties` - The system properties. Must not be null.

    - #### public JavaForkOptions systemProperties(Map<String, ?> properties)

      Adds some system properties to use for the process.

      Parameters:
        `properties` - The system properties. Must not be null.
      Returns:
        this

    - #### public JavaForkOptions systemProperty(String name, Object value)

      Adds a system property to use for the process.

      Parameters:
        `name` - The name of the property
        `value` - The value for the property. May be null.
      Returns:
        this