From d0c496858ee8f09b6a5796e1b5ad72c1c5cbdbee Mon Sep 17 00:00:00 2001
From: Skylot <118523+skylot@users.noreply.github.com>
Date: Tue, 25 Mar 2025 20:48:10 +0000
Subject: [PATCH] build: improve launch4j parameters
---
.run/jadx-gui.run.xml | 2 +-
jadx-gui/build.gradle.kts | 20 ++++++++++++++++----
2 files changed, 17 insertions(+), 5 deletions(-)
diff --git a/.run/jadx-gui.run.xml b/.run/jadx-gui.run.xml
index ee8eeb6a7..839576d19 100644
--- a/.run/jadx-gui.run.xml
+++ b/.run/jadx-gui.run.xml
@@ -4,7 +4,7 @@
+ value="-Xms128M -XX:MaxRAMPercentage=70.0 -Dawt.useSystemAAFontSettings=lcd -Dswing.aatext=true -Djava.util.Arrays.useLegacyMergeSort=true -Djdk.util.zip.disableZip64ExtraFieldValidation=true -XX:+IgnoreUnrecognizedVMOptions --add-opens=java.base/java.lang=ALL-UNNAMED --enable-native-access=ALL-UNNAMED -Dsun.java2d.noddraw=true -Dsun.java2d.d3d=false -Dsun.java2d.ddforcevram=true -Dsun.java2d.ddblit=false -Dswing.useflipBufferStrategy=true"/>
diff --git a/jadx-gui/build.gradle.kts b/jadx-gui/build.gradle.kts
index 117b82c4f..adea86bfd 100644
--- a/jadx-gui/build.gradle.kts
+++ b/jadx-gui/build.gradle.kts
@@ -80,7 +80,7 @@ application {
"-Dsun.java2d.d3d=false",
"-Dsun.java2d.ddforcevram=true",
"-Dsun.java2d.ddblit=false",
- "-Dswing.useflipBufferStrategy=True",
+ "-Dswing.useflipBufferStrategy=true",
)
applicationDistribution.from("$rootDir") {
include("README.md")
@@ -134,16 +134,28 @@ launch4j {
dontWrapJar.set(true)
icon.set("$projectDir/src/main/resources/logos/jadx-logo.ico")
outfile.set("jadx-gui-$jadxVersion.exe")
+ version.set(jadxVersion)
copyright.set("Skylot")
windowTitle.set("jadx")
companyName.set("jadx")
jreMinVersion.set("11")
- chdir.set("")
- jvmOptions.set(application.applicationDefaultJvmArgs.toSet())
+ jvmOptions.set(escapeJVMOptions())
requires64Bit.set(true)
downloadUrl.set("https://www.oracle.com/java/technologies/downloads/#jdk21-windows")
+ supportUrl.set("https://github.com/skylot/jadx")
+
bundledJrePath.set(if (project.hasProperty("bundleJRE")) "%EXEDIR%/jre" else "%JAVA_HOME%")
- classpath.set(tasks.getByName("shadowJar").outputs.files.map { "%EXEDIR%/lib/${it.name}" }.toSortedSet())
+ classpath.set(tasks.getByName("shadowJar").outputs.files.map { "%EXEDIR%/lib/${it.name}" }.sorted().toList())
+ println("Launch4J classpath: ${classpath.get()}")
+
+ chdir.set("") // don't change current dir
+ libraryDir.set("") // don't add any libs
+}
+
+fun escapeJVMOptions(): List {
+ return application.applicationDefaultJvmArgs
+ .toList()
+ .map { if (it.startsWith("-D")) "\"$it\"" else it }
}
runtime {