Class NativeImageOptions
- java.lang.Object
-
- org.graalvm.buildtools.gradle.dsl.NativeImageOptions
-
public abstract class NativeImageOptions extends java.lang.Object
Class that declares native image options.
-
-
Constructor Summary
Constructors Constructor Description NativeImageOptions(org.gradle.api.model.ObjectFactory objectFactory, org.gradle.api.provider.ProviderFactory providers, org.gradle.jvm.toolchain.JavaToolchainService toolchains, java.lang.String defaultImageName)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description NativeImageOptions
buildArgs(java.lang.Iterable<?> buildArgs)
Adds arguments for the native-image invocation.NativeImageOptions
buildArgs(java.lang.Object... buildArgs)
Adds arguments for the native-image invocation.NativeImageOptions
classpath(java.lang.Object... paths)
Adds elements to the classpath for the native-image building.abstract org.gradle.api.provider.Property<java.lang.Boolean>
getAgent()
Gets the value which toggles the native-image-agent usage.abstract org.gradle.api.provider.ListProperty<java.lang.String>
getBuildArgs()
Returns the arguments for the native-image invocation.abstract org.gradle.api.file.ConfigurableFileCollection
getClasspath()
Returns the classpath for the native-image building.abstract org.gradle.api.file.ConfigurableFileCollection
getConfigurationFileDirectories()
Returns the list of configuration file directories (e.g resource-config.json, ...) which need to be passed to native-image.abstract org.gradle.api.provider.Property<java.lang.Boolean>
getDebug()
Gets the value which toggles native-image debug symbol output.abstract org.gradle.api.provider.Property<java.lang.Boolean>
getFallback()
abstract org.gradle.api.provider.Property<java.lang.String>
getImageName()
Gets the name of the native executable to be generated.abstract org.gradle.api.provider.Property<org.gradle.jvm.toolchain.JavaLauncher>
getJavaLauncher()
Returns the toolchain used to invoke native-image.abstract org.gradle.api.provider.ListProperty<java.lang.String>
getJvmArgs()
Returns the extra arguments to use when launching the JVM for the native-image building process.abstract org.gradle.api.provider.Property<java.lang.String>
getMainClass()
Returns the fully qualified name of the Main class to be executed.abstract NativeResourcesOptions
getResources()
abstract org.gradle.api.provider.ListProperty<java.lang.String>
getRuntimeArgs()
Returns the arguments to use when launching the built image.abstract org.gradle.api.provider.Property<java.lang.Boolean>
getSharedLibrary()
Gets the value which determines if shared library is being built.abstract org.gradle.api.provider.MapProperty<java.lang.String,java.lang.Object>
getSystemProperties()
Returns the system properties which will be used by the native-image builder process.abstract org.gradle.api.provider.Property<java.lang.Boolean>
getUseFatJar()
If set to true, this will build a fat jar of the image classpath instead of passing each jar individually to the classpath.abstract org.gradle.api.provider.Property<java.lang.Boolean>
getVerbose()
Gets the value which toggles native-image verbose output.NativeImageOptions
jvmArgs(java.lang.Iterable<?> arguments)
Adds some arguments to use when launching the JVM for the native-image building process.NativeImageOptions
jvmArgs(java.lang.Object... arguments)
Adds some arguments to use when launching the JVM for the native-image building process.static NativeImageOptions
register(org.gradle.api.Project project, java.lang.String extensionName)
void
resources(org.gradle.api.Action<? super NativeResourcesOptions> spec)
NativeImageOptions
runtimeArgs(java.lang.Iterable<?> arguments)
Adds some arguments to use when launching the built image.NativeImageOptions
runtimeArgs(java.lang.Object... arguments)
Adds some arguments to use when launching the built image.NativeImageOptions
systemProperties(java.util.Map<java.lang.String,?> properties)
Adds some system properties to be used by the native-image builder process.NativeImageOptions
systemProperty(java.lang.String name, java.lang.Object value)
Adds a system property to be used by the native-image builder process.
-
-
-
Method Detail
-
getImageName
@Input public abstract org.gradle.api.provider.Property<java.lang.String> getImageName()
Gets the name of the native executable to be generated.- Returns:
- The image name property.
-
getMainClass
@Input @Optional public abstract org.gradle.api.provider.Property<java.lang.String> getMainClass()
Returns the fully qualified name of the Main class to be executed.This does not need to be set if using an Executable Jar with a
Main-Class
attribute.- Returns:
- mainClass The main class.
-
getBuildArgs
@Input public abstract org.gradle.api.provider.ListProperty<java.lang.String> getBuildArgs()
Returns the arguments for the native-image invocation.- Returns:
- Arguments for the native-image invocation.
-
getSystemProperties
@Input public abstract org.gradle.api.provider.MapProperty<java.lang.String,java.lang.Object> getSystemProperties()
Returns the system properties which will be used by the native-image builder process.- Returns:
- The system properties. Returns an empty map when there are no system properties.
-
getClasspath
@InputFiles @Classpath public abstract org.gradle.api.file.ConfigurableFileCollection getClasspath()
Returns the classpath for the native-image building.- Returns:
- classpath The classpath for the native-image building.
-
getJvmArgs
@Input public abstract org.gradle.api.provider.ListProperty<java.lang.String> getJvmArgs()
Returns the extra arguments to use when launching the JVM for the native-image building process. Does not include system properties and the minimum/maximum heap size.- Returns:
- The arguments. Returns an empty list if there are no arguments.
-
getRuntimeArgs
@Input public abstract org.gradle.api.provider.ListProperty<java.lang.String> getRuntimeArgs()
Returns the arguments to use when launching the built image.- Returns:
- The arguments. Returns an empty list if there are no arguments.
-
getDebug
@Input public abstract org.gradle.api.provider.Property<java.lang.Boolean> getDebug()
Gets the value which toggles native-image debug symbol output.- Returns:
- Is debug enabled
-
getFallback
@Input public abstract org.gradle.api.provider.Property<java.lang.Boolean> getFallback()
- Returns:
- Whether to enable fallbacks (defaults to false).
-
getVerbose
@Input public abstract org.gradle.api.provider.Property<java.lang.Boolean> getVerbose()
Gets the value which toggles native-image verbose output.- Returns:
- Is verbose output
-
getAgent
@Input public abstract org.gradle.api.provider.Property<java.lang.Boolean> getAgent()
Gets the value which toggles the native-image-agent usage.- Returns:
- The value which toggles the native-image-agent usage.
-
getSharedLibrary
@Input public abstract org.gradle.api.provider.Property<java.lang.Boolean> getSharedLibrary()
Gets the value which determines if shared library is being built.- Returns:
- The value which determines if shared library is being built.
-
getJavaLauncher
public abstract org.gradle.api.provider.Property<org.gradle.jvm.toolchain.JavaLauncher> getJavaLauncher()
Returns the toolchain used to invoke native-image. Currently pointing to a Java launcher due to Gradle limitations.
-
getConfigurationFileDirectories
@InputFiles public abstract org.gradle.api.file.ConfigurableFileCollection getConfigurationFileDirectories()
Returns the list of configuration file directories (e.g resource-config.json, ...) which need to be passed to native-image.- Returns:
- a collection of directories
-
getResources
public abstract NativeResourcesOptions getResources()
-
resources
public void resources(org.gradle.api.Action<? super NativeResourcesOptions> spec)
-
register
public static NativeImageOptions register(org.gradle.api.Project project, java.lang.String extensionName)
-
buildArgs
public NativeImageOptions buildArgs(java.lang.Object... buildArgs)
Adds arguments for the native-image invocation.- Parameters:
buildArgs
- Arguments for the native-image invocation.- Returns:
- this
-
buildArgs
public NativeImageOptions buildArgs(java.lang.Iterable<?> buildArgs)
Adds arguments for the native-image invocation.- Parameters:
buildArgs
- Arguments for the native-image invocation.- Returns:
- this
-
systemProperties
public NativeImageOptions systemProperties(java.util.Map<java.lang.String,?> properties)
Adds some system properties to be used by the native-image builder process.- Parameters:
properties
- The system properties. Must not be null.- Returns:
- this
-
systemProperty
public NativeImageOptions systemProperty(java.lang.String name, java.lang.Object value)
Adds a system property to be used by the native-image builder process.- Parameters:
name
- The name of the propertyvalue
- The value for the property. May be null.- Returns:
- this
-
classpath
public NativeImageOptions classpath(java.lang.Object... paths)
Adds elements to the classpath for the native-image building.- Parameters:
paths
- The classpath elements.- Returns:
- this
-
jvmArgs
public NativeImageOptions jvmArgs(java.lang.Object... arguments)
Adds some arguments to use when launching the JVM for the native-image building process.- Parameters:
arguments
- The arguments.- Returns:
- this
-
jvmArgs
public NativeImageOptions jvmArgs(java.lang.Iterable<?> arguments)
Adds some arguments to use when launching the JVM for the native-image building process.- Parameters:
arguments
- The arguments. Must not be null.- Returns:
- this
-
runtimeArgs
public NativeImageOptions runtimeArgs(java.lang.Object... arguments)
Adds some arguments to use when launching the built image.- Parameters:
arguments
- The arguments.- Returns:
- this
-
runtimeArgs
public NativeImageOptions runtimeArgs(java.lang.Iterable<?> arguments)
Adds some arguments to use when launching the built image.- Parameters:
arguments
- The arguments. Must not be null.- Returns:
- this
-
getUseFatJar
@Input public abstract org.gradle.api.provider.Property<java.lang.Boolean> getUseFatJar()
If set to true, this will build a fat jar of the image classpath instead of passing each jar individually to the classpath. This option can be used in case the classpath is too long and that invoking native image fails, which can happen on Windows.- Returns:
- true if a fatjar should be used. Defaults to true for Windows, and false otherwise.
-
-