Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Provide various parent pom.xml for contrib extensions.

Extensions are automatically released on and if your user have the proper rights.

Missing a specific version of those pom for your need ?

One version is always published for each LTS branch since that's what contrib extensions are recommended to support.

If you need a specific version there is two possibilities:

  • in most cases it's enough to use the closest lower version (8.4-8 for example) and set the following property <commons.version>8.4.2</commons.version>
  • in more complex use case (like parent-platform-distribution) you will need the exact same version, don't hesitate to create a TASK issue on


Most released versions have a corresponding branch (usually master for latest versions) so you can create a pull request there. If you are not sure how to fix it create an issue on


For extensions having xwiki-platform dependencies:


For extensions having xwiki-rendering and xwiki-commons dependencies:


For extensions having xwiki-commons dependencies only:


For custom XWiki distributions:



Version is <branch>[-<buildnumber>] as in 6.4-3 which is the 3rd update of the parent pom to use for contrib extension which support XWiki 6.4 version and more.

You can then use ${commons.version}, ${rendering.version} or ${platform.version} depending on where you dependency come from as in:



It's possible to customize a bit the behavior of the parent pom using some properties.

Previous version

By default revapi plugin is executed to check if you broke any API. It automatically find out the previous version but sometime it's not exacting the one you want to compare with.

You can control the version to use as previous version with the property xwiki.compatibility.previous.version as in:


Nexus plugin

By default the maven artifact are going to be automatically released on If you want to keep it in two passes (you want to test the deployed artifact before the release or the doing the Maven release is not the same as the one validating the release) you can control the behavior with the properties <> and <> as in:

    <!-- Completely skip the Nexus plugin -->
    <!-- Disable the automatic release after the clone -->

Issue Management

You can set the based issue management system and URL in the properties as follow:


If your project is not hosted on you can also do the following:


Enable automatic Jira release

If you want to automatically create (if it does not already exist) and release the version on Jira when you release on Maven you can enable it using the Maven property xwiki.release.jira.skip as in:


You will also need to indicate your credentials in ~/.m2/settings.xml file:


Test coverage

You can indicate the minimum test coverage you want to pass the build using the property <xwiki.jacoco.instructionRatio>

Here is an example which requiring that at least 50% of your code is executed during tests:


If it's not you will see a message like the following:

[WARNING] Rule violated for bundle my-module: instructions covered ratio is 0.40, but expected minimum is 0.50

Release of a new parent pom

The Maven Release Plugin cannot be used for these pom.xml because one of the goal is to make sure release setup is a clean slate when you use them as parent.

  • Go to the right branch. Use master when releasing a non-LTS version.
  • Note: you don't need to edit the versions since the new version will asked during the release script execution and the various pom.xmlfiles will be updated automatically.
  • execute ./


Provide various parent pom.xml for contrib extensions




No packages published


You can’t perform that action at this time.