JReleaser v1.2.0 has just been released! I'm quite excited about this release as it brings a feature that's been brewing for a long time, even before
1.0.0 came out: execution hooks. But, wait there's more! The full list of issues can be found at the v1.2.0 milestone. We've also merged contributions from 4 new contributors: Margarita Nedzelska, Alexius Diakogiannis, Guillaume Smet, Aiden Turner.
JReleaser follows a series of steps when creating a release. Command hooks let you invoke external commands before and/or after each step is executed. With this feature in place you may invoke arbitrary commands that set the stage before a step is executed or react when a step is finished (successfully or with failure). This opens the door to integrations that are not yet possible via the DSL.
Gitea & Gitlab Uploaders
Gitea and GitLab support uploading binaries to their respective package options. Now you can also upload binaries to their respective generic package option (Gitea, Gitlab). Support for GitHub is on hold at the moment as they do not support (yet) uploading generic packages.
There are 3 brand new packagers supported in this release: AppImage, asdf-vm, and Flatpak. More over, Project has additional properties such as stereotype, links, screenshots, and icons, complementing the capabilities exposed by these packagers.
Additional Template Functions
At the heart of JReleaser resides a template engine (powered by Mustache) that's used to generate files required by packagers, assemblers, announcers, and releasers. New additions include functions to read files, translate Markdown into HTML, and calculate checksums.
It’s now possible to tweet several messages as part of a single thread. You may define an explicit list of messages or a file containing each message (one per line). For example, this file was used by JReleaser 1.2.0 to post the following thread
🚀 JReleaser 1.2.0 has been released! https://t.co/BxROvforjr
— JReleaser (@jreleaser) August 27, 2022
Keep on coding!