diff --git a/.gitignore b/.gitignore
index 7fc0368b4..976379985 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,10 +1,13 @@
/out/
/js/node_modules
-/lib/javafx*
+/lib/*
+/deps/*
+!/deps/manual/
/.idea/workspace.xml
/.idea/misc.xml
/.idea/uiDesigner.xml
/.idea/compiler.xml
+/reports/
/fx.zip
/README.md
/provision.json
diff --git a/.idea/runConfigurations/download_javafx.xml b/.idea/runConfigurations/ivy-deps.xml
similarity index 50%
rename from .idea/runConfigurations/download_javafx.xml
rename to .idea/runConfigurations/ivy-deps.xml
index dc29c33bc..79bd2f8d5 100644
--- a/.idea/runConfigurations/download_javafx.xml
+++ b/.idea/runConfigurations/ivy-deps.xml
@@ -1,6 +1,6 @@
-
-
+
+
\ No newline at end of file
diff --git a/.idea/startup.xml b/.idea/startup.xml
index 7b51fef62..91e5d54e3 100644
--- a/.idea/startup.xml
+++ b/.idea/startup.xml
@@ -2,7 +2,7 @@
-
+
\ No newline at end of file
diff --git a/.idea/tray.iml b/.idea/tray.iml
index 38596f954..7c63b8b62 100644
--- a/.idea/tray.iml
+++ b/.idea/tray.iml
@@ -11,28 +11,15 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ant/apple/installer.xml b/ant/apple/installer.xml
index 1d9d8e014..b1c7e4f6d 100644
--- a/ant/apple/installer.xml
+++ b/ant/apple/installer.xml
@@ -318,6 +318,8 @@
+
+
diff --git a/ant/ivy-deps.properties b/ant/ivy-deps.properties
new file mode 100644
index 000000000..bcf899494
--- /dev/null
+++ b/ant/ivy-deps.properties
@@ -0,0 +1,19 @@
+# Dependency versions
+jetty.version=10.0.24
+jna.version=5.15.0
+log4j.version=2.24.2
+pdfbox.version=2.0.32
+twelvemonkeys.version=3.12.0
+bouncycastle.version=1.79
+usb4java.version=1.2.0
+hid4java.version=0.8.0
+purejavahidapi.version=0.0.10
+javasemver.version=0.9.0
+jettison.version=1.5.4
+jssc.version=2.9.6
+jaiimageio.version=1.4.0
+icu4j.version=76.1
+javafx.version=24-headless+0-2024-12-02-101029
+
+# General configuration
+ivy.report.todir=${basedir}/reports
\ No newline at end of file
diff --git a/ant/ivy-settings.xml b/ant/ivy-settings.xml
new file mode 100644
index 000000000..7b73259e0
--- /dev/null
+++ b/ant/ivy-settings.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ant/ivy.xml b/ant/ivy.xml
new file mode 100644
index 000000000..679ec3307
--- /dev/null
+++ b/ant/ivy.xml
@@ -0,0 +1,189 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ant/javafx.xml b/ant/javafx.xml
deleted file mode 100644
index bab48ccc0..000000000
--- a/ant/javafx.xml
+++ /dev/null
@@ -1,221 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ${host.fx.message}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ${target.fx.message}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- JavaFX host platform:
- Version: ${host.fx.ver} (${host.os}, ${host.arch})
- Major Version: ${host.fx.majver}
- URLs: "${host.fx.urlver}"
-
- JavaFX target platform:
- Version: ${target.fx.ver} (${target.os}, ${target.arch})
- Major Version: ${target.fx.majver}
- URLs: ""${target.fx.urlver}"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Downloading JavaFX from ${fx.url}
- Temporarily saving JavaFX to ${fx.zip}
-
-
-
-
-
-
-
diff --git a/ant/lib/ivy-2.5.2.jar b/ant/lib/ivy-2.5.2.jar
new file mode 100644
index 000000000..7d2648a89
Binary files /dev/null and b/ant/lib/ivy-2.5.2.jar differ
diff --git a/ant/linux/installer.xml b/ant/linux/installer.xml
index 08477c153..e037b3235 100644
--- a/ant/linux/installer.xml
+++ b/ant/linux/installer.xml
@@ -63,6 +63,8 @@
+
+
diff --git a/ant/platform-detect.xml b/ant/platform-detect.xml
index 16feb06b3..072cc4de0 100644
--- a/ant/platform-detect.xml
+++ b/ant/platform-detect.xml
@@ -1,17 +1,18 @@
+
-
+
@@ -19,6 +20,7 @@
+
@@ -27,6 +29,7 @@
+
@@ -52,6 +55,7 @@
${prefix}.os: "${prefix.os}"
${prefix}.arch: "${prefix.arch}"
${prefix}.libext: "${prefix.libext}"
+ ${prefix}.javafx.platform: "${prefix.javafx}"
${os.echo}: true
${arch.echo}: true
@@ -251,4 +255,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ant/project.properties b/ant/project.properties
index 35ed51fd4..42d776a0b 100644
--- a/ant/project.properties
+++ b/ant/project.properties
@@ -20,6 +20,9 @@ out.dir=${basedir}/out
build.dir=${out.dir}/build
dist.dir=${out.dir}/dist
+lib.dir=${basedir}/deps
+ivy.lib.dir=${lib.dir}/ivy
+manual.lib.dir=${lib.dir}/manual
sign.lib.dir=${out.dir}/jar-signed
jar.compress=true
@@ -47,10 +50,6 @@ jlink.java.gc.version="gc-ver-is-empty"
# Skip bundling the java runtime
# jre.skip=true
-# JavaFX version
-javafx.version=19_monocle
-javafx.mirror=https://download2.gluonhq.com/openjfx
-
# Provisioning
provision.file=${basedir}/provision.json
provision.dir=${dist.dir}/provision
diff --git a/ant/windows/installer.xml b/ant/windows/installer.xml
index e51bf0beb..f61c58fe5 100644
--- a/ant/windows/installer.xml
+++ b/ant/windows/installer.xml
@@ -126,6 +126,8 @@
+
+
diff --git a/build.xml b/build.xml
index 4629bb716..f29500d80 100644
--- a/build.xml
+++ b/build.xml
@@ -1,14 +1,23 @@
-
+
+
-
+
+
+
+
+
+
+
+
+
@@ -37,42 +46,34 @@
+
+
+
+
+
+
+
+
+
+
+
-
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -89,7 +90,7 @@
-
+
Building jar
@@ -131,30 +132,23 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
- Copying ${target.fx.dir}
-
-
+
+
+
+
@@ -173,8 +167,8 @@
-
-
+
+
@@ -183,8 +177,8 @@
-
-
+
+
@@ -197,11 +191,21 @@
+
+
+
+
+
+
+
+
+
+
-
-
+
+
@@ -210,8 +214,8 @@
-
-
+
+
diff --git a/lib/charsets/TCVN-3.jar b/deps/manual/TCVN-3.jar
similarity index 100%
rename from lib/charsets/TCVN-3.jar
rename to deps/manual/TCVN-3.jar
diff --git a/lib/darcula-bobbylight.jar b/deps/manual/darcula-bobbylight.jar
similarity index 100%
rename from lib/darcula-bobbylight.jar
rename to deps/manual/darcula-bobbylight.jar
diff --git a/deps/manual/hid4java-0.7.2-SNAPSHOT.jar b/deps/manual/hid4java-0.7.2-SNAPSHOT.jar
new file mode 100644
index 000000000..d14601884
Binary files /dev/null and b/deps/manual/hid4java-0.7.2-SNAPSHOT.jar differ
diff --git a/lib/java-semver-0.10.0.jar b/deps/manual/java-semver-0.10.0.jar
similarity index 100%
rename from lib/java-semver-0.10.0.jar
rename to deps/manual/java-semver-0.10.0.jar
diff --git a/lib/websocket/jettison-1.3.3-SNAPSHOT.jar b/deps/manual/jettison-1.3.3-SNAPSHOT.jar
similarity index 100%
rename from lib/websocket/jettison-1.3.3-SNAPSHOT.jar
rename to deps/manual/jettison-1.3.3-SNAPSHOT.jar
diff --git a/deps/manual/jssc-2.9.6-SNAPSHOT.jar b/deps/manual/jssc-2.9.6-SNAPSHOT.jar
new file mode 100644
index 000000000..c669035ac
Binary files /dev/null and b/deps/manual/jssc-2.9.6-SNAPSHOT.jar differ
diff --git a/lib/mslinks-1.1.0.jar b/deps/manual/mslinks-1.1.0.jar
similarity index 100%
rename from lib/mslinks-1.1.0.jar
rename to deps/manual/mslinks-1.1.0.jar
diff --git a/lib/communication/purejavahidapi-0.0.10-SNAPSHOT.jar b/deps/manual/purejavahidapi-0.0.10-SNAPSHOT.jar
similarity index 100%
rename from lib/communication/purejavahidapi-0.0.10-SNAPSHOT.jar
rename to deps/manual/purejavahidapi-0.0.10-SNAPSHOT.jar
diff --git a/lib/charsets/icu4j-charset-slim.jar b/lib/charsets/icu4j-charset-slim.jar
deleted file mode 100644
index 288fa3cf0..000000000
Binary files a/lib/charsets/icu4j-charset-slim.jar and /dev/null differ
diff --git a/lib/charsets/icu4j-slim.jar b/lib/charsets/icu4j-slim.jar
deleted file mode 100644
index ae9b9af26..000000000
Binary files a/lib/charsets/icu4j-slim.jar and /dev/null differ
diff --git a/lib/communication/libusb4java-1.3.0-darwin-x86-64.jar b/lib/communication/libusb4java-1.3.0-darwin-x86-64.jar
deleted file mode 100644
index 41f939c1e..000000000
Binary files a/lib/communication/libusb4java-1.3.0-darwin-x86-64.jar and /dev/null differ
diff --git a/lib/communication/libusb4java-1.3.0-linux-aarch64.jar b/lib/communication/libusb4java-1.3.0-linux-aarch64.jar
deleted file mode 100644
index 0f53f1c16..000000000
Binary files a/lib/communication/libusb4java-1.3.0-linux-aarch64.jar and /dev/null differ
diff --git a/lib/communication/libusb4java-1.3.0-linux-arm.jar b/lib/communication/libusb4java-1.3.0-linux-arm.jar
deleted file mode 100644
index 635a77b4b..000000000
Binary files a/lib/communication/libusb4java-1.3.0-linux-arm.jar and /dev/null differ
diff --git a/lib/communication/libusb4java-1.3.0-linux-x86-64.jar b/lib/communication/libusb4java-1.3.0-linux-x86-64.jar
deleted file mode 100644
index 1e4de5e0d..000000000
Binary files a/lib/communication/libusb4java-1.3.0-linux-x86-64.jar and /dev/null differ
diff --git a/lib/communication/libusb4java-1.3.0-linux-x86.jar b/lib/communication/libusb4java-1.3.0-linux-x86.jar
deleted file mode 100644
index 6ccb81562..000000000
Binary files a/lib/communication/libusb4java-1.3.0-linux-x86.jar and /dev/null differ
diff --git a/lib/communication/libusb4java-1.3.0-win32-x86-64.jar b/lib/communication/libusb4java-1.3.0-win32-x86-64.jar
deleted file mode 100644
index bf306c78a..000000000
Binary files a/lib/communication/libusb4java-1.3.0-win32-x86-64.jar and /dev/null differ
diff --git a/lib/communication/libusb4java-1.3.0-win32-x86.jar b/lib/communication/libusb4java-1.3.0-win32-x86.jar
deleted file mode 100644
index f711d8091..000000000
Binary files a/lib/communication/libusb4java-1.3.0-win32-x86.jar and /dev/null differ
diff --git a/lib/communication/usb-api-1.0.2.jar b/lib/communication/usb-api-1.0.2.jar
deleted file mode 100644
index 7abd6f709..000000000
Binary files a/lib/communication/usb-api-1.0.2.jar and /dev/null differ
diff --git a/lib/communication/usb4java-1.3.0.jar b/lib/communication/usb4java-1.3.0.jar
deleted file mode 100644
index d5ac62c6b..000000000
Binary files a/lib/communication/usb4java-1.3.0.jar and /dev/null differ
diff --git a/lib/communication/usb4java-javax-1.3.0.jar b/lib/communication/usb4java-javax-1.3.0.jar
deleted file mode 100644
index e9666d295..000000000
Binary files a/lib/communication/usb4java-javax-1.3.0.jar and /dev/null differ
diff --git a/lib/imaging/common-image-3.8.3.jar b/lib/imaging/common-image-3.8.3.jar
deleted file mode 100644
index 07315fcb8..000000000
Binary files a/lib/imaging/common-image-3.8.3.jar and /dev/null differ
diff --git a/lib/imaging/common-io-3.8.3.jar b/lib/imaging/common-io-3.8.3.jar
deleted file mode 100644
index f1d45cccb..000000000
Binary files a/lib/imaging/common-io-3.8.3.jar and /dev/null differ
diff --git a/lib/imaging/common-lang-3.8.3.jar b/lib/imaging/common-lang-3.8.3.jar
deleted file mode 100644
index dbebe209f..000000000
Binary files a/lib/imaging/common-lang-3.8.3.jar and /dev/null differ
diff --git a/lib/imaging/imageio-core-3.8.3.jar b/lib/imaging/imageio-core-3.8.3.jar
deleted file mode 100644
index 6f3083e5c..000000000
Binary files a/lib/imaging/imageio-core-3.8.3.jar and /dev/null differ
diff --git a/lib/imaging/imageio-jpeg-3.8.3.jar b/lib/imaging/imageio-jpeg-3.8.3.jar
deleted file mode 100644
index 11e085a1d..000000000
Binary files a/lib/imaging/imageio-jpeg-3.8.3.jar and /dev/null differ
diff --git a/lib/imaging/imageio-metadata-3.8.3.jar b/lib/imaging/imageio-metadata-3.8.3.jar
deleted file mode 100644
index 29ba4750e..000000000
Binary files a/lib/imaging/imageio-metadata-3.8.3.jar and /dev/null differ
diff --git a/lib/imaging/jai-imageio-core-1.4.0.jar b/lib/imaging/jai-imageio-core-1.4.0.jar
deleted file mode 100644
index eb4594920..000000000
Binary files a/lib/imaging/jai-imageio-core-1.4.0.jar and /dev/null differ
diff --git a/lib/imaging/jai-imageio-jpeg2000-1.4.0.jar b/lib/imaging/jai-imageio-jpeg2000-1.4.0.jar
deleted file mode 100644
index 2b938167a..000000000
Binary files a/lib/imaging/jai-imageio-jpeg2000-1.4.0.jar and /dev/null differ
diff --git a/lib/websocket/jetty-servlet-api-4.0.6.jar b/lib/websocket/jetty-servlet-api-4.0.6.jar
deleted file mode 100644
index 99357ea37..000000000
Binary files a/lib/websocket/jetty-servlet-api-4.0.6.jar and /dev/null differ
diff --git a/lib/websocket/not-going-to-be-commons-ssl-0.3.20.jar b/lib/websocket/not-going-to-be-commons-ssl-0.3.20.jar
deleted file mode 100644
index 54bf4aa84..000000000
Binary files a/lib/websocket/not-going-to-be-commons-ssl-0.3.20.jar and /dev/null differ