This merge request serves to keep HUPPAAL up-to-date and "modern" in the sense that it can install and run on modern Ubuntu 21.04 or Debian 11 machines. It failed to launch on a newly installed 21.04 machine in our office, which sparked the creation of this pull request.
Java + JavaFX 16
Java 11 is getting older and older, and the release of the new Java 17 LTS is getting closer (2021-09-14). When that happens, most distros will likely stop linking the metapackage default-jre with openjdk-11-jre packages in favor of openjdk-17-jre in their next major release. To make that transition easier, this merge request upgrades both Java and JavaFX to version 16, aswell as fixing code that is now considered broken or deprecated.
H-UPPAAL in it's current state is incompatible with both Java 16 and 17 due to it's usage of illegal access (object modifications using reflection), which will cause the program to crash. The package jfoenix is the main culprit for this project. In Java 16, you're allowed to override this behavior by launching with --illegal-access=permit. (Added in be386d7dfe8dab7b47bcb4b05a75a479ee51c9e5) This will not be possible in Java 17. (you'll get this: OpenJDK 64-Bit Server VM warning: Ignoring option --illegal-access=permit; support was removed in 17.0). The upgrade to Java 17 will require a few handfuls of launch arguments or dropping the library in favor of something better.
Gradle
Gradle has been upgraded from 6.8 to 7.1.1 in order to support Java 16.
Updated libraries
The libraries that H-UPPAAL depends on has had some development since last time they were updated, and two of the three defined repos are deprecated or unneeded. Moreover, some of the older libraries had incompatibilities with Java 16. The packages have been updated to their most recent stable versions, and the unneeded repos have been removed.
Miscellaneous fixes
This merge request introduces:
A null-check in the onMouseClicked event in MouseCircular, since some mouse-related behavior will cause this to throw errors almost constantly. These were only visible in stdout, not in the GUI.
Removal of possible heap pollution in Color.java
Fixed deprecated usage of JsonParser
A bunch of smaller fixes that are not worth highlighting.
This merge request serves to keep HUPPAAL up-to-date and "modern" in the sense that it can install and run on modern Ubuntu 21.04 or Debian 11 machines. It failed to launch on a newly installed 21.04 machine in our office, which sparked the creation of this pull request.
Java + JavaFX 16
Java 11 is getting older and older, and the release of the new Java 17 LTS is getting closer (2021-09-14). When that happens, most distros will likely stop linking the metapackage
default-jre
withopenjdk-11-jre
packages in favor ofopenjdk-17-jre
in their next major release. To make that transition easier, this merge request upgrades both Java and JavaFX to version 16, aswell as fixing code that is now considered broken or deprecated.H-UPPAAL in it's current state is incompatible with both Java 16 and 17 due to it's usage of illegal access (object modifications using reflection), which will cause the program to crash. The package
jfoenix
is the main culprit for this project. In Java 16, you're allowed to override this behavior by launching with--illegal-access=permit
. (Added in be386d7dfe8dab7b47bcb4b05a75a479ee51c9e5) This will not be possible in Java 17. (you'll get this:OpenJDK 64-Bit Server VM warning: Ignoring option --illegal-access=permit; support was removed in 17.0
). The upgrade to Java 17 will require a few handfuls of launch arguments or dropping the library in favor of something better.Gradle
Gradle has been upgraded from 6.8 to 7.1.1 in order to support Java 16.
Updated libraries
The libraries that H-UPPAAL depends on has had some development since last time they were updated, and two of the three defined repos are deprecated or unneeded. Moreover, some of the older libraries had incompatibilities with Java 16. The packages have been updated to their most recent stable versions, and the unneeded repos have been removed.
Miscellaneous fixes
This merge request introduces:
onMouseClicked
event inMouseCircular
, since some mouse-related behavior will cause this to throw errors almost constantly. These were only visible in stdout, not in the GUI.Color.java
JsonParser
(Origin: https://github.com/hcshmk/H-Uppaal/pull/1)