Class BaseNativeImageOptions
- java.lang.Object
-
- org.graalvm.buildtools.gradle.internal.BaseNativeImageOptions
-
- All Implemented Interfaces:
NativeImageOptions
,org.gradle.api.Named
public abstract class BaseNativeImageOptions extends java.lang.Object implements NativeImageOptions
Class that declares native image options.
-
-
Constructor Summary
Constructors Constructor Description BaseNativeImageOptions(java.lang.String name, 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 Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description BaseNativeImageOptions
buildArgs(java.lang.Iterable<?> buildArgs)
Adds arguments for the native-image invocation.BaseNativeImageOptions
buildArgs(java.lang.Object... buildArgs)
Adds arguments for the native-image invocation.BaseNativeImageOptions
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.java.lang.String
getName()
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.BaseNativeImageOptions
jvmArgs(java.lang.Iterable<?> arguments)
Adds some arguments to use when launching the JVM for the native-image building process.BaseNativeImageOptions
jvmArgs(java.lang.Object... arguments)
Adds some arguments to use when launching the JVM for the native-image building process.void
resources(org.gradle.api.Action<? super NativeResourcesOptions> spec)
BaseNativeImageOptions
runtimeArgs(java.lang.Iterable<?> arguments)
Adds some arguments to use when launching the built image.BaseNativeImageOptions
runtimeArgs(java.lang.Object... arguments)
Adds some arguments to use when launching the built image.BaseNativeImageOptions
systemProperties(java.util.Map<java.lang.String,?> properties)
Adds some system properties to be used by the native-image builder process.BaseNativeImageOptions
systemProperty(java.lang.String name, java.lang.Object value)
Adds a system property to be used by the native-image builder process.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.graalvm.buildtools.gradle.dsl.NativeImageOptions
getUseFatJar
-
-
-
-
Method Detail
-
getName
@Internal public java.lang.String getName()
- Specified by:
getName
in interfaceorg.gradle.api.Named
- Specified by:
getName
in interfaceNativeImageOptions
-
getImageName
@Input public abstract org.gradle.api.provider.Property<java.lang.String> getImageName()
Gets the name of the native executable to be generated.- Specified by:
getImageName
in interfaceNativeImageOptions
- 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.- Specified by:
getMainClass
in interfaceNativeImageOptions
- 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.- Specified by:
getBuildArgs
in interfaceNativeImageOptions
- 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.- Specified by:
getSystemProperties
in interfaceNativeImageOptions
- 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.- Specified by:
getClasspath
in interfaceNativeImageOptions
- 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.- Specified by:
getJvmArgs
in interfaceNativeImageOptions
- 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.- Specified by:
getRuntimeArgs
in interfaceNativeImageOptions
- 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.- Specified by:
getDebug
in interfaceNativeImageOptions
- Returns:
- Is debug enabled
-
getFallback
@Input public abstract org.gradle.api.provider.Property<java.lang.Boolean> getFallback()
- Specified by:
getFallback
in interfaceNativeImageOptions
- 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.- Specified by:
getVerbose
in interfaceNativeImageOptions
- 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.- Specified by:
getAgent
in interfaceNativeImageOptions
- 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.- Specified by:
getSharedLibrary
in interfaceNativeImageOptions
- 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.- Specified by:
getJavaLauncher
in interfaceNativeImageOptions
-
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.- Specified by:
getConfigurationFileDirectories
in interfaceNativeImageOptions
- Returns:
- a collection of directories
-
getResources
public abstract NativeResourcesOptions getResources()
- Specified by:
getResources
in interfaceNativeImageOptions
-
resources
public void resources(org.gradle.api.Action<? super NativeResourcesOptions> spec)
- Specified by:
resources
in interfaceNativeImageOptions
-
buildArgs
public BaseNativeImageOptions buildArgs(java.lang.Object... buildArgs)
Adds arguments for the native-image invocation.- Specified by:
buildArgs
in interfaceNativeImageOptions
- Parameters:
buildArgs
- Arguments for the native-image invocation.- Returns:
- this
-
buildArgs
public BaseNativeImageOptions buildArgs(java.lang.Iterable<?> buildArgs)
Adds arguments for the native-image invocation.- Specified by:
buildArgs
in interfaceNativeImageOptions
- Parameters:
buildArgs
- Arguments for the native-image invocation.- Returns:
- this
-
systemProperties
public BaseNativeImageOptions systemProperties(java.util.Map<java.lang.String,?> properties)
Adds some system properties to be used by the native-image builder process.- Specified by:
systemProperties
in interfaceNativeImageOptions
- Parameters:
properties
- The system properties. Must not be null.- Returns:
- this
-
systemProperty
public BaseNativeImageOptions systemProperty(java.lang.String name, java.lang.Object value)
Adds a system property to be used by the native-image builder process.- Specified by:
systemProperty
in interfaceNativeImageOptions
- Parameters:
name
- The name of the propertyvalue
- The value for the property. May be null.- Returns:
- this
-
classpath
public BaseNativeImageOptions classpath(java.lang.Object... paths)
Adds elements to the classpath for the native-image building.- Specified by:
classpath
in interfaceNativeImageOptions
- Parameters:
paths
- The classpath elements.- Returns:
- this
-
jvmArgs
public BaseNativeImageOptions jvmArgs(java.lang.Object... arguments)
Adds some arguments to use when launching the JVM for the native-image building process.- Specified by:
jvmArgs
in interfaceNativeImageOptions
- Parameters:
arguments
- The arguments.- Returns:
- this
-
jvmArgs
public BaseNativeImageOptions jvmArgs(java.lang.Iterable<?> arguments)
Adds some arguments to use when launching the JVM for the native-image building process.- Specified by:
jvmArgs
in interfaceNativeImageOptions
- Parameters:
arguments
- The arguments. Must not be null.- Returns:
- this
-
runtimeArgs
public BaseNativeImageOptions runtimeArgs(java.lang.Object... arguments)
Adds some arguments to use when launching the built image.- Specified by:
runtimeArgs
in interfaceNativeImageOptions
- Parameters:
arguments
- The arguments.- Returns:
- this
-
runtimeArgs
public BaseNativeImageOptions runtimeArgs(java.lang.Iterable<?> arguments)
Adds some arguments to use when launching the built image.- Specified by:
runtimeArgs
in interfaceNativeImageOptions
- Parameters:
arguments
- The arguments. Must not be null.- Returns:
- this
-
-