Class ProjectConfiguration


  • public class ProjectConfiguration
    extends java.lang.Object
    This class contains all public configuration info about the current project (not about the current OS/Arch/vendor etc) Instances of this class give hints to where real values should be contained from.
    • Constructor Detail

      • ProjectConfiguration

        public ProjectConfiguration​(java.lang.String mainClassName,
                                    java.lang.String classpath)
        Create a new project configuration.
        Parameters:
        mainClassName - the fully qualified class name that contains the main entry point
        classpath - the class path that is needed to compile the application
    • Method Detail

      • getGraalPath

        public java.nio.file.Path getGraalPath()
      • setGraalPath

        public void setGraalPath​(java.nio.file.Path path)
        Sets the path to the GraalVM installation folder.
        Parameters:
        path - the path to the GraalVM installation folder
      • setJavaStaticSdkVersion

        public void setJavaStaticSdkVersion​(java.lang.String javaStaticSdkVersion)
        Sets the Java static SDK version
        Parameters:
        javaStaticSdkVersion - the Java static SDK version
      • getJavaStaticSdkVersion

        public java.lang.String getJavaStaticSdkVersion()
      • setJavafxStaticSdkVersion

        public void setJavafxStaticSdkVersion​(java.lang.String javafxStaticSdkVersion)
        Sets the JavaFX static SDK version
        Parameters:
        javafxStaticSdkVersion - the JavaFX static SDK version
      • getJavafxStaticSdkVersion

        public java.lang.String getJavafxStaticSdkVersion()
      • isUsePrismSW

        public boolean isUsePrismSW()
      • setUsePrismSW

        public void setUsePrismSW​(boolean usePrismSW)
      • setVerbose

        public void setVerbose​(boolean verbose)
        Specify whether verbose output should be enabled. Passing a value of true will enable verbose output.
        Parameters:
        verbose - true to enable verbose output
      • isVerbose

        public boolean isVerbose()
      • setUsePrecompiledCode

        public void setUsePrecompiledCode​(boolean usePrecompiledCode)
      • isUsePrecompiledCode

        public boolean isUsePrecompiledCode()
      • getTargetTriplet

        public Triplet getTargetTriplet()
      • setTarget

        public void setTarget​(Triplet targetTriplet)
        Sets the target triplet
        Parameters:
        targetTriplet - the target triplet
      • getHostTriplet

        public Triplet getHostTriplet()
                               throws java.lang.IllegalArgumentException
        Retrieve the host triplet for this configuration. The host triplet is always the triplet for the current runtime, e.g. it should not be set (apart for testing)
        Returns:
        the Triplet for the current executing host
        Throws:
        java.lang.IllegalArgumentException - in case the current operating system is not supported
      • setHostTriplet

        public void setHostTriplet​(Triplet hostTriplet)
      • getBundlesList

        public java.util.List<java.lang.String> getBundlesList()
      • setBundlesList

        public void setBundlesList​(java.util.List<java.lang.String> bundlesList)
        Sets additional bundles
        Parameters:
        bundlesList - a list of classes that will be added to the default bundlesList list
      • setResourcesList

        public void setResourcesList​(java.util.List<java.lang.String> resourcesList)
        Set additional resources to be included
        Parameters:
        resourcesList - a list of resource patterns that will be included
      • getResourcesList

        public java.util.List<java.lang.String> getResourcesList()
      • getReflectionList

        public java.util.List<java.lang.String> getReflectionList()
      • setReflectionList

        public void setReflectionList​(java.util.List<java.lang.String> reflectionList)
        Sets additional lists
        Parameters:
        reflectionList - a list of classes that will be added to the default reflection list
      • getJniList

        public java.util.List<java.lang.String> getJniList()
      • setJniList

        public void setJniList​(java.util.List<java.lang.String> jniList)
        Sets additional lists
        Parameters:
        jniList - a list of classes that will be added to the default jni list
      • getCompilerArgs

        public java.util.List<java.lang.String> getCompilerArgs()
      • setCompilerArgs

        public void setCompilerArgs​(java.util.List<java.lang.String> compilerArgs)
        Sets additional lists
        Parameters:
        compilerArgs - a list of optional compiler arguments
      • getLinkerArgs

        public java.util.List<java.lang.String> getLinkerArgs()
      • setLinkerArgs

        public void setLinkerArgs​(java.util.List<java.lang.String> linkerArgs)
        Sets an additional list of linker arguments that will be added to the linker command "as is", without any form of validation on these arguments.
        Parameters:
        linkerArgs - a list of additional linker arguments.
      • setRuntimeArgs

        public void setRuntimeArgs​(java.util.List<java.lang.String> runtimeArgs)
        Sets additional lists
        Parameters:
        runtimeArgs - a list of optional runtime arguments
      • getRuntimeArgs

        public java.util.List<java.lang.String> getRuntimeArgs()
      • getAppId

        public java.lang.String getAppId()
      • setAppId

        public void setAppId​(java.lang.String appId)
        Sets the AppID. This acts as the application identifier in various platforms. For Android, this is the equivalent of 'package' name of the application.
        Parameters:
        appId - The application ID of the application.
      • getAppName

        public java.lang.String getAppName()
      • setAppName

        public void setAppName​(java.lang.String appName)
        Sets the app name
        Parameters:
        appName - the name of the application (e.g. demo)
      • getMainClassName

        public java.lang.String getMainClassName()
      • getClasspath

        public java.lang.String getClasspath()
      • setRemoteHostName

        public void setRemoteHostName​(java.lang.String remoteHostName)
        Set the host name for remote deploying, typically to an embedded system, providing it is reachable and SSH is enabled.
        Parameters:
        remoteHostName - the name of the remote host name
      • getRemoteHostName

        public java.lang.String getRemoteHostName()
      • setRemoteDir

        public void setRemoteDir​(java.lang.String remoteDir)
        Sets the directory where the native image will be deployed on the remote system, providing the remote host is reachable and SSH is enabled.
        Parameters:
        remoteDir - a directory
      • getRemoteDir

        public java.lang.String getRemoteDir()
      • setReleaseConfiguration

        public void setReleaseConfiguration​(ReleaseConfiguration releaseConfiguration)
        Sets some iOS and Android specific parameters that are required for the release of mobile apps
        Parameters:
        releaseConfiguration - release configuration
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object