Class BaseNativeImageOptions
- java.lang.Object
-
- org.graalvm.buildtools.gradle.internal.BaseNativeImageOptions
-
- All Implemented Interfaces:
NativeImageCompileOptions
,NativeImageOptions
,NativeImageRuntimeOptions
,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.file.ProjectLayout layout, org.gradle.api.model.ObjectFactory objectFactory, org.gradle.api.provider.ProviderFactory providers, org.gradle.jvm.toolchain.JavaToolchainService toolchains, org.gradle.api.tasks.TaskContainer tasks, java.lang.String defaultImageName)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
agent(org.gradle.api.Action<? super DeprecatedAgentOptions> spec)
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 DeprecatedAgentOptions
getAgent()
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.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.MapProperty<java.lang.String,java.lang.Object>
getEnvironmentVariables()
Returns the environment variables which will be used by the native-image builder process.abstract org.gradle.api.provider.MapProperty<java.lang.Object,java.util.List<java.lang.String>>
getExcludeConfig()
Returns the MapProperty that contains information about configuration that should be excluded during image building.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 org.gradle.api.provider.Property<java.lang.Boolean>
getQuickBuild()
Gets the value which determines if image is being built in quick build mode.abstract NativeResourcesOptions
getResources()
abstract org.gradle.api.provider.Property<java.lang.Boolean>
getRichOutput()
Gets the value which determines if image is being built with rich output.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.NativeImageCompileOptions
getExcludeConfigArgs, getPgoInstrument, getPgoProfilesDirectory, getUseFatJar
-
Methods inherited from interface org.graalvm.buildtools.gradle.dsl.NativeImageOptions
asCompileOptions, getRequiredVersion
-
-
-
-
Constructor Detail
-
BaseNativeImageOptions
@Inject public BaseNativeImageOptions(java.lang.String name, org.gradle.api.file.ProjectLayout layout, org.gradle.api.model.ObjectFactory objectFactory, org.gradle.api.provider.ProviderFactory providers, org.gradle.jvm.toolchain.JavaToolchainService toolchains, org.gradle.api.tasks.TaskContainer tasks, java.lang.String defaultImageName)
-
-
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 interfaceNativeImageCompileOptions
- 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 interfaceNativeImageCompileOptions
- 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 interfaceNativeImageCompileOptions
- 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 interfaceNativeImageCompileOptions
- Returns:
- The system properties. Returns an empty map when there are no system properties.
-
getEnvironmentVariables
public abstract org.gradle.api.provider.MapProperty<java.lang.String,java.lang.Object> getEnvironmentVariables()
Returns the environment variables which will be used by the native-image builder process.- Specified by:
getEnvironmentVariables
in interfaceNativeImageCompileOptions
- Returns:
- the environment variables. Returns an empty map when there are no environment variables.
- Since:
- 0.9.14
-
getClasspath
@InputFiles @Classpath public abstract org.gradle.api.file.ConfigurableFileCollection getClasspath()
Returns the classpath for the native-image building.- Specified by:
getClasspath
in interfaceNativeImageCompileOptions
- 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 interfaceNativeImageCompileOptions
- 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 interfaceNativeImageRuntimeOptions
- 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 interfaceNativeImageCompileOptions
- Returns:
- Is debug enabled
-
getFallback
@Input public abstract org.gradle.api.provider.Property<java.lang.Boolean> getFallback()
- Specified by:
getFallback
in interfaceNativeImageCompileOptions
- 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 interfaceNativeImageCompileOptions
- Returns:
- Is verbose output
-
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 interfaceNativeImageCompileOptions
- Returns:
- The value which determines if shared library is being built.
-
getQuickBuild
@Input public abstract org.gradle.api.provider.Property<java.lang.Boolean> getQuickBuild()
Gets the value which determines if image is being built in quick build mode.- Specified by:
getQuickBuild
in interfaceNativeImageCompileOptions
- Returns:
- The value which determines if image is being built in quick build mode.
-
getRichOutput
@Input public abstract org.gradle.api.provider.Property<java.lang.Boolean> getRichOutput()
Gets the value which determines if image is being built with rich output.- Specified by:
getRichOutput
in interfaceNativeImageCompileOptions
- Returns:
- The value which determines if image is being built with rich output.
-
getJavaLauncher
@Optional 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 interfaceNativeImageCompileOptions
- Returns:
- the detected java launcher
-
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 interfaceNativeImageCompileOptions
- Returns:
- a collection of directories
-
getExcludeConfig
@Input public abstract org.gradle.api.provider.MapProperty<java.lang.Object,java.util.List<java.lang.String>> getExcludeConfig()
Returns the MapProperty that contains information about configuration that should be excluded during image building. It consists of dependency coordinates and a list of regular expressions that match resources that should be excluded.- Specified by:
getExcludeConfig
in interfaceNativeImageCompileOptions
- Returns:
- a map of filters for configuration exclusion
-
getResources
public abstract NativeResourcesOptions getResources()
- Specified by:
getResources
in interfaceNativeImageCompileOptions
-
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
-
getAgent
public abstract DeprecatedAgentOptions getAgent()
- Specified by:
getAgent
in interfaceNativeImageCompileOptions
-
agent
public void agent(org.gradle.api.Action<? super DeprecatedAgentOptions> spec)
- Specified by:
agent
in interfaceNativeImageOptions
-
-