blob: e80dde07fc9eaf62d6845c3e21cc3d863ef492de [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<html>
<head>
<script type="text/javascript">var xookiConfig = {level: 1};</script>
<script type="text/javascript" src="../xooki/xooki.js"></script>
</head>
<body>
<textarea id="xooki-source">
<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'.
</textarea>
<script type="text/javascript">xooki.postProcess();</script>
</body>
</html>