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>
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
-
-