We need to update our Java and JavaFX version to be able to fix critical memory and UX issues with the current Java(10)/JavaFX(11) version we are using. Also we need to move to a LTS java version to receive ongoing security updates.
Rationale
After Oracle ripped out the javapackager (required to create binaries for macOS, Windows and Linux OSes), we got stuck with the last Java version still including the javapackager - Java 10. The support for Java 10 ended already in March 2018 which means we didn't receive security updates since that point of time. Issues regarding the situation we are in are stacking more and more up and we need to have a path to update to a LTS java version sooner than later. This was blocked for a long time by the lack of a javapackager replacement. It seems to be that the Packaging Tool is ready (resolved 2020-02-05) so it make sense to start the upgrade work now.
This project is delivered if Bisq can be built with a LTS Java version and the latest JavaFX version and it still is possible to build binaries for Linux (deb, rpm), Windows (exe) and macOS (dmg).
Risks
The efforts could increase exponentially, because of unknown obstacles (we did have this issues in the past already). This could slows down all other development if severe changes to the build pipeline are necessary. To mitigate this risks we should focus on the absolute minimum requirement for each milestone to find out about critical issues as early as possible.
Tasks/Milestones
[ ] Use jpackage from JavaFX 15 and build binaries for Linux (deb, rpm), Windows (exe) and macOS (dmg) using Java 11 JDK (closest LTS)
[ ] Update JavaFX from 11 to 15
[ ] Add Rasperry Pi zip
[ ] Optional: Use jlink to build a custom made JRE to reduce size of installer (maybe also improves required memory footprint)
Description
We need to update our Java and JavaFX version to be able to fix critical memory and UX issues with the current Java(10)/JavaFX(11) version we are using. Also we need to move to a LTS java version to receive ongoing security updates.
Rationale
After Oracle ripped out the javapackager (required to create binaries for macOS, Windows and Linux OSes), we got stuck with the last Java version still including the javapackager - Java 10. The support for Java 10 ended already in March 2018 which means we didn't receive security updates since that point of time. Issues regarding the situation we are in are stacking more and more up and we need to have a path to update to a LTS java version sooner than later. This was blocked for a long time by the lack of a javapackager replacement. It seems to be that the Packaging Tool is ready (resolved 2020-02-05) so it make sense to start the upgrade work now.
Issues related / likely related to this project
Criteria for delivery / Measures of success
This project is delivered if Bisq can be built with a LTS Java version and the latest JavaFX version and it still is possible to build binaries for Linux (deb, rpm), Windows (exe) and macOS (dmg).
Risks
The efforts could increase exponentially, because of unknown obstacles (we did have this issues in the past already). This could slows down all other development if severe changes to the build pipeline are necessary. To mitigate this risks we should focus on the absolute minimum requirement for each milestone to find out about critical issues as early as possible.
Tasks/Milestones
Estimates
It is hard to estimate as it is lots of investigation and try and error involved. But @cd2357 seems to be quite far already (see https://github.com/bisq-network/bisq/pull/4242)