- The preferred choice is via sdkman:
sdk install jreleaser
- Other choices available explained at https://github.com/jreleaser/jreleaser
- Depending of your choice you may need Java preinstalled (Java 8+)
- Verify the installation by invoking
jreleaser -V
. It should be version1.2.0
- Also install
1.1.0
by invokingsdk install jreleaser 1.1.0
.
- A GitHub accout is required
- Create a personal access token as explained at https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token
- Select all permissions for read/write, we need them posting to additional repositories. Also select discussions if you'd like to post announcements to the Discussions tab.
- Save the token in a file
~/.jreleaser/config.properties
(Linux/Mac) or%USER_HOME%/.jreleaser/config.properties
(Windows) - The content of this file should look like
JRELEASER_GITHUB_TOKEN = toke_value
.
- Open a terminal/shell
- Fork https://github.com/aalmiray/app/
- Clone your forked repository into your local environment
- Change directory into the clone directory
- !! Use JReleaser
1.1.0
!! - Issue the following command
jreleaser release --auto-config --project-version 1.0.0
- Build the binaries by invoking
./mvnw verify
- Play around with different options. Invoke
jreleaser release -h
and look for options at the Auto Config section
- Open the
jreleaser.yml
file - Observe configured values for each section
- If you have not yet build the binaries do so by invoking
./mvnw verify
- Configure an enviromnet variable JRELEASER_PROJECT_VERSION with 1.0.0 as value
- alternatively edit
jreleaser.yml
and setversion: 1.0.0
in theproject:
section
- alternatively edit
- Disable the sign property on the
release:
section. - Set the
active:
property of thesigning:
section to "never" - Browse to the project settings on GitHub, activate discussions by ticking the checkbox
- !! Use JReleaser
1.2.0
!! - Make a full release (git release + homebrew formula) with
jreleaser full-release
- Browse to GitHub and look for the freshly posted relase in your fork
- Browse to <your-github-user>/homebrew-tap and inspect the generated Formula
- [optional] If you're running Linux/Mac and have hombrew installed then invoke: brew tap <your-github-user>/tap && brew install app
- Edit the pom.xml file and add the following plugin
<plugin>
<groupId>org.jreleaser</groupId>
<artifactId>jreleaser-maven-plugin</artifactId>
<version>1.2.0</version>
</plugin>
- Print out the current configuration with
./mvnw jreleaser:config
- Post a release with
./mvnw jreleaser:release
- Play around with options (use
jreleaser.yml
as inspiration) - Full docs at https://jreleaser.org/guide/latest/configuration/index.html