chunky
chunky copied to clipboard
Make the launcher a standalone Java 11 application?
Package the Chunky launcher with jlink and distribute as a standalone application.
This will not be done for the next stable release, but maybe the one after that.
Pros:
- No more problems with finding Java installation and Java FX.
- Future proofing.
Cons:
- Takes unknown amount of development time to implement.
- Have to adapt Chunky and its plugin system to work with the Java module system.
Re: #757 #617 #523 | #700 #538 | #787
Related PR: #760
The current JavaFX detector relies on hardcoded folder paths which often fails unless we switch towards a fuzzy search for folders containing key terms, such as (ignoring case) jfx
or javafx
, within expected locations, ie Program Files
, Downloads
, Desktop
, etc., and performing the location test provided in #760. This would resolve many common failure cases such as with MacOS and if the openjdk folder retains the .zips name which is the default extraction option provided with many applications.
A standalone Java 11 application would not only resolve all issues surrounding missing Java/JavaFX, as outline above, it would also bring a few additional benefits such as access to FMA; and should we later target Java 16 we would gain access to the incubator module which would provide vector computation (i.e. SIMD) support by hardware instructions (e.g. SSE, AVX) and a graceful degradation to a software implementation. Additionally it would resolve build.gradle issues stemming from Java 11+ installs requiring patched build scripts to function; min-target Java 11 would resolve these issues (#787 + related).
Given both OpenJDK and OpenJFX are licensed under GPLv2+ce we can legally redistribute them regardless of Chunky's licensing Reference:
As such, it can be used to run, create and distribute a large class of applications and applets. When GNU Classpath is used unmodified as the core class library for a virtual machine, compiler for the java language, or for a program written in the java programming language it does not affect the licensing for distributing those programs directly.
Providing a new batch of installers on release 2.4.0
with bundled JRE+JFX would resolve multiple reoccurring issues.
I started working on this (with some help from @alexhliu), please give it a try: https://github.com/leMaik/chunky-launcher-standalone/actions (download the artifacts from the latest action run)
Currently it supports Linux (debian package for Ubuntu/Debian or zip) and Windows (installer or zip), Mac support (dmg) will follow soon.
windows-zip
and windows-installer
both function as expected.
UI changes to the installer to be detailed in new issue.