DEIS-Tools / H-Uppaal

MIT License
8 stars 3 forks source link

Java+JavaFX 16, updated libraries, new Gradle, a bunch of misc. fixes #46

Closed ghost closed 3 years ago

ghost commented 3 years ago

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:

(Origin: https://github.com/hcshmk/H-Uppaal/pull/1)