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 [2/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/configuration/latest-strategies.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/configuration/latest-strategies.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/configuration/latest-strategies.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/configuration/latest-strategies.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,72 @@
+<!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> latest-strategies
+
+Defines a list of <a href="../../doc/concept#latest.html">latest strategies</a> usable in ivy. Each latest strategy is identified by its name, given as an attribute.
+The child tag used for the latest strategy must be equal to a name of a latest strategy type (usually added with the typedef tag).
+
+The latest strategies which are always included in ivy (and do not require anything in the configuration file) are:
+<ul>
+<li>latest-time</li> compares the revisions date to know which is the latest. While this is often a good 
+strategy in terms of pertinence, it has the drawback to be costful to compute with distant repositories. If you use ivyrep, 
+for example, ivy has to ask the http server what is the date of each ivy file before knowing which is the latest.
+<li>latest-revision</li> compares the revisions as string, using an algorithm close to the one used in the php version_compare function.
+This algorithm takes into account special meaning of some text. For instance, with this strategy, 1.0-dev1 is considered
+before 1.0-alpha1, which in turn is before 1.0-rc1, which is before 1.0, which is before 1.0.1.
+<li>latest-lexico</li> compares the revisions as string, using lexicographic order (the one used by java string comparison).
+</ul>
+
+<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>any latest strategy</td><td>adds a latest strategy to the list of available strategies</td>
+        <td>0..n</td></tr>
+</tbody>
+</table>
+
+<h1>latest-revision</h1>
+<span class="since">since 1.4</span> The latest-revision can now be configured to handle more words with special meanings than the one defined in php version_compare function.
+
+Here is an example of how you can do so:
+<code type="xml">
+<latest-strategies>
+  <latest-revision name="mylatest-revision">
+    <specialMeaning name="PRE" value="-2"/>
+    <specialMeaning name="QA" value="4"/>
+    <specialMeaning name="PROD" value="5"/>
+  </latest-revision>
+</latest-strategies> 
+</code>
+Knowing that the default special meaning words are the following:
+<code type="xml">
+    <specialMeaning name="dev" value="-1"/>
+    <specialMeaning name="rc" value="1"/>
+    <specialMeaning name="final" value="2"/>
+</code>
+You can even get rid or redefine the default special meanings by setting usedefaultspecialmeanings="false" on the latest-revision tag.
+Example:
+<code type="xml">
+<latest-strategies>
+  <latest-revision name="mylatest-revision" usedefaultspecialmeanings="false">
+    <specialMeaning name="pre" value="-2"/>
+    <specialMeaning name="m" value="1"/>
+    <specialMeaning name="rc" value="2"/>
+    <specialMeaning name="prod" value="3"/>
+  </latest-revision>
+</latest-strategies> 
+</code>
+
+
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/configuration/macrodef.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/configuration/macrodef.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/configuration/macrodef.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/configuration/macrodef.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,90 @@
+<!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> macrodef
+
+Defines a new dependency resolver type based upon an other one. This definition is very similar to the macrodef feature of ant for defining macro tasks. <span class="since">since 1.3</span>
+
+This task eases the lot the process of creating new dependency resolver, because it avoid writing java code.
+
+It is generally used in combination with the <a href="../../doc/configuration/include.html">include</a> feature to help reusing macro at several places.
+
+A macro is defined by writing the resolver it is equivalent to as if it were written in the resolver place, except that you can use attributes to pass parameters to the newly defined resolver type. Attributes are defined with a name and sometimes a default value, and are used using the following syntax: <code>@{attributename}</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>name of the resover type created</td>
+        <td>Yes</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/configuration/macrodef/attribute.html">attribute</a></td><td>defines an attribute for the macro resolver</td>
+        <td>0..n</td></tr>
+    <tr><td>any resolver</td><td>defines the base resolver upon which this macro is defined</td>
+        <td>1</td></tr>
+</tbody>
+</table>
+<h1>Examples</h1>
+Defining a simple macro:
+<code type="xml">
+  <macrodef name="mymacro">
+    <attribute name="mymainrep"/>
+      <filesystem name="fs1">
+        <ivy pattern="@{mymainrep}/[organisation]/[module]/[type]s/[artifact]-[revision].[ext]"/>
+        <artifact pattern="@{mymainrep}/[organisation]/[module]/[type]s/[artifact]-[revision].[ext]"/>
+      </filesystem>
+  </macrodef>
+</code>
+Using it:
+<code type="xml">
+  <resolvers>
+    <mymacro name="default" mymainrep="path/to/myrep"/>
+  </resolvers>
+</code>
+<hr/>
+A complete example:
+<code type="xml">
+<ivyconf>
+  <macrodef name="mymacro">
+    <attribute name="mymainrep"/>
+    <attribute name="mysecondrep"/>
+    <attribute name="myseconddirlayout" default="[organisation]/[module]/[type]s"/>
+    <chain>
+      <filesystem name="fs1">
+        <ivy pattern="@{mymainrep}/[organisation]/[module]/[type]s/[artifact]-[revision].[ext]"/>
+        <artifact pattern="@{mymainrep}/[organisation]/[module]/[type]s/[artifact]-[revision].[ext]"/>
+      </filesystem>
+      <filesystem name="fs2" latest="latest-time">
+        <ivy pattern="@{mysecondrep}/@{myseconddirlayout}/ivy-[revision].xml"/>
+        <artifact pattern="@{mysecondrep}/@{myseconddirlayout}/[artifact]-[revision].[ext]"/>
+      </filesystem>
+    </chain>
+  </macrodef>
+	
+  <resolvers>
+    <mymacro name="default" mymainrep="path/to/myrep" mysecondrep="path/to/secondrep"/>
+    <mymacro name="other" 
+       mymainrep="path/to/myrep" 
+       mysecondrep="path/to/secondrep" 
+       myseconddirlayout="[module]/[type]s"/>
+   </resolvers>
+</ivyconf>
+</code>
+
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/configuration/macrodef/attribute.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/configuration/macrodef/attribute.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/configuration/macrodef/attribute.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/configuration/macrodef/attribute.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: 3};</script>	
+	<script type="text/javascript" src="../../../xooki/xooki.js"></script>
+</head>
+<body>
+	<textarea id="xooki-source">
+<b>Tag:</b> attribute
+
+Defines a macrodef attribute. See macrodef for details.
+<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 attribute</td>
+        <td>Yes</td></tr>
+    <tr><td>default</td><td>the default value of the attribute if none is specified</td>
+        <td>No, by default attribute are required</td></tr>
+</tbody>
+</table>
+
+
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/configuration/module.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/configuration/module.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/configuration/module.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/configuration/module.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,83 @@
+<!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> module
+
+Define a module set rule. The tag defines a module set, by giving an expression and the matcher to use for organisation and name (for instance, you can use * to specify all). 
+
+It also gives the specific setting to use for this module set.
+
+For each module set, you can configure:
+<ul>
+<li>the <a href="../../doc/configuration/resolvers.html">resolver</a> to use</li>
+<li>the <a href="../../doc/configuration/conflict-managers.html">conflict manager</a> to use</li>
+<li>the default <a href="../../doc/terminology#branch.html">branch</a> to use</li>
+</ul>
+
+<h1>Attributes</h1>
+<table class="ivy-attributes">
+<thead>
+    <tr><th class="ivy-att">Attribute</th><th class="ivy-att-desc">Description</th><th class="ivy-att-req">Required</th></tr>
+</thead>
+<tbody>
+    <tr><td>organisation</td><td>the name of the organisation to which apply the resolver. May be a regexp.</td>
+        <td>Yes</td></tr>
+    <tr><td>name</td><td>the name of the module to which apply the resolver. May be a regexp.</td>
+        <td>Yes</td></tr>
+    <tr><td>matcher</td><td>the matcher to use to match the modules to which the resolver should be applied <span class="since">since 1.3</span></td>
+        <td>No, defaults to exactOrRegexp in pre 1.3 ivy files, and exact in 1.3 and superior</td></tr>
+    <tr><td>resolver</td><td>the name of the resolver to apply. The resolver must have been defined in the resolvers section of the configuration file.</td>
+        <td>No</td></tr>
+    <tr><td>conflict-manager</td><td>the name of the conflict manager to apply. <span class="since">since 1.4</span></td>
+        <td>No</td></tr>
+    <tr><td>branch</td><td>the default branch to apply. <span class="since">since 1.4</span></td>
+        <td>No</td></tr>
+</tbody>
+</table>
+<h1>Examples</h1>
+<code type="xml">
+<modules>
+  <module organisation="jayasoft" name="*" resolver="myprojectsresolver"/>
+</modules>
+</code>
+Uses myprojectresolver for all modules from jayasoft.
+<hr/>
+<code type="xml">
+<modules>
+  <module organisation="apache" name="commons-*" matcher="glob" resolver="myapachecommonsresolver"/>
+</modules>
+</code>
+Uses myapachecommonsresolver for all modules beginning by commons- from apache.
+<hr/>
+<code type="xml">
+<modules>
+  <module organisation="apache" name="commons-[a-z]+" matcher="regexp" resolver="myapachecommonsresolver"/>
+</modules>
+</code>
+Uses myapachecommonsresolver for all modules from apache beginning by commons- followed by any number of alphabetic lowercase characters.
+<hr/>
+<code type="xml">
+<modules>
+  <module organisation="jayasoft" name="ivy*" matcher="glob" conflict-manager="latest-time"/> 
+</modules>
+</code>
+Uses latest-time conflict manager for all modules from jayasoft which name begins with ivy.
+<hr/>
+<code type="xml">
+<modules>
+  <module organisation="jayasoft" name="ivy*" matcher="glob" branch="fix-103"/> 
+</modules>
+</code>
+Uses 'fix-103' as default branch for all modules from jayasoft which name begins with ivy.
+
+
+
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/configuration/modules.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/configuration/modules.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/configuration/modules.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/configuration/modules.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,33 @@
+<!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> modules
+
+Defines per module or module set settings.
+
+The rules are given by defining a module set, using pattern for module organisation and name, and giving some settings for the set, like the name of the corresponding resolver to use.
+
+If no rule match a given module, the default setting will be used.
+
+Even if not required, because the use of a default big resolver (chain, for instance) able to resolve all dependencies can answer all the needs, the configuration of smaller resolvers used for different cases can improve performances a lot. For instance, if you have a local repository for your modules and a distant repository for third party libraries, it is a good idea to have two separate resolvers, and configure ivy to use one for all your modules and another for the rest (the default one).
+
+<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/configuration/module.html">module</a></td><td>defines a module set rule</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/configuration/namespace.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/configuration/namespace.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/configuration/namespace.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/configuration/namespace.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,109 @@
+<!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> namespace
+
+Defines a new namespace. A namespace is identified by a name, which is used to reference the namespace in the resolvers using the namespace.
+
+Namespaces overview is given in the <a href="../../doc/configuration/namespaces.html">namespaces</a> documentation.
+
+A namespace mainly consists of a list of rules, each rule defining a translation between system namespace and the defined namespace, and vice versa.
+
+There are two main possibilities for using these rules. By default, a namespace iterate through the rules, and when it finds one that translate the given name, it returns the translated name. But the namespace can be configured to do use the list as a translator chain: in this case, all rules are applied in order, the result of the first rule translation being passed to the second, and so on.
+<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 namespace name</td>
+        <td>Yes</td></tr>
+    <tr><td>chainrules</td><td>true to indicate that namespaces rules should be chained, false otherwise</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/configuration/namespace/rule.html">rule</a></td><td>defines a new namespace rule</td>
+        <td>0..n</td></tr>
+</tbody>
+</table>
+<h1>Example</h1>
+<code type="xml">
+<namespace name="test">
+  <rule>
+    <fromsystem>
+      <src org="systemorg"/>
+      <dest org="A"/>
+    </fromsystem>
+    <tosystem>
+      <src org="A"/>
+      <dest org="systemorg"/>
+    </tosystem>
+  </rule>
+</namespace>
+</code>
+
+<code type="xml">
+<namespace name="test">
+  <rule>
+    <fromsystem>
+      <src org="systemorg2" module="system\-(.+)"/>
+      <dest org="B" module="$m1"/>
+    </fromsystem>
+    <tosystem>
+      <src org="B" module=".+"/>
+      <dest org="systemorg2" module="system-$m0"/>
+    </tosystem>
+  </rule>
+</namespace>
+</code>
+
+<code type="xml">
+<namespace name="test" chainrules="true">
+  <rule>
+    <fromsystem>
+      <src org="systemorg"/>
+      <dest org="A"/>
+    </fromsystem>
+    <tosystem>
+      <src org="A"/>
+      <dest org="systemorg"/>
+    </tosystem>
+  </rule>
+  <rule>
+    <fromsystem>
+      <src module="systemmod"/>
+      <dest module="A"/>
+    </fromsystem>
+    <tosystem>
+      <src module="A"/>
+      <dest module="systemmod"/>
+    </tosystem>
+  </rule>
+  <rule>
+    <fromsystem>
+      <src module="systemmod2"/>
+      <dest module="B"/>
+    </fromsystem>
+    <tosystem>
+      <src module="B"/>
+      <dest module="systemmod2"/>
+    </tosystem>
+  </rule>
+</namespace>
+</code>
+
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/configuration/namespace/dest.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/configuration/namespace/dest.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/configuration/namespace/dest.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/configuration/namespace/dest.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,44 @@
+<!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: 3};</script>	
+	<script type="text/javascript" src="../../../xooki/xooki.js"></script>
+</head>
+<body>
+	<textarea id="xooki-source">
+<b>Tag:</b> dest
+
+Defines the translation part of a translation rule. If a name has matched a corresponding src, it will be translated using this dest part.
+
+The new names can contain references to groups of the matched name, using a slightly modified regexp syntax. Indeed, referenced groups can be part of either the organisation, module or revision part of the original name. So, to reference the groups, you just have to add a letter identifying the part in which the group should be selected: o for organisation, m for module, and r for revision.
+
+For instance, $o0 matches the whole matched organisation, and $m0 the whole matched module name. $o1 matches the first group of the matched organisation.
+
+For details about regexp and groups, see the <a href="http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html">Pattern class documentation</a> in the jdk.
+<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 new organisation name</td>
+        <td>No, defaults to $o0</td></tr>
+    <tr><td>module</td><td>the new module name</td>
+        <td>No, defaults to $m0</td></tr>
+    <tr><td>rev</td><td>the new revision</td>
+        <td>No, defaults to $r0</td></tr>
+</tbody>
+</table>
+<h1>Examples</h1>
+<code type="xml">
+    <fromsystem>
+      <src org="systemorg2" module="system\-(.+)"/>
+      <dest org="B" module="$m1"/>
+    </fromsystem>
+</code>
+Matches modules from systemorg2 which have a name beginning with system followed by a minus and anything else, and translate it to organisation B and module the part following <code>system-</code> of the original name.
+
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/configuration/namespace/fromtosystem.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/configuration/namespace/fromtosystem.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/configuration/namespace/fromtosystem.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/configuration/namespace/fromtosystem.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: 3};</script>	
+	<script type="text/javascript" src="../../../xooki/xooki.js"></script>
+</head>
+<body>
+	<textarea id="xooki-source">
+<b>Tag:</b> fromsystem / tosystem
+
+Defines a one way translation rule, i.e. a translation from system namespace to the defined namespace or vice versa.
+<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/configuration/namespace/src.html">src</a></td><td>defines a source name which can be accepted</td>
+        <td>1..n</td></tr>
+    <tr><td><a href="../../../doc/configuration/namespace/dest.html">dest</a></td><td>defines the translation to apply when a name is accepted by an src pattern</td>
+        <td>1</td></tr>
+</tbody>
+</table>
+
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/configuration/namespace/rule.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/configuration/namespace/rule.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/configuration/namespace/rule.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/configuration/namespace/rule.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: 3};</script>	
+	<script type="text/javascript" src="../../../xooki/xooki.js"></script>
+</head>
+<body>
+	<textarea id="xooki-source">
+<b>Tag:</b> rule
+
+Defines a new namespace rule. A rule defines a translation between system namespace and the defined namespace, and vice versa.
+
+See <a href="../../../doc/configuration/namespace/namespace.html">namespace</a> doc for details.
+
+<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/configuration/namespace/fromtosystem.html">fromsystem</a></td><td>defines the translation to apply from system namespace to the defined namespace</td>
+        <td>1</td></tr>
+    <tr><td><a href="../../../doc/configuration/namespace/fromtosystem.html">tosystem</a></td><td>defines the translation to apply from the defined namespace to system namespace</td>
+        <td>1</td></tr>
+</tbody>
+</table>
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/configuration/namespace/src.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/configuration/namespace/src.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/configuration/namespace/src.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/configuration/namespace/src.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: 3};</script>	
+	<script type="text/javascript" src="../../../xooki/xooki.js"></script>
+</head>
+<body>
+	<textarea id="xooki-source">
+<b>Tag:</b> src
+
+Defines the acceptation part of a translation rule. If a name matches this src, it will be translated using the dest part.
+<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 organisation to match as a regexp</td>
+        <td>No, defaults to .*</td></tr>
+    <tr><td>module</td><td>the module name to match as a regexp</td>
+        <td>No, defaults to .*</td></tr>
+    <tr><td>rev</td><td>the revision to match as a regexp</td>
+        <td>No, defaults to .*</td></tr>
+</tbody>
+</table>
+
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/configuration/namespaces.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/configuration/namespaces.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/configuration/namespaces.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/configuration/namespaces.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> namespaces
+
+Namespaces are an advanced feature of Ivy which let you use resolvers in which module names and organisations are not consistent between each other.
+
+For instance, if you want to use maven2 repository and ivyrep collectively, you will face some naming issues. For example all apache commons projects are declared to be part of the organisation apache in ivyrep whereas in maven2 ibiblio repository, they are declared to be part of the organisation of the same name of the module.
+
+So if you try to use both maven2 and ivyrep repositories, you will face some issues like:
+<quote>
+How do I declare a dependency on commons-lang ?
+I have an error while trying to resolve module xxx. It says that it depends on [commons-httpclient commons-httpclient] ant that it isn't available.
+...
+</quote>
+
+Ivy has an answer to give to this kind of troubles, and this answer is called namespaces. In short, you can affect a namespace to each dependency resolver in Ivy, and each namespace defines rules to convert names from the system namespace to the defined namespace itself, and vice versa.
+
+This very powerful feature is thoroughly used in the <a href="../../doc/tutorial/build-repository/advanced1.html">build your own repository tutorial</a>, and this is a good place to have examples of what can be done with namespaces.
+
+<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/configuration/namespace.html">namespace</a></td><td>defines a new namespace</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/configuration/outputters.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/configuration/outputters.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/configuration/outputters.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/configuration/outputters.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> outputters
+
+Defines a list of report outputters usable in ivy. 
+
+A report outputter is used at the end of the resolve process to generate a report of how the resolve has been performed.
+
+Two report outputters are registered by default:
+<ul>
+<li>a log report outputter (<a href="http://svn.jayasoft.org/projects/tools/ivy/src/java/fr/jayasoft/ivy/report/LogReportOutputter.java">LogReportOutputter</a>)</li>which produces the output on the console at the end of the resolve, which looks like this:
+<code>
+        ---------------------------------------------------------------------
+        |                  |            modules            ||   artifacts   |
+        |       conf       | number| search|dwnlded|evicted|| number|dwnlded|
+        ---------------------------------------------------------------------
+        |      default     |   1   |   1   |   0   |   0   ||   1   |   1   |
+        ---------------------------------------------------------------------
+</code>
+<li>an xml report outputter (<a href="http://svn.jayasoft.org/projects/tools/ivy/src/java/fr/jayasoft/ivy/report/XmlReportOutputter.java">XmlReportOutputter</a>)</li>which produces an xml report in the cache, which is mandatory for correct Ivy behaviour, since it's that report which is used when you do a post resolve step in a separate buid from the resolve itself. It's also this xml report which is processed to generate all the different reports available in the [ivy:ant:report] task.
+</ul>
+
+The child tag used for the parser must be equal to a name of a report outputter type (added with the typedef tag).
+
+To see how to define your own report outputter see <a href="../../doc/extend.html">Extending Ivy documentation</a>
+
+<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>any report outputter</td><td>adds a report outputter to the list of available ones</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/configuration/parsers.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/configuration/parsers.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/configuration/parsers.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/configuration/parsers.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> parsers
+
+Defines a list of module descriptor parsers usable in ivy. Each parser defines which resources (which descriptor file) it accepts.
+The child tag used for the parser must be equal to a name of a parser type (added with the typedef tag).
+
+Note that when looking for a parser, ivy queries the parsers list in the reverse order. So the last parser in the list will be queried first. Consequently, if the last parser accepts all resources, the other parsers will never have a chance to parse the resource.
+
+Two parsers are available by default and thus do not need to be declared in this section:
+<ul>
+<li>ivy file parser</li> this is the parser used for ivy xml files. This parser is used for resources that aren't accepted by any other parser.
+<li>pom parser</li>this parser is able to parse maven2 pom files
+</ul>
+<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>any module descriptor parser</td><td>adds a module descriptor parser to the list of available parsers</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/configuration/properties.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/configuration/properties.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/configuration/properties.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/configuration/properties.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> properties<br/>
+<br/>
+Loads a properties file into ivy variables. See variables chapter above for details about ivy variables.
+<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>a path to a properties file to load</td>
+        <td>Yes</td></tr>
+    <tr><td>override</td><td>indicates if the variable found in the properties file should override their previous value, if any <span class="since">since 1.3</span></td>
+        <td>No, defaults to true</td></tr>
+</tbody>
+</table>
+
+
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/configuration/property.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/configuration/property.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/configuration/property.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/configuration/property.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,43 @@
+<!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> property
+
+Defines an ivy variable. <span class="since">since 1.3</span>
+
+The optional override attribute enables to avoid overriding the previous value of the varable, which makes the definition behave like ant properties, which is particularly useful to define default values (values which are used only if they haven't been defined yet).
+<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 variable to define</td>
+        <td>Yes</td></tr>
+    <tr><td>value</td><td>the new value the variable must take</td>
+        <td>Yes</td></tr>
+    <tr><td>override</td><td>true if the previous value (if any) of the variable should overriden, false otherwise</td>
+        <td>No, defaults to true</td></tr>
+</tbody>
+</table>
+<h1>Examples</h1>
+<code type="xml">
+<property name="myvar" value="myvalue"/>
+</code>
+Sets the variable myvar to the value myvalue.
+<hr/>
+<code type="xml">
+<property name="myvar" value="myvalue" override="false"/>
+</code>
+Sets the variable myvar to the value myvalue only if myvar has not been set yet.
+
+
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/configuration/resolvers.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/configuration/resolvers.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/configuration/resolvers.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/configuration/resolvers.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,143 @@
+<!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> resolvers
+
+Defines a list of dependency resolvers usable in ivy. Each dependency resolver is identified by its name, given as an attribute.
+
+The child tag used for the dependency resolver must be equal to a name of a dependency resolver type (either built-in or added with the typedef tag).
+
+<span class="since">since 1.3</span> Once defined, resolvers can be referenced by their name, using the following syntax:
+<code type="xml">
+<resolver ref="alreadydefinedresolver"/>
+</code>
+Note that this works only if the resolver has been already defined, and not if it is defined later in the ivyconf file.
+<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>any resolver</td><td>adds a resolver to the list of available resolvers</td>
+        <td>1..n</td></tr>
+</tbody>
+</table>
+
+<h1>Built-in Resolvers</h1>
+Ivy comes with a set of built-in dependency resolvers able to answer to the most common needs. 
+
+If you don't find the one you want here, you can also check if some one has not contributed it in the <a href="../../links.html">links page</a>, or even <a href="../../doc/extend.html">write your own</a>.
+
+There are basically two types of resolver in Ivy: composite and standard resolvers. A composite resolver is a resolver which delegates the work to other resolvers. The other resolvers are standard resolvers.
+
+Here is the list of built-in resolvers:
+
+<table class="ivy-attributes">
+<thead>
+    <tr><th>Name</th><th>Type</th><th>Description</th></tr>
+</thead>
+<tbody>
+<tr><td><a href="../../doc/resolver/ivyrep.html">IvyRep</a></td><td>Standard</td><td>Finds ivy files on ivyrep and artifacts on ibiblio.</td></tr>
+<tr><td><a href="../../doc/resolver/ibiblio.html">IBiblio</a></td><td>Standard</td><td>Finds artifacts on ibiblio.</td></tr>
+<tr><td><a href="../../doc/resolver/filesystem.html">FileSystem</a></td><td>Standard</td><td>This very performant resolver finds ivy files and artifacts in your file system.</td></tr>
+<tr><td><a href="../../doc/resolver/url.html">Url</a></td><td>Standard</td><td>Finds ivy files and artifacts in any repository accessible with urls.</td></tr>
+<tr><td><a href="../../doc/resolver/vfs.html">Vfs</a></td><td>Standard</td><td>Finds ivy files and artifacts in any repository accessible with <a href="http://jakarta.apache.org/commons/vfs/">apache commons vfs</a>.</td></tr>
+<tr><td><a href="../../doc/resolver/ssh.html">ssh</a></td><td>Standard</td><td>Finds ivy files and artifacts in any repository accessible with ssh.</td></tr>
+<tr><td><a href="../../doc/resolver/sftp.html">sftp</a></td><td>Standard</td><td>Finds ivy files and artifacts in any repository accessible with sftp.</td></tr>
+<tr><td><a href="../../doc/resolver/chain.html">Chain</a></td><td>Composite</td><td>Delegates the finding to a chain of sub resolvers.</td></tr>
+<tr><td><a href="../../doc/resolver/dual.html">Dual</a></td><td>Composite</td><td>Delegates the finding of ivy files to one resolver and of artifacts to another.</td></tr>
+</tbody>
+</table>
+
+<h1><a name="common">Common attributes</a></h1>
+All resolvers of the same type share some common attributes detailed here:
+<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><th>Composite</th><th>Standard</th></tr>
+</thead>
+<tbody>
+    <tr><td>name</td><td>the name which identify the resolver</td>
+        <td>Yes</td>
+        <td>Yes</td>
+        <td>Yes</td>
+    </tr>
+    <tr><td>validate</td><td>indicates if resolved ivy files should be validated against ivy xsd</td>
+        <td>No, defaults to call setting</td>
+        <td>Yes</td>
+        <td>Yes</td>
+    </tr>
+    <tr><td>checkmodified</td><td>Indicates if this resolver should check lastmodified date to know if an ivy file is up to date.</td>
+        <td>No, defaults to ${ivy.resolver.default.check.modified}</td>
+        <td>No</td>
+        <td>Yes</td>
+    </tr>
+    <tr><td>changingPattern</td><td>Indicates for which revision pattern this resolver should check lastmodified date to know if an artifact file is up to date. <span class="since">since 1.4</span></td>
+        <td>No, defaults to none</td>
+        <td>Yes</td>
+        <td>Yes</td>
+    </tr>
+    <tr><td>changingMatcher</td><td>The name of the <a href="../../doc/concept#matcher.html">pattern matcher</a> to use to match a revision against the configured changingPattern. <span class="since">since 1.4</span></td>
+        <td>No, defaults to exactOrRegexp</td>
+        <td>Yes</td>
+        <td>Yes</td>
+    </tr>
+    <tr><td>alwaysCheckExactRevision</td><td>Indicates if this resolver should check the given revision even if it's a special one (like latest.integration). <span class="since">since 1.3</span></td>
+        <td>No, defaults to ${ivy.default.always.check.exact.revision}</td>
+        <td>No</td>
+        <td>Yes</td>
+    </tr>
+    <tr><td>namespace</td><td>The name of the namespace to which this resolver belong <span class="since">since 1.3</span></td>
+        <td>No, defaults to 'system'</td>
+        <td>Yes</td>
+        <td>Yes</td>
+    </tr>
+    <tr><td>checkconsistency</td><td>true to check consistency of module descriptors found by this resolver, false to avoid consistency check <span class="since">since 1.3</span></td>
+        <td>No, defaults to true</td>
+        <td>No</td>
+        <td>Yes</td>
+    </tr>
+    <tr><td>allownomd</td><td>true if the absence of module descriptor (usually an ivy file) is authorised for this resolver, false to refuse modules without module descriptor <span class="since">since 1.4</span></td>
+        <td>No, defaults to true</td>
+        <td>No (except dual)</td>
+        <td>Yes</td>
+    </tr>
+    <tr><td>checksums</td><td>a comma separated list of <a href="../../doc/concept#checksum.html">checksum algorithms</a> to use both for publication and checking <span class="since">since 1.4</span></td>
+        <td>No, defaults to ${ivy.checksums}</td>
+        <td>No</td>
+        <td>Yes</td>
+    </tr>
+    <tr><td>latest</td><td>The name of the latest strategy to use.</td>
+        <td>No, defaults to 'default'</td>
+        <td>Yes</td>
+        <td>Yes</td>
+    </tr>
+</tbody>
+</table>
+
+<h1>Examples</h1>
+<code type="xml">
+<resolvers>
+  <filesystem name="1">
+    <ivy pattern="${ivy.conf.dir}/1/[organisation]/[module]/ivys/ivy-[revision].xml"/>
+    <artifact pattern="${ivy.conf.dir}/1/[organisation]/[module]/[type]s/[artifact]-[revision].[ext]"/>
+  </filesystem>
+  <chain name="chain1">
+    <resolver ref="1"/>
+    <ivyrep name="ivyrep"/>
+  </chain>
+  <chain name="chain2" returnFirst="true" dual="true">
+    <resolver ref="1"/>
+    <ibiblio name="ibiblio"/>
+  </chain>
+</resolvers>
+</code>
+Defines a filesystem resolver, named '1', which is then used in two chains, the first which seconds the filesystem resolver with an ivyrep resolver, and second which seconds the filesystem resolver with an ibiblio resolver, and which returns the first module found, and uses the whole chain to download artifacts (see corresponding resolvers documentation for details about them).
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/configuration/status.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/configuration/status.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/configuration/status.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/configuration/status.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> status
+
+Define one available module status.
+
+See <a href="../../doc/configuration/statuses.html">statuses</a> page for details about how statuses are defined.
+
+<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>name of status defined</td>
+        <td>Yes</td></tr>
+    <tr><td>integration</td><td>true if this is an integration status, false otherwise</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/configuration/statuses.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/configuration/statuses.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/configuration/statuses.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/configuration/statuses.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,54 @@
+<!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> statuses
+
+Defines the list of available statuses. <span class="since">since 1.4</span>
+
+By default, ivy has 3 statuses: release, milestone and integration. By adding a statuses section to your ivyconf file, you define the statuses you want to use. Note that in this case if you still want to have ivy default statuses you will have to declare them.
+
+The integration property on each status is only used for recursive delivery, an integration dependency being delivered if the caller is not in integration state itself.
+
+The default status is the one used when none is defined in a module descriptor. If not specified, it defaults to the last defined status.
+
+The statuses order is important, the first is considered the more mature, the last the less mature. This is used to know if a status is compatible with a latest.<status> version matcher.
+
+<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>default</td><td>the name of the status to use when none is declared in an ivy file</td>
+        <td>No, defaults to the last status declared</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/configuration/status.html">status</a></td><td>defines a new status</td>
+        <td>0..n</td></tr>
+</tbody>
+</table>
+<h1>Examples</h1>
+<code type="xml">
+<statuses default="bronze">
+  <status name="gold" integration="false"/>
+  <status name="silver" integration="false"/>
+  <status name="bronze" integration="true"/>
+</statuses> 
+</code>
+Defines 3 statuses, gold, silver and bronze. The default status used when none is declared in an ivy file will be bronze. 
+It is also considered as an integration status, and thus doesn't trigger any recrusive delivery.
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/configuration/typedef.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/configuration/typedef.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/configuration/typedef.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/configuration/typedef.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> typedef<br/>
+<br/>
+Defines a new type in ivy. Useful to define new dependency resolvers, in particular, but also latest strategies.
+See <a href="../../doc/extend.html">how to write and plug your own dependency resolver</a> for details.
+<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 type to define. This name is then used as an xml tag.</td>
+        <td>Yes</td></tr>
+    <tr><td>classname</td><td>the fully qualified class name of the type to define.</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/configuration/version-matchers.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/configuration/version-matchers.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/configuration/version-matchers.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/configuration/version-matchers.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,33 @@
+<!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> version-matchers
+
+Defines a list of version matchers. <span class="since">since 1.4</span> 
+
+The child tag used for the version matcher must be equal to a name of a report outputter type (added with the typedef tag).
+
+A version matcher is used to evaluate if a a dependency version contraint matches a dependency version.
+
+See <a href="../../doc/ivyfile/dependency.html">dependency</a> doc for details about built-in version matchers.
+
+<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>any version matcher</td><td>adds a version matcher to the list of available ones</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/extend.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/extend.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/extend.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/extend.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,52 @@
+<!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">
+Many things are configurable in ivy, and many things are available with ivy core. But when you want to do 
+something not built in ivy core, you can still plug your own code.<br/><br/>
+
+Several things are pluggable in ivy:
+<ul>
+<li>module descriptor parsers</li>
+<li>dependency resolvers</li>
+<li>latest strategies</li>
+<li>conflict managers</li>
+<li>report outputters</li>
+<li>version matchers</li>
+<li>triggers</li>
+</ul>
+
+Before trying to implement your own, we encourage you to check if the solution to your problem cannot be 
+addressed by existing features, or by <a href="../links.html">contributed ones</a>. Do not hesitate to ask for help on the forum.<br/><br/>
+
+If you still don't find what you need, there are two solutions:<br/>
+- prepare yourself to enter in ivy internals<br/>
+- <a href="mailto:commercial@jayasoft.org">contact us</a> to ask for specific development or advice. As ivy creators,
+we will always spend less time to implement your features or help you make good developement environment a reality.
+So do not hesitate to contact us and ask for a pricing.<br/><br/>
+
+And what if you still want to develop your own plugins ? Here are the main things to know...<br/><br/>
+
+All ivy plug-ins use the same code patterns as ant specific tasks for parameters. This means that
+if you want to have a "myattribute" of type String, you just have to declare a method called
+setMyattribute(String val) on your plug-in. The same applies to child tags, you just have to follow ant specifications.<br/><br/>
+
+Knowing that, you then have to implement the appropriate interface:
+<ul>
+<li>fr.jayasoft.ivy.DependencyResolver for dependency resolvers</li>
+<li>fr.jayasoft.ivy.LatestStrategy for latest strategies</li>
+<li>fr.jayasoft.ivy.ConflictManager for conflict managers</li>
+<li>fr.jayasoft.ivy.parser.ModuleDescriptorParser for module descriptor parsers</li>
+</ul>
+
+To help you understand what is required in each implementation, and what you can use to do it, have a look
+to existing implementations, it's the best advice we can give you !
+
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/install.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/install.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/install.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/install.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,64 @@
+<!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">
+There are basically two way to install Ivy. Either manually or automatically.
+<h1>Manually</h1>
+Download the version you want <a href="../download.html"/>here</a>, unpack the downloaded zip file wherever you want, and copy the ivy jar file in your ant lib directory (ANT_HOME/lib).
+
+If you use ant 1.6.0 or superior, you can then simply go to the src/example/hello-ivy dir and run ant: if the build is successful, you have successfully installed Ivy !
+
+If you use ant 1.5.1 or superior, you have to modify the build files in the examples:
+- remove the namespace section at their head: xmlns:ivy="antlib:fr.jayasoft.ivy.ant" 
+- add taskdefs for ivy tasks:
+<code>
+  <taskdef name="ivy-configure" classname="fr.jayasoft.ivy.ant.IvyConfigure"/>
+  <taskdef name="ivy-resolve" classname="fr.jayasoft.ivy.ant.IvyResolve"/>
+  <taskdef name="ivy-retrieve" classname="fr.jayasoft.ivy.ant.IvyRetrieve"/>
+  <taskdef name="ivy-publish" classname="fr.jayasoft.ivy.ant.IvyPublish"/> 
+</code>
+- replace ivy:xxx tasks by ivy-xxx
+You can now run the build, if it is successful, you have successfully installed Ivy !
+
+If the build is not successful, check the <a href="../faq.html">FAQ</a> to see what can be the problem with the ivyrep resolver.
+<h1>Automatically</h1>
+If you want to use Ivy only in your ant build scripts, and have an internet connection when you build, you can download Ivy from this site and use the downloaded version automatically, using this simple build snippet:
+<code type="xml">
+    <property name="ivy.install.version" value="1.4-RC1" />
+
+    <condition property="ivy.home" value="${env.IVY_HOME}">
+        <isset property="env.IVY_HOME" />
+    </condition>
+    <property name="ivy.home" value="${user.home}/.ivy" />
+    <property name="ivy.jar.dir" value="${ivy.home}/jars" />
+    <property name="ivy.jar.file" value="${ivy.jar.dir}/ivy.jar" />
+	
+    <target name="download-ivy" unless="offline">
+        <mkdir dir="${ivy.jar.dir}"/>
+        <!-- download Ivy from web site so that it can be used even without any special installation -->
+        <get src="http://www.jayasoft.org/downloads/ivy/${ivy.install.version}/ivy-${ivy.install.version}.jar"
+            dest="${ivy.jar.file}" usetimestamp="true"/>
+    </target>
+	
+    <target name="init-ivy" depends="download-ivy">
+    	<!-- try to load ivy here from ivy home, in case the user has not already dropped
+              it into ant's lib dir (note that the latter copy will always take precedence).
+              We will not fail as long as local lib dir exists (it may be empty) and
+              ivy is in at least one of ant's lib dir or the local lib dir. -->
+        <path id="ivy.lib.path">
+            <fileset dir="${ivy.jar.dir}" includes="*.jar"/>
+        </path>
+        <taskdef resource="fr/jayasoft/ivy/ant/antlib.xml"
+                 uri="antlib:fr.jayasoft.ivy.ant" classpathref="ivy.lib.path"/>
+    </target>
+</code>
+
+Then the only thing to do is to add the init-ivy target in the depends attribute of your targets using Ivy, and add ivy namespace to your build script. See the self contained <a href="http://svn.jayasoft.org/projects/tools/ivy/src/example/go-ivy/build.xml">go-ivy</a> example for details about this.
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/ivyfile.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/ivyfile.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/ivyfile.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/ivyfile.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,107 @@
+<!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">
+Ivy use is entirely based on what is called ivy files. Ivy files are xml files, usually called ivy.xml, containing the description of the dependencies of a module, its published artifacts and its configurations.
+
+Here is the simplest ivy file you can write:
+<code type="xml">
+<ivy-module version="1.3">
+  <info organisation="myorg"
+        module="mymodule"
+        />
+</ivy-module>
+</code>
+
+Since version 0.8, ivy publishes an xslt which help make ivy files more readable. You just have to add
+a line like this one in your ivy file:
+<code>
+<?xml-stylesheet type="text/xsl" href="http://www.ivyrep.org/ivy-doc.xsl"?>
+</code>
+However, all information is not presented with the xslt (dependency configurations, in particular).
+And due to security issues, it only works if the ivy file is in the same domain as the xsl... But they are particularly useful to browse the <a href="http://www.ivyrep.org/">ivy repository</a>.
+
+If you want to see a sample file using almost all possibilities of ivy files, check this one, <a href="http://www.jayasoft.org/misc/ivy/samples/ivy-sample-xslt.xml">with</a> or <a href="./misc/ivy/samples/ivy-sample.xml">without</a> xslt.
+
+Before beginning the reference itself, it is required to have in mind the terminology defined in the <a href="../doc/reference.html">main page</a> of this reference documentation.
+
+For those familiar with xml schema, the schema used to validate ivy files can be found <a href="./misc/ivy/ivy.xsd">here</a>. For those using xsd aware IDE, you can declare the xsd in your ivy files to benefit from code completion / validation:
+<code type="xml">
+<?xml version="1.0" encoding="UTF-8"?>
+<ivy-module version="1.3" 
+            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+            xsi:noNamespaceSchemaLocation=
+                   "http://www.jayasoft.org/misc/ivy/ivy.xsd">
+  <info organisation="myorg"
+        module="mymodule"
+        />
+</ivy-module>
+</code>
+
+<h1>Hierarchical Index</h1>
+<pre>
+ivy-module
+    <a href="../doc/ivyfile/info.html">info</a>
+        <a href="../doc/ivyfile/license.html">license</a>
+        <a href="../doc/ivyfile/ivyauthor.html">ivyauthor</a>
+        <a href="../doc/ivyfile/repository.html">repository</a>
+        <a href="../doc/ivyfile/description.html">description</a>
+    <a href="../doc/ivyfile/configurations.html">configurations</a>
+        <a href="../doc/ivyfile/conf.html">conf</a>
+    <a href="../doc/ivyfile/publications.html">publications</a>
+        <a href="../doc/ivyfile/artifact.html">artifact</a>
+            <a href="../doc/ivyfile/artifact-conf.html">conf</a>
+    <a href="../doc/ivyfile/dependencies.html">dependencies</a>
+        <a href="../doc/ivyfile/dependency.html">dependency</a>
+            <a href="../doc/ivyfile/dependency-conf.html">conf</a>
+                <a href="../doc/ivyfile/mapped.html">mapped</a>
+            <a href="../doc/ivyfile/dependency-artifact.html">artifact</a>
+                <a href="../doc/ivyfile/dependency-artifact-conf.html">conf</a>
+            <a href="../doc/ivyfile/dependency-artifact.html">include</a>
+                <a href="../doc/ivyfile/dependency-artifact-conf.html">conf</a>
+            <a href="../doc/ivyfile/artifact-exclude.html">exclude</a>
+                <a href="../doc/ivyfile/artifact-exclude-conf.html">conf</a>
+    <a href="../doc/ivyfile/conflicts.html">conflicts</a>
+        <a href="../doc/ivyfile/manager.html">manager</a>
+</pre>
+
+<h1>ivy-module</h1>
+<b>Tag:</b> ivy-module
+
+Root tag of any ivy-file.
+<h2>Attributes</h2>
+<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>version</td><td>the version of the ivy file specification - should be '1.3' with current version of ivy</td>
+        <td>Yes</td></tr>
+</tbody>
+</table>
+<h2>Child elements</h2>
+<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>info</td><td>contains information about the described module</td>
+        <td>1</td></tr>
+    <tr><td>configurations</td><td>container for configuration elements</td>
+        <td>0..1</td></tr>
+    <tr><td>publications</td><td>container for published artifact elements</td>
+        <td>0..1</td></tr>
+    <tr><td>dependencies</td><td>container for dependency elements</td>
+        <td>0..1</td></tr>
+    <tr><td>conflicts</td><td>section to configure the conflict managers to use</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/artifact-conf.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/artifact-conf.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/artifact-conf.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/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/artifact.html">artifact</a><br/>
+<br/>
+Indicates a public configuration in which enclosing artifact is published.
+<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 module public configuration in which this artifact is published. 
+    	'*' wildcard can be used to designate all public 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/artifact-exclude-conf.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/artifact-exclude-conf.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/artifact-exclude-conf.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/artifact-exclude-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/artifact-exclude.html">artifact</a><br/>
+<br/>
+Specify a configuration in which the enclosing artifact exclusion 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 excluded</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/artifact-exclude.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/artifact-exclude.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/artifact-exclude.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/artifact-exclude.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,62 @@
+<!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> exclude <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 excluding artifacts being published by the dependency or any of its transitive dependencies, 
+even if configuration does not a good separation of published artifacts
+
+The same principle concerning configuration as for include applies to this exclude feature (see above the include feature).
+
+Note that exclusion is always done AFTER inclusion has been done.
+
+<span class="since">since 1.3</span> This exclude feature can also be used not only to exclude artifacts but also to exclude whole modules. Indeed when you exclude artifacts, it doesn't avoid ivy to search for the module itself, and to resolve the dependencies of the module. But you can also exclude the whole module, which means that the module will not be downloaded at all, and so its own dependencies will not be resolved. For sure, this is usually done to exclude not a direct dependency but an indirect one. To exclude a whole module, you just have to not specify any artifact name, type and ext in your exclude rule. For instance:
+<code type="xml">
+<dependency name="A" rev="1.0">
+  <exclude module="B"/>
+</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>org</td><td>the organisation of the dependency module or artifact to exclude, or a regexp matching this organisation <span class="since">since 1.3</span></td>
+        <td>No, defaults to *</td></tr>
+    <tr><td>module</td><td>the name of the dependency module or the artifact to exclude, or a regexp matching this module name <span class="since">since 1.3</span></td>
+        <td>No, defaults to *</td></tr>
+    <tr><td>name</td><td>the name of an artifact of the dependency module to add to the exclude 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 exclude 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 exclude list, or a regexp matching this name</td>
+        <td>No, defaults to type</td></tr>
+    <tr><td>matcher</td><td>the matcher to use to match the modules to excludes <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>
+    <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/artifact-exclude-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/artifact.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/artifact.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/artifact.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/artifact.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,75 @@
+<!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/publications.html">publications</a>
+
+Declares an artifact published by this module. This is especially useful for other modules dependending on this one. They thus get all published artifacts belonging to the configurations asked. Indeed, each published artifact declares in which public configuration it is published. Thus a module depending on this module only get artifacts marked with the asked configurations, taking into account configurations extension (see <a href="../../doc/ivyfile/conf.html">configuration declaration</a>).
+
+The configurations in which an artifact is published can be configured in two ways:
+<ul>
+<li>conf attribute on artifact element</li>
+<li>conf subelement</li>
+</ul>
+The twos are equivalent, it is only a matter of preference. However, do not mix both for one artifact.
+
+<span class="since">since 1.4</span> The artifact element as default values for all its attributes, so if you want to declare a default artifact you can just declare it like that:<code type="xml">
+<artifact />
+</code>If this is the only artifact declared, then it's equivalent to having no publication section at all.
+
+<span class="since">since 1.4</span> It is possible to give a url at which artifacts can be found. This is not mandatory, and even not recommended. This is only a convenient way to deal with an existing repository with a bad layout, but should not be avoided in an enterprise 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 the published artifact. This name must not include revision.</td>
+        <td>No, defaults to the name of the module</td></tr>
+    <tr><td>type</td><td>the type of the published artifact. It's usually its extension, but not necessarily. For instance, ivy files are of type 'ivy' but have 'xml' extension</td>
+        <td>No, defaults to jar</td></tr>
+    <tr><td>ext</td><td>the extension of the published artifact</td>
+        <td>No, defaults to type</td></tr>
+    <tr><td>conf</td><td>comma separated list of public configurations in which this artifact is published.
+    	'*' wildcard can be used to designate all public configurations of this module</td>
+        <td>No, defaults to '*' if neither conf attribute nor conf children element is given</td></tr>
+    <tr><td>url</td><td>a url at which this artifact can be found if it isn't located 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/artifact-conf.html">conf</a></td><td>indicates a public configuration in which this artifact is published</td>
+        <td>0..n</td></tr>
+</tbody>
+</table>
+<h1>Examples</h1>
+<code type="xml">
+<artifact />
+</code>
+Declares an artifact with the name of the module as name, type and ext jar, and published in all configurations.
+
+<hr />
+<code type="xml">
+<artifact name="foo-src" type="source" ext="zip" conf="src" />
+</code>
+Declares an artifact foo-src, of type 'source' with extension 'zip', and published in the src configuration.
+
+<hr />
+<code type="xml">
+<artifact name="foo" url="http://www.acme.com/repository/barbaz/foo-1.2-bar.jar" />
+</code>
+Declares an artifact foo, of type and extension 'jar' located at the url <code>http://www.acme.com/repository/barbaz/foo-1.2-bar.jar</code>. This url will only be used if the artifact cannot be found at its standard location.
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/conf.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/conf.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/conf.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/conf.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,67 @@
+<!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/configurations.html">configurations</a>
+
+Declares a configuration of this module. As described in the reference page, a configuration is a way to use or construct a module. Some modules may be used in different ways (think about hibernate which can be used inside or outside an application server), and this way may alter the artifacts you need (in the case of hibernate, jta.jar is needed only if it is used outside an application server). Moreover, a module may need some other modules and artifacts only at build time, and some others at runtime. All those differents ways to use or build a module are called in ivy configurations.
+
+The conf element in the configurations section declares one configuration. This declaration gives the name of the configuration declared, its visibility and the other configurations of the module it extends.
+
+Visibility is used to indicate whether or not a configuration can be used from other modules depending on this one. Thus a private configuration is only used for internal purpose (maybe at build time), and other modules cannot declare to depend on it. 
+
+A configuration can also extend one or several other ones of the same module. When a configuration extends another one, then all artifacts required in the extended configuration will also be required in the configuration that extends the other one. For instance, if configuration B extends configuration A, and if artifacts art1 and art2 are required in configuration A, then they will be automatically required in configuration B. On the other hand, artifacts required in configuration B are not necessarily required in configuration A.
+
+This notion is very helpful to define configurations which are similar with some differences.
+
+<span class="since">since 1.4</span> The extends attribute can use the following wildcards:<table class="ivy-attributes">
+<tr><td>*</td><td>all other configurations</td></tr>
+<tr><td>*(public)</td><td>all other public configurations</td></tr>
+<tr><td>*(private)</td><td>all other private configurations</td></tr>
+</table>
+<br/>
+
+<span class="since">since 1.4</span> A whole configuration can be declared as non transitive, so that all dependencies resolved in this configuration will be resolved with transitivity disabled. Note that the transitivity is disabled for all the configuration dependencies (including those obtained because this conf extends other ones), and only for this configuration (which means that a conf extending this one with transitivityy enabled will get transitive dependencies even for dependencies being part of the non transitive configuration).
+This is very useful to build a compile configuration, for instance, forcing the dependency declaration on each direct dependency, with no risk to forget some because of transitivity.
+
+<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>name</td><td>the name of the declared configuration</td>
+        <td>Yes</td></tr>
+    <tr><td>description</td><td>a description for the declared configuration</td>
+        <td>No</td></tr>
+    <tr><td>visibility</td><td>the visibility of the declared configuration. 
+    'public' means that this configuration can be used by other modules, while 'private' means that this configuration is used only in the module itself, and is not exposed to other modules</td>
+        <td>No, defaults to public</td></tr>
+    <tr><td>extends</td><td>a comma separated list of configurations of this module that the 
+    current configuration extends</td>
+        <td>No, defaults to none</td></tr>
+    <tr><td>transitive</td><td>a boolean to indicate if this conf is transitive or not <span class="since">since 1.4</span></td>
+        <td>No, defaults to true</td></tr>
+    <tr><td>deprecated</td><td>indicates that this conf has been deprecated by giving the date of the deprecation. 
+    	It should be given in this format: yyyyMMddHHmmss</td>
+        <td>No, by default the conf is not deprecated</td></tr>
+</tbody>
+</table>
+
+<h1>Examples</h1>
+<code type="xml">
+<conf name="core" visibility="private" />
+<conf name="compile" extends="core" transitive="false" visibility="private" />
+<conf name="runtime" extends="compile" description="everything needed to run this module" />
+</code>
+Declares three configurations, core compile and runtime, with only the runtime one accessible from other modules, and with the compile one being non transitive.
+Therefore the core configuration will only be composed of dependencies declared in the core configuration itself, the compile configuration will be composed of all dependencies required in either core or compile configuration, but without transivity (neither for core nor compile dependencies), and runtime will be composed of all dependencies, all transitively, including the dependencies declared only in compile.
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/configurations.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/configurations.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/configurations.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/ivyfile/configurations.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,51 @@
+<!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> configurations <b>Parent:</b> <a href="../../doc/ivyfile.html">ivy-module</a>
+
+Container for configuration element. If this container is not present, it is assumed that the module has one public configuration called 'default'.
+
+<span class="since">since 1.3</span> You can define a new default conf mapping on this container by specifying the defaultconfmapping attribute.
+
+A default conf mapping is very similar to the defaultconf which can be set on the dependencies tag, but it has a slightly different behaviour. 
+The default conf mapping not only defines the conf mapping to use when no conf mapping is specified for a dependency in this ivy file, but it also modify the way ivy interprets conf mapping with no mapped conf. In this case, Ivy will look in the default conf mapping and use the conf mapping defined in the default conf mapping for the conf for which there is no mapped conf.
+
+See <a href="../../doc/ivyfile/dependency#defaultconfmapping.html">examples on the dependency</a> page.
+
+<span class="since">since 1.4</span> You can activate a confmappingoverride mode for all configurations, in which case the extending configurations will override the mappings of the configurations they extend from. This is an advanced feature which should be used only if you understand its implication.
+For a discussion about the origin of this feature see <a href="./node/592">this thread</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>defaultconfmapping</td><td>the default conf mapping to use in this ivy file <span class="since">since 1.3</span></td>
+        <td>No, defaults to no default conf mapping</td></tr>
+    <tr><td>confmappingoverride</td><td>true to activate configuration mapping override, false otherwise <span class="since">since 1.4</span></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/conf.html">conf</a></td><td>declares a configuration of this module</td>
+        <td>0..n</td></tr>
+    <tr><td><a href="../../doc/ivyfile/include.html">include</a></td><td>include configurations from another file</td>
+        <td>0..n</td></tr>
+</tbody>
+</table>
+
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>