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 2007/07/04 15:41:57 UTC

svn commit: r553243 [7/8] - in /incubator/ivy/core/trunk/doc: ./ configuration/ configuration/macrodef/ configuration/namespace/ doc/ history/ ivyfile/ presentations/ resolver/ schemas/ test/ tutorial/ tutorial/build-repository/ use/

Added: incubator/ivy/core/trunk/doc/tutorial/multi-project.html
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/doc/tutorial/multi-project.html?view=auto&rev=553243
==============================================================================
--- incubator/ivy/core/trunk/doc/tutorial/multi-project.html (added)
+++ incubator/ivy/core/trunk/doc/tutorial/multi-project.html Wed Jul  4 08:41:45 2007
@@ -0,0 +1,338 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.    
+-->
+<html>
+<head>
+	<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
+	<script type="text/javascript">var xookiConfig = {level: 1};</script>	
+	<script type="text/javascript" src="../xooki/xooki.js"></script>
+</head>
+<body>
+	<textarea id="xooki-source">
+This example is an illustration of dependency between two project.
+
+The dependant project declares that it uses the standalone one. We will illustrate two things : 
+<ul>
+  <li>public libraries declared by standalone project will automatically be recovered by the dependant project</li>
+  <li>the dependant project will retrieve the "latest" version of the standalone project</li>
+</ul>
+<h1>the projects used</h1>
+<h2>the project : standalone</h2>
+The standalone project is very simple. It depends on the apache library commons-lang and contains only one class: standalone.Main which provides two services:
+<ul>
+  <li>return the version of the project</li>
+  <li>capitalize a string using org.apache.commons.lang.WordUtils.capitalizeFully</li>
+</ul>
+Here is the content of the project:
+<ul>
+  <li>build.xml : the ant build file for the project</li>
+  <li>ivy.xml : the ivy project file</li>
+  <li>src\standalone\Main.java : the only class of the project</li>
+</ul>
+Take a look at it's <b>ivy.xml</b> file:
+<code>
+<ivy-module version="1.0">
+    <info organisation="jayasoft" module="standalone" />
+    <dependencies>
+        <dependency org="apache" name="commons-lang" rev="2.0" />
+    </dependencies>
+</ivy-module>
+</code>
+
+The ivy dependency file declares only one dependency on apache commons-lang library which by default is a public dependency (see <a href="../../doc/ivyfile.html">ivy file definition</a>).
+<h2>the project : depending</h2>
+The project depending is very simple too. It declares only one dependency on the latest version of the standalone project and it contains only one class depending.Main which make 2 things:
+<ul>
+  <li>getting the version of the standalone project throw a call to standalone.Main.getVersion()</li>
+  <li>transform a string throw a call to standalone.Main.capitalizeWords(str)</li>
+</ul>
+Take a look at it's <b>ivy.xml</b> file:
+<code>
+<ivy-module version="1.0">
+    <info organisation="jayasoft" module="depending" />
+    <dependencies>
+        <dependency name="standalone" rev="latest.integration" />
+    </dependencies>
+</ivy-module>
+</code>
+
+<h2>the <b>ivy</b> settings</h2>
+The ivy settings is made in the config directory wich contains 2 files :
+<ul>
+  <li>ivysettings.properties : a property file</li>
+  <li>ivysettings.xml : the file containing the ivy settings</li>
+</ul>
+
+Let's analyse the ivysettings.xml file.
+<code>
+<ivysettings>
+        <properties file="${ivy.settings.dir}/ivysettings.properties" />
+        <settings defaultCache="${ivy.settings.dir}/ivy-cache" defaultResolver="libraries" />
+        <resolvers>
+                <filesystem name="projects">
+                        <artifact pattern="${repository.dir}/[artifact]-[revision].[ext]" />
+                        <ivy pattern="${repository.dir}/[module]-[revision].xml" />
+                </filesystem>
+                <ivyrep name="libraries" />
+        </resolvers>
+        <modules>
+                <module organisation="jayasoft" name=".*" resolver="projects" />
+        </modules>
+</ivysettings>
+</code>
+The file contains four main tags: properties, settings, resolvers and modules.
+<h2>the <b>properties</b> tag</h2>
+This tag only load some properties for the ivy process in the same manner as ant will do it.
+<h2>the <b>settings</b> tag</h2>
+This tag is in charge to initialize some parameters for ivy process. The directory that ivy will use to cache (to store) artifacts found will be in a sub directory called ivy-cache of the directory containing the ivysettings.xml file itself. 
+The second parameter, tells ivy to use a resolver called "libraries" as its default resolver. As a recall, a resolver is in charge to resolve an artifact from some information like: the organisation that provides the artifact, the name of the library and the version of the library. More information can be found in the <a href="../../doc/configuration.html">settings documentation</a>.
+<h2>the <b>resolvers</b> tag</h2>
+This tag defines the resolvers to use. Here we have two resolvers defined: "projects" and "libraries".
+The filesystem resolver called "projects" is able to resolve the internal dependencies wanted. 
+The ivyrep resolver called "libraries" is able to find dependencies on <a href="../../ivyrep.html">ivyrep</a>.
+<h2>the <b>modules</b> tag</h2>
+The modules tag allows to configure which resolver should be use for which module. Here the settings only tells to use the "projects" resolver for all modules having for organisation "jayasoft" and any module name (.* regexp matches any module name).
+For other modules (i.e. all modules not from jayasoft), since there is no special settings, the default resolver will be used: "libraries".
+<h1>walkthrough</h1>
+<div class="step">
+<h2>step 1: preparation</h2>
+Open a DOS or shell window, and go to the "dependance" directory.
+</div>
+<div class="step">
+<h2>step 2: clean directory tree</h2>
+On the prompt type : ant
+This will clean up the entire project directory tree. You can do it each time you want to clean up this example.
+</div>
+<div class="step">
+<h2>step 3: publication of standalone project</h2>
+Goto standalone directory  and publish the project
+<div class="shell"><pre>I:\standalone>ant publish
+Buildfile: build.xml
+
+configure:
+:: Ivy 1.0-rc3 - 20050421161206 :: http://ivy.jayasoft.org/ ::
+
+resolve:
+:: resolving dependencies :: jayasoft/standalone-working@xmen
+        confs: [default]
+downloading http://www.ibiblio.org/maven/commons-lang/jars/commons-lang-2.0.jar(2.0) ...
+.................................... (165kB)
+        [SUCCESSFUL ] apache/commons-lang-2.0/commons-lang.jar[jar] (6672ms)
+:: resolution report ::
+        ---------------------------------------------------------------------
+        |                  |            modules            ||   artifacts   |
+        |       conf       | number| search|dwnlded|evicted|| number|dwnlded|
+        ---------------------------------------------------------------------
+        |      default     |   1   |   1   |   0   |   0   ||   1   |   1   |
+        ---------------------------------------------------------------------
+:: retrieving :: jayasoft/standalone
+        confs: [default]
+        1 artifacts copied, 0 already retrieved
+
+compile:
+    [mkdir] Created dir: I:\standalone\build\classes
+    [javac] Compiling 1 source file to I:\standalone\build\classes
+
+jar:
+[propertyfile] Creating new property file: I:\standalone\build\classes\version.properties
+      [jar] Building jar: I:\standalone\build\standalone.jar
+
+publish:
+:: delivering :: jayasoft/standalone-working@xmen :: 1 :: release :: Wed Apr 27 08:41:47 CEST 2005
+        delivering ivy file to I:\standalone/build/ivy.xml
+:: publishing :: jayasoft/standalone-working@xmen
+        published standalone to I:\config\repository\standalone-1.jar
+        published ivy to I:\config\repository\standalone-1.xml
+     [echo] project standalone released with version 1
+
+BUILD SUCCESSFUL
+Total time: 10 seconds</pre></div>
+What we see here:
+<ul>
+  <li>the project depends on 1 library (1 artifact)</li>
+  <li>the library was not in the ivy cache and so was downloaded (1 downloaded)</li>
+  <li>the project has been released under version number 1</li>
+</ul>
+</div>
+To give more details on the publish, as you can see the call to the publish task has resulted in two main things:
+- the delivery of a resolved ivy file to build/ivy.xml. This has been done because by default the publish task not only publishes artifacts but also ivy file. So it has looked to the path where the ivy file to publish should be, using the artifactspattern: ${build.dir}/[artifact].[ext].
+For an ivy file, this resolves to build/ivy.xml. Because this file does not exist, it automatically make a call to the deliver task which delivers a resolved ivy file to this destination.
+- the publication of artifact standalone and resolved ivy file to the repository. Both are mere copy of files found in the current project, more precisely in the build dir. This is because the artifactspattern has been set to ${build.dir}/[artifact].[ext], so standalone artifact is found in build/standalone.jar and ivy file in build/ivy.xml. And because we have asked the publish task to publish them using the "projects" resolver, these files are copied to repository\standalone-1.jar and to repository\standalone-1.xml, respecting the artifact and ivy patterns of our settings (see above).
+
+<div class="step">
+<h2>step 4: running the depending project</h2>
+Goto to directory depending and run ant
+<div class="shell"><pre>I:\depending>ant
+Buildfile: build.xml
+
+clean:
+
+configure:
+:: Ivy 1.0-rc3 - 20050421161206 :: http://ivy.jayasoft.org/ ::
+
+resolve:
+:: resolving dependencies :: jayasoft/depending-working@xmen
+        confs: [default]
+        [1] jayasoft/standalone
+downloading file:/I:/config/repository/standalone-1.jar(1) ...
+. (1kB)
+        [SUCCESSFUL ] jayasoft/standalone-1/standalone.jar[jar] (15ms)
+:: resolution report ::
+        ---------------------------------------------------------------------
+        |                  |            modules            ||   artifacts   |
+        |       conf       | number| search|dwnlded|evicted|| number|dwnlded|
+        ---------------------------------------------------------------------
+        |      default     |   2   |   2   |   2   |   0   ||   2   |   1   |
+        ---------------------------------------------------------------------
+:: retrieving :: jayasoft/depending
+        confs: [default]
+        2 artifacts copied, 0 already retrieved
+
+compile:
+    [mkdir] Created dir: I:\depending\build\classes
+    [javac] Compiling 1 source file to I:\depending\build\classes
+
+run:
+     [java] you are using version 1 of class standalone.Main
+     [java] standard message : i am depending.Main and standalone.Main will do the job for me
+     [java]     [standalone.Main] capitalizing string "i am depending.Main and standalone.Main will do the job for me" 
+				     using org.apache.commons.lang.WordUtils
+     [java] capitalized message : I Am Depending.main And Standalone.main Will Do The Job For Me
+
+BUILD SUCCESSFUL
+Total time: 3 seconds</pre></div>
+What we see here :
+<ul>
+  <li>the project depends on 2 libraries (2 artifacts)</li>
+  <li>one of the libraries was in the cache because there was only 1 download (1 downloaded)</li>
+  <li>ivy retrieved the version 1 of the project standalone. The call to standalone.Main.getVersion() has returned 1. If you look in the depending/lib directory, you should see standalone-1.jar which is the artifact version 1 of the project standalone</li>
+  <li>the call to standalone.Main.capitalizeWords(str) succeed, which means that the required library were in the classpath. If you look at the lib directory, you will see that the library commons-lang-2.0.jar was retrieved. This library was declared to be used by the project "standalone", so ivy get it too for the dependant project.</li>
+</ul>
+</div>
+<div class="step">
+<h2>step 5 : new version of standalone project</h2>
+Like we did before in step 3, publish again the standalone project. This will result as a new version of the project.
+<div class="shell"><pre>I:\standalone>ant publish
+Buildfile: build.xml
+
+configure:
+:: Ivy 1.0-rc3 - 20050421161206 :: http://ivy.jayasoft.org/ ::
+
+resolve:
+:: resolving dependencies :: jayasoft/standalone-working@xmen
+        confs: [default]
+:: resolution report ::
+        ---------------------------------------------------------------------
+        |                  |            modules            ||   artifacts   |
+        |       conf       | number| search|dwnlded|evicted|| number|dwnlded|
+        ---------------------------------------------------------------------
+        |      default     |   1   |   0   |   0   |   0   ||   1   |   0   |
+        ---------------------------------------------------------------------
+:: retrieving :: jayasoft/standalone
+        confs: [default]
+        0 artifacts copied, 1 already retrieved
+
+compile:
+
+jar:
+[propertyfile] Updating property file: I:\standalone\build\classes\version.properties
+      [jar] Building jar: I:\standalone\build\standalone.jar
+
+publish:
+   [delete] Deleting: I:\standalone\build\ivy.xml
+:: delivering :: jayasoft/standalone-working@xmen :: 2 :: release :: Wed Apr 27 09:17:13 CEST 2005
+        delivering ivy file to I:\standalone/build/ivy.xml
+:: publishing :: jayasoft/standalone-working@xmen
+        published standalone to I:\config\repository\standalone-2.jar
+        published ivy to I:\config\repository\standalone-2.xml
+     [echo] project standalone released with version 2
+
+BUILD SUCCESSFUL
+Total time: 2 seconds</pre></div>
+Now if you look in your repository folder, you must find 2 version published of the standalone project.
+Let's look at it:
+<div class="shell"><pre>I:\dependence\standalone>dir ..\config\repository /w
+ Le volume dans le lecteur I s'appelle DATA
+ Le numéro de série du volume est 30E5-91BA
+
+ Répertoire de I:\dependence\config\repository
+
+[.]                [..]               standalone-1.jar   standalone-1.xml   standalone-2.jar   standalone-2.xml
+               4 fichier(s)            3 936 octets
+               2 Rép(s)   9 874 350 080 octets libres
+
+I:\dependence\standalone></pre></div>
+</div>
+Ok now our repository contains two versions of the project <b>standalone</b>, other projects can refer to both versions.
+<div class="step">
+<h2>step 6 : depending got the new version</h2>
+What do we expect about running again the depending project? Two major things are expected: 
+<ul>
+  <li>retrieve the version 2 as the latest.integration version of the standalone project</li>
+  <li>running the test must display version 2 of standalone project</li>
+</ul>
+Let's go!!!
+<div class="shell"><pre>I:\depending>ant
+Buildfile: build.xml
+
+clean:
+   [delete] Deleting 3 files from I:\depending
+   [delete] Deleted 4 directories from I:\depending
+
+configure:
+:: Ivy 1.0-rc3 - 20050421161206 :: http://ivy.jayasoft.org/ ::
+
+resolve:
+:: resolving dependencies :: jayasoft/depending-working@xmen
+        confs: [default]
+        [2] jayasoft/standalone
+downloading file:/I:/config/repository/standalone-2.jar(2) ...
+. (1kB)
+        [SUCCESSFUL ] jayasoft/standalone-2/standalone.jar[jar] (0ms)
+:: resolution report ::
+        ---------------------------------------------------------------------
+        |                  |            modules            ||   artifacts   |
+        |       conf       | number| search|dwnlded|evicted|| number|dwnlded|
+        ---------------------------------------------------------------------
+        |      default     |   2   |   2   |   2   |   0   ||   2   |   1   |
+        ---------------------------------------------------------------------
+:: retrieving :: jayasoft/depending
+        confs: [default]
+        2 artifacts copied, 0 already retrieved
+
+compile:
+    [mkdir] Created dir: I:\depending\build\classes
+    [javac] Compiling 1 source file to I:\depending\build\classes
+
+run:
+     [java] you are using version 2 of class standalone.Main
+     [java] standard message : i am depending.Main and standalone.Main will do the job for me
+     [java]     [standalone.Main] capitalizing string "i am depending.Main and standalone.Main will do the job for me" 
+			     using org.apache.commons.lang.WordUtils
+     [java] capitalized message : I Am Depending.main And Standalone.main Will Do The Job For Me
+
+BUILD SUCCESSFUL
+Total time: 3 seconds</pre></div>
+Ok we have the result expected as the run target shows that we are using the version 2 of the main class of standalone project. If we take a look at the resolve target results, we can see that one artifact has been downloaded to the ivy cache. In fact this file is the version 2 of the standalone project that was taken from the repository, you can now retrieve it in the ivy-cache directory.
+</div>
+
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Propchange: incubator/ivy/core/trunk/doc/tutorial/multi-project.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/ivy/core/trunk/doc/tutorial/multiple.html
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/doc/tutorial/multiple.html?view=auto&rev=553243
==============================================================================
--- incubator/ivy/core/trunk/doc/tutorial/multiple.html (added)
+++ incubator/ivy/core/trunk/doc/tutorial/multiple.html Wed Jul  4 08:41:45 2007
@@ -0,0 +1,134 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.    
+-->
+<html>
+<head>
+	<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
+	<script type="text/javascript">var xookiConfig = {level: 1};</script>	
+	<script type="text/javascript" src="../xooki/xooki.js"></script>
+</head>
+<body>
+	<textarea id="xooki-source">
+This example is an illustration of how artifacts can be retrieved by multiple resolvers. Using multiple resolvers is very important when using continous integration. Indeed, in such environments, you can use multiple repositories and so multiple resolvers to retrieve both released versions of projects than continous integrated versions produced for example with cruise-control. In our example, we will just show how to use two resolvers, one on a local repository and one using ibiblio repository.
+
+<h1>project description</h1>
+<h2>the project : chained-resolvers</h2>
+The project is very simple and contains only one test class : example.Hello
+It depends on two libraries apache commons-lang and a little test library (sources are included in jar file). The test library is used by the project to uppercase a string, and commons-lang is used to capitalize the same string.
+
+Here is the content of the project:
+<ul>
+  <li>build.xml : the ant build file for the project</li>
+  <li>ivy.xml : the ivy project file</li>
+  <li>src\example\Hello.java : the only class of the project</li>
+</ul>
+Take a look at it's <b>ivy.xml</b> file :
+<code>
+<ivy-module version="1.0">
+    <info organisation="jayasoft" module="chained-resolvers" />
+    <dependencies>
+        <dependency org="apache" name="commons-lang" rev="2.0" />
+        <dependency name="test" rev="1.0" />
+    </dependencies>
+</ivy-module>
+</code>
+As we expect, the ivy file declares to be dependent on the two libraries that the project use : apache commons-lang.jar and test.jar.
+
+<h2>the <b>ivy</b> settings</h2>
+The ivy settings is made in the config directory it contains only one file: ivysettings.xml.
+
+Let's analyse it.
+<code>
+<ivysettings>
+  <settings defaultResolver="chain-example" />
+  <resolvers>
+    <chain name="chain-example">
+      <filesystem name="libraries">
+        <artifact pattern="${ivy.settings.dir}/repository/[artifact]-[revision].[type]" />
+      </filesystem>
+      <ibiblio name="ibiblio" />
+    </chain>
+  </resolvers>
+</ivysettings>
+</code>
+<h2>the <b>settings</b> tag</h2>
+This tag initializes ivy with some parameters. Here only one is used, the name of the resolver to use by default.
+
+<h2>the <b>resolvers</b> tag</h2>
+Under this tag, we can find the description of the resolvers that ivy will use. In our example, we have only one resolver, called "chain-example", which is quite special as it defines a list (a chain) of resolvers.
+The resolvers put in the chain are : 
+<ul>
+  <li>libraries : it is a file resolver. This one is configured to look for artifacts in the "repository" sub directory of the directory that contains the ivysettings.xml file.</li>
+  <li>ibiblio : this resolver is a special one. It looks in the ibiblio maven repository to retrieve the libraries.</li>
+</ul>
+
+<h1>walkthrough</h1>
+<div class="step">
+<h2>step 1 : preparation</h2>
+Open a DOS or shell window, and go to the "chained-resolvers" directory.
+</div>
+<div class="step">
+<h2>step 2 : clean directory tree</h2>
+On the prompt type : ant<br>
+This will clean up the entire project directory tree and ivy cache. You can do it each time you want to clean up this example.
+</div>
+<div class="step">
+<h2>step 3 : run the project</h2>
+Goto chainedresolvers-project directory. And simply run <b>ant</b>.
+<div class="shell"><pre>I:\chained-resolvers\chainedresolvers-project>ant
+Buildfile: build.xml
+
+configure:
+:: Ivy 1.0-rc3 - 20050421161206 :: http://ivy.jayasoft.org/ ::
+
+resolve:
+:: resolving dependencies :: jayasoft/chained-resolvers-working@xmen
+        confs: [default]
+downloading http://www.ibiblio.org/maven/commons-lang/jars/commons-lang-2.0.jar(2.0) ...
+.................................... (165kB)
+        [SUCCESSFUL ] apache/commons-lang-2.0/commons-lang.jar[jar] (5390ms)
+downloading file:/I:/chained-resolvers/config/repository/test-1.0.jar(1.0) ...
+. (1kB)
+        [SUCCESSFUL ] jayasoft/test-1.0/test.jar[jar] (16ms)
+:: resolution report ::
+        ---------------------------------------------------------------------
+        |                  |            modules            ||   artifacts   |
+        |       conf       | number| search|dwnlded|evicted|| number|dwnlded|
+        ---------------------------------------------------------------------
+        |      default     |   2   |   2   |   0   |   0   ||   2   |   2   |
+        ---------------------------------------------------------------------
+:: retrieving :: jayasoft/chained-resolvers
+        confs: [default]
+        2 artifacts copied, 0 already retrieved
+
+run:
+    [mkdir] Created dir: I:\chained-resolvers\chainedresolvers-project\build
+    [javac] Compiling 1 source file to I:\chained-resolvers\chainedresolvers-project\build
+     [java] standard message :example world !
+     [java] capitalized by org.apache.commons.lang.WordUtils : Example World !
+     [java] upperCased by test.StringUtils : EXAMPLE WORLD !
+
+BUILD SUCCESSFUL
+Total time: 9 seconds</pre></div></div>
+We can see in the log of the resolve task, that the two dependencies have been retrieved (2 artifacts) and copied to the ivy cache directory (2 downloaded). The run target succeed in using both commons-lang.jar comming from ibiblio repository and test.jar coming from the local repository.
+
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Propchange: incubator/ivy/core/trunk/doc/tutorial/multiple.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/ivy/core/trunk/doc/tutorial/multiproject.html
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/doc/tutorial/multiproject.html?view=auto&rev=553243
==============================================================================
--- incubator/ivy/core/trunk/doc/tutorial/multiproject.html (added)
+++ incubator/ivy/core/trunk/doc/tutorial/multiproject.html Wed Jul  4 08:41:45 2007
@@ -0,0 +1,187 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.    
+-->
+<html>
+<head>
+	<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
+	<script type="text/javascript">var xookiConfig = {level: 1};</script>	
+	<script type="text/javascript" src="../xooki/xooki.js"></script>
+</head>
+<body>
+	<textarea id="xooki-source">
+<strong>Warning: tutorial in progress !</strong>
+
+In the previous tutorial you have seen how to deal with dependencies between two simple projects.
+
+This tutorial will guide you through the use of ivy in a more complete environment. All the sources of this tutorial are available in src/example/multi-project in ivy distribution (warning: the sources attached with ivy 1.3 contain an error in the common.xml file. Please use either latest build to find proper example sources or replace the common.xml file with <a href="../../samples/multi-project/common.xml">this one</a>).
+
+<h1>Context</h1>
+Here is a 10000ft overview of the projects involved in this tutorial:
+<ul>
+<li>version</li> helps to identify module by a version
+<li>list</li> gives a list of files in a directory (recursively)
+<li>size</li> gives the total size of all files in a directory, or of a collection of files
+<li>find</li> find files in a given dir or among a list of files which match a given name
+<li>sizewhere</li> gives the total size of files matching a name in a directory
+<li>console</li> give access to all other modules features through a simple console app
+</ul>
+For sure this is not aimed to demonstrate how to develop a complex app or give indication of advanced algorithm :-)
+
+But this gives a simple understanding of how ivy can be used to develop an application divided in multiple modules.
+
+Now, here is how these modules relate to each other:
+<a href="../../samples/projects-dependencies-graph.jpg"><img src="../../samples/projects-dependencies-graph-small.jpg" alt="dependencies graph"/><br/><center><i>click to enlarge</i></center></a>
+
+Modules in yellow are the modules described in this tutorial, and modules in blue are external dependencies (we will see how to generate this graph later in this tutorial).
+
+As you can see, we have here a pretty interesting set of modules with dependencies between each other, each depending on the latest version of the others.
+
+<h1>The example files</h1>
+The sources for this tutorial can be found in src/example/multi-project in the ivy distribution. In this directory, you will find the following files:
+<ul>
+<li><a href="./misc/ivy/samples/multi-project/build.xml">build.xml</a></li>This is a root build file which can be used to call targets on all modules, in the order of their dependencies (ensuring that a module is always built before any module depending on it, for instance)
+<li>common
+<ul>
+<li><a href="./misc/ivy/samples/multi-project/common.xml">common.xml</a></li> the common build file imported by all build.xml files for each project. This build defines the targets which can be used in all projects.
+<li>build.properties</li>some properties common to all projects
+</ul>
+</li>
+<li>projects</li>
+contains a directory per module, with for each
+<ul>
+<li>ivy.xml</li>Ivy file of the module, describing its dependencies upon other modules and / or external modules.
+Example:
+<code type="xml">
+<ivy-module version="1.0">
+    <info 
+        organisation="jayasoft"
+        module="find"
+        status="integration"/>
+    <configurations>
+      <conf name="core"/>
+      <conf name="standalone" extends="core"/>
+    </configurations>
+    <publications>
+      <artifact name="find" type="jar" conf="core" />
+    </publications>
+    <dependencies>
+      <dependency name="version" rev="latest.integration" conf="core->default" />
+      <dependency name="list" rev="latest.integration" conf="core" />
+      <dependency org="apache" name="commons-collections" rev="3.1" conf="core->default" />
+      <dependency org="apache" name="commons-cli" rev="1.0" conf="standalone->default" />
+    </dependencies>
+</ivy-module>
+</code>
+<li>build.xml</li>The build file of the project, which consists mainly in an import of the common build file and of a module specific properties file:
+<code type="xml">
+<project name="find" default="compile">
+	<property file="build.properties"/>
+	
+	<import file="${common.dir}/common.xml"/>
+</project>
+</code>
+<li>build.properties</li>Module specific properties + properties to find the common build file
+<code>
+projects.dir = ${basedir}/..
+wkspace.dir = ${projects.dir}/..
+common.dir = ${wkspace.dir}/common
+</code>
+<li>src</li> the source directory with all java sources
+</ul>
+</ul>
+
+Note that this doesn't demonstrate good practice for software development in general, in particular you won't find any unit test in this samples, even if we think unit testing is very important. But this isn't the aim of this tutorial.
+
+Now that you are a bit more familiar with the structure, let's have a look at the most important part of this example: the common build file. Indeed, as you have seen all modules build files only import the common build file, and defines their dependencies in their ivy files (with which you should begin to be familiar).
+
+So, here are some aspects of this common build file:
+<h2>ivy settings</h2>
+<code type="xml">
+
+    <!-- setup ivy default configuration with some custom info -->
+    <property name="ivy.local.default.root" value="${repository.dir}/local"/>
+    <property name="ivy.shared.default.root" value="${repository.dir}/shared"/>
+
+    <!-- here is how we would have configured ivy if we had our own ivysettings file
+       <ivy:settings file="${common.dir}/ivysettings.xml" />
+    -->
+</target>
+</code>
+
+This declaration configures ivy only by setting two properties: the location for the local repository and the location for the shared repository. It's the only settings done here, since ivy 1.3 is configured by default to work in a team environment (see <a href="../../tutorial/defaultconf.html">default settings tutorial</a> for details about this). For sure in a real environment the shared repository location would rather be in a team shared directory (or in a more complex repository, again see the default settings tutorial to see how to use something really different).
+There is only in comments how the settings would have been done if the default settings wasn't ok for our purpose.
+
+<h2>resolve dependencies</h2>
+<code type="xml">
+<target name="resolve" depends="clean-lib" description="--> retrieve dependencies with ivy">
+    <mkdir dir="${lib.dir}"/> <!-- not usually necessary, ivy creates the directory IF there are dependencies -->
+    <!-- this target is named resolve even if we do a retrieve: 
+         in fact a resolve will be called, and then the retrieve will simply copy files in the lib directory -->
+    <ivy:retrieve pattern="${lib.dir}/[artifact].[ext]" />
+</target>
+</code>
+Here we see that we only call a retrieve task, the resolve being done automatically with default parameters (which are ok in our case). So here nothing special, we simply use ivy to retrieve dependencies in the lib directory, putting artifacts without revision in their names (it's easier to use with an ide, for instance).
+
+<h2>publish</h2>
+<code type="xml">
+<target name="publish" depends="clean-build, new-version, jar" description="--> publish this project in the ivy repository">
+    <property name="revision" value="${version}"/>
+    <ivy:publish artifactspattern="${build.dir}/[artifact].[ext]" 
+        resolver="shared"
+        pubrevision="${revision}" 
+        status="release"
+    	/>
+    <echo message="project ${ant.project.name} released with version ${revision}" />
+</target>
+</code>
+This target let publish the module in the shared repository, with the revision found in the version property, which is set by other targets. It can be used when a module reaches a specific milestone, or whenever you want the teeam to benefit from a new version of the module.
+<h2>publish-local</h2>
+<code type="xml">
+<target name="publish-local" depends="local-version, jar" description="--> publish this project in the local ivy repository">
+    <delete file="${build.dir}/ivy.xml"/> <!-- delete last produced ivy file to be sure a new one will be generated -->
+    <ivy:publish artifactspattern="${build.dir}/[artifact].[ext]" 
+        resolver="local"
+        pubrevision="${revision}"
+        pubdate="${now}"
+        status="integration"
+    	/>
+    <echo message="project ${ant.project.name} published locally with version ${revision}" />
+</target>
+</code>
+This is very similar to the publish task, except that this publish the revision in the local repository, which is used only in your environment and doesn't disturb the team. When you change something in a module and want to benefit from the change in another one, you can simply call publish-local in this module, and then your next build of the other module will automatically get this local version.
+<h2>clean-local</h2>
+<code type="xml">
+<target name="clean-local" depends="configure" description="cleans the local repository for the current module">
+    <delete dir="${ivy.local.default.root}/${ant.project.name}"/>
+</target>
+</code>
+This target is used when you don't want to use your local version of a module anymore, for example when you release a new version to the whole team.
+<h2>report</h2>
+<code type="xml">
+<target name="report" depends="resolve" description="--> generates a report of dependencies">
+    <ivy:report todir="${build.dir}"/>
+</target>
+</code>
+Generates both an html report and a graphml report.
+
+For example, to generate a graph like the one shown at the beginning of this tutorial, you just have to follow the instructions given <a href="../yed.html">here</a> with the graphml file you will find in <code>projects/console/build/</code> after having called report in the console project, and that's it, you have a clear overview of all your app dependencies !
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Propchange: incubator/ivy/core/trunk/doc/tutorial/multiproject.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/ivy/core/trunk/doc/tutorial/start.html
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/doc/tutorial/start.html?view=auto&rev=553243
==============================================================================
--- incubator/ivy/core/trunk/doc/tutorial/start.html (added)
+++ incubator/ivy/core/trunk/doc/tutorial/start.html Wed Jul  4 08:41:45 2007
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.    
+-->
+<html>
+<head>
+	<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
+	<script type="text/javascript">var xookiConfig = {level: 1};</script>	
+	<script type="text/javascript" src="../xooki/xooki.js"></script>
+</head>
+<body>
+	<textarea id="xooki-source">
+In this example, we will see one of the easiest way to use ivy. No settings or other complicated files to write, only the list of libraries the project will use. 
+
+If you have already followed the go-ivy tutorial on the <a href="../../doc/tutorial.html">tutorials home page</a>, this tutorial will be already familiar. It is actually pretty much the same, except that it requires ivy to be installed in your ant lib, and the java source and the ivy dependencies are available in separate files. For the java source, it's definitely recommended to put it in a separate file. For ivy dependencies, it depends on your usage and is discussed on the <a href="../../doc/bestpractices.html">best practices page</a>. 
+
+But enough introduction material, let's go with this simple tutorial!
+
+<em>You'll find this tutorial sources in the ivy distribution in the src/example/hello-ivy directory.</em>
+
+<h1>The ivy.xml file</h1>
+This file is used to describe the dependencies of the project on other libraries.
+Here is the sample: 
+<code type="xml">
+<ivy-module version="1.0">
+    <info organisation="jayasoft" module="hello-ivy" />
+    <dependencies>
+        <dependency org="apache" name="commons-lang" rev="2.0" />
+    </dependencies>
+</ivy-module>
+</code>
+
+<h1>The build.xml file</h1>
+The build file corresponding to use it, contains only:
+<code type="xml">
+<project xmlns:ivy="antlib:fr.jayasoft.ivy.ant" name="hello-ivy" default="run">
+    
+    ...
+    
+    <!-- ================================= 
+          target: resolve              
+         ================================= -->
+    <target name="resolve" description="--> retrieve dependencies with ivy">
+        <ivy:retrieve />
+    </target>
+</project>
+</code>
+<h1>Running the project</h1>
+To run the sample, open a dos (or shell) window, and go under the hello-ivy example directory.
+Then, on the command prompt, just run ant :
+<div class="shell"><pre>
+I:\hello-ivy>ant
+Buildfile: build.xml
+
+resolve:
+:: Ivy 1.0-rc3 - 20050421161206 :: http://ivy.jayasoft.org/ ::
+no configuration file found, using default...
+:: resolving dependencies :: jayasoft/hello-ivy-working@xmen
+        confs: [default]
+downloading http://www.ibiblio.org/maven/commons-lang/jars/commons-lang-2.0.jar(2.0) ...
+..................................... (165kB)
+        [SUCCESSFUL ] apache/commons-lang-2.0/commons-lang.jar[jar] (4688ms)
+:: resolution report ::
+        ---------------------------------------------------------------------
+        |                  |            modules            ||   artifacts   |
+        |       conf       | number| search|dwnlded|evicted|| number|dwnlded|
+        ---------------------------------------------------------------------
+        |      default     |   1   |   1   |   0   |   0   ||   1   |   1   |
+        ---------------------------------------------------------------------
+:: retrieving :: jayasoft/hello-ivy
+        confs: [default]
+        1 artifacts copied, 0 already retrieved
+
+run:
+    [mkdir] Created dir: I:\hello-ivy\build
+    [javac] Compiling 1 source file to I:\hello-ivy\build
+     [java] standard message : hello ivy !
+     [java] capitalized by org.apache.commons.lang.WordUtils : Hello Ivy !
+
+BUILD SUCCESSFUL
+Total time: 8 seconds</pre></div>
+<h1>What happened ?</h1>
+Without any settings, other than it's default settings, ivy retrieve files from the maven ibiblio libraries repository. That's what happened here. 
+The resolve task has downloaded the commons-lang.jar file from ibiblio, then copied it to the ivy cache and then dispatch it in the default library directory of the project : the lib dir.
+Some will say that the task was long to achieve. Yeah, it's true it was, but it has downloaded from the web the needed file. Let's try to run it again:
+<div class="shell"><pre>I:\hello-ivy>ant
+Buildfile: build.xml
+
+resolve:
+:: resolving dependencies :: jayasoft/hello-ivy-null :: [default]
+:: resolution report ::
+        [default] jayasoft/hello-ivy-working@rahan: 1 artifacts (0 downloaded)
+:: retrieving :: jayasoft/hello-ivy :: [default]
+
+run:
+     [java] standard message : hello ivy !
+     [java] capitalized by org.apache.commons.lang.WordUtils : Hello Ivy !
+
+BUILD SUCCESSFUL
+Total time: 1 second</pre></div>
+Great ! the cache was used, no download was needed and the build was instantaneous.
+
+If you want to check the content of the cache, by default it is put in your user home in a .ivy/cache directory.
+
+And now, if you want to generate a report detailing all the dependencies of your module, you can call the report target, and check the generated file in the build directory. You should obtain something looking like <a href="./misc/ivy/samples/jayasoft-ivyrep-example-default.html">this</a>.
+
+You are now ready to go to the next tutorials to go one step beyond using ivy transitive dependencies management.
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Propchange: incubator/ivy/core/trunk/doc/tutorial/start.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/ivy/core/trunk/doc/use.html
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/doc/use.html?view=auto&rev=553243
==============================================================================
--- incubator/ivy/core/trunk/doc/use.html (added)
+++ incubator/ivy/core/trunk/doc/use.html Wed Jul  4 08:41:45 2007
@@ -0,0 +1,24 @@
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.    
+-->
+<html>
+<head>
+	<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
+	<meta http-equiv="Refresh" content="0; url=ant.html">
+</head>
+</html>

Propchange: incubator/ivy/core/trunk/doc/use.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/ivy/core/trunk/doc/use/artifactproperty.html
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/doc/use/artifactproperty.html?view=auto&rev=553243
==============================================================================
--- incubator/ivy/core/trunk/doc/use/artifactproperty.html (added)
+++ incubator/ivy/core/trunk/doc/use/artifactproperty.html Wed Jul  4 08:41:45 2007
@@ -0,0 +1,72 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.    
+-->
+<html>
+<head>
+	<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
+	<script type="text/javascript">var xookiConfig = {level: 1};</script>	
+	<script type="text/javascript" src="../xooki/xooki.js"></script>
+</head>
+<body>
+	<textarea id="xooki-source">
+<div class="since">since 1.1</div>
+Sets an ant property for each dependency artifacts previously resolved.
+
+<span class="since">since 2.0</span> This is a [[ant:postresolvetask post resolve task]], with all the behaviour and attributes common to all post resolve tasks.
+
+Please prefer the use of retrieve + standard ant path creation, which make your build more independent from ivy (once artifacts are properly retrieved, ivy is not required any more).
+
+The property name and value are generated using the classical pattern concept, all artifact tokens and ivy variables being available.
+  
+<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>a pattern used to generate the name of the properties to set</td>
+        <td>Yes</td></tr>
+    <tr><td>value</td><td>a pattern used to generate the value of the properties to set</td>
+        <td>Yes</td></tr>
+    <tr><td>conf</td><td>a comma separated list of the configurations for which properties should be set</td>
+        <td>No. Defaults to the configurations resolved by the last resolve call, or * if no resolve was explicitly called</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>
+    <tr><td>settingsRef</td><td>A reference to the ivy settings that must be used by this task <b>(since 2.0)</b></td><td>No, 'ivy.instance' is taken by default.</td></tr>
+</tbody>
+</table>
+
+<h1>Example</h1>
+Suppose we have one dependency called <i>mydep</i> in revision 1.0 publishing two artifacts: <i>foo.jar</i> and <i>bar.jar</i>.
+Then:
+<code type="xml">
+<artifactproperty conf="build" 
+       name="[module].[artifact]-[revision]" 
+       value="${cache.dir}/[module]/[artifact]-[revision].[ext]"/>
+</code>
+will set two properties:
+<code>
+mydep.foo-1.0 = my/cache/dir/mydep/foo-1.0.jar
+mydep.bar-1.0 = my/cache/dir/mydep/bar-1.0.jar
+</code>
+
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Propchange: incubator/ivy/core/trunk/doc/use/artifactproperty.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/ivy/core/trunk/doc/use/artifactreport.html
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/doc/use/artifactreport.html?view=auto&rev=553243
==============================================================================
--- incubator/ivy/core/trunk/doc/use/artifactreport.html (added)
+++ incubator/ivy/core/trunk/doc/use/artifactreport.html Wed Jul  4 08:41:45 2007
@@ -0,0 +1,99 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.    
+-->
+<html>
+<head>
+	<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
+	<script type="text/javascript">var xookiConfig = {level: 1};</script>	
+	<script type="text/javascript" src="../xooki/xooki.js"></script>
+</head>
+<body>
+	<textarea id="xooki-source">
+<span class="since">since 1.4</span>
+The artifactreport task generates an xml report of all artifacts dependencies resolved by the last <a href="../../doc/use/resolve.html">resolve</a> task call during the same build.
+
+<span class="since">since 2.0</span> This is a [[ant:postresolvetask post resolve task]], with all the behaviour and attributes common to all post resolve tasks.
+
+This report is different from the standard <a href="../../doc/use/report.html">report</a> which reports all modules and artifacts, whle this report is much simpler and focuses only on artifacts, and gives more information on artifacts, such as the original location and the retrieve location. 
+
+It is thus easy to use to generate things like a classpath file for an IDE.
+
+See this <a href="../../doc/articles/ease-multi-module.html">article by Johan Stuyts</a> (who contributed this task) to see how he uses this task.
+
+Here is an example of generate file:
+<code type="xml">
+<?xml version="1.0" encoding="UTF-8"?>
+<modules>
+  <module organisation="hippo" name="sant-classes" rev="1.01.00b04-dev" status="integration">
+    <artifact name="sant-classes-src" ext="zip" type="zip">
+      <origin-location is-local="true">
+        C:/home/jstuyts/data/ivy/local/hippo/sant-classes/1.01.00b04-dev/sant-classes-src-1.01.00b04-dev.zip</origin-location>
+      <cache-location>
+        C:/home/jstuyts/data/ivy/cache/hippo/sant-classes/zips/sant-classes-src-1.01.00b04-dev.zip</cache-location>
+      <retrieve-location>lib/test/sant-classes-src-1.01.00b04-dev.zip</retrieve-location>
+    </artifact>
+    <artifact name="sant-classes-unoptimized" ext="jar" type="jar">
+      <origin-location is-local="true">
+        C:/home/jstuyts/data/ivy/local/hippo/sant-classes/1.01.00b04-dev/sant-classes-unoptimized-1.01.00b04-dev.jar</origin-location>
+      <cache-location>
+        C:/home/jstuyts/data/ivy/cache/hippo/sant-classes/jars/sant-classes-unoptimized-1.01.00b04-dev.jar</cache-location>
+      <retrieve-location>lib/test/sant-classes-unoptimized-1.01.00b04-dev.jar</retrieve-location>
+    </artifact>
+  </module>
+  <module organisation="testng" name="testng" rev="4.6.1-jdk15" status="release">
+    <artifact name="testng" ext="jar" type="jar">
+      <origin-location is-local="false">
+        http://repository.hippocms.org/maven/testng/jars/testng-4.6.1-jdk15.jar</origin-location>
+      <cache-location>C:/home/jstuyts/data/ivy/cache/testng/testng/jars/testng-4.6.1-jdk15.jar</cache-location>
+      <retrieve-location>lib/test/testng-4.6.1-jdk15.jar</retrieve-location>
+    </artifact>
+  </module> 
+</code>
+
+<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>tofile</td><td>the file to which the report should be written</td>
+        <td>Yes</td></tr>
+    <tr><td>pattern</td><td>the retrieve pattern to use to fill the retrieve location information about the artifacts</td>
+        <td>No. Defaults to ${ivy.retrieve.pattern}.</td></tr>
+    <tr><td>conf</td><td>a comma separated list of the configurations to use to generate the report</td>
+        <td>No. Defaults to the configurations resolved by the last resolve call</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>settingsRef</td><td>A reference to the ivy settings that must be used by this task <b>(since 2.0)</b></td><td>No, 'ivy.instance' is taken by default.</td></tr>
+</tbody>
+</table>
+<h1>Examples</h1>
+<code type="xml">
+<ivy:artifactreport tofile="${basedir}/path/to/myreport.xml" />
+</code>
+Generates the artifact report for all configurations resolved during the last resolve call (in the same build).
+
+<code type="xml">
+<ivy:artifactreport tofile="${basedir}/path/to/myreport.xml" conf="default"/>
+</code>
+Generates the artifact report for only the default configuration resolved during the last resolve call.
+
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Propchange: incubator/ivy/core/trunk/doc/use/artifactreport.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/ivy/core/trunk/doc/use/buildlist.html
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/doc/use/buildlist.html?view=auto&rev=553243
==============================================================================
--- incubator/ivy/core/trunk/doc/use/buildlist.html (added)
+++ incubator/ivy/core/trunk/doc/use/buildlist.html Wed Jul  4 08:41:45 2007
@@ -0,0 +1,115 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.    
+-->
+<html>
+<head>
+	<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
+	<script type="text/javascript">var xookiConfig = {level: 1};</script>	
+	<script type="text/javascript" src="../xooki/xooki.js"></script>
+</head>
+<body>
+	<textarea id="xooki-source">
+The buildlist task enable to obtain a filelist of files (usually build.xml files) ordered according to ivy dependency information from the least dependent to the most one, or the inverse. (<span class="since">since 1.2</span>)
+
+This is particularly useful combined with subant, to build a set of interelated projects being sure that a dependency will be built before any module depending on it.
+
+When the ivy.xml of the modules that you want to order doesn't contains a <a href="../ivyfile/info.html">revision</a> numbers, the rev attributes declared in the dependency is not used.
+When the ivy.xml of the modules that you want to order contains a <a href="../ivyfile/info.html">revision</a> numbers, the revision numbers are used.    If the revision number doesn't match a dependency description a warning is logged and the modules is considered as different modules.  
+
+<span class="since">since 1.3</span> A root attribute can also be used to include, among all the modules found, only the one that are dependencies (either direct or transitive) of a root module. This can also be used with the excluderoot attribute, which when set to true will exclude the root itself from the list.
+
+<span class="since">since 1.4.1</span> A leaf attribute can also be used to include, among all the modules found, only the one that have dependencies (either direct or transitive) on a leaf module. This can also be used with the excludeleaf attribute, which when set to true will exclude the leaf itself from the list.
+
+<span class="since">since 1.4</span> The ivy.sorted.modules property is set in the ant at the end of the task with a comma separated list of ordered modules. This can be useful for debug or information purpose.
+
+<span class="since">since 2.0</span> The root and leaf attributes can be a delimited list of modules to use as roots.  These modules, and all their dependencies will be included in the build list.
+
+<span class="since">since 2.0</span> By default, all the modules included in a circular dependency are grouped together so that any dependency of any module in the loop will apear before the modules in the loop.  This garantee that if there is a depedendency path between a module A and a module B (but no dependency path from B to A), B will alway apear before A even if A is included in a loop in the provided set of modules to sort.
+Note that circular dependency can also trigger a failure depending on the value configured in the circularDependencyStrategy of your <a href="../configuration/conf.html#circularDependencyStrategy">settings</a>
+
+<span class="since">since 2.0</span> When you are specifying root or leaf modules you can limit the resulting list to only direct dependencies of the roots modules or to modules that directly depends on your leaf 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>reference</td><td>the reference of the path to set</td>
+        <td>Yes</td></tr>
+    <tr><td>ivyfilepath</td><td>the relative path from files to order to corresponding ivy files</td><td>No. Defaults to ${ivy.buildlist.ivyfilepath}</td></tr>
+    <tr><td>root</td><td><span class="since">since 2.0</span> the names of the modules which should be considered as the root of the buildlist. <br/><span class="since">since 1.3</span> Was limited to only one module name before 2.0.</td><td>No. Defaults to no root (all modules are used in the build list)</td></tr>
+    <tr><td>excluderoot</td><td><span class="since">since 1.3</span> true if the root defined should be excluded from the list</td><td>No. Defaults to false</td></tr>
+    <tr><td>leaf</td><td><span class="since">since 2.0</span> the names of the modules which should be considered as the leaf of the buildlist. <br/><span class="since">since 1.4.1</span> Was limited to only one module name before 2.0.</td><td>No. Defaults to no leaf (all modules are used in the build list)</td></tr>
+  <tr><td>onlydirectdep</td><td><span class="since">since 2.0</span> true if the
+resulting list should be restricted to direct dependencies of root modules or modules that directly depends on the leaf modules.<br/>
+This field is ignored when neither root neither leaf is filled.
+     </td><td>No. Defaults to no false</td></tr>
+    <tr><td>delimiter</td><td><span class="since">since 2.0</span> delimiter to use when specifying multiple module names in the root and leaf properties.</td><td>No. Defaults to the comma (,) character.</td></tr>
+    <tr><td>excludeleaf</td><td><span class="since">since 1.4.1</span> true if the leaf defined should be excluded from the list</td><td>No. Defaults to false</td></tr>
+    <tr><td>haltonerror</td><td>true to halt the build when an invalid ivy file is encountered, false to continue</td><td>No. Defaults to true</td></tr>
+    <tr><td>skipbuildwithoutivy</td><td>true to skip files of the fileset with no corresponding ivy file, false otherwise. If false the file with no corresponding ivy file will be considered as independent of the other and put at the beginning of the built filelist.</td><td>No. Defaults to false</td></tr>
+    <tr><td>reverse</td><td>true to obtain the list in the reverse order, i.e. from the most dependent to the least one</td><td>No. Defaults to default false</td></tr>
+    <tr><td>settingsRef</td><td><span class="since">since 2.0</span> A reference to the ivy settings that must be used by this task</td><td>No, 'ivy.instance' is taken by default.</td></tr>
+</tbody>
+</table>
+
+<h2>Parameters specified as nested elements</h2>
+<h3>fileset</h3>
+FileSets are used to select sets of files to order.
+<h1>Examples</h1>
+<code type="xml">
+    <ivy:buildlist reference="build-path">
+      <fileset dir="projects" includes="**/build.xml"/>
+    </ivy:buildlist>
+</code>
+Builds a list of build.xml files sorted according to the ivy.xml files found at the same level (the default value for ivyfilepath is ivy.xml).
+
+This list can then be used like that:
+<code type="xml">
+    <subant target="build" buildpathref="build-path" />
+</code>
+
+<hr/>
+<code type="xml">
+    <ivy:buildlist reference="build-path" ivyfilepath="ivy/ivy.xml" reverse="true">
+      <fileset dir="projects" includes="**/build.xml"/>
+    </ivy:buildlist>
+</code>
+Builds a list of build.xml files sorted according to the ivy.xml files found in an ivy directory relative to those build files. The list is sorted from the most dependent to the least one.
+<hr/>
+<code type="xml">
+    <ivy:buildlist reference="build-path" ivyfilepath="ivy/ivy.xml" root="myapp">
+      <fileset dir="projects" includes="**/build.xml"/>
+    </ivy:buildlist>
+</code>
+Builds a list of build.xml files sorted according to the ivy.xml files found in an ivy directory relative to those build files. Only build.xml files of modules which are dependencies of myapp (either direct or transitive) are put in the result list.
+<hr/>
+<code type="xml">
+    <ivy:buildlist reference="build-path" ivyfilepath="ivy/ivy.xml" leaf="mymodule">
+      <fileset dir="projects" includes="**/build.xml"/>
+    </ivy:buildlist>
+</code>
+Builds a list of build.xml files sorted according to the ivy.xml files found in an ivy directory relative to those build files. Only build.xml files of modules which have dependencies (direct or transitive) on mymodule are put in the result list.
+
+
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Propchange: incubator/ivy/core/trunk/doc/use/buildlist.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/ivy/core/trunk/doc/use/buildnumber.html
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/doc/use/buildnumber.html?view=auto&rev=553243
==============================================================================
--- incubator/ivy/core/trunk/doc/use/buildnumber.html (added)
+++ incubator/ivy/core/trunk/doc/use/buildnumber.html Wed Jul  4 08:41:45 2007
@@ -0,0 +1,124 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.    
+-->
+<html>
+<head>
+	<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
+	<script type="text/javascript">var xookiConfig = {level: 1};</script>	
+	<script type="text/javascript" src="../xooki/xooki.js"></script>
+</head>
+<body>
+	<textarea id="xooki-source">
+<span class="since">since 1.4</span>
+The buildnumber task is similar to the ant buildnumber task, except that it uses ivy repository to find what is the latest version and calculate a new one for you.
+
+When called it sets four properties according to what has been found.
+These properties are:
+<ul>
+<li>ivy.revision</li> the last revision found in the repository
+<li>ivy.new.revision</li> the new revision calculated from the last one (see below)
+<li>ivy.build.number</li> the build number found in the repository
+<li>ivy.new.build.number</li> the new build number calculated from the last one, usually with +1
+</ul>
+
+build numbers are always numbers (composed of digit characters only).
+ivy.revision can be not set if no revision was found
+ivy.build.number can be not set if no revision was found or if no number was found in it
+ivy.new.build.number can be not set if the default new revision to use when no revision is found do not contain any number
+
+The new revision is calculated using a somewhat complex to explain but very easy to use algorithm, depending on which latest version you asked.
+
+Indeed you can ask for a new revision based upon the latest found for a particular prefix (the revision asked), then the new revision will be the one immediately after with only the prefix in common. If no prefix is set the very latest version is searched.
+
+Examples (suppose the latest version of the module is 1.3.1):
+<table>
+<tr><th>revision asked</th><th>ivy.revision</th><th>ivy.new.revision</th><th>ivy.build.number</th><th>ivy.new.build.number</th></tr>
+<tr><td>1.3</td><td>1.3.1</td><td>1.3.2</td><td>1</td><td>2</td></tr>
+<tr><td>1</td><td>1.3.1</td><td>1.4</td><td>3</td><td>4</td></tr>
+<tr><td>2</td><td>not set</td><td>2.0</td><td>not set</td><td>0</td></tr>
+<tr><td></td><td>1.3.1</td><td>1.3.2</td><td>1</td><td>2</td></tr>
+</table>
+Note that when asking for revision 1, you can get a revision 10.0. To avoid that you can use 1. as revision asked, but in this case ivy won't find revision 1 if its the latest one, and it will thus give 1.0 as new revision. The solution to this problem is to use versions with always the same number of parts (for instance 1.0.0 instead of 1).
+
+<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 for which a new build number should be calculated</td>
+        <td>Yes</td></tr>
+    <tr><td>module</td><td>the name of the module for which a new build number should be calculated</td>
+        <td>Yes</td></tr>
+    <tr><td>branch</td><td>the branch of the module for which a new build number should be calculated</td>
+        <td>No, defaults to the default branch for this module</td></tr>
+    <tr><td>revision</td><td>the revision prefix for which a new build number should be calculated</td>
+        <td>No, defaults to no prefix (will find the latest version)</td></tr>
+    <tr><td>default</td><td>the default revision to assume when no revision prefix is asked and no revision is found</td>
+        <td>No, defaults to 0</td></tr>
+    <tr><td>defaultBuildNumber</td><td>the default build number to use for the first revision</td>
+        <td>No, defaults to 0</td></tr>
+    <tr><td>revSep</td><td>the revision separator to use when no matching revision is found, to separate the revision prefix from the build number</td>
+        <td>No, defaults to '.'</td></tr>
+    <tr><td>prefix</td><td>the prefix to use for the property names set (will be <i>prefix</i>.revision, <i>prefix</i>.new.revision, ...)</td>
+        <td>No, defaults to ivy</td></tr>
+    <tr><td>settingsRef</td><td><span class="since">(since 2.0)</span> A reference to the ivy settings that must be used by this task</td><td>No, 'ivy.instance' is taken by default.</td></tr>
+</tbody>
+</table>
+<h1>Examples</h1>
+Here is how it can be used (suppose 1.3.1 is the latest version of ivy in the repository):
+<code type="xml">
+<ivy:buildnumber organisation="apache" module="ivy" />
+</code>
+will set 1.3.1 as revision, 1.3.2 as new revision, 1 as build number and 2 as new build number
+
+<hr/>
+<code type="xml">
+<ivy:buildnumber organisation="apache" module="ivy" revision="1.3" />
+</code>
+will set 1.3.1 as revision, 1.3.2 as new revision, 1 as build number and 2 as new build number
+
+<hr/>
+<code type="xml">
+<ivy:buildnumber organisation="apache" module="ivy" revision="1.2" />
+</code>
+will set 1.2 as revision, 1.2.1 as new revision, no build number and 1 as new build number
+
+<hr/>
+<code type="xml">
+<ivy:buildnumber organisation="apache" module="ivy" revision="1." />
+</code>
+will set 1.3.1 as revision, 1.4 as new revision, 3 as build number and 4 as new build number
+
+<hr/>
+<code type="xml">
+<ivy:buildnumber organisation="apache" module="ivy" revision="3." />
+</code>
+will set no revision, 3.0 as new revision, no build number and 0 as new build number
+
+<hr/>
+<code type="xml">
+<ivy:buildnumber organisation="apache" module="ivy" revision="1.4-RC" defaultBuildNumber="1" revSep=""/>
+</code>
+If called while no release candidate is in the repository, will set ivy.revision to 1.4-RC1. Then it will increment each time, 1.4-RC2, 1.4-RC3, and so on.
+
+
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Propchange: incubator/ivy/core/trunk/doc/use/buildnumber.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/ivy/core/trunk/doc/use/cachefileset.html
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/doc/use/cachefileset.html?view=auto&rev=553243
==============================================================================
--- incubator/ivy/core/trunk/doc/use/cachefileset.html (added)
+++ incubator/ivy/core/trunk/doc/use/cachefileset.html Wed Jul  4 08:41:45 2007
@@ -0,0 +1,53 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.    
+-->
+<html>
+<head>
+	<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
+	<script type="text/javascript">var xookiConfig = {level: 1};</script>	
+	<script type="text/javascript" src="../xooki/xooki.js"></script>
+</head>
+<body>
+	<textarea id="xooki-source">
+Constructs an ant fileset consisting of artifacts in ivy cache for a configuration (<span class="since">since 1.2</span>).<br/><br/>
+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. Note that this task
+does not rely on retrieve, because built fileset is made of artifacts direcly in ivy cache.<br/><br/>
+Please prefer the use of retrieve + standard ant path creation, which make your build
+more independent from ivy (once artifacts are properly retrieved, ivy is not required any more).<br/><br/>
+Built fileset is registered in ant with a given id, and can thus be used like any other ant fileset using
+refid.
+  
+<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>setid</td><td>the id to reference the built fileset</td>
+        <td>Yes</td></tr>
+    <tr><td>conf</td><td>a comma separated list of the configurations to put in the created path</td>
+        <td>No. Defaults to the configurations resolved by the last resolve call, or * if no resolve was explicitly called</td></tr>
+    <tr><td>type</td><td>comma separated list of artifact types to accept in the path, * for all</td><td>No. Defaults to *</td></tr>
+    <tr><td>settingsRef</td><td><span class="since">(since 2.0)</span> A reference to the ivy settings that must be used by this task</td><td>No, 'ivy.instance' is taken by default.</td></tr>
+</tbody>
+</table>
+
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Propchange: incubator/ivy/core/trunk/doc/use/cachefileset.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/ivy/core/trunk/doc/use/cachepath.html
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/doc/use/cachepath.html?view=auto&rev=553243
==============================================================================
--- incubator/ivy/core/trunk/doc/use/cachepath.html (added)
+++ incubator/ivy/core/trunk/doc/use/cachepath.html Wed Jul  4 08:41:45 2007
@@ -0,0 +1,83 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.    
+-->
+<html>
+<head>
+	<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
+	<script type="text/javascript">var xookiConfig = {level: 1};</script>	
+	<script type="text/javascript" src="../xooki/xooki.js"></script>
+</head>
+<body>
+	<textarea id="xooki-source">
+Constructs an ant path consisting of artifacts in ivy cache (or origin location with depending on useOrigin setting) for a resolved module configuration.
+
+This is a [[ant:postresolvetask post resolve task]], with all the behaviour and attributes common to all post resolve tasks.
+
+Please prefer the use of retrieve + standard ant path creation, which make your build more independent from ivy (once artifacts are properly retrieved, ivy is not required any more).
+
+Built path is registered in ant with a given id, and can thus be used like any other ant path using refid.
+
+<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 [[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>pathid</td><td>the id to reference the built path</td>
+        <td>Yes</td></tr>
+    <tr><td>conf</td><td>a comma separated list of the configurations to put in the created path</td>
+        <td>No. Defaults to the configurations resolved by the last resolve call, or * if no resolve was explicitly called</td></tr>
+    <tr><td>type</td><td>comma separated list of artifact types to accept in the path, * for all (<span class="since">since 1.2</span>)</td><td>No. Defaults to *</td></tr>
+    <tr><td>useOrigin</td><td>true to use original location of local artifacts, false to use only cache locations <span class="since">since 1.4</span></td>
+        <td>No. Defaults false</td></tr>
+    <tr><td>settingsRef</td><td><span class="since">(since 2.0)</span> A reference to the ivy settings that must be used by this task</td><td>No, 'ivy.instance' is taken by default.</td></tr>
+</tbody>
+</table>
+
+<h1>Examples</h1>
+<code type="xml">
+<cachepath pathid="default.classpath" conf="default" />
+</code>
+Construct an ant path composed of all artifacts being part of the default configuration obtained through the last resolve call.
+
+<hr/>
+
+<code type="xml">
+<cachepath pathid="default.classpath" conf="default" useOrigin="true" />
+</code>
+Same as before but will use the original location for local artifacts, and the cache location for other artifacts.
+
+<hr/>
+
+<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>

Propchange: incubator/ivy/core/trunk/doc/use/cachepath.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/ivy/core/trunk/doc/use/configure.html
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/doc/use/configure.html?view=auto&rev=553243
==============================================================================
--- incubator/ivy/core/trunk/doc/use/configure.html (added)
+++ incubator/ivy/core/trunk/doc/use/configure.html Wed Jul  4 08:41:45 2007
@@ -0,0 +1,78 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.    
+-->
+<html>
+<head>
+	<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
+	<script type="text/javascript">var xookiConfig = {level: 1};</script>	
+	<script type="text/javascript" src="../xooki/xooki.js"></script>
+</head>
+<body>
+	<textarea id="xooki-source">
+<span class="since">(since 2.0)</span> the configure task is deprecated.  Use the <a href="settings.html">setting</a> declaration<br/>
+
+The configure task is used to configure ivy with an xml settings file.<br/><br/>
+See <a href="../../doc/configuration.html">settings</a> for details about the settings file itself.<br/><br/>
+<i>Note for developers:<br/>
+After the call to this task, a reference to the configured ivy instance used by all subsequent ant tasks is put in the ant project, under the id "ivy.instance".</i>
+
+<span class="since">since 2.0</span> The file loaded used to be called configuration file in versions prior to 2.0. The name 'settings' and the use of the ivy.settings.file is new to 2.0.
+<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 settings file to use</td>
+        <td rowspan="2">No. If a file is provided, url is ignored. If none are provided, then it attempts to find a file at ${ivy.settings.file}, and if this file does not exist, it uses a <a href="./misc/ivy/samples/ivysettings-default.xml">default settings file</a></td></tr>
+    <tr><td>url</td><td>url of the settings file to use</td></tr>
+    <tr><td>host</td><td>http authentication host</td><td rowspan="4">No, unless authentication is required</td></tr>
+    <tr><td>realm</td><td>http authentication realm</td></tr>
+    <tr><td>username</td><td>http authentication user name</td></tr>
+    <tr><td>passwd</td><td>http authentication password</td></tr>
+</tbody>
+</table>
+<h2>HTTP Authentication</h2>
+<i>Note: HTTP Authentication can be used only if <a href="http://jakarta.apache.org/commons/httpclient/">commons-httpclient.jar</a> is in your classpath</i>
+If any of the url you use in ivy (especially in dependency resolvers) need http
+authentication, then you have to provide the host, realm, username and passwd
+attributes of the configure task. These settings will then be used in any
+further call to ivy tasks.<br/><br/>
+
+<b>Since 1.4:</b>
+It's also possible to configure authentication settings for multiple urls. This can be done with the <credentials> subelements. See the examples for more details.
+
+<h2>Examples</h2>
+<h3>Simplest settings</h3>
+<code><ivy:configure /></code>
+Use either ${ivy.settings.file} if it exists, or the <a href="./misc/ivy/samples/ivysettings-default.xml">default settings file</a>
+<h3>Configure with a file</h3>
+<code><ivy:configure file="myconffile.xml" /></code>
+<h3>Configure with an url</h3>
+<code><ivy:configure url="http://mysite.com/myconffile.xml" /></code>
+<h3>Configure multiple URLs which require autentication</h3>
+<code>
+<ivy:configure file="path/to/my/ivysettings.xml">
+  <credentials host="myhost.com" realm="My Realm" username="myuser" passwd="mypasswd" />
+  <credentials host="yourhost.com" realm="Your Realm" username="myuser" passwd="myotherpasswd" />
+</ivy:configure> 
+</code>
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Propchange: incubator/ivy/core/trunk/doc/use/configure.html
------------------------------------------------------------------------------
    svn:eol-style = native