Maven Extension Repository Connector

The Maven extension repository connector allows accessing extensions located on a Maven repository. The source code is available on GitHub at https://github.com/xwiki/xwiki-commons/tree/master/xwiki-commons-core/xwiki-commons-extension/xwiki-commons-extension-repositories/xwiki-commons-extension-repository-maven .

Properties

KeyValueDescription
auth.userUser identifierThe user used to authenticate to the Maven repository
auth.passwordA passwordThe password used to authenticate to the Maven repository

It is possible to customize the pom.xml file beyond what is supported by Maven with the following custom properties:

PropertyTypeDescription
xwiki.extension.nameStringThe extension pretty name which overrides the <name> standard Maven property.
xwiki.extension.summaryStringThe extension summary which overrides the <description> standard Maven property.
xwiki.extension.websiteA valid URLThe extension home page which overrides the <website> standard Maven property.
xwiki.extension.featuresA coma or white-space separated list of strings. You can use the '\' character for escaping.The features provided by the extension. 

Extension Manager Versions and Version Ranges

The Extension Manager internal version syntax follow Maven syntax, so the handler does not perform the conversion.

Extension Manager support a set of syntaxes for versions and versions ranges. The syntax is mostly based on the Maven one.

RangeMeaning
1.01.0 is recommended but greater version are matched too. In Maven it means 1.0 is best but any other version is matched too.
(,1.0]version <= 1.0
[1.0]The version can only be 1.0
[1.2,1.3]1.2 <= version <= 1.3
[1.0,2.0)1.0 <= version < 2.0
[1.5,)version >= 1.5
(,1.0],[1.2,)version <= 1.0 or version >= 1.2. You can also use multiple sets (comma-separated)
(,1.1),(1.1,)The version can be anything but 1.1

These versions are represented by the following public interfaces:

  • Version provides the API to compare versions and indicates if the version type is SNAPSHOT, BETA or STABLE.
  • VersionRange indicates if the provided version is part of this range.
  • VersionRangeCollection extends VersionRange to a list of VersionRange.
  • VersionConstraint is an extension version constraint. A constraint can either consist of one or more version
    ranges or a single version. In the first case, the constraint expresses a hard requirement on a version matching one of its ranges. In the second case, the constraint expresses a soft requirement on a specific version (i.e. a recommendation).

    

Related Pages

Trying to decide between Cloud and On Premise? See the comparison on the XWiki Help Center.

Search this space