Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update to LTS Java version #44

Closed
6 tasks
ripcurlx opened this issue Sep 16, 2020 · 1 comment
Closed
6 tasks

Update to LTS Java version #44

ripcurlx opened this issue Sep 16, 2020 · 1 comment
Assignees
Labels
needs:approval bisq.wiki/Project_management#Approval needs:triage bisq.wiki/Project_management#Triage to:Improve Reliability to:Improve Security

Comments

@ripcurlx
Copy link

ripcurlx commented Sep 16, 2020

This is a Bisq Network project. Please familiarize yourself with the project management process.

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

  • 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)
  • Optional: Extend build pipeline to include notarization step for macOS as well (Prepare and notarize release builds for macOS Catalina bisq#3402). See answers for
  • Optional: Create a deterministic build

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 bisq-network/bisq#4242)

@cd2357
Copy link

cd2357 commented Dec 21, 2021

@ripcurlx can this be considered done? If yes, I can close it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs:approval bisq.wiki/Project_management#Approval needs:triage bisq.wiki/Project_management#Triage to:Improve Reliability to:Improve Security
Projects
None yet
Development

No branches or pull requests

2 participants