From fba3750b48d3ec1c8ad23ff33a1b6c6974efef6c Mon Sep 17 00:00:00 2001 From: crschnick Date: Thu, 29 May 2025 05:51:36 +0000 Subject: [PATCH] Fix bundling issues with liberica --- build.gradle | 3 +++ dist/jpackage.gradle | 4 ++-- gradle/gradle_scripts/javafx.gradle | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/build.gradle b/build.gradle index 7a9fd4cce..854a35368 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,6 @@ import org.gradle.nativeplatform.platform.internal.DefaultNativePlatform +import java.lang.module.ModuleFinder import java.util.stream.Stream buildscript { @@ -186,6 +187,8 @@ project.ext { signingPassword = project.hasProperty('signingKeyPassword') ? project.property("signingKeyPassword") : (System.getenv('GPG_KEY_PASSWORD') != null ? System.getenv('GPG_KEY_PASSWORD') : "") deeplApiKey = findProperty('DEEPL_API_KEY') != null ? findProperty('DEEPL_API_KEY') : "" + bundledJdkJavaFx = ModuleFinder.ofSystem().find("javafx.base").isPresent() + // Define a custom JavaFX SDK location // customJavaFxPath = null diff --git a/dist/jpackage.gradle b/dist/jpackage.gradle index 7b4906453..572f5339c 100644 --- a/dist/jpackage.gradle +++ b/dist/jpackage.gradle @@ -40,7 +40,7 @@ dependencies { implementation files(it) } } - if (!useBundledJavaFx) { + if (!useBundledJna) { configurations.jna.getAsFileTree().getFiles().forEach { implementation files(it) } @@ -68,7 +68,7 @@ jlink { options.addAll('--strip-native-debug-symbols', 'exclude-debuginfo-files') } - if (useBundledJavaFx) { + if (useBundledJavaFx && !bundledJdkJavaFx) { addExtraModulePath(layout.projectDirectory.dir("javafx/${platformName}/${arch}").toString()) } if (useBundledJna) { diff --git a/gradle/gradle_scripts/javafx.gradle b/gradle/gradle_scripts/javafx.gradle index 140cf91bc..68da1ed8c 100644 --- a/gradle/gradle_scripts/javafx.gradle +++ b/gradle/gradle_scripts/javafx.gradle @@ -27,7 +27,7 @@ if (rootProject.hasProperty("customJavaFxPath")) { dependencies { javafx fileTree(dir: customJavaFxPath, include: '*.jar') } -} else { +} else if (!bundledJdkJavaFx) { // Always use maven version for now dependencies { javafx "org.openjfx:javafx-base:${devJavafxVersion}:${platform}"