Java+JavaFX 16, updated libraries, new Gradle, a bunch of misc. fixes #46
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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-jrewithopenjdk-11-jrepackages in favor ofopenjdk-17-jrein 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
jfoenixis the main culprit for this project. In Java 16, you're allowed to override this behavior by launching with--illegal-access=permit. (Added in be386d7) 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:
onMouseClickedevent 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.javaJsonParser(Origin: https://github.com/hcshmk/H-Uppaal/pull/1)