Vyxal/Jyxal

It might be nice to bundle the release with a minimal Java runtime through `jlink`

xiver77 opened this issue · 2 comments

I haven't contributed anything to this project, and this is merely a suggestion.

Jyxal requires Java 17, but Java 8 is the version you get when you google "java", and version 11 is provided as the default on some popular Linux distros including Ubuntu and Fedora. Java 8 still has extended support left until 2030 (https://www.oracle.com/java/technologies/java-se-support-roadmap.html), so it will take some time to have most systems with Java 17.

Requiring the user to have multiple versions of Java installed on the same system might not be welcomed. One practical reason is PATH clashing, and one psychological reason is considering the oldest supported version stable and safe.

Recent JDKs have jlink, with which the developer can create a minimal Java runtime by automatically tracking the necessary dependencies from the class files. With this minimal runtime bundled with Jyxal.jar, you can provide a standalone app or script that calls java -jar (from the minimal runtime) behind the scene for the end-user.

Btw with the move to Koltin in 0.4.0, I've backported it to Java 11. I deleted the 0.3.0 answer as it considered multiples of 5 prime. Ill post a 0.4.0 answer soon-ish

Even if it’s using Java 11, I think this proposal is a good idea because not everyone will have that on their computers.