Conversation
This 'works', but is likely to require 1 big change and 2 small ones. The big change is that removing '--bind-services' is probably stripping back the JRE too much, and we'll need to add in more modules or switch to a JDK other than Temurin so that we --bind-services can be reinstated. The small changes: - Use Kotlin 2.3 when available - Use 2.0.0 for org.beryx.runtime when available The license plugin should also be updated whenever possible, since it currently means we can only use jpackage if the build isn't parallelized.
|
Reminder: The content under the 'Annotations' tab rescales badly with this PR (presumably due to a JavaFX change). |
This was introduced in JavaFX 25, possibly with other `Region`-related changes that introduced a few regressions (or possibly because our original approach was flawed).
Mostly use `java.se`. Add gradle support for `-Pbind-services` to build a runtime more like in previous QuPath releases, although it requires `jmods` to work.
|
This should now work. It builds a smaller JRE than previous QuPath releases, but it seems to have everything required (this may prove wrong in the future, and we need to add modules). The main difference is that we don't use to get a result similar to how it was previously. Note for developing extensions with You might need to call Gradle with |
|
Re: extensions, this would involve an update to our gradle plugin, or...? |
|
I don't think so, but you may prove me wrong. The Java version is defined in the version catalog for a QuPath release. The Gradle plugin should use that by default, unless overridden with The Gradle plugin itself is written to work with Java 11 so that it's not too fussy about how Gradle is launched (although Gradle 9 now requires Java 17). |
|
I ask because I ran into issues trying to run the ground truth extension recently: https://github.com/qupath/qupath-extension-ground-truth/pull/5
Error below: |
This 'works', but is likely to require 1 big change and 2 small ones.
The big change is that removing
--bind-servicesis almost certainly stripping back the JRE too much, and we'll need to add in more modules or switch to a JDK other than Temurin so that--bind-servicescan be reinstated.The small changes:
Use 2.0.0 for org.beryx.runtime when availableDoneThe license plugin should also be updated whenever possible, since it currently means we can only use jpackage if the build isn't parallelized.