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 [7/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/use/deliver.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/use/deliver.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/use/deliver.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/use/deliver.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,85 @@
+<!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">
+Delivers a resolved ivy file of the current module, and possibly do recursive delivery of dependencies. 
+This task does two main things:
+<h2>Generate a resolved ivy file</h2>
+This task generates a resolved ivy file of the current module, based upon the last resolve done. The resolved ivy file contains updated information about the delivered module, such as revision and status.
+
+Moreover, all included configurations files are included in the ivy file, and variables are replaced by their values.
+
+Finally, in the resolved ivy file, dynamic revisions are replaced by the static ones that have been found during the resolve step, so the ivy file can be used later safely to obtain the same dependencies (providing that a revision uniquely identifies a module, which should be the case for proper ivy use).
+
+<span class="since">since 1.3</span> The replacement of dynamic revisions by static ones can be turned off, so that dynamic revisions are kept in the ivy file.
+<h2>do recursive delivery</h2>
+This is done only if a deliver target is given to the deliver task.
+
+If a deliver target is set, then it is called (via an antcall) for each dependency which has not a suffisant status compared to the deliver status set for this task. This means that if you deliver an integration revision, no recursive delivery will be done.
+
+If you deliver a milestone or a release revision, deliver target will be called with each integration dependency. 
+
+The deliver target is called with the following properties available:
+<ul>
+  <li>dependency.name</li>
+the name of the dependency to recursively deliver
+  <li>dependency.published.status</li>
+the status to which the dependency should be delivered
+  <li>dependency.published.version</li>
+the revision to which the dependency should be delivered
+  <li>dependency.version</li>
+the revision of the dependency that should be delivered (the one that was retrieved during last resolve)
+</ul>
+Both <code>dependency.published.status</code> and <code>dependency.published.version</code> can be either asked to the user through ant input tasks (default behaviour), or be always the same for the whole recursive delivery process if the following properties are set:
+<ul>
+<li>recursive.delivery.status</li>set to the status to which all dependencies requiring to be delivered will be
+<li>recursive.delivery.version</li>set to the version to which all dependencies requiring to be delivered will be
+</ul>
+
+Usually the deliver target itself triggers an another ant build (using ant task) even if this is up to you to decide.
+
+The delivered ivy file will update its dependency revisions with those given here.  
+
+<h2>deliver and publish</h2>
+The deliver task is most of the time not called explicitly, but rather called automatically by the [ivy:ant:publish] task. So, when shall the deliver task be called explictly? When you actually need to separate what is performed by the deliver task (see above), from what is performed by the publish task, i.e. upload a module to a repository.
+
+And this can be particularly useful if you want to process the generated ivy file before uploading it (if you want to add automatically more information like an SCM tag used, the user who performed the release, ...).
+
+It can also be useful if you want to trigger a recursive delivery and then ensure that you get the recursively delivered modules as dependencies. In this case your build order may look like this:
+- ivy:configure
+- ivy:resolve
+- ivy:deliver with recursive delivery
+- ivy:resolve again with the ivy file generated by the recursive delivery
+- do your build stuff (compile, jar, whatever)
+- ivy:publish 
+  
+<table class="ant">
+<thead>
+    <tr><th class="ant-att">Attribute</th><th class="ant-desc">Description</th><th class="ant-req">Required</th></tr>
+</thead>
+<tbody>
+    <tr><td>deliverpattern</td><td>the pattern to use for ivy file delivery</td>
+        <td>No. Defaults to ${ivy.deliver.ivy.pattern}</td></tr>
+    <tr><td>pubrevision</td><td>the revision to use for the publication</td>
+        <td>No. Defaults to ${ivy.deliver.revision} if set, or the revision resolved if set, or a timestamp</td></tr>
+    <tr><td>pubdate</td><td>the publication date to use for the publication. This date should be either 'now', or a date given with the following pattern: yyyyMMddHHmmss</td>
+        <td>No. Defaults to 'now'</td></tr>
+    <tr><td>status</td><td>the status to use for the publication</td>
+        <td>No. Defaults to ${ivy.status}</td></tr>
+    <tr><td>delivertarget</td><td>the target to call for recursive delivery</td>
+        <td>No. No recursive delivery is done by default</td></tr>
+    <tr><td>validate</td><td>true to force ivy files validation against ivy.xsd, false to force no validation</td>
+        <td>No. Defaults to default ivy value (as configured in configuration file)</td></tr>
+    <tr><td>replacedynamicrev</td><td>true to replace dynmic revisions by static ones in the delivered file, false to avoid this replacement <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/use/findrevision.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/use/findrevision.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/use/findrevision.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/use/findrevision.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,50 @@
+<!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">
+<span class="since">since 1.4</span>
+Finds the latest revision of a module matching a given version constraint.
+
+A version constraint is what is used when declaring a <a href="../../doc/ivyfile/dependency.html">dependency</a> on a module.
+If the module is not found the property is not set.
+
+<h1>Attributes</h1>
+<table class="ant">
+<thead>
+    <tr><th class="ant-att">Attribute</th><th class="ant-desc">Description</th><th class="ant-req">Required</th></tr>
+</thead>
+<tbody>
+    <tr><td>organisation</td><td>the organisation of the module to find</td>
+        <td>Yes</td></tr>
+    <tr><td>module</td><td>the the name of the module to find</td>
+        <td>Yes</td></tr>
+    <tr><td>branch</td><td>the branch of the module to find</td>
+        <td>No, defaults to the default branch for the given module</td></tr>
+    <tr><td>revision</td><td>the revision constraint to apply</td>
+        <td>Yes</td></tr>
+    <tr><td>property</td><td>the property to set with the found revision</td>
+        <td>No, defaults to ivy.revision</td></tr>
+</tbody>
+</table>
+<h1>Examples</h1>
+<code type="xml">
+<ivy:findrevision organisation="jayasoft" module="ivy" revision="latest.integration"/>
+</code>
+finds the latest version of ivy available in the repository and sets the property ivy.revision according to what was found.
+
+<hr/>
+
+<code type="xml">
+<ivy:findrevision organisation="jayasoft" module="ivy" revision="1.0+"/>
+</code>
+same as above but only with 1.0 sub versions.
+
+
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/use/info.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/use/info.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/use/info.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/use/info.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">
+<span class="since">since 1.4</span>
+The info task ease the access to some essential data contained in an ivy file without performing a dependency resolution.
+
+The information is retrieved by setting ant properties:
+<table>
+<tr><td>ivy.organisation</td><td>The organisation of the module, as found in the <a href="../../doc/ivyfile/info.html">info</a> tag of the ivy file parsed</td></tr>
+<tr><td>ivy.module</td><td>The name of the module, as found in the <a href="../../doc/ivyfile/info.html">info</a> tag of the ivy file parsed</td></tr>
+<tr><td>ivy.revision</td><td>The revision of the module, as found in the <a href="../../doc/ivyfile/info.html">info</a> tag of the ivy file parsed</td></tr>
+<tr><td>ivy.configurations</td><td>A comma separated list of configurations of the module, as declared in the <a href="../../doc/ivyfile/configurations.html">configurations</a> section</td></tr>
+<tr><td>ivy.public.configurations</td><td>A comma separated list of public configurations of the module, as declared in the <a href="../../doc/ivyfile/configurations.html">configurations</a> section</td></tr>
+</table>
+
+<h1>Attributes</h1>
+<table class="ant">
+<thead>
+    <tr><th class="ant-att">Attribute</th><th class="ant-desc">Description</th><th class="ant-req">Required</th></tr>
+</thead>
+<tbody>
+    <tr><td>file</td><td>the ivy file to parse</td>
+        <td>Yes</td></tr>
+</tbody>
+</table>
+<h1>Examples</h1>
+<code type="xml">
+<ivy:info file="${basedir}/path/to/ivy.xml" />
+</code>
+Parses ${basedir}/path/to/ivy.xml and set properties as described above accordingly.
+
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/use/install.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/use/install.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/use/install.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/use/install.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">
+Installs a module and all its dependencies in a resolver. <span class="since">since 1.3</span>
+
+The module to install should be available in a resolver, and will be installed in another resolver which should support publish.
+
+This is particularly useful for users who only have a private repository, and want to benefit from public repositories from time to time. In this case, when a module is missing in the private repository, a call to install let download the module from a public repository not usually used for dependency resolution, and install it and its dependencies in the private repository.
+
+For more details about this task and its usage see the <a href="../../doc/tutorial/build-repository.html">build repository tutorial</a>
+  
+<table class="ant">
+<thead>
+    <tr><th class="ant-att">Attribute</th><th class="ant-desc">Description</th><th class="ant-req">Required</th></tr>
+</thead>
+<tbody>
+    <tr><td>from</td><td>the name of the resolver in which the module must be found</td>
+        <td>Yes</td></tr>
+    <tr><td>to</td><td>the name of the resolver in which the module must be installed</td>
+        <td>Yes</td></tr>
+    <tr><td>organisation</td><td>the name of the organisation of the module to install</td>
+        <td>Yes</td></tr>
+    <tr><td>module</td><td>the name of the module to install</td>
+        <td>Yes</td></tr>
+    <tr><td>revision</td><td>the revision of the module to install</td>
+        <td>Yes</td></tr>
+    <tr><td>validate</td><td>true to force ivy files validation against ivy.xsd, false to force no validation</td>
+        <td>No. Defaults to default ivy value (as configured in configuration file)</td></tr>
+    <tr><td>overwrite</td><td>true to override modules already present in the destination resolver, false otherwise</td>
+        <td>No, defaults to false</td></tr>
+    <tr><td>transitive</td><td>true to install the module and all its transitive dependencies, false to install only the module</td>
+        <td>No, defaults to false</td></tr>
+    <tr><td>matcher</td><td>the name of the matcher to use to find the modules to install</td>
+        <td>No, defaults to exact</td></tr>
+</tbody>
+</table>
+<h1>Examples</h1>
+<code type="xml">
+<ivy:install organisation="apache" module="commons-lang" revision="2.0" from="ivyrep" to="myfsresolver"/>
+</code>
+Installs the module commons-lang from apache in revision 2.0 in the resolver myfsresolver. The module is found in the resolver named 'ivyrep'.
+
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/use/listmodules.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/use/listmodules.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/use/listmodules.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/use/listmodules.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">
+<span class="since">since 1.4</span>
+Finds the list of modules in the repository matching some criteria and set a corresponding list of properties in ant.
+
+The criteria is set by given patterns matching the organisation, name branch and revision of the modules to find.
+
+To know if a module matches the criteria ivy will use the configured <a href="../../doc/concept#matcher.html">pattern matcher</a>.
+
+<h1>Attributes</h1>
+<table class="ant">
+<thead>
+    <tr><th class="ant-att">Attribute</th><th class="ant-desc">Description</th><th class="ant-req">Required</th></tr>
+</thead>
+<tbody>
+    <tr><td>organisation</td><td>the pattern matching the organisation of the modules to list</td>
+        <td>Yes</td></tr>
+    <tr><td>module</td><td>the pattern matching the name of the modules to list</td>
+        <td>Yes</td></tr>
+    <tr><td>branch</td><td>the pattern matching the branch of the modules to list</td>
+        <td>No, defaults to '*'</td></tr>
+    <tr><td>revision</td><td>the pattern matching the revision of the modules to list</td>
+        <td>Yes</td></tr>
+    <tr><td>matcher</td><td>the name of the pattern matcher to use for matching the modules fields</td>
+        <td>No. Defaults to exactOrRegexp.</td></tr>
+    <tr><td>property</td><td>the pattern of the property to set when a module is found</td>
+        <td>Yes</td></tr>
+    <tr><td>value</td><td>The pattern of the value to set when a module is found</td><td>Yes</td></tr>
+</tbody>
+</table>
+<h1>Examples</h1>
+<code type="xml">
+<ivy:listmodules organisation="jayasoft" module="ivy" revision="*" property="ivy.[revision]" value="found"/>
+</code>
+will find all revisions of the module ivy in the org jayasoft, and create one property for each revision found, the name of the property depending on the revision, the value being always 'found'
+
+<hr/>
+
+<code type="xml">
+<ivy:listmodules organisation="*" module="ivy*" revision="1.0" matcher="glob" property="modules.[module]" value="[organisation]"/>
+</code>
+use the glob matcher to find all modules which name starts with ivy with revision 1.0, and sets for each a property with module name found  and organisation for value.
+Example:
+modules.ivy=jayasoft
+modules.ivyde=jayasoft
+modules.ivytools=ivytools
+
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/use/postresolvetask.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/use/postresolvetask.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/use/postresolvetask.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/use/postresolvetask.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: 2};</script>	
+	<script type="text/javascript" src="../../xooki/xooki.js"></script>
+</head>
+<body>
+	<textarea id="xooki-source">
+Several tasks in Ivy are considered as post resolve task and share a common behaviour and settings accordingly.
+
+These tasks are:
+<ul>
+<li>[ivy:ant:retrieve]</li>
+<li>[ivy:ant:cachefileset]</li>
+<li>[ivy:ant:cachepath]</li>
+</ul>
+
+All these tasks will trigger automatically a resolve if:
+<ul>
+<li>none has already been called in the current build with the attribute keep set to true (see below)</li>
+<li>organisation and module are not set</li>
+</ul>
+
+Since Ivy 1.4, there are two ways to run a [ivy:ant:resolve]: with an ivy file, or with the inline mode.
+When you call resolve with an ivy file, the default for it is to keep the resolved data for use by the subsequent post resolve tasks. When you run an inline resolve, the default is not to keep the data. Youo can override this behaviour by setting the keep attribute as you like.
+
+If you want to to reuse the resolved data obtained through a call to resolve in another build (i.e. not the current one), then you have to set the organisation and module attributes. This work only if the cache was not cleaned since your last resolve call. This does not work with inline calls, which must be performed in the same build.
+
+The attributes listed are then mostly used only if a resolve is triggered automatically.
+
+<h1>Attributes</h1>
+<table class="ant">
+<thead>
+    <tr><th class="ant-att">Attribute</th><th class="ant-desc">Description</th><th class="ant-req">Required</th></tr>
+</thead>
+<tbody>
+    <tr><td>conf</td><td>a comma separated list of the configurations to retrieve</td>
+        <td>No. Defaults to the configurations resolved by the last resolve call, or * if no resolve was explicitly called</td></tr>
+    <tr><td>inline</td><td>true to use inline mode, false to resolve an ivy file <span class="since">since 1.4</span></td><td>No. defaults false</td></tr>
+    <tr><td>organisation</td><td>the organisation of the module to retrieve. This usually doesn't need to be set since it defaults to the last resolved one, except for inline mode where it is required.</td><td>Yes in inline mode, otherwise no, it then defaults to last resolved module name</td></tr>
+    <tr><td>module</td><td>the name of the module to retrieve. This usually doesn't need to be set since it defaults to the last resolved one, except for inline mode where it is required.</td><td>Yes in inline mode, otherwise no, it then defaults to last resolved module name</td></tr>
+    <tr><td>revision</td><td>the revision constraint of the module to retrieve. Used only in inline mode. <span class="since">since 1.4</span></td><td>No. Defaults to latest.integration</td></tr>
+    <tr><td>transitive</td><td>true to resolve dependencies transitively, false otherwise <span class="since">since 1.4</span></td><td>No. Defaults to true</td></tr>
+    <tr><td>haltonfailure</td><td>true to halt the build on ivy failure, false to continue</td><td>No. Defaults to true</td></tr>
+    <tr><td>validate</td><td>true to force ivy files validation against ivy.xsd, false to force no validation</td><td>No. Defaults to default ivy value (as configured in configuration file)</td></tr>
+</tbody>
+</table>
+<h1>Examples</h1>
+<code type="xml">
+<ivy:cachepath organisation="emma" module="emma" revision="2.0.4217" inline="true" conf="ant" pathid="emma.classpath"/>
+<taskdef resource="emma_ant.properties" classpathref="emma.classpath" /> 
+</code>
+Resolves the emma module in version 2.0.4217, constructs an ant path with the corresponding artifacts, and then define the emma tasks using this path.
+
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/use/publish.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/use/publish.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/use/publish.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/use/publish.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">
+Publishes the current modules artifacts.
+
+This task is meant to publish the declared published artifacts of the current module to a repository.
+
+The repository is given through the name of a resolver declared in current ivy configuration. See <a href="../../doc/configuration.html">configuration</a> for details about resolver supporting artifact publishing.
+It also publishes the delivered ivy file (except if you don't want), and even deliver it if it has not been done with a previous deliver call or if forcedeliver is set to true. That's why this task takes some parameters useful only for delivery.
+
+<span class="since">since 1.4.1</span>
+The source artifact pattern can be specified either as an attribute on the task (artifactspattern) or using a list of nested artifacts element (see examples below).
+  
+<table class="ant">
+<thead>
+    <tr><th class="ant-att">Attribute</th><th class="ant-desc">Description</th><th class="ant-req">Required</th></tr>
+</thead>
+<tbody>
+    <tr><td>artifactspattern</td><td>the pattern to use to find artifacts to publish</td>
+        <td>No. Defaults to ${ivy.publish.src.artifacts.pattern}</td></tr>
+    <tr><td>resolver</td><td>the name of the resolver to use for publication</td>
+        <td>Yes</td></tr>
+    <tr><td>pubrevision</td><td>the revision to use for the publication</td>
+        <td>No. Defaults to the ${ivy.deliver.revision}</td></tr>
+    <tr><td>forcedeliver</td><td>true to force the implicit call to deliver, false to do it only if the ivy file to publish doesn't exist yet <span class="since">since 1.4</span></td>
+        <td>No. Defaults to false</td></tr>
+    <tr><td>validate</td><td>true to force ivy files validation against ivy.xsd, false to force no validation</td>
+        <td>No. Defaults to default ivy value (as configured in configuration file)</td></tr>
+    <tr><td>replacedynamicrev</td><td>true to replace dynmic revisions by static ones in the delivered file, false to avoid this replacement <span class="since">since 1.3</span></td>
+        <td>No. Defaults to true</td></tr>
+    <tr><td>publishivy</td><td>True to publish delivered ivy file, false otherwise</td>
+        <td>No. Defaults to true</td></tr>
+    <tr><td>conf</td><td>A comma separated list of configurations to publish. Note that the ivy file won't be published in this case, publishivy must be set to false. <span class="since">since 1.4.1</span></td>
+        <td>No. Defaults to all configurations published</td></tr>
+    <tr><td>overwrite</td><td>True to overwrite files in repository if the revision already exist, false to let it as is</td>
+        <td>No. Defaults to false</td></tr>
+    <tr><td>warnonmissing</td><td>True to warn when artifacts to be published are missing</td>
+        <td>No. Defaults to true</td></tr>
+    <tr><td>haltonmissing</td><td>True to halt build when artifacts to be published are missing</td>
+        <td>No. Defaults to true</td></tr>
+    <tr><td>srcivypattern</td><td>the pattern to use to find ivy file to publish, and even deliver if necessary (<span class="since">since 1.2</span>)</td>
+        <td>No. Defaults to the value of artifactspattern</td></tr>
+    <tr><td>pubdate</td><td>the publication date to use for the delivery, if necessary. This date should be either 'now', or a date given with the following pattern: yyyyMMddHHmmss</td>
+        <td>No. Defaults to 'now'</td></tr>
+    <tr><td>status</td><td>the status to use for the delivery, if necessary</td>
+        <td>No. Defaults to ${ivy.status}</td></tr>
+    <tr><td>delivertarget</td><td>the target to call for recursive delivery</td>
+        <td>No. No recursive delivery is done by default</td></tr>
+</tbody>
+</table>
+<h1>Examples</h1>
+<code type="xml">
+<ivy:publish resolver="local" pubrevision="1.0">
+   <artifacts pattern="1/[artifact].[ext]" />
+   <artifacts pattern="2/[artifact].[ext]" />
+</ivy:publish>
+</code>
+Publishes the last resolved module in the local resolver with revision 1.0, looking for artifacts in directories 1 and 2.
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/use/report.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/use/report.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/use/report.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/use/report.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,80 @@
+<!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">
+Generates reports of dependency resolving. One report per configuration is generated, but all reports generated together are hyperlinked one to each other.
+
+This task should be used only after a call to resolve, even if the call was not done during the same ant build.
+In fact, this task uses xml report generated by resolve in cache. So if you call resolve on a module for a given configuration, you can call report safely on this module and this configuration as long as you do not clean your ivy cache.
+
+If you want to have an idea of what reports look like, check this very simple <a href="./misc/ivy/samples/jayasoft-ivyrep-example-default.html">example</a>.
+
+The task also generates a graphml file which can be loaded with the free <a href="http://www.yworks.com/en/products_yed_about.htm">yEd</a> graph editor.
+Then following a few <a href="../../doc/yed.html">simple steps</a> you can obtain a graph like this <a href="./misc/ivy/samples/jayasoft-ivyrep-example-default.jpg">one</a>.
+
+<div class="since">since 1.4</div> If a custom XSL is specified, it's possible to specify additional parameters to the stylesheet.
+
+<table class="ant">
+<thead>
+    <tr><th class="ant-att">Attribute</th><th class="ant-desc">Description</th><th class="ant-req">Required</th></tr>
+</thead>
+<tbody>
+    <tr><td>todir</td><td>the directory to which reports should be generated</td>
+        <td>No, defaults to ${ivy.report.todir}, or execution directory if not defined</td></tr>
+    <tr><td>outputpattern</td><td>the generated report names pattern</td>
+        <td>No, defaults to ${ivy.report.output.pattern}, or [organisation]-[module]-[conf].[ext] if not defined</td></tr>
+    <tr><td>xsl</td><td>true to generate a report (by default html report) using xslt, false otherwise <span class="since">since 1.3</span></td>
+        <td>No, defaults to true</td></tr>
+    <tr><td>xml</td><td>true to generate a xml report, false otherwise <span class="since">since 1.3</span></td>
+        <td>No, defaults to false</td></tr>
+    <tr><td>graph</td><td>true to generate graphml files, false otherwise</td>
+        <td>No, defaults to true</td></tr>
+    <tr><td>dot</td><td>true to generate dot files, false otherwise <span class="since">since 1.4</span></td>
+        <td>No, defaults to false</td></tr>
+    <tr><td>conf</td><td>a comma separated list of the configurations for which a report should be generated</td>
+        <td>No. Defaults to the configurations resolved by the last resolve call (during same ant build), or ${ivy.resolved.configurations} if no resolve was called</td></tr>
+    <tr><td>organisation</td><td>the name of the organisation of the module for which report should be generated</td>
+        <td>No, unless no resolve was called during the build. Defaults to last resolved module organisation.</td></tr>
+    <tr><td>module</td><td>the name of the module for which report should be generated</td>
+        <td>No, unless no resolve was called during the build. Defaults to last resolved module.</td></tr>
+    <tr><td>validate</td><td>true to force ivy files validation against ivy.xsd, false to force no validation</td>
+        <td>No. Defaults to default ivy value (as configured in configuration file)</td></tr>
+    <tr><td>xslfile</td><td>indicates which xsl file should be used to generate the report</td>
+        <td>No, defaults to ivy provided xsl which generates html report</td></tr>
+</tbody>
+</table>
+
+<h1>Examples</h1>
+To generate a HTML and graphml report:
+<code type="xml">
+<report conf="compile" />
+</code>
+
+<hr/>
+To generate a HTML report only:
+<code type="xml">
+<report conf="compile" graph="false" />
+</code>
+
+<hr/>
+To generate an XML report using a custom stylesheet:
+<code type="xml">
+<report conf="compile" xslfile="my-custom-stylesheet.xsl" xslext="xml" />
+</code>
+
+To generate an XML report using a custom stylesheet which needs some parameters:
+<code type="xml">
+<report conf="compile" xslfile="my-custom-stylesheet.xsl" xslext="xml">
+    <param name="param1" expression="value1" /> 
+    <param name="param2" expression="value2" /> 
+</report>
+</code>
+
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/use/repreport.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/use/repreport.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/use/repreport.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/use/repreport.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,95 @@
+<!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">
+Generates reports about dependencies among several modules in the repository (repreport stands for repository report).<span class="since">since 1.4</span>
+
+This task is similar to the [ivy:ant:report] task, except that instead of working on a single module you just resolved, it works with a set of modules in your repository.
+
+Note that the set of modules for which you generate the report is determined by setting organisation module and revision and using a matcher, but also by the dependencies of these modules. No dependency is excluded.
+
+Usually the most useful report is a graph, you can generate either a graphml file that you can then easily <a href="../../doc/yed.html">layout using yEd</a>, or a dot file which is the format recognized by graphviz, which is a free tool which does automatic graph layout, and can thus be used to generate automatically a GIF or PNG of the dependencies between all your modules.
+
+<table class="ant">
+<thead>
+    <tr><th class="ant-att">Attribute</th><th class="ant-desc">Description</th><th class="ant-req">Required</th></tr>
+</thead>
+<tbody>
+    <tr><td>organisation</td><td>A pattern matching the organisation of the modules for which the report should be generated</td>
+        <td>No, defaults to '*'</td></tr>
+    <tr><td>module</td><td>A pattern matching the name of the modules for which the report should be generated</td>
+        <td>No, defaults to '*'</td></tr>
+    <tr><td>branch</td><td>The name of the branch of the modules for which the report should be generated</td>
+        <td>No, defaults to no branch specified</td></tr>
+    <tr><td>revision</td><td>The revision of the modules for which the report should be generated. Only one revision per module will be used, so most of the time keeping the default (latest.integration) is the best thing to do, because it's not very easy to specify only one revision for several modules.</td>
+        <td>No, defaults to 'latest.integration'</td></tr>
+    <tr><td>todir</td><td>the directory to which reports should be generated</td>
+        <td>No, defaults to execution directory</td></tr>
+    <tr><td>outputname</td><td>the name to use for the generate file (without extension)</td>
+        <td>No, defaults to ivy-repository-report</td></tr>
+    <tr><td>xml</td><td>true to generate a xml report, false otherwise</td>
+        <td>No, defaults to true</td></tr>
+    <tr><td>xsl</td><td>true to generate a report using xslt, false otherwise</td>
+        <td>No, defaults to false</td></tr>
+    <tr><td>xslfile</td><td>indicates which xsl file should be used to generate the report</td>
+        <td>Yes if you want to use xsl transformation</td></tr>
+    <tr><td>xslext</td><td>indicates the extension to use when generating report using xsl</td>
+        <td>No defaults to 'html'</td></tr>
+    <tr><td>graph</td><td>true to generate graphml file, false otherwise</td>
+        <td>No, defaults to false</td></tr>
+    <tr><td>dot</td><td>true to generate graphviz dot format file, false otherwise</td>
+        <td>No, defaults to false</td></tr>
+    <tr><td>matcher</td><td>the name of the matcher to use for matching modules names and organisations in your repository</td>
+        <td>No. Defaults to exactOrRegexp</td></tr>
+    <tr><td>validate</td><td>true to force ivy files validation against ivy.xsd, false to force no validation</td>
+        <td>No. Defaults to default ivy value (as configured in configuration file)</td></tr>
+</tbody>
+</table>
+
+<h1>Examples</h1>
+To generate a xml report for all the latest versions of all the modules in your repository:
+<code type="xml">
+<ivy:repreport />
+</code>
+
+<hr/>
+To generate a graphml report for all the latest versions of all the modules in your repository:
+<code type="xml">
+<ivy:repreport xml="false" graph="true" />
+</code>
+
+<hr/>
+To generate a xml report for all the latest versions of the modules from the organisation foo in your repository:
+<code type="xml">
+<ivy:repreport organisation="foo" />
+</code>
+
+<hr/>
+To generate a xml report for all the versions on the 1.x stream of the modules named bar* from the organisation foo in your repository:
+<code type="xml">
+<ivy:repreport organisation="foo" module="bar*" revision="1.+" matcher="glob" />
+</code>
+
+<hr/>
+To generate an XML report using a custom stylesheet:
+<code type="xml">
+<ivy:repreport xsl="true" xslfile="my-custom-stylesheet.xsl" xslext="xml" />
+</code>
+
+<hr/>
+To generate an XML report using a custom stylesheet which needs some parameters:
+<code type="xml">
+<ivy:repreport xsl="true" xslfile="my-custom-stylesheet.xsl" xslext="xml">
+    <param name="param1" expression="value1" /> 
+    <param name="param2" expression="value2" /> 
+</report>
+</code>
+
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/use/resolve.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/use/resolve.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/use/resolve.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/use/resolve.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,119 @@
+<!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">
+The resolve task actually resolve dependencies described in an <a href="../../doc/ivyfile.html">ivy file</a>, and put the resolved dependencies in the ivy cache.
+If configure has not been called before resolve is called, a default configuration will be used (equivalent to call configure with no attributes).
+
+After the call to this task, four properties are set in ant:
+<ul>
+<li>ivy.organisation</li>
+set to the organisation name found in the ivyfile which was used for resolve
+<li>ivy.module</li>
+set to the module name found in the ivyfile which was used for resolve
+<li>ivy.revision</li>
+set to the revision name found in the ivyfile which was used for resolve, or a generated revision name if no revision was specified in the file
+<li>ivy.resolved.configurations</li>
+set to the comma separated list of configurations resolved
+</ul>
+An additional property is set to true if there are changes since the last resolve, and to false otherwise: <code>ivy.deps.changed</code> (<span class="since">since 1.2</span>)
+
+When ivy has finished the resolve task, it outputs a summary of what has been resolved. This summary looks like this:
+<pre>
+---------------------------------------------------------------------
+|                  |            modules            ||   artifacts   |
+|       conf       | number| search|dwnlded|evicted|| number|dwnlded|
+---------------------------------------------------------------------
+|      default     |   4   |   0   |   0   |   0   ||   4   |   0   |
+---------------------------------------------------------------------
+</pre>
+This table gives some statistics about the dependency resolution. Each line correspond to a configuration resolved. Then the table is divided in two parts:
+<ul>
+<li>modules</li>
+<ul>
+<li>number</li>
+This is the total number of dependency modules resolved in this configuration, including transitive ones
+<li>search</li>
+This is the number of dependency modules that required a repository access. The repository access is needed if the module is not yet in cache, or if a latest version is required, or in some other cases (depending on checkModified, for instance)
+<li>downlded</li>
+This is the number of dependency ivy files downloaded from the repository. This number can be less than the total number of modules even with a clean cache, if no ivy file is provided for some dependencies.
+<li>evicted</li>
+This is the number of dependency module evicted by conflict managers.
+</ul>
+<li>artifacts</li>
+<ul>
+<li>number</li>
+This is the total number of artifacts resolved in the given configuration.
+<li>dwnlded</li>
+This is the number of artifacts actually downloaded from the repository.
+</ul>
+</ul>
+
+<span class="since">since 1.4</span> A new inline mode allow to call a resolve without an ivy file, by setting directly the module which should be resolved from the repository. It is particularly useful to install released software, like a ant task for example. When inline is set to true, the organisation module and revision attributes are used to specify which module should be resolved from the repository.
+
+<i>Note for developers:
+After the call to this task, a reference to the module descriptor resolved is put in the ant project under the id <code>"ivy.resolved.descriptor"</code>.</i>
+
+<table class="ant">
+<thead>
+    <tr><th class="ant-att">Attribute</th><th class="ant-desc">Description</th><th class="ant-req">Required</th></tr>
+</thead>
+<tbody>
+    <tr><td>file</td><td>path to the ivy file to use for resolution</td>
+        <td>No. Defaults to ${ivy.dep.file} or nothing in inline mode</td></tr>
+    <tr><td>conf</td><td>a comma separated list of the configurations to resolve</td><td>No. Defaults to ${ivy.configurations}</td></tr>
+    <tr><td>useOrigin</td><td>true to avoid the copy of local artifacts to the cache and use directly their original location, false otherwise <span class="since">since 1.4</span>. 
+To know if an artifact is local ivy asks to the resolver. Only filesystem resolver is considered local by default, but this can be disabled if you want to force the copy on one filesystem resolver and use the original location on another. Note that it is safe to use useOrigin even if you some no local resolvers, Ivy will behave as usual in this case. Note also that this only applies to artifacts, not to ivy files, which are still copied in the cache.</td><td>No. defaults to false</td></tr>
+    <tr><td>inline</td><td>true to use inline mode, false to resolve an ivy file <span class="since">since 1.4</span></td><td>No. defaults to false</td></tr>
+    <tr><td>organisation</td><td>the organisation of the module to resolve in inline mode <span class="since">since 1.4</span></td><td>Yes in inline mode, no otherwise.</td></tr>
+    <tr><td>module</td><td>the name of the module to resolve in inline mode <span class="since">since 1.4</span></td><td>Yes in inline mode, no otherwise.</td></tr>
+    <tr><td>revision</td><td>the revision constraint to apply to the module to resolve in inline mode <span class="since">since 1.4</span></td><td>No. Defaults to "latest.integration" in inline mode, nothing in standard mode.</td></tr>
+    <tr><td>type</td><td>comma separated list of accepted artifact types (<span class="since">since 1.2</span>)</td><td>No. defaults to ${ivy.resolve.default.type.filter}</td></tr>
+    <tr><td>haltonfailure</td><td>true to halt the build on ivy failure, false to continue</td><td>No. Defaults to true</td></tr>
+    <tr><td>failureproperty</td><td>the name of the property to set if the resolve failed <span class="since">since 1.4</span></td><td>No. No property is set by default.</td></tr>
+    <tr><td>transitive</td><td>true to resolve dependencies transitively, false otherwise <span class="since">since 1.4</span></td><td>No. Defaults to true</td></tr>
+    <tr><td>showprogress</td><td>true to show dots while downloading, false otherwise</td><td>No. Defaults to true</td></tr>
+    <tr><td>validate</td><td>true to force ivy files validation against ivy.xsd, false to force no validation</td><td>No. Defaults to default ivy value (as configured in configuration file)</td></tr>
+</tbody>
+</table>
+<h1>Examples</h1>
+<code type="xml">
+<ivy:resolve file="path/to/ivy.xml"/>
+</code>
+Resolve all dependencies declared in path/to/ivy.xml file.
+
+<hr/>
+
+<code type="xml">
+<ivy:resolve file="path/to/ivy.xml" transitive="false" />
+</code>
+Same as above, but with transitive dependencies disabled.
+
+<hr/>
+
+<code type="xml">
+<ivy:resolve file="path/to/ivy.xml" conf="default, test"/>
+</code>
+Resolve the dependencies declared in the configuration default and test of the path/to/ivy.xml file.
+
+<hr/>
+
+<code type="xml">
+<ivy:resolve file="path/to/ivy.xml" type="jar"/>
+</code>
+Resolve all dependencies declared in path/to/ivy.xml file, but download only jar artifacts.
+
+<hr/>
+<code type="xml">
+<ivy:resolve organisation="apache" module="commons-lang" revision="2+" inline="true" />
+</code>
+Resolve the commons-lang module revision 2+ from the repository, with its dependencies.
+
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/use/retrieve.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/use/retrieve.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/use/retrieve.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/use/retrieve.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,118 @@
+<!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">
+The retrieve task copies resolved dependencies anywhere you want in your file system.
+
+This is a <a href="../../doc/use/postresolvetask.html">post resolve task</a>, with all the behaviour and attributes common to all post resolve tasks.
+
+<span class="since">since 1.4</span> This task can even be used to synchronize the destination directory with what should actually be in according to the dependency resolution. This means that by setting sync="true", Ivy will not only copy the necessary files, but it will also remove the files which do not need to be there.
+
+The synchronisation actually consists in deleting all filles and directories in the root destination directory which are not required by the retrieve.
+
+The root destination directory is the the directory denoted by the first level up the first token in the destination pattern.
+Example:
+pattern: lib/[conf]/[artifact].[ext]
+root: lib
+
+<span class="since">since 1.4</span> The behaviour is like this when 'useOrigin=true':
+<ul>
+<li>if the artifact is not local, the location from within the cache is used</li>
+<li>if the artifact is a local artifact, it's original location is used</li>
+</ul>
+Note that if resolve has been called separately, the copy to the cache may have occur normally if useOrigin was not set when calling [ivy:ant:resolve]. If resolve has not been called, it will be called automatically with useOrigin set to the value specified on this task.
+
+<table class="ant">
+<thead>
+    <tr><th class="ant-att">Attribute</th><th class="ant-desc">Description</th><th class="ant-req">Required</th></tr>
+</thead>
+<tbody>
+    <tr><td>pattern</td><td>the pattern to use to copy the dependencies</td>
+        <td>No. Defaults to ${ivy.retrieve.pattern}</td></tr>
+    <tr><td>ivypattern</td><td>the pattern to use to copy the ivy files of dependencies <span class="since">since 1.3</span></td>
+        <td>No. Dependencies ivy files are not retrieved by default.</td></tr>
+    <tr><td>conf</td><td>a comma separated list of the configurations to retrieve</td>
+        <td>No. Defaults to the configurations resolved by the last resolve call, or * if no resolve was explicitly called</td></tr>
+    <tr><td>sync</td><td>true to synchronize the destination, false to just make a copy <span class="since">since 1.4</span></td>
+        <td>No. Defaults to false</td></tr>
+    <tr><td>type</td><td>comma separated list of accepted artifact types <span class="since">since 1.4</span></td>
+        <td>No. All artifact types are accepted by default.</td></tr>
+    <tr><td>useOrigin</td><td>true to copy artifacts from their original location for local artifacts, false to use only cache locations <span class="since">since 1.4</span></td>
+        <td>No. Defaults to false</td></tr>
+</tbody>
+</table>
+<h1>Examples</h1>
+<code type="xml">
+<ivy:retrieve />
+</code>
+Retrieves dependencies using default parameters. This usually retrieves all the dependencies of the last resolve call to a lib directory.
+
+<hr/>
+<code type="xml">
+<ivy:retrieve pattern="${lib.dir}/[conf]/[artifact].[ext]"/>
+</code>
+Retrieves all dependencies of the last resolve call to a lib directory, dependencies being separated in directories named by configuration, each conf directory containing corresponding artifacts without the revision.
+For instance, if the ivy file declares two configurations default and test, the resulting lib dir could look like this:
+<code>
+lib
+  default
+    commons-lang.jar
+    commons-logging.jar
+  test
+    junit.jar
+</code>
+Note that if a dependency is required in the two configurations, it will be copied in the two directories. The download of the dependency is however only made once at resolve time.
+
+<hr/>
+<code type="xml">
+<ivy:retrieve pattern="${lib.dir}/[conf]/[artifact].[ext]" sync="true" />
+</code>
+Same as before, but with synchronisation enabled.
+
+For instance, if the ivy file declares two configurations default and test, the resulting lib dir could look like this:
+<code>
+lib
+  default
+    commons-lang.jar
+    commons-logging.jar
+  test
+    junit.jar
+</code>
+And now suppose commons-logging is no longer part of the dependencies of the default configuration, then a new call to retrieve will result in:
+<code>
+lib
+  default
+    commons-lang.jar
+  test
+    junit.jar
+</code>
+With no synchronisation, commons-logging would not have been removed by the call.
+
+<hr/>
+<code type="xml">
+<ivy:retrieve pattern="${lib.dir}/[type]/[artifact]-[revision].[ext]" conf="runtime"/>
+</code>
+Retrieves only the dependencies of the <code>runtime</code> configuration in directories named by artifact type. The resulting lib dir could look like this:
+<code>
+lib
+  jar
+    commons-lang-1.0.jar
+    looks-1.1.jar
+  source
+    looks-1.1.zip
+</code>
+
+
+<hr/>
+<code type="xml">
+<ivy:retrieve organisation="foo" module="bar" inline="true" pattern="${my.install.dir}/[artifact].[ext]"/>
+</code>
+Resolves and retrieve the latest version of the module bar and its dependencies in the directory pointed by ${my.install.dir}.
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/use/var.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/use/var.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/use/var.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/use/var.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">
+Sets a variable (by name and value), or set of variables (from file or url) in ivy. <br/>
+Variables are case sensitive.<br/><br/>
+Contrary to ant properties, ivy variables are mutable. But a problem with this is that you do not control when 
+variables are substituted, and usually it is done as soon as possible. So changing the value of a variable will
+have no effect if it has already been substituted. Consequently, <b>using this task is NOT recommended</b>.
+See <a href="../../doc/reference.html">reference</a> page for details about ivy variables.
+<br/><br/>
+  
+<table class="ant">
+<thead>
+    <tr><th class="ant-att">Attribute</th><th class="ant-desc">Description</th><th class="ant-req">Required</th></tr>
+</thead>
+<tbody>
+    <tr><td>name</td><td>the name of the variable to set</td>
+        <td>No</td></tr>
+    <tr><td>value</td><td>the value of the variable to set</td>
+        <td>Yes when using the name attribute</td></tr>
+    <tr><td>file</td><td>the filename of the property file to load as ivy variables</td>
+        <td rowspan="2">One of these, when <b>not</b> using the name attribute</td></tr>
+    <tr><td>url</td><td>the url from which to read ivy variables</td></tr>
+    <tr><td>prefix</td><td>Prefix to apply to variables. A "." is appended to the prefix if not specified.</td>
+        <td>No</td></tr>
+</tbody>
+</table>
+
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/doc/yed.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/doc/yed.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/doc/yed.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/doc/yed.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,50 @@
+<!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">
+<a href="http://www.yworks.com/en/products_yed_about.htm">yEd</a> is a free graph editor, benefiting from
+all the automatic layouts of yFiles. Ivy is able to generate graphs which are readable by yEd.<br/><br/>
+
+The graphs generated by ivy are not layed out (in fact it's why we use yEd), so you have to follow a simple
+sequence of steps to layout the generated graphs.<br/><br/>
+
+<h2>Preparation</h2>
+First you have to generate a graphml file. Simply call the report task (see <a href="../doc/use.html">ivy use documentation</a>)
+for that.
+
+<h2>Step 1: open the graphml file</h2>
+Launch yEd editor, and open the graphml file generated by the report task. You should obtain something like this:<br/>
+<center>
+<img src="/misc/ivy/images/yed-step1.JPG"/>
+</center>
+
+<h2>Step 2: ask yEd to adjust nodes size</h2>
+<center>
+<img src="/misc/ivy/images/yed-step2.JPG"/><br/>
+<img src="/misc/ivy/images/yed-step3.JPG"/><br/>
+<img src="/misc/ivy/images/yed-step3-2.JPG"/>
+</center>
+
+<h2>Step 3: ask yEd to layout nodes</h2>
+<center>
+<img src="/misc/ivy/images/yed-step4.JPG"/><br/>
+<img src="/misc/ivy/images/yed-step5.JPG"/><br/>
+<img src="/misc/ivy/images/yed-step6.JPG"/><br/>
+<br/>
+That's all, you should have obtained something like this:<br/><br/>
+<img src="/misc/ivy/images/yed-step7.JPG"/><br/>
+<br/>
+Note that this is only one possibility, test the available layouts yourself, you could find one better in your case.
+Once you have layed out the graph, you can either save it with in the same file (but be warned that it will be overwritten at next 
+ivy report call), or another file, export it to jpg, gif, svg, etc. (see <a href="http://www.yworks.com/en/products_yed_about.htm">yEd</a> site for details).
+</center>
+
+
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/images/apache-incubator-logo.png
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/images/apache-incubator-logo.png?view=auto&rev=488342
==============================================================================
Binary file - no diff available.

Propchange: incubator/ivy/trunk/src/doc/xooki/images/apache-incubator-logo.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/ivy/trunk/src/doc/xooki/images/logo.png
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/images/logo.png?view=auto&rev=488342
==============================================================================
Binary file - no diff available.

Propchange: incubator/ivy/trunk/src/doc/xooki/images/logo.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/ivy/trunk/src/doc/xooki/ivyrep.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/ivyrep.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/ivyrep.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/ivyrep.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,16 @@
+<!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: 0};</script>	
+	<script type="text/javascript" src="xooki/xooki.js"></script>
+</head>
+<body>
+	<textarea id="xooki-source">
+IvyRep is the official  ivy repository. For the moment, it only stores ivy files, artifacts being most of the time found on ibiblio.
+
+You can find more information on ivyrep on its own home page:
+<a href="http://ivyrep.jayasoft.org/">http://ivyrep.jayasoft.org/</a>.
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/printTemplate.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/printTemplate.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/printTemplate.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/printTemplate.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+<head>
+<title>${title} | Ivy</title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+  <link rel="stylesheet" type="text/css" href="style/style.css" />
+</head>
+
+<body>
+
+<div id="body">
+
+<table id="header" summary="Navigation elements." border="0"
+	cellpadding="0" cellspacing="0" width="100%">
+	<tr>
+		<td id="home" width="30%"><a href="http://incubator.apache.org/"
+			title="Home"><img src="images/apache-incubator-logo.png" alt="Apache Incubator"
+			border="0" /></a></td>
+
+		<td class="product" width="70%" align="right" valign="middle"><img
+			src="images/logo.png" alt="ivy" border="0" /></td>
+	</tr>
+</table>
+
+		<div id="main">
+            ${body}
+ 		</div><!-- main -->
+
+<table id="footer-menu" summary="Navigation elements." border="0"
+	cellpadding="0" cellspacing="0" width="100%">
+	<tr>
+		<td align="center" valign="middle">
+		<div class="primary-links">:: 
+			<a href="index.html">Home</a> ::
+			<a href="doc.html">Documentation</a> ::
+			<a href="tutorials.html">Tutorials</a> ::
+			<a href="get-involved.html">Get Involved</a> ::
+		</div>
+		</td>
+	</tr>
+</table>
+
+</div><!-- body -->
+</body>
+</html>

Added: incubator/ivy/trunk/src/doc/xooki/style/ant.css
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/style/ant.css?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/style/ant.css (added)
+++ incubator/ivy/trunk/src/doc/xooki/style/ant.css Mon Dec 18 09:06:07 2006
@@ -0,0 +1,38 @@
+/*
+.ant thead td:first-child + td + td{
+    text-align: center;
+}
+*/
+
+table.ant  {
+	border-collapse:collapse;
+	width:90%;
+	margin:auto;
+	margin-top: 10px;
+}
+.ant thead {
+	background-color:#DEE4CD;
+	border:1px solid #7A9437;
+}
+.ant tbody {
+	background-color:#FFFFFF;
+	border:1px solid #7A9437;
+}
+
+.ant th {
+	font-family:monospace;
+	border:1px solid #7A9437;
+	padding:5px;
+}
+
+.ant td {
+	border:1px dotted #7A9437;
+	padding:5px;
+}
+
+th.ant-att {
+    width:15%;
+}
+th.ant-desc {
+    width:50%;
+}

Added: incubator/ivy/trunk/src/doc/xooki/style/color.css
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/style/color.css?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/style/color.css (added)
+++ incubator/ivy/trunk/src/doc/xooki/style/color.css Mon Dec 18 09:06:07 2006
@@ -0,0 +1,142 @@
+/*
+ ivy color theme
+*/
+body  {
+  background-color: #5a7418;
+}
+
+#body  {
+  color: #000;
+  background-color: #fff;
+}
+
+h1, h2, h3, h4, h5, h6 {
+  color: #7a9438;
+}
+h1 {
+  color: #fff;
+  background-color: #7a9438;
+}
+.title {
+  color: #7a9438;
+  background-color: #fff;
+  background: none;
+}
+a:link {
+  color: #7a9438;
+}
+a:visited {
+  color: #7a9438;
+}
+a:hover, a:active {
+  color: #7a9438;
+}
+blockquote {
+  color: #696969;
+}
+pre {
+  background-color: #eee;
+  border: 1px solid #ddd;
+}
+.form-item label {
+  color: #7a9438;
+}
+.item-list .title {
+  color: #7a9438;
+}
+
+/*
+** Page layout blocks / IDs
+*/
+#header  {
+  background-color: #ffffff;
+  /* border: 3px solid #9ebf47; */
+}
+
+#top-menu {
+  background-color:#7a9438;
+  border-top: 3px solid #9ebf47;
+  border-bottom: 3px solid #9ebf47;
+}
+
+#search .form-text, #search .form-submit {
+  border: 1px solid #7a9438;
+}
+#search .form-submit {
+  background-color: #9ebf47;
+}
+
+.block h2 {
+  color: #000;
+  background-color: #eee; 
+}
+
+.block .content {
+  background-color: #fff;
+  border: 1px solid #eee;
+}
+/*
+.block h2 {
+  color: #000;
+}
+*/
+
+#navcontainer {
+	background-color:#7a9438;
+}
+
+#nav {
+	background-color:#7a9438;
+}
+
+#nav ul {
+	background-color:#7a9438;
+	border-top: 1px solid #7a9438;
+	border-right: 1px solid #7a9438;
+	border-bottom: 1px solid #7a9438;
+	border-left: 0.75em solid #7a9438;
+}
+
+#nav li a {
+	color: #fff;
+}
+
+#nav .title {
+  color: #fff;
+  /*
+  background: #61752c;
+  */
+  background: #7a9438;
+	border-top: 0;
+	border-right: 0;
+	border-bottom: 1px solid #7a9438;
+	border-left: 0;
+}
+
+#nav li li a {
+	background: #fff;
+	color: #7a9438;
+  border-top: 0;
+	border-right: 0;
+	border-bottom: 1px solid #7a9438;
+	border-left: 0;
+}
+
+#nav a:hover,
+#nav a:active {
+	background: #9ebf47;
+}
+
+#content {
+  border-top: 3px solid #9ebf47;
+}
+
+#forum tr.dark {
+  background: #daeddc;
+}
+
+.postit {
+  background-color: #FFDBA1;
+  border: 1px solid #FFB643;
+  color: #4E3000;
+}

Added: incubator/ivy/trunk/src/doc/xooki/style/ivy-ref.css
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/style/ivy-ref.css?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/style/ivy-ref.css (added)
+++ incubator/ivy/trunk/src/doc/xooki/style/ivy-ref.css Mon Dec 18 09:06:07 2006
@@ -0,0 +1,72 @@
+/*
+.ant thead td:first-child + td + td{
+    text-align: center;
+}
+*/
+
+table.ivy-attributes  {
+	border-collapse:collapse;
+	width:90%;
+	margin:auto;
+	margin-top: 10px;
+}
+.ivy-attributes thead {
+	background-color:#DEE4CD;
+	border:1px solid #7A9437;
+}
+.ivy-attributes tbody {
+	background-color:#FFFFFF;
+	border:1px solid #7A9437;
+}
+
+.ivy-attributes th {
+	font-family:monospace;
+	border:1px solid #7A9437;
+	padding:5px;
+}
+
+.ivy-attributes td {
+	border:1px dotted #7A9437;
+	padding:5px;
+}
+
+th.ivy-att {
+    width:15%;
+}
+th.ivy-att-desc {
+    width:50%;
+}
+
+table.ivy-children  {
+/*	border:3px solid #6495ed; */
+	border-collapse:collapse;
+	width:90%;
+	margin:auto;
+	margin-top: 10px;
+}
+.ivy-children thead {
+	background-color:#DEE4CD;
+	border:1px solid #7A9437;
+}
+.ivy-children tbody {
+	background-color:#FFFFFF;
+	border:1px solid #7A9437;
+}
+
+.ivy-children th {
+	font-family:monospace;
+	border:1px solid #7A9437;
+	padding:5px;
+}
+
+.ivy-children td {
+	border:1px dotted #7A9437;
+	padding:5px;
+}
+
+th.ivy-chld {
+    width:15%;
+}
+th.ivy-chld-desc {
+    width:50%;
+}

Added: incubator/ivy/trunk/src/doc/xooki/style/nav.css
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/style/nav.css?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/style/nav.css (added)
+++ incubator/ivy/trunk/src/doc/xooki/style/nav.css Mon Dec 18 09:06:07 2006
@@ -0,0 +1,96 @@
+#navcontainer {
+	width: inherit;
+	margin: 0 0 0 50px;
+	padding-left: 0;
+	height: 1.20em;
+	z-index: 100;
+}
+
+#nav {
+	font: bold 0.75em/100% Trebuchet MS, Arial, Helvetica, sans-serif;
+	float: left;
+	width: inherit;
+	list-style: none;
+	line-height: 1;
+	padding: 0;
+	margin: 0;
+	z-index: 100;
+}
+
+#nav ul {
+	font: normal 100%/140% Trebuchet MS, Arial, Helvetica, sans-serif;
+	position: absolute;
+	left: -999em;
+	height: auto;
+	width: 11.4em;
+	w\idth: 12.0em;
+	list-style: none;
+	margin: 0;
+	padding: 0;
+	z-index: 100;
+}
+
+#nav li {
+	float: left;
+	padding: 0;
+	width: auto;
+	z-index: 100;
+}
+
+#nav ul li {
+	float: left;
+	padding: 0;
+	width: 10em;
+	z-index: 100;
+}
+
+#nav li a {
+	display: block;
+	width: auto;
+	padding: 0.25em 1.0em;
+	text-decoration: none;
+}
+
+#nav .title {
+  text-align: center;
+  font-weight: 700;
+	width: 11em;
+	w\idth: 10em;
+	margin: 0;
+	padding: 0.15em 1.0em;
+}
+
+#nav li li a {
+	width: 11em;
+	w\idth: 10em;
+	margin: 0;
+	padding: 0.25em 1.0em;
+}
+
+#nav li ul ul {
+	margin: -1.75em 0 0 11em;
+	z-index: 100;
+}
+
+#nav li:hover ul ul,
+#nav li:hover ul ul ul,
+#nav li.sfhover ul ul,
+#nav li.sfhover ul ul ul {
+	left: -999em;
+	z-index: 100;
+}
+
+#nav li:hover ul,
+#nav li li:hover ul,
+#nav li li li:hover ul,
+#nav li.sfhover ul,
+#nav li li.sfhover ul,
+#nav li li li.sfhover ul {
+	left: auto;
+	z-index: 100;
+}
+
+#nav li:hover,
+#nav li.sfhover {
+	z-index: 100;
+}

Added: incubator/ivy/trunk/src/doc/xooki/style/shell.css
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/style/shell.css?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/style/shell.css (added)
+++ incubator/ivy/trunk/src/doc/xooki/style/shell.css Mon Dec 18 09:06:07 2006
@@ -0,0 +1,3 @@
+/* the class shell is used when a copy of the content of a shell or DOS window is made */
+.shell {background-color: black; color: white; border: medium gray solid;}
+.shell pre {background-color: black; border: none; font-size: small;}

Added: incubator/ivy/trunk/src/doc/xooki/style/style.css
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/style/style.css?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/style/style.css (added)
+++ incubator/ivy/trunk/src/doc/xooki/style/style.css Mon Dec 18 09:06:07 2006
@@ -0,0 +1,249 @@
+/* $Id: style.css,v 1.8 2005/03/27 18:55:35 unconed Exp $ */
+
+@import "color.css";
+@import "nav.css";
+@import "xmlverbatim.css";
+@import "ant.css";
+@import "ivy-ref.css";
+@import "shell.css";
+
+/*
+** HTML elements
+*/
+body  {
+  margin: 0;
+  padding: 0;
+  bgcolor: #ffffff;
+}
+#body  {
+  display: table;
+  margin: 8px auto;
+  padding: 0;
+  width: 98%;
+}
+body, p, td, li, ul, ol  {
+  font-family: Verdana, Helvetica, Arial, sans-serif;
+  font-size: small;
+}
+h1, h2, h3, h4, h5, h6 {
+  font-family: "Trebuchet MS", Geneva, Arial, Helvetica, SunSans-Regular, Verdana, sans-serif;
+}
+h1 {
+/*
+  margin-left: 15px;
+  margin-right: 15px;
+  */
+  padding-left: 10px;
+  font-size: 1.6em;
+  -moz-border-radius-topleft: 5px;
+  -moz-border-radius-topright: 5px;
+  -moz-border-radius-bottomright: 5px;
+  -moz-border-radius-bottomleft: 5px;
+}
+h2 {
+  font-size: 1.4em;
+}
+h3 {
+  font-size: 1.2em;
+}
+h4 {
+  font-size: 1.1em;
+}
+tr.dark td, tr.light td {
+  padding: 0.3em;
+}
+a:link {
+  text-decoration: none;
+  font-weight: bold;
+}
+a:visited {
+  text-decoration: none;
+  font-weight: bold;
+}
+a:hover, a:active {
+  font-weight: bold;
+  text-decoration: underline;
+}
+p {
+  margin: 0 0 1.3em 0;
+  padding: 0;
+}
+blockquote {
+  padding: 0 15px 0 15px;
+  margin: 15px 50px 15px 50px;
+  text-align: left;
+  font-size: 1.2em;
+  line-height: 1.3em;
+  font-family: "Trebuchet MS", Geneva, Arial, Helvetica, SunSans-Regular, Verdana, sans-serif;
+}
+pre {
+  padding: 0.75em 1.5em;
+  font-size: 1em;
+}
+.form-item {
+  margin-top: 1em;
+}
+.item-list .title {
+  font-size: 0.85em;
+}
+.hide {
+  display: none
+}
+
+/*
+** Page layout blocks / IDs
+*/
+#body  {
+  -moz-border-radius-topleft: 5px;
+  -moz-border-radius-topright: 5px;
+  -moz-border-radius-bottomright: 5px;
+  -moz-border-radius-bottomleft: 5px;
+  padding-top: 5px;
+  padding-bottom: 5px;
+}
+#home img {
+  padding: 5px 20px 10px 10px;
+}
+.product img {
+  padding: 5px 20px 10px 10px;
+}
+
+#top-menu tr {
+  padding: 0;
+  margin: 0;
+}
+
+#top-menu td {
+  padding: 0;
+  margin: 0;
+}
+
+#search {
+  padding: 0 1em 0 1em;
+  margin: 0;
+}
+#search .form-text, #search .form-submit {
+  padding: 0;
+  margin: 0;
+  font-size: 0.85em;
+}
+#search .form-text {
+  width: 8em;
+  padding: 0;
+  margin: 0;
+}
+
+#sidebar-left, #sidebar-right {
+  width: 200px;
+  /* padding in px not ex because IE messes up 100% width tables otherwise */
+  padding: 15px 5px 75px 10px;
+  vertical-align: top;
+}
+#sidebar-left li, #sidebar-right li {
+  font-size: 1em;
+}
+.block h2 {
+  margin: 5px 0px 0px 0px;
+  padding: 1px 5px 1px 30px;
+  font-size: 1.2em;
+  font-weight: 700;
+  -moz-border-radius-topleft: 5px;
+  -moz-border-radius-topright: 5px;
+} 
+
+.block .content {
+  -moz-border-radius-bottomright: 5px;
+  -moz-border-radius-bottomleft: 5px;
+  margin-bottom: 10px;
+}
+
+#main {
+  padding-left: 10px;
+  padding-right: 10px;
+  padding-bottom: 10px;
+  background: transparent url(../images/background.png) center center no-repeat;
+}
+
+.content {
+  padding-top: 10px;
+}
+
+#forum {
+  margin: 15px 0 15px 0;
+}
+#forum table {
+  width: 100%;
+}
+#forum table tr th {
+  text-align: center;
+  font-size: 0.75em;
+}
+#forum table tr th a  {
+  text-decoration: underline;
+}
+#forum table tr th img  {
+  margin: 0;
+}
+#forum td {
+  padding: 0.5em 0.5em 0.5em 0.5em;
+}
+#forum td.container a {
+  padding: 20px 0 20px 35px;
+}
+#forum td.statistics, #forum td.settings, #forum td.pager {
+  height: 1.5em;
+}
+#forum td .links {
+  padding-top: 0.7em;
+  font-size: 0.9em;
+}
+.block-forum h3 {
+  margin-bottom: .5em;
+}
+
+#footer-menu td {
+  padding-top: 3px;
+}
+
+.comparison td, .comparison th {
+    text-align: center;
+}
+
+.comment {
+  -moz-border-radius: 5px;
+  border: 1px solid #abc;
+  padding: .5em;
+  margin-bottom: 1em;
+}
+.comment .title {
+  font-size: 1em;
+  padding: 10px 0px 12px 19px;
+  background: transparent url(icon-comment.png) left center no-repeat;
+}
+.comment .new {
+  font-weight: bold;
+  font-size: 1em;
+  margin-left: 2px;
+  color: red;
+}
+.comment .picture {
+  border: 1px solid #fff;
+  float: right;
+  margin: 10px;
+}
+.submitted {
+  color: #999;
+  font-size: 0.79em;
+}
+.since {
+  font-weight: 700;
+  font-style: italic;
+}
+
+.postit {
+  margin:10px;
+  padding:10px;
+  -moz-border-radius:10px;
+  float:right;
+  width:400px;
+}

Added: incubator/ivy/trunk/src/doc/xooki/template.html
URL: http://svn.apache.org/viewvc/incubator/ivy/trunk/src/doc/xooki/template.html?view=auto&rev=488342
==============================================================================
--- incubator/ivy/trunk/src/doc/xooki/template.html (added)
+++ incubator/ivy/trunk/src/doc/xooki/template.html Mon Dec 18 09:06:07 2006
@@ -0,0 +1,91 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+<head>
+<title>${title} | Ivy</title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+  <link rel="stylesheet" type="text/css" href="style/style.css" />
+
+  <!-- for tree, see if it would better go in xooki.js -->
+  <link rel="stylesheet" type="text/css" href="xooki/tree/simpletree.css" />
+</head>
+
+<body>
+
+<div id="body">
+<table id="header" summary="Navigation elements." border="0"
+	cellpadding="0" cellspacing="0" width="100%">
+	<tr>
+		<td id="home" width="30%"><a href="http://incubator.apache.org/"
+			title="Home"><img src="images/apache-incubator-logo.png" alt="Apache Incubator"
+			border="0" /></a></td>
+
+		<td class="product" width="70%" align="right" valign="middle"><img
+			src="images/logo.png" alt="ivy" border="0" /></td>
+	</tr>
+</table>
+
+<table id="top-menu" summary="Navigation elements." border="0"
+	cellpadding="0" cellspacing="0" width="100%">
+	<tr>
+		<td>
+
+		<div id="navcontainer">
+		<ul id="nav">
+			<li><a href="index.html">Home</a></li>
+			<li><a href="doc.html">Documentation</a></li>
+			<li><a href="tutorials.html">Tutorials</a></li>
+			<li><a href="get-involved.html">Get Involved</a></li>
+		</ul>
+		</div>
+		</td>
+	</tr>
+
+</table>
+
+<table id="content" border="0" cellpadding="0" cellspacing="0"
+	width="100%">
+	<tr>
+		<td id="sidebar-left">
+		<div class="block block-book" id="block-book-0">
+		<h2>Ivy</h2>
+
+		<div class="content">${menu}</div>
+
+		</div>
+
+		</td>
+		
+		<td valign="top">
+		<div id="main">
+
+		<h1 class="title">${title}</h1>
+            ${body}
+            <hr/>
+            <a href="${printerFriendlyLocation}">Printer Friendly</a>
+ 		</div><!-- main -->
+		</td>
+	</tr>
+</table>
+
+<table id="footer-menu" summary="Navigation elements." border="0"
+	cellpadding="0" cellspacing="0" width="100%">
+	<tr>
+		<td align="center" valign="middle">
+		<div class="primary-links">:: 
+			<a href="index.html">Home</a> ::
+			<a href="doc.html">Documentation</a> ::
+			<a href="tutorials.html">Tutorials</a> ::
+			<a href="get-involved.html">Get Involved</a> ::
+		</div>
+		</td>
+	</tr>
+</table>
+
+
+
+<div id="footer-message"></div>
+
+
+</div><!-- body -->
+</body>
+</html>