Provide a new Nextflow package distribution that runs natively in the target execution environment ie. deb and rpm on Linux and dmg on MacOs.
Goals
Provide a self-contained application package that runs natively in target OS without the need to install the Java virtual machine.
Streamline the installation of the Nexflow package.
Description
The core Nextflow application is distributed as a collection of JAR files that are downloaded by the launcher nextflow script. Managing the download of the required dependencies can create unexpected problems (see #1806), moreover, the need of having a preinstalled Java VM can be overkill for some users.
Recent versions of the Java (16 and later) includes the jpackage tool that allows the creation of a native platform executable including all the application dependencies and the Java runtime. This means that it can be created a self-contained executable that can run natively in the target environment.
Summary
Provide a new Nextflow package distribution that runs natively in the target execution environment ie. deb and rpm on Linux and dmg on MacOs.
Goals
Description
The core Nextflow application is distributed as a collection of JAR files that are downloaded by the launcher
nextflow
script. Managing the download of the required dependencies can create unexpected problems (see #1806), moreover, the need of having a preinstalled Java VM can be overkill for some users.Recent versions of the Java (16 and later) includes the
jpackage
tool that allows the creation of a native platform executable including all the application dependencies and the Java runtime. This means that it can be created a self-contained executable that can run natively in the target environment.See https://openjdk.java.net/jeps/392