What is the best way to ship a tornadofx applicati...
# tornadofx
s
What is the best way to ship a tornadofx application as a standalone package?
d
You mean without the needing to install JRE too?
m
I use jpackage in JDK 14 to make platform specific packages/installers
You can still build with JDK 11 and just use JDK14 for jpackage part
I use the "badass" runtime gradle plugin that does all the work for you
If you want to make a single executable you can use graalvm and gluon substrate but the resulting executable is huge and it's tricky to get working
s
@Marshall But using jpackage you are left with an installation that is normal for each of the OS?
i.e. for Windows I'd have a .exe, on mac I'd have a .dmg, right?
m
Yes but you have to build on each platform
On windows, you can get an msi installer or an exe installer
Linux, deb or rpm
Mac dmg or pkg
s
but you are left with an installer for each platform?
if I wanted to ship an application update, how difficult is it?
m
For windows, you specifiy the upgrade uuid
so if you run a new version of the installer, it will do the upgrade
I have tested that and it works, I have not tested linux and mac
d
If you need always-online-update functionality and transparent, robust handling of JREs with a downloadable native app that needs no admin permissions, you might want to check out 'trivrost' on GitHub. (Disclaimer: I am one of the maintainer)