﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
17083	Create jlink / jpackage native runtimes	Don-vip	Don-vip	"With the end of Java WebStart and public JRE availability from Oracle (end of 2020) we need to find another deployment technology that matches our needs:
- still offer a simple jar for power users, and Linux distributions that include the Java and JavaFX runtimes, as they manage the security updates themselves
- provide a simple way for Windows and macOS users to get JOSM, Java and JavaFX runtimes
- provide a light mechanism to get JOSM latest updates every day
- make sure users get Java security updates if we ship the runtimes ourselves

Java 9 introduced a new tool ([https://docs.oracle.com/en/java/javase/11/tools/jlink.html jlink]) to create custom Java runtimes that only include the classes needed for an application. It allows to create smaller runtimes and also gives a significant boost when starting the JVM (less stuff to load).

I never considered it seriously until today because [https://stackoverflow.com/a/37212998/2257172 jlink does not allow cross-platform] builds. So if we go this way, we need to get three build servers (Linux, Windows, macOS).

I found today an open source project that [https://twitter.com/brunoborges/status/1071089513315725312 managed to do it]. The results in size are quite impressive ([https://twitter.com/brunoborges/status/1071098070798979073 less than 40 Mb]). This is achieved using [https://azure.microsoft.com/en-us/services/devops/pipelines/?nav=min Azure Pipelines]: Microsoft provides a free offer for open source projects (10 free parallel jobs with unlimited minutes).

I will try to build native runtimes with OpenJDK 11, JavaFX 11 and JOSM to see if it works :)
"	enhancement	closed	major	21.08	Core		fixed	java11 javafx webstart jlink jpackage windows macosx	stoecker simon04 floscher michael2402 wiktorn
