The Camunda Community Hub decided for a unified groupId of org.camunda.community
. Therefore, all contributors will require a bit of work to switch their repositories to the new groupId.
If you develop a Java project, you can leverage the existing infrastructure for builds and releases to Maven Central.
- Use a Maven groupId based on:
org.camunda.community
- Add release parent pom as described here:
<parent>
<groupId>org.camunda.community</groupId>
<artifactId>community-hub-release-parent</artifactId>
<version>1.4.1</version>
</parent>
Maven differentiates between two ways of how to approach this topic. Please look at the official documentation for more information.
The Working on past versions
is not supported as the Camunda Nexus does not have an automatic nor manual sync to Maven Central.
Releasing the next version
on the other hand is something that can be utilized and will inform future users about the relocation.
The following will describe a procedure of how one could tackle the relocation for future releases with the given tools (maven release action). In total, we'll do two releases with two different groupIds for the same version. If a person consumes the latest version of the old groupId, a warning will be issued that mentions the relocation to the new groupId.
[WARNING] While downloading org.camunda.infra.githubdemo:camunda-infra-githubdemo:2.0.0
This artifact has been relocated to org.camunda.community.infra.githubdemo:camunda-infra-githubdemo:2.0.0.
It was decided on a unified groupId
- Create a branch of the primary branch, e.g., called
relocation
. It will be used later to publish the relocation pom. - On the primary branch - Update your repository with the new groupId, e.g., in the
pom.xml
but also don't forget to move your src from/foo/bar
to/org/camunda/community/bar
- Create a new release based on the updated branch with the new groupId. As an example, we'll go with 2.0.0.
- Switch back to the backup branch
relocation
and add the following to thedistributionManagement
.
<relocation>
<groupId>org.camunda.community.bar</groupId>
<message>Custom message that YOU can either omit or define for YOUR userbase.</message>
</relocation>
- Rename your 2.0.0 tag to 2.0.0-new, e.g., by using the GitHub UI.
https://github.com/org/repo/releases/edit/2.0.0
. Editing the tag will create a new tag based on the latest primary branch commit but not cause an additional release. - Delete the old 2.0.0 tag as we have to reuse the tag to publish the old POM. Either use the GitHub UI or run
git push --delete origin 2.0.0
in your repo with the adjusted tag version. - Create a new release based on the backup branch
relocation
with the same version number 2.0.0.
From then on, you can publish every new release under the new groupId. People using the old groupId will be informed about the change if they consume the old groupId.