Closed rainux closed 5 years ago
First, thank you lot for the PR.
It's always nice to see other people getting involved
I read thought PR and it looks nice. But I haven't got enought time to test it yet.
I have a question, did you manage to test it with older JVM ?
If possible i would like to retain compatibility with Java 8 (packaged in lastest debian stable) as many linux distro are debian derivatives
I will try to give a try to the patches in the next few days
Hello Wizell, these changes meant to not work with older JVM, since OpenJFX was compiled as a newer class file version.
I see retain compatibility with Java 8 make sense for real world issue. Another approach I would suggest is:
build.gradle
by using conditional build instructions.sourceCompatibility
to "8.0"
.Then we can build the project with both JDK version, make users of older and newer system both happy, by using a single code base for Java 8.
Though I'm not very sure if this is possible in Gradle, but I would like to try later when I have time.
I looked more into this matter.
For Ubuntu the lastest LTS is using Java 11 and Debian Buster will be shipped with Java 11 as well, for Windows, users have to download Oracle JRE anyway and for MacOS there is many solutions which ships from Java 9 to 12.
So I think raising the minimum version to 11 can be a good compromise as it would allow to move to javafx and retain a large compatibility.
I started the tests using jdk 11 (setting sourceCompatibility
to 11.0
.
The build is successful and the app starts.
So far i only saw warnings about reflections used by the current json serializer.
WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.cedarsoftware.util.io.MetaUtils to field java.lang.Enum.name
Do you happen to see those problems as well ?
I will try to update the dependency. Else it will need to be replaced.
Upgrading the dependency is not enough.
Do you know any good json serializer for java ? i'm thinking to switch to gson but don't know how it fares.
I will make a new branch with this work tomorrow so we can continue the work before merging in master
I know it is a huge change, I originally did this for myself to resolve the annoying issue on HiDPI mode of Windows 10. But since migrate to Java 12 also give us extra benefits:
So I would like to submit this PR to open a discussion with you guys.
Note: Although
gradle run
works on Windows, butgradle shadowJar
andgradle jar
still doesn't work as the original master branch does. It looks like caused by a strange issue in Gradle itself, so we still need a Linux/macOS/WSL to create jar.