### Example Native Install Task Configuration Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/MANIFEST.txt Demonstrates the configuration for the nativeInstall task, which is used to install the native application onto a target device. ```gradle tasks.named('nativeInstall', NativeInstallTask) { // Configuration for installing the application on a device // For example, specifying the target device IP address or identifier targetDevice = "192.168.1.100" } ``` -------------------------------- ### Development Workflow: Initial Setup and Profiling Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-tasks.md Initial setup for development, including agent profiling and running with debug arguments. ```bash ./gradlew nativeRunAgent --args="--debug" ``` -------------------------------- ### Example Command-Line Execution Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/MANIFEST.txt Provides examples of how to execute GluonFX Gradle tasks from the command line. ```bash ./gradlew nativeBuild ./gradlew nativePackage -PtargetPlatform=android ./gradlew nativeRun --targetDevice=emulator-5554 ``` -------------------------------- ### GraalVM Installation and Verification Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/quick-reference.md Set up your environment by installing GraalVM and configuring the GRAALVM_HOME environment variable. Verify the installation by checking the Java version. ```bash # Download and install GraalVM export GRAALVM_HOME=/opt/graalvm-jdk17.0.5+1 # Verify $GRAALVM_HOME/bin/java -version ``` -------------------------------- ### Install Platform Development Tools (Linux) Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/quick-reference.md Install necessary build tools on Linux to resolve 'Linking failed' errors. This includes essential build utilities and zlib development libraries. ```bash # Linux sudo apt-get install build-essential zlib1g-dev ``` -------------------------------- ### Mobile App Distribution (iOS) Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-tasks.md Use these commands to build, package, and install your iOS application. This process includes compiling and linking native code, creating an IPA package, and installing it on a simulator or device. ```bash ./gradlew nativeBuild nativePackage nativeInstall ``` -------------------------------- ### Install on Device Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/quick-reference.md Run the `nativeInstall` task to deploy your native application to a target device. ```bash # Install on device ./gradlew nativeInstall ``` -------------------------------- ### Mobile App Distribution (Android) Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-tasks.md Use these commands to build, package, and install your Android application. This involves a standard Gradle build, native code compilation, APK packaging, and installation on a device or emulator. ```bash ./gradlew build nativeBuild nativePackage nativeInstall ``` -------------------------------- ### Invoke nativeInstall Task Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-tasks.md Installs or deploys the packaged application to a device or system. ```bash ./gradlew nativeInstall ``` -------------------------------- ### Install Platform Development Tools (macOS) Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/quick-reference.md Install Xcode command-line tools on macOS to resolve 'Linking failed' errors. This provides the necessary linking and build utilities. ```bash # macOS (Xcode) xcode-select --install ``` -------------------------------- ### iOS Release Configuration Example Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-release-configuration.md Configure general, bundle, and signing settings for an iOS release build. ```gradle gluonfx { release { description = "Mobile application for iOS" version = "1.0.0" bundleName = "MyApp" bundleVersion = "1" bundleShortVersion = "1.0.0" providedSigningIdentity = "iPhone Developer: John Doe" providedProvisioningProfile = "iOS Team Provisioning Profile" } } ``` -------------------------------- ### Package and Install Native Application Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/README.md Use the 'nativePackage' task to create a distributable package (IPA for iOS, APK for Android) and 'nativeInstall' to install the generated package or binary. Note that 'nativeInstall' is currently intended for Android and Linux-AArch64. ```bash ./gradlew nativePackage ``` ```bash ./gradlew nativeInstall ``` -------------------------------- ### Android Release Configuration Example Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-release-configuration.md Configure general, app label, versioning, and keystore/signing settings for an Android release build. ```gradle gluonfx { release { description = "Mobile application for Android" vendor = "ACME Inc." version = "1.0.0" appLabel = "My Android App" versionCode = "1" versionName = "1.0.0" providedKeyStorePath = "/home/user/.android/my-release-key.jks" providedKeyStorePassword = "storepass" providedKeyAlias = "my-key-alias" providedKeyAliasPassword = "keypass" } } ``` -------------------------------- ### macOS Release Configuration Example Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-release-configuration.md Configure general, macOS-specific, bundle, and signing settings for a macOS release build. ```gradle gluonfx { release { // General description = "A professional desktop application" vendor = "ACME Corporation" version = "2.1.0" // macOS specific macAppStore = false macAppCategory = "public.app-category.business" macSigningUserName = "TEAMID1234" // Bundle settings bundleName = "ACME Tools" bundleVersion = "2" bundleShortVersion = "2.1.0" // Signing providedSigningIdentity = "Developer ID Application: ACME Corp" } } ``` -------------------------------- ### Plugin Configuration Example Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/plugin-entry-point.md Configure the GluonFX extension with target platform and verbosity settings. This snippet shows basic configuration options for the plugin. ```gradle gluonfx { target = "ios" verbose = true // ... more configuration } ``` -------------------------------- ### Get Description Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-release-configuration.md Retrieves the short description of the application. ```java public String getDescription() ``` -------------------------------- ### Configure GraalVM Home Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/quick-reference.md Specify the GraalVM installation directory when the plugin cannot find it automatically. This is useful for troubleshooting 'GraalVM installation directory not found' errors. ```gradle gluonfx { graalvmHome = "/path/to/graalvm" } ``` -------------------------------- ### getDescription / setDescription Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-release-configuration.md Gets or sets the application description. ```APIDOC ## getDescription() / setDescription(String description) ### Description App description. ### Method GET/SET ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **description** (String) - The application description. ### Response #### Success Response (200) - **description** (String) - The application description. ### Error Handling None explicitly documented. ``` -------------------------------- ### Example Native Build Task Configuration Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/MANIFEST.txt Demonstrates how to configure and execute native build tasks within the GluonFX Gradle plugin. This includes setting up the nativeBuild task and its dependencies. ```gradle tasks.named('nativeBuild', NativeBuildTask) { // Task-specific configuration // For example, setting specific JVM arguments for compilation jvmArgs = ["--enable-preview"] } // Example of task dependencies nativeBuild.dependsOn nativeCompile, nativeLink ``` -------------------------------- ### Example Native Package Task Configuration Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/MANIFEST.txt Illustrates the configuration for the nativePackage task, used for creating distribution packages of the native application. ```gradle tasks.named('nativePackage', NativePackageTask) { // Configuration for packaging the application // For example, setting the package name or version packageName = "MyAwesomeApp" packageVersion = "1.0.0" } ``` -------------------------------- ### Minimal GluonFX Plugin Application Example Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/plugin-entry-point.md A minimal Gradle build script demonstrating the application of the GluonFX plugin along with the Java and Application plugins. It configures the main class and the GluonFX target. ```gradle plugins { id 'java' id 'application' id 'com.gluonhq.gluonfx-gradle-plugin' version '1.0.28' } application { mainClass = 'com.example.MyApplication' } gluonfx { target = "host" } ``` -------------------------------- ### Setting GRAALVM_HOME Environment Variable (Windows) Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/configuration-reference.md Example of setting the GRAALVM_HOME environment variable and running the native compile task on Windows. ```bat # Windows set GRAALVM_HOME=C:\graalvm-jdk17.0.5+1 gradlew.bat nativeCompile ``` -------------------------------- ### Dependency Notation Example Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-attach-configuration.md Illustrates the dependency notation for a specific Attach service and version on iOS, including the automatic 'util' artifact. ```text com.gluonhq:lifecycle:6.0.0:ios com.gluonhq:util:6.0.0:ios ``` -------------------------------- ### Get Version Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-release-configuration.md Retrieves the application version number. ```java public String getVersion() ``` -------------------------------- ### Example GluonFX Gradle Plugin Configuration Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/MANIFEST.txt This snippet shows a typical configuration block for the GluonFX Gradle plugin in a build.gradle file. It includes settings for the main gluonfx block, release configuration, and attach configuration. ```gradle gluonfx { // ClientExtension configuration targetPlatform = "desktop" graalvmHome = "/path/to/graalvm" javaHome = "/path/to/jdk" // ... other ClientExtension options release { // ReleaseConfiguration configuration macOsSignApp = true macOsApplicationCategory = "public.app-category.utilities" // ... other ReleaseConfiguration options } attachConfig { // AttachConfiguration configuration version = "4.15.0" // ... other AttachConfiguration options } } ``` -------------------------------- ### iOS Application Build Commands Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/README.md Common Gradle commands for building, packaging, and installing an iOS application using the GluonFX plugin. ```bash ./gradlew nativeBuild ./gradlew nativePackage ./gradlew nativeInstall ``` -------------------------------- ### Setting GRAALVM_HOME Environment Variable (Linux/macOS) Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/configuration-reference.md Example of setting the GRAALVM_HOME environment variable and running the native compile task on Linux or macOS. ```bash # Linux/macOS export GRAALVM_HOME=/opt/graalvm-jdk17.0.5+1 ./gradlew nativeCompile ``` -------------------------------- ### Error Handling: Missing Version Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-attach-configuration.md Example of registering services without specifying the 'version', showing the resulting error and the required solution. ```gradle attachConfig { services "lifecycle" // No version set } ``` ```text Attach version must be specified! ``` -------------------------------- ### AttachService Usage Example Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/types.md Configures GluonFX attach services by specifying a version and listing desired services like 'battery', 'position', and 'connectivity'. ```gradle gluonfx { attachConfig { version = "6.0.0" services "battery", "position", "connectivity" } } ``` -------------------------------- ### Configure Remote Directory in Gradle Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-client-extension.md Example of setting the remote directory for deployment in the GluonFX Gradle configuration. ```gradle gluonfx { remoteDir = "/opt/myapp" } ``` -------------------------------- ### Setting Java Home in local.properties Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/configuration-reference.md Alternative method to specify the Java home directory, which can be a GraalVM installation, within the local.properties file. ```properties # local.properties org.gradle.java.home=/path/to/graalvm ``` -------------------------------- ### Configure Remote Installation for Embedded Systems Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-tasks.md Configures remote deployment settings for ARM-based embedded Linux systems using SSH. ```gradle gluonfx { remoteHostName = "192.168.1.100" remoteDir = "/opt/myapp" } ``` -------------------------------- ### Complete GluonFX Gradle Build File Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/plugin-entry-point.md A comprehensive example of a Gradle build file demonstrating the integration of the GluonFX plugin with JavaFX, application settings, and detailed plugin configuration. Includes compiler arguments and attach/release configurations. ```gradle plugins { id 'java' id 'application' id 'org.openjfx.javafxmod' version '0.1.0' id 'com.gluonhq.gluonfx-gradle-plugin' version '1.0.28' } repositories { mavenCentral() } application { mainClass = 'com.example.javafxapp.HelloFX' } javafx { version = "21" modules = ['javafx.controls', 'javafx.fxml'] } gluonfx { target = "host" verbose = false graalvmHome = System.getenv("GRAALVM_HOME") compilerArgs = [ "--enable-url-protocols=https", "-Ob" ] attachConfig { version = "6.0.0" services "lifecycle", "display" } release { version = "1.0.0" vendor = "Example Corp" } } dependencies { implementation 'org.openjfx:javafx-controls:21' implementation 'org.openjfx:javafx-fxml:21' } ``` -------------------------------- ### Get GraalVM Home Path Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-client-extension.md Retrieves the path to the GraalVM installation directory. Defaults to the GRAALVM_HOME environment variable. ```java public String getGraalvmHome() ``` -------------------------------- ### Set GraalVM Home Path Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-client-extension.md Sets the path to the GraalVM installation directory. This is used for GraalVM configuration. ```java public void setGraalvmHome(String graalvmHome) ``` -------------------------------- ### Integrate GluonFX Plugin with Application Plugin Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/plugin-entry-point.md Example demonstrating the integration of the GluonFX plugin with the Java and Application plugins. The Application plugin is required for the `nativeRunAgent` task to function correctly. ```gradle plugins { id 'java' id 'application' // Required for nativeRunAgent id 'com.gluonhq.gluonfx-gradle-plugin' } application { mainClass = 'com.example.App' } ``` -------------------------------- ### Get Release Configuration Instance Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-client-extension.md Accessor method to retrieve the ReleaseConfiguration instance for platform-specific release settings. ```java public ReleaseConfiguration getReleaseConfiguration() ``` -------------------------------- ### Configure Linker Arguments for Native Link Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-tasks.md Specify linker arguments to be used during the native image linking phase. Examples include math libraries and GNU linker optimizations. ```gradle gluonfx { linkerArgs = [ "-lm", // Math library (Linux) "-lpthread", // POSIX threads "-Wl,--no-as-needed" // GNU linker optimization ] } ``` -------------------------------- ### Development Workflow: Compile and Link Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-tasks.md Steps for compiling the native image with configuration, linking, and testing the application. ```bash ./gradlew nativeCompile ``` ```bash ./gradlew nativeLink nativeRun ``` -------------------------------- ### AttachServiceDefinition Usage Example Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/types.md Configures specific Attach services within the GluonFX block, allowing for version overrides for individual services like 'position'. ```gradle gluonfx { attachConfig { version = "6.0.0" services { lifecycle position { version = "6.0.1" // Override version } } } } ``` -------------------------------- ### Complete Build and Run Workflow (Desktop) Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-tasks.md A comprehensive workflow for cleaning, building, and running the native application on desktop platforms. ```bash ./gradlew clean build nativeBuild nativeRun ``` -------------------------------- ### Dependency Injection with ObjectFactory Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/plugin-entry-point.md Example of constructor injection for ObjectFactory in the GluonFX plugin. This allows the plugin to create managed objects and leverage Gradle's property system. ```java @Inject public GluonFXPlugin(ObjectFactory objectFactory) { this.objectFactory = objectFactory; } ``` -------------------------------- ### Error Handling: Invalid Service Name Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-attach-configuration.md Example of registering an invalid service name, demonstrating the resulting error message and the recommended solution. ```gradle attachConfig { version = "6.0.0" services "invalid-service" } ``` ```text ERROR: Could not determine Attach service for name 'invalid-service'. The following services are available: accelerometer, audio, ... ERROR: Invalid name for Attach service: invalid-service ``` -------------------------------- ### Get Vendor Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-release-configuration.md Retrieves the vendor name for the application. ```java public String getVendor() ``` -------------------------------- ### Desktop Application Build Commands Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/README.md Common Gradle commands for building and running a desktop application using the GluonFX plugin. ```bash ./gradlew nativeRunAgent ./gradlew nativeBuild ./gradlew nativeRun ``` -------------------------------- ### Set Package Type for macOS Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-release-configuration.md Configure the type of package bundle to generate on macOS. Possible values include 'pkg' for an installer, 'dmg' for a disk image, or null for the default .app bundle. ```gradle gluonfx { release { packageType = "dmg" } } ``` -------------------------------- ### getProvidedKeyStorePassword / setProvidedKeyStorePassword Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-release-configuration.md Gets or sets the password for the Android keystore. ```APIDOC ## getProvidedKeyStorePassword() / setProvidedKeyStorePassword(String providedKeyStorePassword) ### Description Keystore password. ### Method GET/SET ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **providedKeyStorePassword** (String) - The password for the Android keystore. ### Response #### Success Response (200) - **providedKeyStorePassword** (String) - The password for the Android keystore. ### Error Handling None explicitly documented. ``` -------------------------------- ### getAppLabel / setAppLabel Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-release-configuration.md Gets or sets the Android application label. ```APIDOC ## getAppLabel() / setAppLabel(String appLabel) ### Description Android app label. ### Method GET/SET ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **appLabel** (String) - The Android application label. ### Response #### Success Response (200) - **appLabel** (String) - The Android application label. ### Error Handling None explicitly documented. ``` -------------------------------- ### Package for Distribution Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/quick-reference.md Use the `nativePackage` task to prepare your native application for distribution. ```bash # Package for distribution ./gradlew nativePackage ``` -------------------------------- ### getVersion / setVersion Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-release-configuration.md Gets or sets the user-visible version of the application. ```APIDOC ## getVersion() / setVersion(String version) ### Description User-visible version. ### Method GET/SET ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **version** (String) - The user-visible version of the application. ### Response #### Success Response (200) - **version** (String) - The user-visible version of the application. ### Error Handling None explicitly documented. ``` -------------------------------- ### getVendor / setVendor Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-release-configuration.md Gets or sets the vendor or company name. ```APIDOC ## getVendor() / setVendor(String vendor) ### Description Vendor/company name. ### Method GET/SET ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **vendor** (String) - The vendor or company name. ### Response #### Success Response (200) - **vendor** (String) - The vendor or company name. ### Error Handling None explicitly documented. ``` -------------------------------- ### Full Build Pipeline Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/quick-reference.md Execute the complete pipeline from cleaning the project to building and running the native application. ```bash # Full pipeline from scratch ./gradlew clean build nativeRunAgent nativeBuild nativeRun ``` -------------------------------- ### getProvidedKeyStorePath / setProvidedKeyStorePath Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-release-configuration.md Gets or sets the path to the Android keystore file. ```APIDOC ## getProvidedKeyStorePath() / setProvidedKeyStorePath(String providedKeyStorePath) ### Description Android keystore path. ### Method GET/SET ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **providedKeyStorePath** (String) - The path to the Android keystore file. ### Response #### Success Response (200) - **providedKeyStorePath** (String) - The path to the Android keystore file. ### Error Handling None explicitly documented. ``` -------------------------------- ### getVersionName / setVersionName Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-release-configuration.md Gets or sets the Android application version name. ```APIDOC ## getVersionName() / setVersionName(String versionName) ### Description Android version name. ### Method GET/SET ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **versionName** (String) - The Android application version name. ### Response #### Success Response (200) - **versionName** (String) - The Android application version name. ### Error Handling None explicitly documented. ``` -------------------------------- ### getVersionCode / setVersionCode Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-release-configuration.md Gets or sets the Android application version code. ```APIDOC ## getVersionCode() / setVersionCode(String versionCode) ### Description Android version code. ### Method GET/SET ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **versionCode** (String) - The Android application version code. ### Response #### Success Response (200) - **versionCode** (String) - The Android application version code. ### Error Handling None explicitly documented. ``` -------------------------------- ### Desktop Configuration with Attach Services Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/quick-reference.md Configure the GluonFX plugin for a desktop target, including compiler arguments and attach services like lifecycle and display. ```gradle gluonfx { target = "host" compilerArgs = [ "--enable-url-protocols=https" ] attachConfig { version = "6.0.0" services "lifecycle", "display" } release { version = "1.0.0" vendor = "My Company" } } ``` -------------------------------- ### Build Native Image with Wrapper Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/quick-reference.md Use the Gradle wrapper to execute the native build task. ```bash ./gradlew nativeBuild ``` -------------------------------- ### getSimulatorDevice / setSimulatorDevice Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-release-configuration.md Gets or sets the target iOS simulator device. ```APIDOC ## getSimulatorDevice() / setSimulatorDevice(String simulatorDevice) ### Description iOS simulator device. ### Method GET/SET ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **simulatorDevice** (String) - The target iOS simulator device (e.g., 'iPhone 14'). ### Response #### Success Response (200) - **simulatorDevice** (String) - The target iOS simulator device. ### Error Handling None explicitly documented. ``` -------------------------------- ### getProvidedSigningIdentity / setProvidedSigningIdentity Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-release-configuration.md Gets or sets the code signing identity certificate. ```APIDOC ## getProvidedSigningIdentity() / setProvidedSigningIdentity(String providedSigningIdentity) ### Description Code signing certificate. ### Method GET/SET ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **providedSigningIdentity** (String) - The code signing certificate identity. ### Response #### Success Response (200) - **providedSigningIdentity** (String) - The code signing certificate identity. ### Error Handling None explicitly documented. ``` -------------------------------- ### getBundleName / setBundleName Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-release-configuration.md Gets or sets the bundle display name for the application. ```APIDOC ## getBundleName() / setBundleName(String bundleName) ### Description Bundle display name. ### Method GET/SET ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **bundleName** (String) - The bundle display name. ### Response #### Success Response (200) - **bundleName** (String) - The bundle display name. ### Error Handling None explicitly documented. ``` -------------------------------- ### getMacSigningUserName / setMacSigningUserName Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-release-configuration.md Gets or sets the macOS signing identity username. ```APIDOC ## getMacSigningUserName() / setMacSigningUserName(String macSigningUserName) ### Description macOS signing identity. ### Method GET/SET ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **macSigningUserName** (String) - The macOS signing identity username. ### Response #### Success Response (200) - **macSigningUserName** (String) - The macOS signing identity username. ### Error Handling None explicitly documented. ``` -------------------------------- ### Manual Execution of Native Application Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-tasks.md Directly executes the native application binary after it has been built. ```bash build/gluonfx/$hostPlatform/$AppName/$AppName [arguments] ``` -------------------------------- ### ReleaseConfiguration.toSubstrate() Method Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/types.md Converts Gradle plugin configuration to the Substrate model's ReleaseConfiguration. Returns a new instance mapped from the plugin's configuration. ```java com.gluonhq.substrate.model.ReleaseConfiguration toSubstrate() Returns a new `ReleaseConfiguration` instance mapped from the Gradle plugin's configuration. This is used internally during task execution to communicate settings to the native-image compiler. ``` -------------------------------- ### getProvidedProvisioningProfile / setProvidedProvisioningProfile Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-release-configuration.md Gets or sets the provisioning profile name for iOS development. ```APIDOC ## getProvidedProvisioningProfile() / setProvidedProvisioningProfile(String providedProvisioningProfile) ### Description Provisioning profile name. ### Method GET/SET ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **providedProvisioningProfile** (String) - The provisioning profile name. ### Response #### Success Response (200) - **providedProvisioningProfile** (String) - The provisioning profile name. ### Error Handling None explicitly documented. ``` -------------------------------- ### Run Native Build and Execution Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/README.md Combine 'nativeBuild' (which includes 'nativeCompile' and 'nativeLink') and 'nativeRun' to compile, link, and execute your native application. Alternatively, run the application directly from the command line. ```bash ./gradlew build nativeBuild nativeRun ``` ```bash build/gluonfx/$hostPlatform/$AppName/$AppName ``` -------------------------------- ### getBundleShortVersion / setBundleShortVersion Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-release-configuration.md Gets or sets the user-visible short version string for the bundle. ```APIDOC ## getBundleShortVersion() / setBundleShortVersion(String bundleShortVersion) ### Description Release version. ### Method GET/SET ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **bundleShortVersion** (String) - The user-visible short version string. ### Response #### Success Response (200) - **bundleShortVersion** (String) - The user-visible short version string. ### Error Handling None explicitly documented. ``` -------------------------------- ### Perform Full Native Build Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/quick-reference.md Use the `nativeBuild` task for a convenient all-in-one command that compiles and links the native image. ```bash # All-in-one ./gradlew nativeBuild ``` -------------------------------- ### getBundleVersion / setBundleVersion Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-release-configuration.md Gets or sets the internal build version number for the bundle. ```APIDOC ## getBundleVersion() / setBundleVersion(String bundleVersion) ### Description Internal build version. ### Method GET/SET ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **bundleVersion** (String) - The internal build version number. ### Response #### Success Response (200) - **bundleVersion** (String) - The internal build version number. ### Error Handling None explicitly documented. ``` -------------------------------- ### getMacAppCategory / setMacAppCategory Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-release-configuration.md Gets or sets the App Store category for macOS applications. ```APIDOC ## getMacAppCategory() / setMacAppCategory(String macAppCategory) ### Description App Store category. ### Method GET/SET ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **macAppCategory** (String) - The App Store category (e.g., `public.app-category.business`). ### Response #### Success Response (200) - **macAppCategory** (String) - The App Store category. ### Error Handling None explicitly documented. ``` -------------------------------- ### Equivalent to nativeBuild Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-tasks.md Shows the equivalent Gradle command for running nativeCompile and nativeLink tasks sequentially. ```bash ./gradlew nativeCompile nativeLink ``` -------------------------------- ### isSkipSigning / setSkipSigning Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-release-configuration.md Gets or sets a boolean indicating whether code signing should be skipped. ```APIDOC ## isSkipSigning() / setSkipSigning(boolean skipSigning) ### Description Skip code signing. ### Method GET/SET ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **skipSigning** (boolean) - `true` to skip code signing, `false` otherwise. ### Response #### Success Response (200) - **skipSigning** (boolean) - `true` if code signing is skipped, `false` otherwise. ### Error Handling None explicitly documented. ``` -------------------------------- ### getPackageType / setPackageType Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-release-configuration.md Gets or sets the macOS package type, which can be either 'pkg' or 'dmg'. ```APIDOC ## getPackageType() / setPackageType(String packageType) ### Description macOS package type (pkg/dmg). ### Method GET/SET ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **packageType** (String) - The type of macOS package to create (pkg or dmg). ### Response #### Success Response (200) - **packageType** (String) - The macOS package type. ### Error Handling None explicitly documented. ``` -------------------------------- ### getProvidedKeyAliasPassword / setProvidedKeyAliasPassword Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-release-configuration.md Gets or sets the password for the key alias. This is required if `providedKeyStorePath` is set. ```APIDOC ## getProvidedKeyAliasPassword() / setProvidedKeyAliasPassword(String providedKeyAliasPassword) ### Description Password for the key alias. ### Method GET/SET ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **providedKeyAliasPassword** (String) - Required if `providedKeyStorePath` is set - The password for the key alias. ### Response #### Success Response (200) - **providedKeyAliasPassword** (String) - The password for the key alias. ### Error Handling None explicitly documented. ``` -------------------------------- ### Get Attach Configuration Instance Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-client-extension.md Accessor method to retrieve the AttachConfiguration instance for further configuration. ```java public AttachConfiguration getAttachConfig() ``` -------------------------------- ### Gradle Wrapper Initialization Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/quick-reference.md Initialize the Gradle wrapper for your project if it's not already present. This ensures consistent build environments. ```bash # Initialize wrapper (if needed) gradle wrapper ``` -------------------------------- ### getProvidedKeyAlias / setProvidedKeyAlias Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-release-configuration.md Gets or sets the alias for the key within the keystore. This is required if `providedKeyStorePath` is set. ```APIDOC ## getProvidedKeyAlias() / setProvidedKeyAlias(String providedKeyAlias) ### Description Alias/identifier for the key within the keystore. ### Method GET/SET ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **providedKeyAlias** (String) - Required if `providedKeyStorePath` is set - The alias for the key within the keystore. ### Response #### Success Response (200) - **providedKeyAlias** (String) - The alias for the key within the keystore. ### Error Handling None explicitly documented. ``` -------------------------------- ### Get Bundle Version Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-release-configuration.md Retrieves the internal build version identifier for macOS and iOS applications. ```java public String getBundleVersion() ``` -------------------------------- ### Compiler Arguments: Reflection Configuration Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/configuration-reference.md Configure compiler arguments to trace class initialization and object instantiation for reflection purposes. Aids in ensuring reflection-accessible classes are correctly included. ```gradle compilerArgs = [ "--trace-class-initialization=java.lang.String", "--trace-object-instantiation=java.util.HashMap" ] ``` -------------------------------- ### Get Bundle Name Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-release-configuration.md Retrieves the user-visible short name for the app bundle on macOS and iOS. ```java public String getBundleName() ``` -------------------------------- ### Get Mac App Category Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-release-configuration.md Retrieves the App Store category classification for macOS applications. ```java public String getMacAppCategory() ``` -------------------------------- ### getGraalvmHome / setGraalvmHome Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-client-extension.md Specifies the path to the GraalVM installation directory. If not set, it defaults to the GRAALVM_HOME environment variable. ```APIDOC ## getGraalvmHome / setGraalvmHome ### Description Sets the path to the GraalVM installation directory. If not provided, the plugin will attempt to use the `GRAALVM_HOME` environment variable. ### Method Signature ```java public String getGraalvmHome() public void setGraalvmHome(String graalvmHome) ``` ### Parameters #### Setter Parameter - **graalvmHome** (String) - Required - Absolute file path to GraalVM ### Default Value null (uses `GRAALVM_HOME` environment variable) ### Usage Example ```gradle gluonfx { graalvmHome = "/path/to/graalvm" } ``` ``` -------------------------------- ### Desktop Application Configuration Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/README.md Configure the GluonFX plugin for desktop application development. Sets the target platform to 'host' and specifies the GraalVM home directory. Includes essential attach services like 'lifecycle' and 'display'. ```gradle gluonfx { target = "host" graalvmHome = System.getenv("GRAALVM_HOME") attachConfig { version = "6.0.0" services "lifecycle", "display" } } ``` -------------------------------- ### Manage Plugin and Dependency Versions Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/configuration-reference.md Define versions for the GluonFX plugin and attach configuration in a central 'ext' block for easy management. ```gradle ext { gluonfxVersion = '1.0.28' attachVersion = '6.0.0' } plugins { id 'com.gluonhq.gluonfx-gradle-plugin' version gluonfxVersion } gluonfx { attachConfig { version = attachVersion } } ``` -------------------------------- ### File Structure of GluonFX Gradle Plugin Docs Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/README.md This snippet displays the directory structure for the GluonFX Gradle plugin's documentation. It lists the main README file and all associated markdown files that provide detailed technical information. ```markdown output/ ├── README.md (this file) ├── plugin-entry-point.md ├── api-reference-client-extension.md ├── api-reference-release-configuration.md ├── api-reference-attach-configuration.md ├── api-reference-tasks.md ├── configuration-reference.md ├── types.md └── quick-reference.md ``` -------------------------------- ### Desktop Application Configuration Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/configuration-reference.md Configure the GluonFX plugin for building desktop applications on macOS and Linux. Sets the target to 'host' and specifies GraalVM home, compiler arguments, bundles, and release information. ```gradle gluonfx { target = "host" verbose = false graalvmHome = System.getenv("GRAALVM_HOME") compilerArgs = [ "--enable-url-protocols=https" ] bundlesList = [ "com.example.resources" ] attachConfig { version = "6.0.0" services "lifecycle", "browser", "storage" } release { version = "1.0.0" vendor = "My Company" } } ``` -------------------------------- ### isMacAppStore / setMacAppStore Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-release-configuration.md Gets or sets a boolean indicating whether the application is targeted for the Mac App Store. ```APIDOC ## isMacAppStore() / setMacAppStore(boolean macAppStore) ### Description Mac App Store target. ### Method GET/SET ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **macAppStore** (boolean) - `true` if targeting the Mac App Store, `false` otherwise. ### Response #### Success Response (200) - **macAppStore** (boolean) - `true` if targeting the Mac App Store, `false` otherwise. ### Error Handling None explicitly documented. ``` -------------------------------- ### Get Package Type Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-release-configuration.md Retrieves the type of package bundle to generate on macOS. This can be 'pkg', 'dmg', or null. ```java public String getPackageType() ``` -------------------------------- ### Run Native Executable Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/quick-reference.md Execute the `nativeRun` task to launch your compiled native application. ```bash # Run executable ./gradlew nativeRun ``` -------------------------------- ### Complete Build Workflow Steps Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/quick-reference.md Execute the complete build workflow for your GluonFX application. This involves generating configuration, compiling to native, linking, and running the application. ```bash ./gradlew nativeRunAgent ``` ```bash ./gradlew nativeCompile ``` ```bash ./gradlew nativeLink ``` ```bash ./gradlew nativeBuild ``` ```bash ./gradlew nativeRun ``` ```bash ./gradlew clean build nativeBuild nativeRun ``` -------------------------------- ### Resources List Configuration Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/configuration-reference.md Define file extensions or patterns for resources to be included in the application. This complements the pre-configured default resource extensions. ```gradle gluonfx { resourcesList = [ "properties", "xml", "json", "config" ] } ``` -------------------------------- ### Get Application Identifier Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-client-extension.md Retrieves the unique application identifier, which should be in reverse domain notation. The default is null. ```java public String getAppIdentifier() ``` -------------------------------- ### Conditional Configuration by Platform Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/configuration-reference.md Apply configuration settings conditionally based on the target platform, using environment variables for flexibility. ```gradle gluonfx { target = System.getenv("TARGET") ?: "host" if (target == "ios") { attachConfig { version = "6.0.0" services "position", "camera" } } } ``` -------------------------------- ### Get JavaFX Static SDK Version Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-client-extension.md Retrieves the configured version of the JavaFX static SDK. The default is null. ```java public String getJavafxStaticSdkVersion() ``` -------------------------------- ### Get All Registered Services Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-attach-configuration.md Retrieves an unmodifiable collection of all currently registered Attach services. This can be useful for introspection or debugging. ```java public Collection getServices() ``` ```java Collection services = attachConfig.getServices(); services.forEach(svc -> { System.out.println("Service: " + svc.getName()); }); ``` -------------------------------- ### Apply GluonFX Plugin using buildscript DSL (Legacy) Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/plugin-entry-point.md Legacy method for applying the GluonFX plugin. This approach requires manual configuration of repositories and dependencies. ```gradle buildscript { repositories { maven { url "https://plugins.gradle.org/m2/" } } dependencies { classpath 'com.gluonhq:gluonfx-gradle-plugin:1.0.28' } } apply plugin: 'com.gluonhq.gluonfx-gradle-plugin' ``` -------------------------------- ### Configure Target Platform Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-client-extension.md Set the target platform for native image generation. Defaults to 'host'. ```gradle gluonfx { target = "ios" } ``` -------------------------------- ### Configure Remote Host Name in Gradle Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-client-extension.md Example of setting the remote host name for deployment in the GluonFX Gradle configuration. ```gradle gluonfx { remoteHostName = "192.168.1.100" } ``` -------------------------------- ### Get Mac Signing User Name Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-release-configuration.md Retrieves the team or user name portion of Apple signing identities for macOS. ```java public String getMacSigningUserName() ``` -------------------------------- ### Run Native Image Agent Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-tasks.md Execute the GraalVM tracing agent to generate native-image configuration files. Pass application arguments using the `--args` option. ```bash ./gradlew nativeRunAgent ``` ```bash ./gradlew nativeRunAgent --args="--startup-file=config.xml --debug=true" ``` -------------------------------- ### Include External Configuration File Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/configuration-reference.md Separate configuration into an external file (e.g., 'local.gradle') and include it in the main 'build.gradle' for better organization. ```gradle apply from: 'local.gradle' gluonfx { // Other configuration } ``` -------------------------------- ### Invoke nativePackage Task Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-tasks.md Packages the native application into a distributable format for the target platform. ```bash ./gradlew nativePackage ``` -------------------------------- ### Set GraalVM Home Environment Variable Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/quick-reference.md Before running build tasks, set the GRAALVM_HOME environment variable to point to your GraalVM installation. ```bash # Setup export GRAALVM_HOME=/path/to/graalvm ``` -------------------------------- ### Set Main Class with Application Plugin Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/configuration-reference.md Configure the main class for the application. This can be done using the 'application' plugin or by setting 'mainClassName'. ```gradle plugins { id 'application' } application { mainClass = 'com.example.App' } ``` -------------------------------- ### Manage Attach Services with NamedDomainObjectContainer Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/types.md Demonstrates how to interact with `NamedDomainObjectContainer` to manage services. Use this to retrieve all services, add services by name, or add services with custom configurations. ```java Collection services = attachConfig.getServices() ``` ```java attachConfig.services("lifecycle", "display") ``` ```java attachConfig.services { container -> lifecycle position { version = "6.0.1" } } ``` -------------------------------- ### ClientExtension Configuration Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/MANIFEST.txt Documentation for the `gluonfx {}` block, which configures client-side aspects of the GluonFX application, including target platforms, GraalVM, and compilation arguments. ```APIDOC ## ClientExtension (gluonfx {} block) ### Description Configures client-specific settings for GluonFX applications. This includes selecting target platforms, specifying GraalVM and Java SDK versions, and defining compilation, linking, and runtime arguments. ### Methods - **Target Platform Selection**: Methods to specify the target operating system (e.g., Desktop, iOS, Android). - **GraalVM and Java SDK Configuration**: Options to set the GraalVM distribution and Java SDK path. - **Compilation/Linking/Runtime Arguments**: Parameters for fine-tuning the native image generation process. - **Resource Bundle Configuration**: Settings for managing resource bundles. - **Remote Deployment Settings**: Configuration for deploying applications remotely. ### Example ```gradle gluonfx { targetPlatform = 'android' graalVMHome = '/path/to/graalvm' // ... other configuration methods } ``` ``` -------------------------------- ### Minimal GluonFX Configuration Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/quick-reference.md Configure the GluonFX plugin with the minimum required settings, specifying the target platform. ```gradle gluonfx { target = "host" } ``` -------------------------------- ### Complete GluonFX Gradle Plugin Configuration Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-client-extension.md This snippet shows a comprehensive configuration for the GluonFX Gradle plugin, including target platform, GraalVM home, resource lists, reflection configuration, compiler/linker/runtime arguments, attach configuration, and release details. Use this as a template for your project's build.gradle file. ```gradle plugins { id 'com.gluonhq.gluonfx-gradle-plugin' version '1.0.28' } gluonfx { target = "ios" verbose = true graalvmHome = System.getenv("GRAALVM_HOME") bundlesList = [ "com.example.app.resources.AppBundle" ] resourcesList = [ "properties", "xml" ] reflectionList = [ "com.example.app.model.DataModel", "com.example.app.serialization.CustomSerializer" ] compilerArgs = [ "--enable-url-protocols=https", "--trace-class-initialization=java.lang.Math" ] linkerArgs = ["-lm"] runtimeArgs = ["--log-level=info"] attachConfig { version = "6.0.0" services "lifecycle", "display", "orientation" } release { bundleName = "My App" bundleVersion = "1.0" bundleShortVersion = "1.0" } } ``` -------------------------------- ### General Configuration Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-release-configuration.md Configure general release settings such as package type, description, vendor, and version. ```APIDOC ## General Configuration ### `getPackageType() / setPackageType(String packageType)` #### Description Type of package bundle to generate on macOS. #### Method `public String getPackageType()` `public void setPackageType(String packageType)` #### Parameters * `packageType` (String) - Optional - Type of package bundle to generate on macOS. Possible Values: `"pkg"` (installer), `"dmg"` (disk image), or null (default `.app` bundle). #### Usage Example ```gradle gluonfx { release { packageType = "dmg" } } ``` ### `getDescription() / setDescription(String description)` #### Description Short description of the application. #### Method `public String getDescription()` `public void setDescription(String description)` #### Parameters * `description` (String) - Optional - Short description of the application. ### `getVendor() / setVendor(String vendor)` #### Description Vendor name for the application (company or individual). #### Method `public String getVendor()` `public void setVendor(String vendor)` #### Parameters * `vendor` (String) - Optional - Vendor name for the application. ### `getVersion() / setVersion(String version)` #### Description Version number displayed to users. #### Method `public String getVersion()` `public void setVersion(String version)` #### Parameters * `version` (String) - Optional - Version number displayed to users. Format: Semantic versioning (e.g., `"1.0.0"`). #### Usage Example ```gradle gluonfx { release { version = "1.2.3" } } ``` ``` -------------------------------- ### Desktop Application Service Configuration Source: https://github.com/gluonhq/gluonfx-gradle-plugin/blob/master/_autodocs/api-reference-attach-configuration.md Configures Attach services for a desktop application, specifying a 'configuration' type and a subset of services. ```gradle gluonfx { attachConfig { version = "6.0.0" configuration = "implementation" services "lifecycle", "browser", "storage", "settings" } } ```