module

Tag: module

Define a module set rule. The tag defines a module set, by giving an expression and the matcher to use for organisation, name, revision and any extra attribute identifying your modules. The rule matching is performed in order, and is using a pattern matcher. Hence you can use * to specify all, or simply avoid specifying the attribute.

The revision and extra attributes are only used for rules defining the resolver to use. For other settings, use only organisation and module name.

It also gives the specific setting to use for this module set.

For each module set, you can configure:

Attributes

Attribute Description Required

organisation

the organisation to match to apply the rule.

No, defaults to *

name

the module’s name to match to apply the rule.

No, defaults to *

revision

the module’s revision to match to apply the rule. Note that the version may not be resolved yet (be latest.integration, for instance), so be very careful when using this attribute (since 2.0).

No, defaults to *

any extra attribute

an extra attribute to match to apply the rule (since 2.0).

No, defaults to *

matcher

the matcher to use to match the modules to which the resolver should be applied (since 1.3).

No, defaults to exactOrRegexp

resolver

the name of the resolver to apply. The resolver must have been defined in the resolvers section of the settings file.

No

conflict-manager

the name of the conflict manager to apply (since 1.4).

No

branch

the default branch to apply (since 1.4).

No

resolveMode

the resolve mode to use (since 2.0).

No

Examples

<modules>
  <module organisation="apache" name="*" resolver="myprojectsresolver"/>
</modules>

Uses myprojectresolver for all modules from apache.


<modules>
  <module organisation="apache" name="commons-*" matcher="glob" resolver="myapachecommonsresolver"/>
</modules>

Uses myapachecommonsresolver for all modules beginning with commons- from apache.


<modules>
  <module organisation="apache" name="commons-[a-z]+" myextra="val.*" matcher="regexp" resolver="myapachecommonsresolver"/>
</modules>

Uses myapachecommonsresolver for all modules from apache beginning with commons- followed by any number of alphabetic lowercase characters, and with the extra attribute myextra having a value beginning with val..


<modules>
  <module organisation="apache" name="ivy*" matcher="glob" conflict-manager="latest-time"/>
</modules>

Uses latest-time conflict manager for all modules from apache whose name begins with ivy.


<modules>
  <module organisation="apache" name="ivy*" matcher="glob" branch="fix-103"/>
</modules>

Uses fix-103 as default branch for all modules from apache whose name begins with ivy.