chunky icon indicating copy to clipboard operation
chunky copied to clipboard

Make the launcher a standalone Java 11 application?

Open llbit opened this issue 5 years ago • 4 comments

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.

llbit avatar May 27 '19 21:05 llbit

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.

jackjt8 avatar Feb 20 '21 23:02 jackjt8

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.

leMaik avatar Jun 06 '21 22:06 leMaik

windows-zip and windows-installer both function as expected.

UI changes to the installer to be detailed in new issue.

jackjt8 avatar Jun 06 '21 22:06 jackjt8