<b>Tag:</b> module <span class="tagdoc" id="ivysettings.modules.module">Define a module set rule.</span> 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: <ul> <li>the [[settings/resolvers resolver]] to use</li> <li>the [[settings/conflict-managers conflict manager]] to use</li> <li>the default <a href="../terminology.html#branch">branch</a> to use</li> <li>the [[ant:resolve resolve mode]] to use</li> </ul> <h1>Attributes</h1> <table class="ivy-attributes"> <thead> <tr><th class="ivy-att">Attribute</th><th class="ivy-att-desc">Description</th><th class="ivy-att-req">Required</th></tr> </thead> <tbody> <tr><td>organisation</td><td>the organisation to match to apply the rule.</td> <td>No, defaults to *</td></tr> <tr><td>name</td><td>the module's name to match to apply the rule.</td> <td>No, defaults to *</td></tr> <tr><td>revision</td><td>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. <span class="since">since 2.0</span></td> <td>No, defaults to *</td></tr> <tr><td><em>any extra attribute</em></td><td>an extra attribute to match to apply the rule. <span class="since">since 2.0</span></td> <td>No, defaults to *</td></tr> <tr><td>matcher</td><td>the <a href="../concept.html#matcher">matcher</a> to use to match the modules to which the resolver should be applied <span class="since">since 1.3</span></td> <td>No, defaults to exactOrRegexp</td></tr> <tr><td>resolver</td><td>the name of the resolver to apply. The resolver must have been defined in the resolvers section of the configuration file.</td> <td>No</td></tr> <tr><td>conflict-manager</td><td>the name of the conflict manager to apply. <span class="since">since 1.4</span></td> <td>No</td></tr> <tr><td>branch</td><td>the default branch to apply. <span class="since">since 1.4</span></td> <td>No</td></tr> <tr><td>resolveMode</td><td>the resolve mode to use. <span class="since">since 2.0</span></td> <td>No</td></tr> </tbody> </table> <h1>Examples</h1> <code type="xml"> <modules> <module organisation="apache" name="*" resolver="myprojectsresolver"/> </modules> </code> Uses myprojectresolver for all modules from <i>apache</i>. <hr/> <code type="xml"> <modules> <module organisation="apache" name="commons-*" matcher="glob" resolver="myapachecommonsresolver"/> </modules> </code> Uses myapachecommonsresolver for all modules beginning with 'commons-' from 'apache'. <hr/> <code type="xml"> <modules> <module organisation="apache" name="commons-[a-z]+" myextra="val.*" matcher="regexp" resolver="myapachecommonsresolver"/> </modules> </code> Uses myapachecommonsresolver for all modules from <i>apache</i> beginning with 'commons-' followed by any number of alphabetic lowercase characters, and with the extra attribute 'myextra' having a value beginning with 'val.'. <hr/> <code type="xml"> <modules> <module organisation="apache" name="ivy*" matcher="glob" conflict-manager="latest-time"/> </modules> </code> Uses latest-time conflict manager for all modules from <i>apache</i> whose name begins with 'ivy'. <hr/> <code type="xml"> <modules> <module organisation="apache" name="ivy*" matcher="glob" branch="fix-103"/> </modules> </code> Uses 'fix-103' as default branch for all modules from <i>apache</i> whose name begins with 'ivy'.