- 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.0by 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 -hand look for options at the Auto Config section
- Open the
jreleaser.ymlfile - 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.ymland setversion: 1.0.0in 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.ymlas inspiration) - Full docs at https://jreleaser.org/guide/latest/configuration/index.html