You should have the following things installed:
- Git
- Java 25 - should be as unmodified as possible (Recommended: Eclipse Adoptium)
- Maven (Note that the Maven Wrapper is shipped with the repo)
- Install
IntelliJ- Recommended setup actions
- Disable not needed plugins
- Disable telemetry
- Configure the available memory
- Import the project
- You will get prompted to install the required plugins
- Ensure that everything is encoded in
UTF-8 - Ensure that the JDK/Java-Version is correct
- Recommended setup actions
Before releasing:
- Consider doing a
test-deploymentbefore actually releasing. - Check the changelog
If the develop is ready for release, create a pull request to the master-Branch and merge the changes
When the release is finished do the following:
- Merge the auto-generated PR (with the incremented version number) back into the
develop
There are 2 modes of release failure:
- The remote server was e.g. down and non of the artifacts got published
- There was a build failure during release and only parts of the artifacts got released
In case 1 we can re-release the existing version,
in case 2 we have to release a new version when we can't get the artifacts deleted (as is the case with Maven Central)
- Delete the release on GitHub
- Delete the release Git tag from the repo (locally and remote!)
- Delete the
master-Branch and re-create it from thedevelopbranch (or reset it to the state before the release-workflow commits have been done)- This requires temporarily removing the branch protection
- Once this was done a new release is triggered immediately!
- Merge the
masterbranch back intodevelop(or another temporary branch) - Make sure all master branch versions are prepared for a new release
e.g. if the broken release was1.0.0the version should now be at1.0.1-SNAPSHOT- theSNAPSHOTis important for the workflow! - Mark the broken release as broken e.g. inside the Changelog, GitHub Release page, etc.
You can use something like this:> [!WARNING] > This release is broken as my cat accidentally clicked the abort button during the process - Merge the changes back into the
masterbranch to trigger a new release