| <!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> |