-
Notifications
You must be signed in to change notification settings - Fork 648
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve packaging and distribution system #2951
Comments
It would be great to use this as an opportunity to move the installation files away from http://nextflow.io/releases/ if possible. It terrifies me having it on the same domain as the website, which is being changed on a regular basis. It would be pretty easy to accidentally break installations by creating the wrong web page URLs there, for example. It would be better to use a dedicated subdomain that only serves the installation assets, so that it's kept entirely separate from the website hosting. For example, we could use https://download.nextflow.io We could leave the existing assets at http://nextflow.io/releases/ or potentially set up redirects to the new download link. |
Another thing to consider whilst we're here: it would be great to be able to easily install snapshots of Nextflow that are more fine-grained than We already build Nextflow on every push to NXF_VER=0a8a484 curl -s https://get.nextflow.io/ | bash GitHub artefacts are deleted after 90 days, so we may want to mirror them to storage somewhere else if that's not too difficult. Doing so may also make it easier for the installer script to work. |
It would be trivial to take this same approach ☝🏻 and do it with a Note that we could also set up some redirects to have shortcut versions such as |
Nextflow is finally Capsule free as for version 24.07.0-edge 🎉 |
Summary
Nextflow application is a packaged as a set of JAR files (Java archives) that are uploaded to Maven central repository with the exception of the launcher app that's stored in http://nextflow.io/releases/
The
nextflow
"binary" is a mere Bash script that checks if the launcher app is stored locally. If it cannot be found it download it from the http://nextflow.io/releases URL and run it.Then the launcher app, uses the Capsule package manager to download the main application JARs from Maven along with all required dependencies files.
This system worked quite nicely for many years, however there are some serious open issues:
Goals
nextflow
launcher wrapperNon-goals
The text was updated successfully, but these errors were encountered: