Interface NativeImageCompileOptions
-
- All Known Subinterfaces:
NativeImageOptions
- All Known Implementing Classes:
BaseNativeImageOptions
,DelegatingCompileOptions
public interface NativeImageCompileOptions
Configuration options for compiling a native binary.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description DeprecatedAgentOptions
getAgent()
org.gradle.api.provider.ListProperty<java.lang.String>
getBuildArgs()
Returns the arguments for the native-image invocation.org.gradle.api.file.ConfigurableFileCollection
getClasspath()
Returns the classpath for the native-image building.org.gradle.api.file.ConfigurableFileCollection
getConfigurationFileDirectories()
Returns the list of configuration file directories (e.g.org.gradle.api.provider.Property<java.lang.Boolean>
getDebug()
Gets the value which toggles native-image debug symbol output.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.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.org.gradle.api.provider.ListProperty<java.lang.String>
getExcludeConfigArgs()
org.gradle.api.provider.Property<java.lang.Boolean>
getFallback()
org.gradle.api.provider.Property<java.lang.String>
getImageName()
Gets the name of the native executable to be generated.org.gradle.api.provider.Property<org.gradle.jvm.toolchain.JavaLauncher>
getJavaLauncher()
Returns the toolchain used to invoke native-image.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.org.gradle.api.provider.Property<java.lang.String>
getMainClass()
Returns the fully qualified name of the Main class to be executed.org.gradle.api.provider.Property<java.lang.Boolean>
getPgoInstrument()
When set to true, the compiled binaries will be generated with PGO instrumentation support.org.gradle.api.file.DirectoryProperty
getPgoProfilesDirectory()
org.gradle.api.provider.Property<java.lang.Boolean>
getQuickBuild()
Gets the value which determines if image is being built in quick build mode.NativeResourcesOptions
getResources()
org.gradle.api.provider.Property<java.lang.Boolean>
getRichOutput()
Gets the value which determines if image is being built with rich output.org.gradle.api.provider.Property<java.lang.Boolean>
getSharedLibrary()
Gets the value which determines if shared library is being built.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.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.org.gradle.api.provider.Property<java.lang.Boolean>
getVerbose()
Gets the value which toggles native-image verbose output.
-
-
-
Method Detail
-
getMainClass
@Input @Optional 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 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 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.
-
getEnvironmentVariables
@Input 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.- Returns:
- the environment variables. Returns an empty map when there are no environment variables.
- Since:
- 0.9.14
-
getClasspath
@InputFiles @Classpath 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 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.
-
getDebug
@Input 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 org.gradle.api.provider.Property<java.lang.Boolean> getFallback()
- Returns:
- Whether to enable fallbacks (defaults to false).
-
getVerbose
@Input org.gradle.api.provider.Property<java.lang.Boolean> getVerbose()
Gets the value which toggles native-image verbose output.- Returns:
- Is verbose output
-
getSharedLibrary
@Input 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.
-
getQuickBuild
@Input org.gradle.api.provider.Property<java.lang.Boolean> getQuickBuild()
Gets the value which determines if image is being built in quick build mode.- Returns:
- The value which determines if image is being built in quick build mode.
-
getRichOutput
@Input org.gradle.api.provider.Property<java.lang.Boolean> getRichOutput()
Gets the value which determines if image is being built with rich output.- Returns:
- The value which determines if image is being built with rich output.
-
getExcludeConfig
@Input 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 a dependency coordinates and a list of regular expressions that match resources that should be excluded as a value.- Returns:
- a map of filters for configuration exclusion
-
getResources
NativeResourcesOptions getResources()
-
getConfigurationFileDirectories
@InputFiles 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
-
getExcludeConfigArgs
@Input org.gradle.api.provider.ListProperty<java.lang.String> getExcludeConfigArgs()
-
getImageName
@Input org.gradle.api.provider.Property<java.lang.String> getImageName()
Gets the name of the native executable to be generated.- Returns:
- The image name property.
-
getJavaLauncher
@Optional 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.- Returns:
- the detected java launcher
-
getUseFatJar
@Input 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.
-
getAgent
DeprecatedAgentOptions getAgent()
-
getPgoInstrument
@Input org.gradle.api.provider.Property<java.lang.Boolean> getPgoInstrument()
When set to true, the compiled binaries will be generated with PGO instrumentation support.- Returns:
- the PGO instrumentation flag
-
getPgoProfilesDirectory
@InputDirectory @PathSensitive(NONE) @Optional org.gradle.api.file.DirectoryProperty getPgoProfilesDirectory()
-
-