Class 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.
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface org.gradle.api.Named

        org.gradle.api.Named.Namer
    • 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
    • Constructor Detail

      • BaseNativeImageOptions

        @Inject
        public 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 Detail

      • getName

        @Internal
        public java.lang.String getName()
        Specified by:
        getName in interface org.gradle.api.Named
        Specified by:
        getName in interface NativeImageOptions
      • 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 interface NativeImageOptions
        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 interface NativeImageOptions
        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 interface NativeImageOptions
        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 interface NativeImageOptions
        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 interface NativeImageOptions
        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 interface NativeImageOptions
        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 interface NativeImageOptions
        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 interface NativeImageOptions
        Returns:
        Is debug enabled
      • getFallback

        @Input
        public abstract org.gradle.api.provider.Property<java.lang.Boolean> getFallback()
        Specified by:
        getFallback in interface NativeImageOptions
        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 interface NativeImageOptions
        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 interface NativeImageOptions
        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 interface NativeImageOptions
        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 interface NativeImageOptions
      • 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 interface NativeImageOptions
        Returns:
        a collection of directories
      • buildArgs

        public BaseNativeImageOptions buildArgs​(java.lang.Object... buildArgs)
        Adds arguments for the native-image invocation.
        Specified by:
        buildArgs in interface NativeImageOptions
        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 interface NativeImageOptions
        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 interface NativeImageOptions
        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 interface NativeImageOptions
        Parameters:
        name - The name of the property
        value - 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 interface NativeImageOptions
        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 interface NativeImageOptions
        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 interface NativeImageOptions
        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 interface NativeImageOptions
        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 interface NativeImageOptions
        Parameters:
        arguments - The arguments. Must not be null.
        Returns:
        this