You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ivy-commits@incubator.apache.org by xa...@apache.org on 2006/12/18 17:06:13 UTC

svn commit: r488342 [3/9] - in /incubator/ivy/trunk/src/doc/xooki: ./ doc/ doc/conf/ doc/configuration/ doc/configuration/macrodef/ doc/configuration/namespace/ doc/ivyfile/ doc/releasenotes/ doc/resolver/ doc/tutorial/ doc/tutorial/build-repository/ d...

Added: incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/conflicts.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/conflicts.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/conflicts.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/conflicts.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,48 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+	<script type="text/javascript">var xookiConfig = {level: 2};</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="../../doc/ivyfile/ivy-module.html">ivy-module</a><br/><br/>
+
+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 <a href="../../doc/configuration/conflict-managers.html">conflict manager configuration page</a>.<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="../../doc/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>

Added: incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/dependencies.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/dependencies.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/dependencies.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/dependencies.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,47 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+	<script type="text/javascript">var xookiConfig = {level: 2};</script>	
+	<script type="text/javascript" src="../../xooki/xooki.js"></script>
+</head>
+<body>
+	<textarea id="xooki-source">
+<b>Tag:</b> dependencies <b>Parent:</b> <a href="../../doc/ivyfile/.html">ivy-module</a>
+
+Container for dependency elements, used to describe the dependencies of this module. 
+If this container is not present, it is assumed that the module has no dependency at all.
+
+This container let the possibility to defines two very similar things: defaultconf and defaultconfmapping.
+
+<code>defaultconf</code> exists since Ivy 1.1 and enables to define the default conf attribute to use when no conf is defined for a dependency in this ivy file. It is only used when no conf mapping is defined, and has no influence in other cases.
+
+<code>defaultconfmapping</code> exists since Ivy 1.3 and enables not only to define the default conf mapping when no conf is specified for a dependency in this ivy file, but it also influence the way conf mapping with no mapped conf are interpreted (see <a href="../../doc/ivyfile/configurations.html">configurations doc page</a> for details about this).
+
+Note that if both defaultconf and defaultconfmapping are defined, it's the defaultconfmapping that is used. Note also that if several defaultconfmapping are defined (one in the configurations tag, one or several in included configurations file, and/or one in the dependency tag, then it's only the last which is taken into account, the others will have no effect at all.
+<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>defaultconf</td><td>the default configuration to use when none is specified in a dependency. <span class="since">since 1.1</span></em></td>
+        <td>No, defaults to *->*</td></tr>
+    <tr><td>defaultconfmapping</td><td>the default configuration mapping to use in this ivy fie. <span class="since">since 1.3</span></em></td>
+        <td>No, defaults to no default conf mapping</td></tr>
+</tbody>
+</table>
+<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="../../doc/ivyfile/dependency.html">dependency</a></td><td>declares a dependency for this module</td>
+        <td>0..n</td></tr>
+</tbody>
+</table>
+
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/dependency-artifact-conf.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/dependency-artifact-conf.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/dependency-artifact-conf.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/dependency-artifact-conf.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,27 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+	<script type="text/javascript">var xookiConfig = {level: 2};</script>	
+	<script type="text/javascript" src="../../xooki/xooki.js"></script>
+</head>
+<body>
+	<textarea id="xooki-source">
+<b>Tag:</b> conf <b>Parent:</b> <a href="../../doc/ivyfile/dependency-artifact.html">artifact</a>
+
+Specify a configuration in which the enclosing artifact specification should be included.
+
+<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>name</td><td>the name of the master configuration in which the enclosing artifact should be included</td>
+        <td>Yes</td></tr>
+</tbody>
+</table>
+
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/dependency-artifact.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/dependency-artifact.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/dependency-artifact.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/dependency-artifact.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,78 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+	<script type="text/javascript">var xookiConfig = {level: 2};</script>	
+	<script type="text/javascript" src="../../xooki/xooki.js"></script>
+</head>
+<body>
+	<textarea id="xooki-source">
+<b>Tag:</b> artifact <b>Parent:</b> <a href="../../doc/ivyfile/dependency.html">dependency</a>
+
+This feature gives you more control on a dependency for which you do not control its ivy file. 
+It enables to specify the artifacts required, if the dependency has no ivy file. 
+
+Indeed, when a module has no ivy file, it is assumed that it publishes exactly one artifact having the same name as the module itself. But when this module publishes more artifacts, or simply does not respect the name rule, and if you cannot deliver an ivy file for it (because you do not control the repository, for instance - think about maven ibiblio repository, to give no name), then this feature let you specify the artifacts names you want to get.
+
+Each artifact specification can be given in the context of particular master configurations. By default, if no configuration is specified, artifacts specification apply to all master configurations. But you can specify that a specification applies only to one or several master configurations, using either inline or nested conf specification. In this case, do not forget that if you do not specify any specification for a particular configuration, then no specification will apply for this configuration and it will be resolved not taking into account any specification.
+
+For instance, imagine you have A, B & C master configurations. If you specify art1 in A & B and art2 in A, then C will not be specified at all, and will thus assume the default artifact. To prevent this, you have to specify a configuration mapping for the dependency, mapping only A & B to some or all dependency configurations.
+
+Example:
+<code type="xml">
+<dependency org="yourorg" name="yourmodule9" rev="9.1" conf="A,B->default">
+  <artifact name="art1" type="jar" conf="A,B"/>
+  <artifact name="art2" type="jar" conf="A"/>
+</dependency>	
+</code>
+
+<span class="since">since 1.4</span> It's possible to indicate the url at which the artifact can be found. This is not mandatory, and even not recommended with an enterprise repository. Note that Ivy will always look at the location where the artifact should be and only use th url if it cannot be found at the standard location in the repository.
+
+<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>name</td><td>the name of an artifact of the dependency module</td>
+        <td>Yes</td></tr>
+    <tr><td>type</td><td>the type of the artifact of the dependency module</td>
+        <td>Yes</td></tr>
+    <tr><td>ext</td><td>the extension of the artifact of the dependency module</td>
+        <td>No, defaults to type</td></tr>
+    <tr><td>conf</td><td>comma separated list of the master configurations in which this artifact should be included.
+    '*' wildcard can be used to designate all configurations of this module</td>
+        <td>No, defaults to '*', unless nested conf are specified</td></tr>
+    <tr><td>url</td><td>an url where this artifact can be found if it isn't present at the standard location in the repository <span class="since">since 1.4</span></td>
+        <td>No, defaults to no url</td></tr>
+</tbody>
+</table>
+<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="../../doc/ivyfile/dependency-artifact-conf.html">conf</a></td><td>configuration in which the artifact should be included</td>
+        <td>0..n</td></tr>
+</tbody>
+</table>
+<h1>Examples</h1>
+<code type="xml">
+<dependency org="foo" name="bar" rev="1.0">
+  <artifact name="baz" type="jar"/>
+</dependency>
+</code>
+Declares a dependency on module bar which only publish one artifact: baz.jar.
+
+<hr/>
+<code type="xml">
+<dependency org="foo" name="bar" rev="1.0">
+  <artifact name="baz" type="jar" url="http://www.acme.com/repository/bar/baz-1.0-acme.jar"/>
+</dependency>
+</code>
+Same as above, except that if the artifact is not found at its standard location, Ivy will use <code>http://www.acme.com/repository/bar/baz-1.0-acme.jar</code> to download it.
+
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/dependency-conf.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/dependency-conf.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/dependency-conf.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/dependency-conf.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,42 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+	<script type="text/javascript">var xookiConfig = {level: 2};</script>	
+	<script type="text/javascript" src="../../xooki/xooki.js"></script>
+</head>
+<body>
+	<textarea id="xooki-source">
+<b>Tag:</b> conf <b>Parent:</b> <a href="../../doc/ivyfile/dependency.html">dependency</a><br/>
+<br/>
+Describes a configuration mapping for a dependency. See also the inline configuration mapping
+in dependency element.
+
+<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>name</td><td>the name of the master configuration to map. 
+    	'*' wildcard can be used to designate all configurations of this module</td>
+        <td>Yes</td></tr>
+    <tr><td>mapped</td><td>a comma separated list of dependency configurations to which this
+    master configuration should be mapped</td>
+        <td>No, default to the same configuration as master one, unless nested mapped elements are specified</td></tr>
+</tbody>
+</table>
+<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="../../doc/ivyfile/mapped.html">mapped</a></td><td>map dependency configurations for this master configuration</td>
+        <td>0..n</td></tr>
+</tbody>
+</table>
+
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/dependency-include-conf.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/dependency-include-conf.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/dependency-include-conf.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/dependency-include-conf.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,27 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+	<script type="text/javascript">var xookiConfig = {level: 2};</script>	
+	<script type="text/javascript" src="../../xooki/xooki.js"></script>
+</head>
+<body>
+	<textarea id="xooki-source">
+<b>Tag:</b> conf <b>Parent:</b> <a href="../../doc/ivyfile/dependency-include.html">include</a>
+
+Specify a configuration in which the enclosing artifact inclusion should be included.
+
+<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>name</td><td>the name of the master configuration in which the enclosing artifact should be included</td>
+        <td>Yes</td></tr>
+</tbody>
+</table>
+
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/dependency-include.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/dependency-include.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/dependency-include.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/dependency-include.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,57 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+	<script type="text/javascript">var xookiConfig = {level: 2};</script>	
+	<script type="text/javascript" src="../../xooki/xooki.js"></script>
+</head>
+<body>
+	<textarea id="xooki-source">
+<b>Tag:</b> include <b>Parent:</b> <a href="../../doc/ivyfile/dependency.html">dependency</a>
+
+This feature gives you more control on a dependency for which you do not control its ivy file. 
+It enables to restrict the artifacts required by including only the artifacts given here, even if configuration does not a good separation of published artifacts.
+
+Each artifact restriction can be given in the context of particular master configurations. By default, if no configuration is specified, artifacts restriction apply to all master configurations. But you can specify that a restriction applies only to one or several master configurations, using either inline or nested conf specification. In this case, do not forget that if you do not specify any restriction for a particular configuration, then no restriction will apply for this configuration and it will be resolved not taking into account any restriction.
+
+For instance, imagine you have A, B & C master configurations. If you restrict to art1 in A & B and art2 in A, then C will not be restricted at all, and will thus get all artifacts of all dependency configurations if you do not specify a configuration mapping. To prevent this, you have to specify a configuration mapping for the dependency, mapping only A & B to some or all dependency configurations.
+
+Example:
+<code type="xml">
+<dependency org="yourorg" name="yourmodule9" rev="9.1" conf="A,B->default">
+  <include name="art1" type="jar" conf="A,B"/>
+  <include name="art2" type="jar" conf="A"/>
+</dependency>		
+</code>
+
+<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>name</td><td>the name of an artifact of the dependency module to add to the include list, or a regexp matching this name</td>
+        <td>No, defaults to .*</td></tr>
+    <tr><td>type</td><td>the type of the artifact of the dependency module to add to the include list, or a regexp matching this name</td>
+        <td>No, defaults to .*</td></tr>
+    <tr><td>ext</td><td>the extension of the artifact of the dependency module to add to the include list, or a regexp matching this name</td>
+        <td>No, defaults to type</td></tr>
+    <tr><td>conf</td><td>comma separated list of the master configurations in which this artifact should be included.
+    '*' wildcard can be used to designate all configurations of this module</td>
+        <td>No, defaults to '*', unless nested conf are specified</td></tr>
+</tbody>
+</table>
+<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="../../doc/ivyfile/dependency-include-conf.html">conf</a></td><td>configuration in which the artifact should be included</td>
+        <td>0..n</td></tr>
+</tbody>
+</table>
+
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/dependency.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/dependency.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/dependency.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/dependency.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,180 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+	<script type="text/javascript">var xookiConfig = {level: 2};</script>	
+	<script type="text/javascript" src="../../xooki/xooki.js"></script>
+</head>
+<body>
+	<textarea id="xooki-source">
+<b>Tag:</b> dependency <b>Parent:</b> <a href="../../doc/ivyfile/dependencies.html">dependencies</a>
+
+Declares a dependency for this module. A dependency is described by the module on which the current module depends (identified by its name, organisation and revision), and a mapping of configurations.
+
+<h2><a name="revision">Fixed and dynamic revisions</a></h2>
+The revision can be given as a fixed one (1.5.2, for instance) or as a latest (or dynamic) one. Several possibilities for dynamic revisions are implemented in Ivy:
+<ul>
+<li>latest.integration</li> selects the latest revision of the dependency module.
+<li>latest.[any status]</li> selects the latest revision of the dependency module with at least the specified status. <span class="since">since 1.4</span>
+For instance latest.milestone will select the latest version being either a milestone or a release, and latest.release will only selects the latest release. Note that in order to find the latest revision with the appropriate status Ivy has to parse all the ivy files in your repository from the last one until it finds such a revision. Hence don't be surprised if the resolution slow down.
+See also <a href="http://www.jayasoft.org/ivy/doc/configuration/statuses">statuses</a> to see how to configure module statuses.
+<li>end the revision with a +</li> selects the latest sub-revision of the dependency module. For instance, 
+if the dependency module exists in revision 1.0.3, 1.0.7 and 1.1.2, "1.0.+" will select 1.0.7.
+<li>version ranges</li> mathematical notation for ranges can be used to match a range of version. <span class="since">since 1.4</span>  
+Examples:
+[1.0,2.0] matches all versions greater or equal to 1.0 and lower or equal to 2.0
+[1.0,2.0[ matches all versions greater or equal to 1.0 and lower than 2.0
+]1.0,2.0] matches all versions greater than 1.0 and lower or equal to 2.0
+]1.0,2.0[ matches all versions greater than 1.0 and lower than 2.0
+[1.0,) matches all versions greater or equal to 1.0
+]1.0,) matches all versions greater than 1.0
+(,2.0] matches all versions lower or equal to 2.0
+(,2.0[ matches all versions lower than 2.0 
+</ul>
+<span class="since">since 1.4</span> If you don't find a way to expression your dependency version constraint among these, you can <a href="../../doc/configuration/version-matchers.html">plug your own</a>.
+The way to determine which revision is the "latest" between two is configurable through the use of pluggable LatestStrategy. See <a href="../../doc/reference.html">ivy main concepts</a> for details about this.
+
+<h2>Configurations mapping</h2>
+This mapping indicates which configurations of the dependency are required in which configurations of the current module, also called master configurations.
+
+There are several ways to declare this mapping of configurations, choose depending more on preference than on possibilities. Try to avoid mixing usage in a single dependency element: do not use both nested and inline mapping declaration.
+
+The first way to declare this mapping is called the inline mapping. It is maybe the less natural at first, but it's powerful and concise. Inline mapping can take several forms.
+
+<ul>
+<li>Specify one configuration name</li> This means that in this master configuration the same dependency configuration is needed (except if a defaultconfmapping has been specified in this ivy file, see <a href="../../doc/ivyfile/configurations.html">configurations</a> for details, or table below for examples).
+For instance, if the current module has defined a configuration named 'runtime', and the dependency too, then having an inline mapping configuration set to 'runtime' means that in the runtime master configuration the runtime dependency configuration is required.
+
+<a name="defaultconfmapping"/>More examples:
+The table below indicates how ivy interpret the conf attribute according to how <a href="../../doc/ivyfile/configurations.html">defaultconfmapping</a> is set:<table class="ivy-attributes"><thead><tr><th>defaultconfmapping</th><th>conf</th><th>ivy interpretation</th></tr>
+</thead>
+<tbody>
+<tr><td></td><td></td><td><code>*->*</code></td></tr>
+<tr><td></td><td>runtime</td><td><code>runtime->runtime</code></td></tr>
+<tr><td></td><td>test</td><td><code>test->test</code></td></tr>
+<tr><td><code>runtime->*;test->default</code></td><td></td><td><code>runtime->*;test->default</code></td></tr>
+<tr><td><code>runtime->*;test->default</code></td><td>runtime</td><td><code>runtime->*</code></td></tr>
+<tr><td><code>runtime->*;test->default</code></td><td>test</td><td><code>test->default</code></td></tr>
+</tbody>
+</table>
+<br/>
+<li>Specify a configuration mapping using the '->' operator separating a comma separated list of master configurations (left operand) of a comma separated list of dependency configurations (right operand).</li>
+A good way to remember which side is for the master configuration (i.e. the configuration of the module defining the dependency) and which side is for the dependency configuration is to read the '->' as 'depends on'.
+
+In this case, all specified dependency configurations are required in all specified master configurations.
+For instance, 'A, B, C -> E, F' means that dependency configurations E & F are required in master configurations A, B and C.
+
+Note that you can use the wildcard '*' as a configuration name, meaning that all configurations (either master or dependency public ones depending on the side) are wanted. For instance, '* -> B, C' means that B & C dependency configurations are required in all master configurations.
+
+<span class="since">since 1.4</span> you can use * wildcard followed by negated configurations to mean all but xxx. For instance, '*, !A, !B -> X' means that X dependency configuration is required in all master configurations except A and B.
+
+<span class="since">since 1.2</span> '@' also has a special meaning as a right operand of the dependency mapping, it means map to self. This is particularly useful with '*', '*->@' meaning that all configurations of the module maps to their equivalent (same name) in the dependency.
+
+<span class="since">since 1.4</span> '#' can be used as right side operand to mean 'this' configuration, and thus refers to the configuration being resolved. It is slightly similar to @, except that it takes into account the configuration being actually resolved in case of a configuration extending another one.
+
+Example:
+Let's foo be a module with two configurations, A and B, B extending A.
+Then a dependency declaring conf A-># will get A dep conf in its confs A (when resolving A, ivy will find interpret the # symbol as A) and B dep conf in its conf B (when resolving B, ivy will interpret the # symbol as B, even if this dependency is only required because of the A dependency).
+
+See <a href="./node/514">this thread</a> on the forum for a more detailed motivation behind this keyword.
+If you don't understand really how this works, do not use :-)
+
+<span class="since">since 1.4</span> '%' can be used as left side operand to mean 'all the other configurations'. This can be usefull when you only have a specific mapping for some configurations and a default mapping for all the others.
+
+Example:
+<code>test->runtime;%->default</code> means that the <code>test</code> configuration is mapped to the <code>runtime</code> configuration, but all the other configurations are mapped to the <code>default</code> configuration.
+
+<span class="since">since 1.3</span> a fallback mechanism can be used when you are not sure that the dependency will have the required conf. You can indicate to ivy that you want one configuration, but if it isn't present, use another one. 
+The syntax for specifying this adds the fallback conf between parenthesis right after the required conf. 
+For instance, <code>test->runtime(default)</code> means that in the test configuration of the module the <code>runtime</code> conf of the dependency is required, but if doesn't exist, it will use the <code>default</code> conf instead. If <code>default</code> conf doesn't exist then it will be considered as an error. Note that the <code>*</code> wildcard can be used as fallback conf.
+
+<span class="since">since 1.4</span> you can add simple conditions in the dependency mapping. This is done by adding a condition between '[' and ']'. If the condition evaluates to <code>true</code>, the mapping is performed. If the condition evaluates to <code>false</code>, the mapping will be ignored. For instance, <code>test->[org=A]runtime,[org=B]default</code> means that the <code>test</code> configuration will be mapped to the <code>runtime</code> conf for the dependencies of organisation 'A' and to the <code>default</code> conf for dependencies of organisation 'B'.
+
+<li>Specify a semi-column separated list of any of the previous specs.</li> In this case, it is the union of the mapping which is kept. For instance, 'A -> B; * -> C' means that B conf is needed in A conf and C conf is need in all master conf... so both B & C dep conf are required in A master conf
+</ul>
+
+If you prefer more verbose mapping declaration, everything is also possible with sub elements mapping declaration. 
+
+<h2>Artifact restriction</h2>
+Moreover, the dependency element also supports an artifact restriction feature (since 0.6).
+See <a href="#dependency-artifact">dependency artifact restriction</a> for details. <br/><br/>
+
+<h2>Forcing revision</h2>
+Finally, the dependency element also supports an a force attribute (since 0.8), which gives an indication
+to conflicts manager to force the revision of a dependency to the one given here.<br/>
+See <a href="../../doc/ivyfile/conflicts.html">conflicts manager</a> for details. <br/><br/>
+
+<span class="since">since 1.4</span> this tag supports <a href="../../doc/concept#extra.html">extra attributes</a>
+<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>org</td><td>the name of the organisation of the dependency.</td>
+        <td>No, defaults to the master module organisation</td></tr>
+    <tr><td>name</td><td>the module name of the dependency</td>
+        <td>Yes</td></tr>
+    <tr><td>branch</td><td>the branch of the dependency. <span class="since">since 1.4</span></td>
+        <td>No, defaults to the default branch <a href="../../doc/configuration/conf.html">configured</a> for the dependency.</td></tr>
+    <tr><td>rev</td><td>the revision of the dependency. See <a href="#revision">above</a> for details.</td>
+        <td>Yes</td></tr>
+    <tr><td>force</td><td>a boolean to give an indication to conflict manager that this dependency 
+     should be forced to this revision (see <a href="../../doc/ivyfile/conflicts.html">conflicts manager</a>)</td>
+        <td>No, defaults to false</td></tr>
+    <tr><td>conf</td><td>an inline mapping configuration spec (see above for details)</td>
+        <td>No, defaults to defaultconf attribute of dependencies element if neither conf attribute nor conf children element is given</td></tr>
+    <tr><td>transitive</td><td>true to resolve this dependency transitively, false otherwise (<span class="since">since 1.2</span>)</td>
+        <td>No, defaults to true</td></tr>
+    <tr><td>changing</td><td>true if the dependency artifacts may change without revision change, false otherwise (<span class="since">since 1.2</span>). Artifacts update will be looked after only if the publication date of the ivy file has changed. Note that this is not a recommended use and that it avoid some cache optimization in ivy.</td>
+        <td>No, defaults to false</td></tr>
+</tbody>
+</table>
+<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="../../doc/ivyfile/dependency-conf.html">conf</a></td><td>defines configuration mapping has sub element</td>
+        <td>0..n</td></tr>
+    <tr><td><a href="../../doc/ivyfile/dependency-artifact.html">artifact / include</a></td><td>defines artifacts inclusion - use only if you do not control dependency ivy file</td>
+        <td>0..n</td></tr>
+    <tr><td><a href="../../doc/ivyfile/artifact-exclude.html">exclude</a></td><td>defines artifacts exclusion - use only if you do not control dependency ivy file</td>
+        <td>0..n</td></tr>
+</tbody>
+</table>
+
+<h1>Examples</h1>
+<code type="xml">
+<dependency org="jayasoft" name="swtbinding" revision="0.2"/>
+</code>
+Declares a dependency on the module swtbinding from jayasoft in its revision 0.2. All the configuration of this dependency will be included in all configurations of the module in which the dependency is declared.
+<hr/>
+<code type="xml">
+<dependency org="jayasoft" name="swtbinding" branch="fix-103" revision="latest.integration"/>
+</code>
+Same as above except that it will take the latest revision on the branch 'fix-103' instead of revision '0.2'.
+<hr/>
+<code type="xml">
+<dependency name="mymodule" revision="latest.integration" conf="test->default"/>
+</code>
+Declares a dependency on the module <code>mymodule</code> from the same organisation as the module in which the dependency is declared. The latest available revision of this dependency will be used. This dependency will only be included in the test configuration of the module, and it's only the default configuration of the dependency which will be included.
+<hr/>
+<code type="xml">
+<dependency org="apache" name="commons-lang" revision="2.0" force="true" conf="default"/>
+</code>
+Declares a dependency on the module <code>commons-lang</code> from apache, in revision 2.0. The revision 2.0 will be used even if another dependency declares itself a dependency on another version of commons-lang. Moreover, if no defaultconfmapping is defined, only the <code>default</code> conf of commons-lang will be used in the <code>default</code> conf of the master module. If <code>*->runtime</code> was declared as defaultconfmapping, then the runtime conf of commons-lang would be included in the default conf of the master module. Note that whatever the defaultconfmapping is, the dependency only be included in the default conf of the master module. The defaultconfmapping only changes the required dependency confs.
+<hr/>
+<code type="xml">
+<dependency org="foo" name="bar" revision="3.0" transitive="false" conf="default->@;runtime,test->runtime"/>
+</code>
+Declares a dependency on the module <code>bar</code> from foo, in revision 3.0. The dependencies of bar will themselves not be included due to the setting of transitive. The default dependency conf will be included in the default master conf, and the runtime dependency conf will be included in both the runtime and test master conf.
+<hr/>
+<code type="xml">
+<dependency org="foo" name="bar" revision="3.0" changing="true" conf="compile->runtime(default)"/>
+</code>
+Declares a dependency on the module <code>bar</code> from foo, in revision 3.0. This revision is considered to be able to change (<code>changing="true"</code>), so even if it is already in ivy cache, Ivy will check if a revision is a more recent last modified date is available on the repository. The runtime conf of bar is required in the compile conf of the master module, but if bar doesn't define a runtime conf, then the <code>default</code> conf will be used.
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/description.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/description.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/description.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/description.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,30 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+	<script type="text/javascript">var xookiConfig = {level: 2};</script>	
+	<script type="text/javascript" src="../../xooki/xooki.js"></script>
+</head>
+<body>
+	<textarea id="xooki-source">
+<b>Tag:</b> description <b>Parent:</b> <a href="../../doc/ivyfile/info.html">info</a><br/>
+<br/>
+Describes the current module. This tag is the only one which can contain free text,
+including html. It is used to describe the module itself, usually in a single short phrase
+(it is not meant to replace the module description on the corresponding web site), and then
+gives all information necessary to use the module, especially information about
+public configurations, how and when to use them.
+<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>homepage</td><td>the url of the homepage of the module</td>
+        <td>No, but it's recommended to indicate it.</td></tr>
+</tbody>
+</table>
+
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/include.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/include.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/include.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/include.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,56 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+	<script type="text/javascript">var xookiConfig = {level: 2};</script>	
+	<script type="text/javascript" src="../../xooki/xooki.js"></script>
+</head>
+<body>
+	<textarea id="xooki-source">
+<b>Tag:</b> include <b>Parent:</b> <a href="../../doc/ivyfile/configurations.html">configurations</a>
+
+Include configurations specified in another file. <span class="since">since 1.3</span>
+
+The included file should have a configurations tag as root tag, which follow the same specification as the <a href="../../doc/ivyfile/configurations.html">configurations</a> tag of the ivy file. 
+
+This means that it can contain conf declarations, other file inclusion, and also a defaultconfmapping.
+
+When delivering an ivy file with such an inclusion, the included configuration file is inlined, i.e. ivy remove the dependency on the external file.
+
+<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>file</td><td>the file to include</td>
+        <td>Yes</td></tr>
+</tbody>
+</table>
+<h1>Examples</h1>
+<code type="xml">
+<ivy-module version="1.0">
+  <info organisation="myorg"
+         module="mymodule"
+  />
+  <configurations>
+    <include file="path/to/included-configurations.xml"/>
+    <conf name="conf3"/>
+  </configurations>
+  <dependencies>
+    <dependency name="mymodule1" rev="1.0"/>
+    <dependency name="mymodule2" rev="2.0" conf="conf2,conf3->*"/>
+  </dependencies>
+</ivy-module>
+</code>
+with included-configurations.xml like this:
+<code type="xml">
+<configurations defaultconfmapping="*->@">
+  <conf name="conf1" visibility="public"/>
+  <conf name="conf2" visibility="private"/>
+</configurations>
+</code>
+Defines 3 configurations, conf1, conf2 and conf3. mymodule1 is required in each configuration, with for each the same configuration (conf1 is needed in conf1, conf2 in conf2, and conf3 in conf3) due to the defaultconfmapping defined in the included file.
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/info.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/info.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/info.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/info.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,55 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+	<script type="text/javascript">var xookiConfig = {level: 2};</script>	
+	<script type="text/javascript" src="../../xooki/xooki.js"></script>
+</head>
+<body>
+	<textarea id="xooki-source">
+<b>Tag:</b> info <b>Parent:</b> <a href="../../doc/ivyfile.html">ivy-module</a>
+
+Gives information about the module this ivy file describe.
+
+<span class="since">since 1.4</span> This tag supports <a href="../../doc/concept#extra.html">extra attributes</a>.
+
+<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 name of the organisation that is the owner of this module.</td>
+        <td>Yes</td></tr>
+    <tr><td>module</td><td>the name of the module described by this ivy file.</td>
+        <td>Yes</td></tr>
+    <tr><td>branch</td><td>the branch of this module. <span class="since">since 1.4</span></td>
+        <td>No, defaults to the default branch <a href="../../doc/configuration/conf.html">configured</a>, or nothing if no default branch is configured</td></tr>
+    <tr><td>revision</td><td>the revision of this module.</td>
+        <td>Yes in repository ivy files, no in ivy files to resolve</td></tr>
+    <tr><td>status</td><td>the status of this module. See <a href="../../doc/reference.html">terminology</a> section for details</td>
+        <td>No, default to 'integration'</td></tr>
+    <tr><td>publication</td><td>the date of publication of this module. It should be given in this format: yyyyMMddHHmmss</td>
+        <td>No, but it's a good practice to set it with delivered ivy files</td></tr>
+</tbody>
+</table>
+<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="../../doc/ivyfile/license.html">license</a></td><td>contains information about the licenses of the described module</td>
+        <td>0..n</td></tr>
+    <tr><td><a href="../../doc/ivyfile/ivyauthor.html">ivyauthor</a></td><td>describes who has contributed to write the ivy file</td>
+        <td>0..n</td></tr>
+    <tr><td><a href="../../doc/ivyfile/repository.html">repository</a></td><td>describes on which public repositories this module can be found</td>
+        <td>0..n</td></tr>
+    <tr><td><a href="../../doc/ivyfile/.html">description</a></td><td>describes how to use the module</td>
+        <td>0..1</td></tr>
+</tbody>
+</table>
+
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/ivyauthor.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/ivyauthor.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/ivyauthor.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/ivyauthor.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,29 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+	<script type="text/javascript">var xookiConfig = {level: 2};</script>	
+	<script type="text/javascript" src="../../xooki/xooki.js"></script>
+</head>
+<body>
+	<textarea id="xooki-source">
+<b>Tag:</b> ivyauthor <b>Parent:</b> <a href="../../doc/ivyfile/info.html">info</a><br/>
+<br/>
+Gives information about who has contributed to write this ivy file. It does NOT indicate who 
+is the author of the module itself.
+<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>name</td><td>the name of the author, as a person or a company.</td>
+        <td>Yes</td></tr>
+    <tr><td>url</td><td>an url pointing to where the author can bea reached.</td>
+        <td>No, but it's a good practice to indicate it</td></tr>
+</tbody>
+</table>
+
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/license.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/license.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/license.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/license.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,28 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+	<script type="text/javascript">var xookiConfig = {level: 2};</script>	
+	<script type="text/javascript" src="../../xooki/xooki.js"></script>
+</head>
+<body>
+	<textarea id="xooki-source">
+<b>Tag:</b> license <b>Parent:</b> <a href="../../doc/ivyfile/info.html">info</a><br/>
+<br/>
+Gives information about a license of the described module.
+<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>name</td><td>the name of the license. Try to respect spelling when using a classical license.</td>
+        <td>Yes</td></tr>
+    <tr><td>url</td><td>an url pointing to the license text.</td>
+        <td>No, but it's a good practice to indicate it</td></tr>
+</tbody>
+</table>
+
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/manager.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/manager.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/manager.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/manager.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,40 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+	<script type="text/javascript">var xookiConfig = {level: 2};</script>	
+	<script type="text/javascript" src="../../xooki/xooki.js"></script>
+</head>
+<body>
+	<textarea id="xooki-source">
+<b>Tag:</b> manager <b>Parent:</b> <a href="../../doc/ivyfile/conflicts.html">conflicts</a><br/>
+<br/>
+Specify a a conflict manager for one or several dependencies.<br/>
+The way to specify a conflict manager is by giving indication to which dependencies
+the conflict manager applies (by giving organisation and module names or name regexp), 
+and then specifying the conflict manager, either by giving its name or by
+specifying a fixed revision list, in which case a fixed conflicts manager is used.<br/><br/>
+
+See <a href="../../doc/ivyfile/conflicts.html">Conflicts Manager</a> for details on conflicts manager in general.
+
+<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>org</td><td>the name, or a regexp matching the name of organisation to which this conflict manager should apply</td>
+        <td>No, defaults to * (match all)</td></tr>
+    <tr><td>module</td><td>the name, or a regexp matching the name of module to which this conflict manager should apply</td>
+        <td>No, defaults to * (match all)</td></tr>
+    <tr><td>name</td><td>the name of the conflict manager to use</td>
+        <td rowspan="2">Exactly one of two</td></tr>
+    <tr><td>rev</td><td>a comma separated list of revisions this conflict manager should select</td></tr>
+    <tr><td>matcher</td><td>the matcher to use to match the modules for which the conflict manager should be used <span class="since">since 1.3</span></td>
+        <td>No, defaults to exactOrRegexp in pre 1.3 ivy files, and exact in 1.3 and superior</td></tr>
+</tbody>
+</table>
+
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/mapped.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/mapped.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/mapped.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/mapped.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,28 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+	<script type="text/javascript">var xookiConfig = {level: 2};</script>	
+	<script type="text/javascript" src="../../xooki/xooki.js"></script>
+</head>
+<body>
+	<textarea id="xooki-source">
+<b>Tag:</b> mapped <b>Parent:</b> <a href="../../doc/ivyfile/dependency-conf.html">conf</a><br/>
+<br/>
+Describes a mapped dependency configuration for a master configuration.
+
+<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>name</td><td>the name of the dependency configuration mapped. 
+    	'*' wildcard can be used to designate all configurations of this module</td>
+        <td>Yes</td></tr>
+</tbody>
+</table>
+
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/publications.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/publications.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/publications.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/publications.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,31 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+	<script type="text/javascript">var xookiConfig = {level: 2};</script>	
+	<script type="text/javascript" src="../../xooki/xooki.js"></script>
+</head>
+<body>
+	<textarea id="xooki-source">
+<b>Tag:</b> publications <b>Parent:</b> <a href="../../doc/ivyfile.html">ivy-module</a><br/><br/>
+
+Container for artifact elements, used to describe the artifacts published by this module. 
+If this container is not present, it is assumed that the module has one artifact, with the same name
+as the module, and published in all module configurations.<br/>
+Thus if you have a module which publishes no artifacts (a sort of virtual module, 
+made only to integrate several other modules as a whole), you have to include
+a publications element with no artifact sub element.
+<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>artifact</td><td>declares a published artifact for this module</td>
+        <td>0..n</td></tr>
+</tbody>
+</table>
+
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/repository.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/repository.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/repository.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/repository.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,35 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+	<script type="text/javascript">var xookiConfig = {level: 2};</script>	
+	<script type="text/javascript" src="../../xooki/xooki.js"></script>
+</head>
+<body>
+	<textarea id="xooki-source">
+<b>Tag:</b> repository <b>Parent:</b> <a href="../../doc/ivyfile/info.html">info</a><br/>
+<br/>
+Gives information about a public repository where the module can be found. This information
+is given as an indication, repositories being able to be down over time.
+<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>name</td><td>the name of the repository. Try to respect spelling for common repositories (ibiblio, ivyrep, ...)</td>
+        <td>Yes</td></tr>
+    <tr><td>url</td><td>an url pointing to the repository.</td>
+        <td>Yes</td></tr>
+    <tr><td>pattern</td><td>an ivy pattern to find modules on this repository</td>
+        <td>No, but it's recommended to indicate it.</td></tr>
+    <tr><td>ivys</td><td>true if ivy file can be found on this repository</td>
+        <td>No, defaults to false.</td></tr>
+    <tr><td>artifacts</td><td>true if module artifacts can be found on this repository</td>
+        <td>No, defaults to false.</td></tr>
+</tbody>
+</table>
+
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/m2comparison.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/m2comparison.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/m2comparison.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/m2comparison.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,58 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<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">
+We are frequently asked how ivy compares to maven2, so we have decided togives some insight about our opinion on the subject.
+
+Obviously this comparison is biased (hey, you are on official Ivy site :-)), but we'll try to keep it as fair as possible. Do not hesitate to add comment if you feel something is missing or false on this page. You can also have a look at <a href="http://docs.codehaus.org/display/MAVEN/Feature+Comparisons">Maven2 feature comparison page on codehaus</a>, which itself offers another point of view.
+
+There have been also severa discussions on the subject, among which the one triggered by <a href="http://www.jayasoft.org/node/806">spring contemplating about switching to maven</a> is may be the more interesting.
+
+But here is the points we think mainly differentiate maven2 and Ivy.
+
+<h1>Comparing plants and apples</h1>
+First, the most important difference between maven2 and ivy is that they aren't at all the same kind of tools. Maven2 is a software project management and comprehension tool, whereas Ivy is only a dependency management tool, highly integrated with ant, the popular build management tool. Maven2 offers dependency management facility, and that's why many ask how ivy compares to maven2. That's why we'll focus only on dependency management features of maven2 in this comparison.
+So if you look for an out of the box software project management tool, you may skip the rest of this comparison and check what maven2 has to offer.
+
+<h1>Different concepts</h1>
+Ivy heavily relies on a unique concept called configuration. In ivy, a module configuration is a way to use or to see the module. For instance, you can have a test and runtime configuration in your module. But you can also have a mysql and an oracle configuration. Or an hibernate and a jdbc configuration. In each configuration you can declare what artifacts (jar, war, ...) are required. And in each configuration, you can declare your dependencies on other modules, and describe which configuration of the dependency you need. This is called configuration mapping, and it is a very flexible way to answer to a lot of problems we face very often in software development.
+
+Maven2 on its side has something called the scope. You can declare a dependency as being part of the test scope, or the buildtime scope. Then depending on this scope you will get the dependency artifact (only one artifact per module in maven2) with its dependencies depending on their scope. Scopes are predefined in maven2 and you can't change that. No way to create an oracle scope. No way to indicate you need what as been declared to be needed in the runtime scope of your dependency in your compile one. Everything here is written in the marble.
+
+And this leads to some kind of troubles... as Matt Raible stated in his <a href="http://raibledesigns.com/page/rd?anchor=maven_2_s_transitive_dependencies">blog</a> talking about maven2 dependencies:
+[quote]
+There are a *lot* of unnecessary dependencies downloaded for many libraries. For example, Hibernate downloads a bunch of JBoss JARs and the Display Tag downloads all the various web framework JARs. I found myself excluding almost as many dependencies as I added.
+[/quote]
+The problem is that hibernate can be used with several cache implementations, several connection pool implementation, ... And this can't be managed with scopes, wheres Ivy configurations offers an elegant solution to this kind of problem. For instance, in ivy, assuming hibernate as an ivy file like <a href="http://ivyrep.jayasoft.org/hibernate/hibernate/ivy-2.1.8.xml">this one</a>, then you can declare a dependency like that:
+<code type="xml">
+<dependency org="hibernate" name="hibernate" rev="2.1.8" conf="default->proxool,oscache"/>
+</code>
+to get hibernate with its proxool and oscache implemetations, and like that:
+<code type="xml">
+<dependency org="hibernate" name="hibernate" rev="2.1.8" conf="default->dbcp,swarmcache"/>
+</code>
+to get hibernate with dbcp and swarmcache.
+
+<h1>Documentation</h1>
+An important thing to be able to use a tool is its amount of documentation. With Ivy, even if they are written in broken english (would you have prefered well written french :-)), the printer friendly version of the documentation is now about 120 pages. 
+With maven2, it's a bit difficult to clearly know what can be considered as dependency management documentation, but we didn't managed to find much: some small introductory guides, short entries in the pom reference guide, and not really much more. Even in the maven book you can get for free on <a href="http://www.mergere.com/">mergere website</a>, the insight about dependency management is still light in our point of view. 
+
+<h1>Conflict management</h1>
+Conflict management are an important part of dependency management, cause when dealing with transitive dependencies you often have to face conflicts. In this area, Ivy let you do whatever you want: use one conflict manager in one module, another one elsewhere, decide which revision you will get, ... You can even plug your own conflict manager if you need to.
+
+With maven2, conflict management is quite simple: the principle is to get the nearest definition. So if your module depends on foo 1.0, none of your dependencies will ever manage to get foo 1.1 without a change in your own dependency declaration. It may be ok in some cases, it may not in others...
+
+<h1>Flexibility</h1>
+In ivy many things can be <a href="../doc/configuration.html">configured</a>, and many others can be <a href="../doc/extend.html">plugged in</a>: dependency resolvers, conflict manager, module descriptor parser, latest revision strategy, ... Maven2 also offers repository pluggability, but not much more as far as we know. Moreover, repository configuration seems to be less flexible than with ivy.
+
+<h1>Public Repositories</h1>
+Maven2 comes out of the box configured to use ibiblio maven2 repository, which contains <strong>a lot</strong> of modules (both artifacts and module descriptors). The only problem some may face is that module descriptors are not always checked, so some are not really well written.
+Ivy, on its side, is used out of the box with ivyrep, ivy official repository, which contains only a few modules, and is not updated frequently. But it is also compatible with maven1 ibiblio repository (for artifacts only, no module descriptors), can also be used with maven2 repository (with pom compatibility, but you will here face some naming problems - that can be addressed using the namespace feature-, you won't benefit from ivy configurations with the module descriptors found there, and, let's face it, the maven2 compatibility of Ivy is far from maven's one :-)), and also has an ivyrep sandbox in which much more module descriptors can be found (not checked, as with ibiblio repository).
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/moreexamples.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/moreexamples.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/moreexamples.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/moreexamples.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,31 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<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">
+If you have successfully followed and understood all the tutorials, maybe you still need to get a better picture of how to use Ivy in the real world.
+
+Here are some links which can be interesting:
+
+<h3><a href="http://wiki.hippo.nl/display/OS/SAnt+build+system">SAnt</a></h3>
+SAnt is an experimental build system based on Ant and Ivy. It can be interesting to use as is or to get insight on an interesting approach to manage your builds.
+
+<h3><a href="http://dehora.net/code/antant/readme.html">AntAnt</a></h3>
+AntAnt is an ant project generator (generates an ant project skeleton), which uses ivy for dependency management. It can be an interesting place to look for examples of ant build files integrated with ivy.
+
+<h3><a href="https://springmodules.dev.java.net/">Spring Modules</a></h3>
+The spring modules project build system is based on Ant and Ivy, and it's really interesting to have a look at how a modularized project can take advantage of advanced ant and ivy features to make the build simpler.
+
+<h3><a href="http://www.opensymphony.com/webwork/">Webwork</a></h3>
+The webwork project (which should become struts action framework) uses ant+ivy for their build, and thus make their framework very easy to use in an ant+ivy build system. They have a <a href="http://wiki.opensymphony.com/display/WW/Dependencies">page documenting how to use ivy with their framework</a>, which can be an interesting reading even if you don't plan to use webwork.
+
+<h3><a href="../doc/articles/ease-multi-module.html">Easing multi module development</a></h3>
+Johan stuyts, the author of SAnt, also contributed a nice article on his view of how to use Ivy on a multi module environment.
+
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/principle.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/principle.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/principle.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/principle.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,60 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<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">
+Now that you have been introduced to main ivy terminology and concepts, it is time to give some explanations about how ivy works.
+
+<h1>Usual cycle of modules between different locations</h1>
+<center><img src="/misc/ivy/images/main-tasks.png" /></center>
+More details on ant tasks <a href="../doc/use/ant.html">here</a>.
+
+<h1>Configure</h1>
+Ivy needs to be configured to be able to resolve your dependencies. This configuration is usually done with a configuration file, which defines a set of dependency resolvers. Each resolver is able to find ivy files and / or artifacts, given simple information such as organition, module, revision, artifact name, artifact type and artifact extension. 
+
+The configuration is also responsible for indicating which resolver should be used to resolve which module. This configuration is dependent only on your environment, i.e. where the modules and artifacts can be found. 
+
+A default configuration is used by ivy when none is given. This configuration uses ivyrep to resolve all modules.
+<h1>Resolve</h1>
+The resolve time is the moment when ivy actually resolve the dependencies of one module. It first needs to access the ivy file of the module for which it resolves the dependencies. 
+
+Then, for each dependency declared in this file, it asks the appropriate resolver (according to configuration) to find the module (i.e. either an ivy file for it, or its artifacts if no ivy file can be found). It also uses a filesystem based cache to avoid asking for a dependency if it is already in cache (at least if possible, which is not the case with latest revisions).
+
+If the resolver is a composite one (i.e. a chain or a dual resolver), several resolvers may actually be called to find the module.
+
+When the dependency module has been found, its ivy file is downloaded to ivy cache. Then ivy checks if it has itself dependencies, in which case it recursilvely traverse the graph of dependencies. 
+
+All over this traversal, conflict management are done to prevent the access to a module as soon as possible.
+
+When ivy has traversed the whole graph, it asks to the resolvers to download the artifacts corresponding to each dependencies which are not already in cache and which have not been evicted by conflict managers. All downloads are made to ivy cache.
+
+Finally, an xml report is generated in cache, which allows ivy to easily know what are all the dependencies of the module, without traversing the graph again.
+
+After this resolve step, two main steps are possible: either build a path with artifacts in cache, or copy them to another directory structure.
+
+<h1>Retrieve</h1>
+What is called retrieve in ivy is the fact to copy artifacts from the cache to another directory structure. This is done using a pattern, which indicates to ivy where the files should be copied.
+
+For this, ivy uses the xml report in cache corresponding to the module it should retrieve to know which artifacts should be copied.
+
+It also checks if the files are not already copied to maximize performances.
+<h1>Building a path from cache</h1>
+In some cases, it is preferable to use artifacts directly from the cache. Ivy is able to use the xml report generated at resolve time to build a path of all artifacts required.
+
+This can be particularly useful especially when building plug-ins for IDE.
+
+<h1>Reports</h1>
+Ivy is also able to generate readable reports describing the dependencies resolution.
+
+This is done with a simple xsl transformation of the xml report generated at resolve time.
+
+<h1>Publish</h1>
+Finally, Ivy can be used to publish a particular version of a module in your repository, so that it becomes available for futher resolve. This task is usually called either manually or from a continuous integration server for example.
+
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/reference.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/reference.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/reference.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/reference.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,37 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<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">
+Welcome to Ivy reference documentation. 
+
+If you don't know Ivy at all, give a glance at its <a href="../features.html">features</a>, the <a href="../faq.html">FAQ</a> and the <a href="../doc/tutorial.html">tutorials</a> before digging into this reference documentation.
+
+<h1>Reference Overview</h1>
+This documentation is decomposed in several parts:
+<ul>
+<li><a href="../doc/terminology.html">Terminology</a></li>
+This part gives you the meaning of some words used all over ivy doc, such as organisation, module, configurations, ...
+<li><a href="../doc/concept.html">Main Concepts</a></li>
+This part introduces the main concepts used in Ivy: dependency resolvers, variables, patterns, and also a good introduction to a central ivy concept: module configurations.
+<li><a href="../doc/principle.html">How does it work ?</a></li>
+As the title suggest, here you will have some explanations on how does ivy work internally, which can help to better understand and customize its use.
+<li><a href="../doc/install.html"/>Installation</a></li>
+This part describe how to install Ivy
+<li><a href="../doc/configuration.html"/>Configuration</a></li>
+This part is dedicated to the specification of the configuration file of Ivy (usually called ivyconf.xml). It also gives the list of built-in dependency resolvers available in ivy.
+<li><a href="../doc/ivyfile.html"/>Ivy files</a></li>
+This part is the reference of the specification of the ivy files, the files in which you describe your dependencies. If you have any question of what can be done or not in an ivy file, you will have the answer here.
+<li><a href="../doc/use.html"/>Use</a></li>
+This part describes how to use ivy: it briefly explains how to call ivy from command line, and deeply explains how to use it from ant, which is the main way to use ivy. It's in this section that all ant tasks brought by ivy are specified.
+<li><a href="../doc/extend.html"/>Extend</a></li>
+This part describes how to extend ivy, by writing your own dependency resolver, latest strategy, etc.
+</ul>
+
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/releasenotes.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/releasenotes.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/releasenotes.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/releasenotes.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,21 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<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">
+The following pages list the changes introduced in each revision of Ivy since its first public version on january 2005.
+For each revision you will be able to see the complete list of changes (bug fixes, improvements and new features).
+
+The most recent version also feature a new and noteworthy section.
+
+Refer to these pages if you want to know the benefits of upgrading to a newer version of Ivy.
+<hr/>
+The latest stable version is <a href="../doc/releasenotes/1.4.1.html">1.4.1</a>
+
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/releasenotes/0.5.1.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/releasenotes/0.5.1.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/releasenotes/0.5.1.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/releasenotes/0.5.1.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+	<script type="text/javascript">var xookiConfig = {level: 2};</script>	
+	<script type="text/javascript" src="../../xooki/xooki.js"></script>
+</head>
+<body>
+	<textarea id="xooki-source">
+<h1>Changes log</h1>
+- Bug fix: NPE in publish task.
+- Documentation update.
+<h1>Downloads</h1>
+<a href="./visit.php?url=./downloads/ivy/ivy-0.5.1-bin.zip">ivy-0.5.1-bin.zip</a> (742 kB)
+<a href="./visit.php?url=./downloads/ivy/ivy-0.5.1-src.zip">ivy-0.5.1-src.zip</a> (511 kB)
+<a href="./visit.php?url=./downloads/ivy/ivy-0.5.1-src-withdep.zip">ivy-0.5.1-src-withdep.zip</a> (774 kB)
+
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/releasenotes/0.5.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/releasenotes/0.5.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/releasenotes/0.5.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/releasenotes/0.5.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,18 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+	<script type="text/javascript">var xookiConfig = {level: 2};</script>	
+	<script type="text/javascript" src="../../xooki/xooki.js"></script>
+</head>
+<body>
+	<textarea id="xooki-source">
+Ivy 0.5 is the first public version of Ivy.
+
+<h1>Downloads</h1>
+<a href="./visit.php?url=./downloads/ivy/ivy-0.5-bin.zip">ivy-0.5-bin.zip</a> (731 kB)
+<a href="./visit.php?url=./downloads/ivy/ivy-0.5-src.zip">ivy-0.5-src.zip</a> (501 kB)
+<a href="./visit.php?url=./downloads/ivy/ivy-0.5-src-withdep.zip">ivy-0.5-src-withdep.zip</a> (764 kB)
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/releasenotes/0.6.1.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/releasenotes/0.6.1.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/releasenotes/0.6.1.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/releasenotes/0.6.1.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,22 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+	<script type="text/javascript">var xookiConfig = {level: 2};</script>	
+	<script type="text/javascript" src="../../xooki/xooki.js"></script>
+</head>
+<body>
+	<textarea id="xooki-source">
+<h1>Changes log</h1>
++ bugs fix
+- conf 'extends' problem with publications
+- typedef badly handled in ivyconf.xml
+- default properties loading in ivy configure loaded using task classloader
+<h1>Downloads</h1>
+<a href="./visit.php?url=./downloads/ivy/ivy-0.6.1-bin.zip">ivy-0.6.1-bin.zip</a> (947 kB)
+<a href="./visit.php?url=./downloads/ivy/ivy-0.6.1-src.zip">ivy-0.6.1-src.zip</a> (739 kB)
+<a href="./visit.php?url=./downloads/ivy/ivy-0.6.1-src-withdep.zip">ivy-0.6.1-src-withdep.zip</a> (1002 kB)
+
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/releasenotes/0.6.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/releasenotes/0.6.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/releasenotes/0.6.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/releasenotes/0.6.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,35 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+	<script type="text/javascript">var xookiConfig = {level: 2};</script>	
+	<script type="text/javascript" src="../../xooki/xooki.js"></script>
+</head>
+<body>
+	<textarea id="xooki-source">
+<h1>Changes log</h1>
++ functional
+- added haltonfailure attribute on resolve and retrieve task, so that build can be halt when   resolve or retrieve fails
+- added dependency artifacts filtering feature, enabling to work better with ibiblio
+- ibiblio resolver can now be configured to use any maven like repository, with root and pattern attributes
+- added download progression info on resolve
+- default cache is now in user home (.ivy-cache in user home), so that cache is shared by default for all projects of the same user
+- added public access to method getDependencies(...) in Ivy, which resolve dependencies without downloading artifacts
+- added DualResolver, which allows to have ivy files in one place and artifacts in another one
+
++ non functional
+- added some unit tests
+- deep review of ivy file reference documentation
+
++ bugs and refactoring
+- bug fix: SimpleURLResolver not handling the case when there is no ivy file
+- refactoring: URLResolver renamed to AbstractURLResolver
+- refactoring: SimpleURLResolver renamed to URLResolver
+
+<h1>Downloads</h1>
+<a href="./visit.php?url=./downloads/ivy/ivy-0.6-bin.zip">ivy-0.6-bin.zip</a> (935 kB)
+<a href="./visit.php?url=./downloads/ivy/ivy-0.6-src.zip">ivy-0.6-src.zip</a> (723 kB)
+<a href="./visit.php?url=./downloads/ivy/ivy-0.6-src-withdep.zip">ivy-0.6-src-withdep.zip</a> (986 kB)
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/releasenotes/0.7.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/releasenotes/0.7.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/releasenotes/0.7.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/releasenotes/0.7.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,24 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+	<script type="text/javascript">var xookiConfig = {level: 2};</script>	
+	<script type="text/javascript" src="../../xooki/xooki.js"></script>
+</head>
+<body>
+	<textarea id="xooki-source">
+<h1>Changes log</h1>
+- added latest sub revision feature: you can now select the latest sub revision of a module using a +. For instance, "1.0+" selects the latest revision starting with 1.0. (thanks to jonas for the idea)
+- haltonfailure now defaults to true (as suggested by Jeroen)
+- shorter info lines to better view important info (as suggested by Jeroen)
+- retrieve now checks if files are up to date before copying them from cache. This feature can be disabled using the checkUpToDate attribute in ivy configuration file.
+- do not download dependencies when not necessary during publication (as suggested by Daniele)
+- bug fix: better handling of publish without recursive delivery
+<h1>Downloads</h1>
+<a href="./visit.php?url=./downloads/ivy/ivy-0.7-bin.zip">ivy-0.7-bin.zip</a> (951 kB)
+<a href="./visit.php?url=./downloads/ivy/ivy-0.7-src.zip">ivy-0.7-src.zip</a> (745 kB)
+<a href="./visit.php?url=./downloads/ivy/ivy-0.7-src-withdep.zip">ivy-0.7-src-withdep.zip</a> (1008 kB)
+
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/releasenotes/0.8.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/releasenotes/0.8.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/releasenotes/0.8.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/releasenotes/0.8.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,37 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+	<script type="text/javascript">var xookiConfig = {level: 2};</script>	
+	<script type="text/javascript" src="../../xooki/xooki.js"></script>
+</head>
+<body>
+	<textarea id="xooki-source">
+<h1>Changes log</h1>
+<i>Note: this version is a major update compared to version 0.7, and contains several API breaks. Ivy files and configuration are compatible, but this is not the case of Ivy Java API. Some defaults changes also, especially default resolver which is no longer ibiblio but ivyrep (but ivyrep is compatible with ibiblio, so it should no break your builds).</i>
+
+- url resolver now handles latest with file urls and http ones (tested only with apache server, many thanks to Glen Marchesani for its contribution)
+- added publish artifacts feature, which enable to publish declared artifacts of a module to a repository  described by a dependency resolver. It currently works only with filesystem resolver.
+- added conflict management at resolve time: during resolve, modules in conflict can be evicted and thus not downloaded
+- added ivyrep resolver, using ivyrep to find ivy files, and ibiblio for artifacts
+- use ivyrep instead of ibiblio as default resolver
+- added more info in ivy files (description, homepage, ivy authors, license, public repository, ...)
+- added validate attribute on resolve, retrieve and publish, which allows to disable ivy file validation against ivy.xsd (useful to parse future compatible ivy files)
+- ant properties are now available in ivyconf file
+- unified default properties in ivyconf, with better independance from url or file
+- added ext on artifacts: this enable to distinguish artifact extension from artifact type, util in cases where it differs (example: 'src' type with 'zip' extension, 'ivy' type with 'xml' extension, ...)
+- added latest strategy concept: the way to determine which artifact is the latest is now configurable on resolvers handling latest. 
+- added parameter on chain resolver to say if it should return first found or try to find the latest among all if asked
+- a module can now publish no artifact, useful for virtual modules consisting only of integration of other modules
+- now cache layout is configurable, using cacheIvyPattern and cacheArtifactPattern attributes on conf element in ivyconf.xml
+- changed default cache layout: artifacts are separated by type
+- added cachepath task, which enables to build an ant path of artifacts in cache required for a conf
+
+<h1>Downloads</h1>
+<a href="./visit.php?url=./downloads/ivy/ivy-0.8-bin.zip">ivy-0.8-bin.zip</a> (946 kB)
+<a href="./visit.php?url=./downloads/ivy/ivy-0.8-src.zip">ivy-0.8-src.zip</a> (761 kB)
+<a href="./visit.php?url=./downloads/ivy/ivy-0.8-src-withdep.zip">ivy-0.8-src-withdep.zip</a> (1024 kB)
+
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/releasenotes/0.9.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/releasenotes/0.9.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/releasenotes/0.9.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/releasenotes/0.9.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,40 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+	<script type="text/javascript">var xookiConfig = {level: 2};</script>	
+	<script type="text/javascript" src="../../xooki/xooki.js"></script>
+</head>
+<body>
+	<textarea id="xooki-source">
+<h1>Changes log</h1>
+<i>Note: this version is not compatible with preceding ones. 
+The way to indicate patterns (in configuration as well as in some tasks) has changed: brackets are used for tokens instead of ant notation, which is kept for variables.
+Thus a pattern previously noted:
+${repository.dir}/${organisation}/${module}/${artifact}-${revision}.${ext}
+will now be:
+${repository.dir}/[organisation]/[module]/[artifact]-[revision].[ext]
+
+This has been done to prevent collision and make a better separation between variables and tokens. 
+Moreover migration costs should not be too high, ivy files not being concerned by the change.
+</i>
+- ChainResolver are now able to publish (delegating the call to the first resolver in the chain)
+- DualResolver sub resolvers are now registered in Ivy
+- more precise message on eviction
+- add validate attribute on most resolvers
+- ivy files validation handling review
+- use ivy variables in ant tasks to get default values for attributes
+- documentation update for configuring ivy
+- FIX: dependencies order not taken into account during resolve
+- FIX: evicting modules also evict confs
+- FIX: NPE during resolve when a dependency ivy file has no publication date
+- FIX: check nullity of artifact download reports
+
+<h1>Downloads</h1>
+<a href="./visit.php?url=./downloads/ivy/ivy-0.9-bin.zip">ivy-0.9-bin.zip</a> (958 kB)
+<a href="./visit.php?url=./downloads/ivy/ivy-0.9-src.zip">ivy-0.9-src.zip</a> (776 kB)
+<a href="./visit.php?url=./downloads/ivy/ivy-0.9-src-withdep.zip">ivy-0.9-src-withdep.zip</a> (1039 kB)
+
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>