mirror of https://github.com/apache/ant-ivy
70 lines
3.5 KiB
HTML
70 lines
3.5 KiB
HTML
<!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>
|
|
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
|
|
<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> conflicts <b>Parent:</b> <a href="../ivyfile.html">ivy-module</a><br/><br/>
|
|
|
|
<span class="since">(since 2.0)</span> the conflicts section is deprecated. Use the [[ivyfile/conflict]] instead.
|
|
|
|
Container for conflict manager elements, used to indicate how conflicts should be resolved
|
|
for this module. <br/><br/>
|
|
|
|
The list of built-in conflict managers available is listed on the [[settings/conflict-managers conflict manager configuration page]].<br/><br/>
|
|
|
|
Conflicts manager are used during the resolve operation, i.e. when ivy analyse the graph of dependencies
|
|
and download corresponding ivy files and artifacts. The fact to manage conflict at resolve time
|
|
enables to minimize downloads: when a module is evicted by a conflict manager, it is not downloaded.<br/><br/>
|
|
|
|
There are two things optimized during conflict resolution: download of artifacts and download
|
|
of ivy files. The first is always ensured by ivy, i.e. artifacts of a module evicted will never
|
|
be downloaded. The second is not as simple to handle because to know what are the conflicts
|
|
ivy needs to know the dependency graph, and to know the dependency graph, it has to download
|
|
ivy files. But ivy is highly optimized on this too, and it tries to evict modules as soon as possible.<br/>
|
|
That's why the order of dependencies is important for download optimization. Indeed ivy
|
|
traverses the dependency graph in the order in which dependencies are declared in the ivy files,
|
|
and each time it encounters a dependency on a module, it first check if there is a conflict on this module,
|
|
and if this is the case, it asks the conflict manager to resolve the conflict. Then if the module is evicted,
|
|
it does not download its ivy file, and the whole branch is not traversed, which can saves
|
|
a lot of time.<br/><br/>
|
|
|
|
If this container is not present, a default conflict manager is used for all modules.
|
|
The current default conflict manager is the "latest-revision" conflict manager.
|
|
<h1>Child elements</h1>
|
|
<table class="ivy-children">
|
|
<thead>
|
|
<tr><th class="ivy-chld">Element</th><th class="ivy-chld-desc">Description</th><th class="ivy-chld-card">Cardinality</th></tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr><td><a href="../ivyfile/manager.html">manager</a></td><td>declares a conflict manager for this module</td>
|
|
<td>1..n</td></tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
</textarea>
|
|
<script type="text/javascript">xooki.postProcess();</script>
|
|
</body>
|
|
</html>
|