Package org.gradle.process
Interface JavaForkOptions
-
- All Superinterfaces:
ProcessForkOptions
- All Known Subinterfaces:
JavaExecSpec
public interface JavaForkOptions extends ProcessForkOptions
Specifies the options to use to fork a Java process.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description JavaForkOptions
bootstrapClasspath(java.lang.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.void
debugOptions(Action<JavaDebugOptions> action)
Configures Java Debug Wire Protocol properties for the process.java.util.List<java.lang.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()
Determines whether debugging is enabled for the test process.JavaDebugOptions
getDebugOptions()
Returns the Java Debug Wire Protocol properties for the process.java.lang.String
getDefaultCharacterEncoding()
Returns the default character encoding to use.boolean
getEnableAssertions()
Returns true if assertions are enabled for the process.java.util.List<java.lang.String>
getJvmArgs()
Returns the extra arguments to use to launch the JVM for the process.java.util.List<CommandLineArgumentProvider>
getJvmArgumentProviders()
Command line argument providers for the java process to fork.java.lang.String
getMaxHeapSize()
Returns the maximum heap size for the process, if any.java.lang.String
getMinHeapSize()
Returns the minimum heap size for the process, if any.java.util.Map<java.lang.String,java.lang.Object>
getSystemProperties()
Returns the system properties which will be used for the process.JavaForkOptions
jvmArgs(java.lang.Iterable<?> arguments)
Adds some arguments to use to launch the JVM for the process.JavaForkOptions
jvmArgs(java.lang.Object... arguments)
Adds some arguments to use to launch the JVM for the process.void
setAllJvmArgs(java.lang.Iterable<?> arguments)
Sets the full set of arguments to use to launch the JVM for the process.void
setAllJvmArgs(java.util.List<java.lang.String> 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(java.lang.String defaultCharacterEncoding)
Sets the default character encoding to use.void
setEnableAssertions(boolean enabled)
Enable or disable assertions for the process.void
setJvmArgs(java.lang.Iterable<?> arguments)
Sets the extra arguments to use to launch the JVM for the process.void
setJvmArgs(java.util.List<java.lang.String> arguments)
Sets the extra arguments to use to launch the JVM for the process.void
setMaxHeapSize(java.lang.String heapSize)
Sets the maximum heap size for the process.void
setMinHeapSize(java.lang.String heapSize)
Sets the minimum heap size for the process.void
setSystemProperties(java.util.Map<java.lang.String,?> properties)
Sets the system properties to use for the process.JavaForkOptions
systemProperties(java.util.Map<java.lang.String,?> properties)
Adds some system properties to use for the process.JavaForkOptions
systemProperty(java.lang.String name, java.lang.Object value)
Adds a system property to use for the process.-
Methods inherited from interface org.gradle.process.ProcessForkOptions
copyTo, environment, environment, executable, getEnvironment, getExecutable, getWorkingDir, setEnvironment, setExecutable, setExecutable, setWorkingDir, setWorkingDir, workingDir
-
-
-
-
Method Detail
-
getSystemProperties
@Input java.util.Map<java.lang.String,java.lang.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.
-
setSystemProperties
void setSystemProperties(java.util.Map<java.lang.String,?> properties)
Sets the system properties to use for the process.- Parameters:
properties
- The system properties. Must not be null.
-
systemProperties
JavaForkOptions systemProperties(java.util.Map<java.lang.String,?> properties)
Adds some system properties to use for the process.- Parameters:
properties
- The system properties. Must not be null.- Returns:
- this
-
systemProperty
JavaForkOptions systemProperty(java.lang.String name, java.lang.Object value)
Adds a system property to use for the process.- Parameters:
name
- The name of the propertyvalue
- The value for the property. May be null.- Returns:
- this
-
getDefaultCharacterEncoding
@Nullable @Optional @Input java.lang.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.
-
setDefaultCharacterEncoding
void setDefaultCharacterEncoding(@Nullable java.lang.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, thefile.encoding
property). For JVMs where this is the case, setting thefile.encoding
property viasetSystemProperties(java.util.Map)
or similar will have no effect as this value will be overridden by the value specified bygetDefaultCharacterEncoding()
.- Parameters:
defaultCharacterEncoding
- The default character encoding. Use null to usethis JVM's default charset
-
getMinHeapSize
@Nullable @Optional @Input java.lang.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.
-
setMinHeapSize
void setMinHeapSize(@Nullable java.lang.String heapSize)
Sets the minimum heap size for the process. Supports the units megabytes (e.g. "512m") and gigabytes (e.g. "1g").- Parameters:
heapSize
- The minimum heap size. Use null for the default minimum heap size.
-
getMaxHeapSize
@Nullable @Optional @Input java.lang.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.
-
setMaxHeapSize
void setMaxHeapSize(@Nullable java.lang.String heapSize)
Sets the maximum heap size for the process. Supports the units megabytes (e.g. "512m") and gigabytes (e.g. "1g").- Parameters:
heapSize
- The heap size. Use null for the default maximum heap size.
-
getJvmArgs
@Nullable @Optional @Input java.util.List<java.lang.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 immutable list of arguments. Returns an empty list if there are no arguments.
-
setJvmArgs
void setJvmArgs(@Nullable java.util.List<java.lang.String> 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.- Since:
- 4.0
-
setJvmArgs
void setJvmArgs(@Nullable java.lang.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.
-
jvmArgs
JavaForkOptions jvmArgs(java.lang.Iterable<?> arguments)
Adds some arguments to use to launch the JVM for the process.- Parameters:
arguments
- The arguments. Must not be null.- Returns:
- this
-
jvmArgs
JavaForkOptions jvmArgs(java.lang.Object... arguments)
Adds some arguments to use to launch the JVM for the process.- Parameters:
arguments
- The arguments.- Returns:
- this
-
getJvmArgumentProviders
java.util.List<CommandLineArgumentProvider> getJvmArgumentProviders()
Command line argument providers for the java process to fork.- Since:
- 4.6
-
getBootstrapClasspath
@Classpath 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.
-
setBootstrapClasspath
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.
-
bootstrapClasspath
JavaForkOptions bootstrapClasspath(java.lang.Object... classpath)
Adds the given values to the end of the bootstrap classpath for the process.- Parameters:
classpath
- The classpath.- Returns:
- this
-
getEnableAssertions
@Input boolean getEnableAssertions()
Returns true if assertions are enabled for the process.- Returns:
- true if assertions are enabled, false if disabled
-
setEnableAssertions
void setEnableAssertions(boolean enabled)
Enable or disable assertions for the process.- Parameters:
enabled
- true to enable assertions, false to disable.
-
getDebug
@Input boolean getDebug()
Determines whether debugging is enabled for the test process. When enabled —debug = true
— the process is started in a suspended state, listening on port 5005. You should disable parallel test execution when debugging and you will need to reattach the debugger occasionally if you use a non-zero value forTest.getForkEvery()
.Since Gradle 5.6, you can configure the port and other Java debug properties via
debugOptions(Action)
.- Returns:
- true when debugging is enabled, false to disable.
-
setDebug
void setDebug(boolean enabled)
Enable or disable debugging for the process. When enabled, the process is started suspended and listening on port 5005.The debug properties (e.g. the port number) can be configured in
debugOptions(Action)
.- Parameters:
enabled
- true to enable debugging, false to disable.
-
getDebugOptions
JavaDebugOptions getDebugOptions()
Returns the Java Debug Wire Protocol properties for the process. If enabled then the-agentlib:jdwp=...
will be appended to the JVM arguments with the configuration from the parameter.- Since:
- 5.6
-
debugOptions
void debugOptions(Action<JavaDebugOptions> action)
Configures Java Debug Wire Protocol properties for the process. IfsetDebug(boolean)
is enabled then the-agentlib:jdwp=...
will be appended to the JVM arguments with the configuration from the parameter.- Parameters:
action
- the Java debug configuration- Since:
- 5.6
-
getAllJvmArgs
@Internal java.util.List<java.lang.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 immutable list of arguments. Returns an empty list if there are no arguments.
-
setAllJvmArgs
void setAllJvmArgs(java.util.List<java.lang.String> 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.- Since:
- 4.0
-
setAllJvmArgs
void setAllJvmArgs(java.lang.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.
-
copyTo
JavaForkOptions copyTo(JavaForkOptions options)
Copies these options to the given options.- Parameters:
options
- The target options.- Returns:
- this
-
-