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/03/27 09:36:31 UTC

svn commit: r522842 [5/17] - in /incubator/ivy/core/trunk: ./ doc/ doc/doc/ doc/doc/configuration/ doc/doc/configuration/macrodef/ doc/doc/configuration/namespace/ doc/doc/ivyfile/ doc/doc/releasenotes/ doc/doc/resolver/ doc/doc/tutorial/ doc/doc/tutor...

Modified: incubator/ivy/core/trunk/doc/doc/tutorial/build-repository/advanced1.html
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/doc/doc/tutorial/build-repository/advanced1.html?view=diff&rev=522842&r1=522841&r2=522842
==============================================================================
--- incubator/ivy/core/trunk/doc/doc/tutorial/build-repository/advanced1.html (original)
+++ incubator/ivy/core/trunk/doc/doc/tutorial/build-repository/advanced1.html Tue Mar 27 02:36:03 2007
@@ -1,185 +1,203 @@
 <!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>
 	<script type="text/javascript">var xookiConfig = {level: 3};</script>	
 	<script type="text/javascript" src="../../../xooki/xooki.js"></script>
 </head>
 <body>
-	<textarea id="xooki-source">
-<h1>On the road to a professional repository</h1>
-We will study in this section how to build a <strong>professionnal</strong> repository. What is a <strong>professionnal</strong> repository? Our vision is to say that a good quality repository must follow clear rules about projects naming and must offer corrects, usuables, configurables and verified project descriptors. In order to achieve those goals, we think that you have to build your own repository.
-We have seen in the previous example, that we could use some public repositories to begin to build our own repository. 
-Nevertheless, the result is not at all the one that was expected. Indeed there is a problem with public repositories: their partial incompatibility.
-For example, in <a href="http://ivyrep.jayasoft.org">ivyrep</a> all commons-* projects belong to the apache organisation. In both ibiblio versions, it is not the case. The same problem could appear for other projects with other repositories, it is not the debate here.
-
-To resolve some of the incompatibilities, we will use a new feature of <a href="/ivy">ivy</a> 1.3 the <a href="/ivy">namespaces</a>.
-
-<h1>Using namespaces</h1>
-In order to use namespaces, we first need to see what's happening when none are used on repositories that do not fit our needs.
-Let's take commons-lang 1.0 from ibiblio with a maven2 pom.
-First clean your cache and repository.
-<div class="shell"><pre>Z:\ivy-repository>ant clean-cache clean-repo</pre></div>
-Then call the good ant target : ant commons-lang-1-0-ibiblio-no-namespace
-<div class="shell"><pre>Z:\ivy-repository>ant commons-lang-1-0-ibiblio-no-namespace
-Buildfile: build.xml
-
-init-advanced:
-:: Ivy 20060125070719 - 20060125070719 :: http://ivy.jayasoft.org/ ::
-:: configuring :: file = Z:\ivy-repository\ivy-conf-advanced.xml
-
-commons-lang-1-0-ibiblio-no-namespace:
-:: installing [ commons-lang | commons-lang | 1.0 ] ::
-:: resolving dependencies ::
-        found [ commons-lang | commons-lang | 1.0 ] in ibiblio-maven2-nonamespace
-        found [ junit | junit | 3.7 ] in ibiblio-maven2-nonamespace
-:: downloading artifacts to cache ::
-downloading http://www.ibiblio.org/maven2/commons-lang/commons-lang/1.0/commons-lang-1.0.jar ...
-.............. (62kB)
-        [SUCCESSFUL ] [ commons-lang | commons-lang | 1.0 ]/commons-lang.jar[jar] (1313ms)
-downloading http://www.ibiblio.org/maven2/junit/junit/3.7/junit-3.7.jar ...
-.............
-.............. (114kB)
-        [SUCCESSFUL ] [ junit | junit | 3.7 ]/junit.jar[jar] (2360ms)
-:: installing in local-repository ::
-        published commons-lang to Z:\ivy-repository/ivy-local-repository/commons-lang/commons-lang/jars/commons-lang-1.0.jar
-        published ivy to Z:\ivy-repository/ivy-local-repository/commons-lang/commons-lang/ivys/ivy-1.0.xml
-        published junit to Z:\ivy-repository/ivy-local-repository/junit/junit/jars/junit-3.7.jar
-        published ivy to Z:\ivy-repository/ivy-local-repository/junit/junit/ivys/ivy-3.7.xml
-:: install resolution report ::
-        ---------------------------------------------------------------------
-        |                  |            modules            ||   artifacts   |
-        |       conf       | number| search|dwnlded|evicted|| number|dwnlded|
-        ---------------------------------------------------------------------
-        |      default     |   2   |   2   |   2   |   0   ||   2   |   2   |
-        ---------------------------------------------------------------------
-
-BUILD SUCCESSFUL
-Total time: 6 seconds
-Z:\ivy-repository></pre></div>
-If we take a look at the repository, we can see that we respect the ibiblio maven2 architecture, the organisation apache does not appear.
-<div class="shell"><pre>Z:\ivy-repository>dir /s /B /A:-D ivy-local-repository
-Z:\ivy-repository\ivy-local-repository\commons-lang\commons-lang\ivys\ivy-1.0.xml
-Z:\ivy-repository\ivy-local-repository\commons-lang\commons-lang\jars\commons-lang-1.0.jar
-Z:\ivy-repository\ivy-local-repository\junit\junit\ivys\ivy-3.7.xml
-Z:\ivy-repository\ivy-local-repository\junit\junit\jars\junit-3.7.jar</pre></div>
-If you take a look at the ivy descriptor for commons-lang, you will see that the organisation is still commons-lang. It could not be another thing as we did not do anything for it.
-<div><code type="xml">
-<ivy-module version="1.0">
-	<info organisation="commons-lang"
-		module="commons-lang"
-		revision="1.0"
-		status="integration"
-		publication="20051124062021"
-	/>
-</code></div>
-
-<h2>Introduction to namespaces</h2>
-Let's see directly the result, we will have some explanations after.
-Clean your repo and cache, and call : ant commons-lang-1-0-ibiblio-with-namespace
-<div class="shell"><pre>Z:\ivy-repository>ant commons-lang-1-0-ibiblio-with-namespace
-Buildfile: build.xml
-
-init-advanced:
-:: Ivy non official version :: http://ivy.jayasoft.org/ ::
-:: configuring :: file = Z:\ivy-repository\ivy-conf-advanced.xml
-
-commons-lang-1-0-ibiblio-with-namespace:
-:: installing [ apache | commons-lang | 1.0 ] ::
-:: resolving dependencies ::
-        found [ apache | commons-lang | 1.0 ] in ibiblio-maven2
-        found [ junit | junit | 3.7 ] in ibiblio-maven2
-:: downloading artifacts to cache ::
-downloading http://www.ibiblio.org/maven2/commons-lang/commons-lang/1.0/commons-lang-1.0.jar ...
-............. (62kB)
-        [SUCCESSFUL ] [ apache | commons-lang | 1.0 ]/commons-lang.jar[jar] (1094ms)
-downloading http://www.ibiblio.org/maven2/junit/junit/3.7/junit-3.7.jar ...
-............................ (114kB)
-        [SUCCESSFUL ] [ junit | junit | 3.7 ]/junit.jar[jar] (1641ms)
-:: installing in local-repository ::
-        published commons-lang to Z:\ivy-repository/ivy-local-repository/apache/commons-lang/jars/commons-lang-1.0.jar
-        published ivy to Z:\ivy-repository/ivy-local-repository/apache/commons-lang/ivys/ivy-1.0.xml
-        published junit to Z:\ivy-repository/ivy-local-repository/junit/junit/jars/junit-3.7.jar
-        published ivy to Z:\ivy-repository/ivy-local-repository/junit/junit/ivys/ivy-3.7.xml
-:: install resolution report ::
-        ---------------------------------------------------------------------
-        |                  |            modules            ||   artifacts   |
-        |       conf       | number| search|dwnlded|evicted|| number|dwnlded|
-        ---------------------------------------------------------------------
-        |      default     |   2   |   2   |   2   |   0   ||   2   |   2   |
-        ---------------------------------------------------------------------
-
-BUILD SUCCESSFUL
-Total time: 5 seconds</pre></div>
-Now if we look at our repository, it seems to look fine.
-<div class="shell"><pre>Z:\ivy-repository>dir /s /B /A:-D ivy-local-repository
-Z:\ivy-repository\ivy-local-repository\apache\commons-lang\ivys\ivy-1.0.xml
-Z:\ivy-repository\ivy-local-repository\apache\commons-lang\jars\commons-lang-1.0.jar
-Z:\ivy-repository\ivy-local-repository\junit\junit\ivys\ivy-3.7.xml
-Z:\ivy-repository\ivy-local-repository\junit\junit\jars\junit-3.7.jar</pre></div>
-Have a look at the ivy file to see it it looks better than before. Ok, we have now our apache organisation.
-<div><code type="xml">
-<ivy-module version="1.0">
-	<info organisation="apache"
-		module="commons-lang"
-		revision="1.0"
-		status="integration"
-		publication="20051124062021"
-	/>
-</code></div>
-<h2>How does this work ?</h2>
-If we look at the ant target commons-lang-1-0-ibiblio-with-namespace, we can see that it uses a resolver called ibiblio-maven2. 
-Let's find it... The configuration file used for this test is ivysettings-advanced.xml. This one includes ivy-maven2-ivysettings.xml where the required resolver is defined.
-Let's see it's definition :
-<code type="xml"><ibiblio	name="ibiblio-maven2" 
-                root="${ibiblio-maven2-root}" 
-                pattern="${ibiblio-maven2-pattern}"
-                m2compatible="true"
-                namespace="ibiblio-maven2"
-/></code>Ok, i see it, it is a ibiblio resolver for which we specify the root and the pattern. The important things here are the 2 other parameters.
-<ul><li><b>m2compatible</b> is a flag telling that we allow reading POMs file and make some transformations on URLs regarding the organisation name. Indeed, maven transforms organisations like "org.apache" into "some_url/org/apache" to retrieve information on ibiblio repositories.</li>
-<li><b>namespace</b> this attribute defines a domain in which same projects (meaning organsiation, module or revision) can be named whith differents kinds.</li></ul>
-
-A namespace is defined by a set of rule, for ibiblio-maven2, we have declared some rules:
-<h3>rule handling imported apache maven1 projects</h3>
-<code type="xml"><rule>	<!-- imported apache maven1 projects -->
-	<fromsystem>
-	    <src org="apache" module=".+"/>
-	    
-	    <dest org="$m0" module="$m0"/>
-	</fromsystem>
-	<tosystem>
-	    <src org="commons-.+" module="commons-.+" />
-	    <src org="ant.*" module="ant.*" />
-	    ...
-	    <src org="xmlrpc" module="xmlrpc" />
-
-	    <dest org="apache" module="$m0"/>
-	</tosystem>
-</rule></code>
-<div class="postit"><u>Note about regular expressions usage :</u>
-In order to distinguish matching regular expressions found in organisation, module & revision the notation used prefixes the matching regular expression with the letters 'o', 'm' & 'r'.
-$o0 : the whole regular expression term in the organisation attribute
-$o1 : the first matching expression term that was marked in the organisation attribute
-...
-The same applies for modules : $m0, $m1, ...
-and for revisions : $r0, $r1, ...
-</div>
-<ul>
-<li><b>fromsystem :</b> we define here that the projects defined in the system under the organisation called "apache" are transformed into the destination namespace (whose resolver it applies) into projects whose organisation is named with the module name, we don't care here about the revision. For example, the project ['apache', 'commons-lang', '1.0'] in the namespace system will be translated into ['commons-lang', 'commons-lang', '1.0'] in the ibiblio-maven2 resolver namespace.</li>
-<li><b>tosystem :</b> we define here the reverse mapping, ie how to translate <em>apache</em> projects from ibiblio into real apache projects in the namespace system. The rule here, is telling that all projects matching commons-.+ (see it as java regular expression) for their organisation name and module name are transformed into projects whose organisation is apache with the module name as it was found. The same kind of rule is applied for others apache projects like ant, etc. For example, ['ant','ant','1.6.2'] in ibiblio-maven2 namespace will become ['apache','ant','1.6.2'] int the system namespace.</li>
-</ul>
-<h3>rule handling new apache projects</h3>
-<code type="xml"><rule> <!-- new apache projects -->
-    <fromsystem>
-        <src org="apache" />
-        <dest org="org.apache"/>
-    </fromsystem>
-    <tosystem>
-        <src org="org.apache" />
-        <dest org="apache" />
-    </tosystem>
-</rule></code>
-The mapping adds or removes the package 'org' before the organisation name to conform to maven2 choices.
+	<textarea id="xooki-source">
+<h1>On the road to a professional repository</h1>
+We will study in this section how to build a <strong>professionnal</strong> repository. What is a <strong>professionnal</strong> repository? Our vision is to say that a good quality repository must follow clear rules about projects naming and must offer corrects, usuables, configurables and verified project descriptors. In order to achieve those goals, we think that you have to build your own repository.
+We have seen in the previous example, that we could use some public repositories to begin to build our own repository. 
+Nevertheless, the result is not at all the one that was expected. Indeed there is a problem with public repositories: their partial incompatibility.
+For example, in <a href="http://ivyrep.jayasoft.org">ivyrep</a> all commons-* projects belong to the apache organisation. In both ibiblio versions, it is not the case. The same problem could appear for other projects with other repositories, it is not the debate here.
+
+To resolve some of the incompatibilities, we will use a new feature of <a href="/ivy">ivy</a> 1.3 the <a href="/ivy">namespaces</a>.
+
+<h1>Using namespaces</h1>
+In order to use namespaces, we first need to see what's happening when none are used on repositories that do not fit our needs.
+Let's take commons-lang 1.0 from ibiblio with a maven2 pom.
+First clean your cache and repository.
+<div class="shell"><pre>Z:\ivy-repository>ant clean-cache clean-repo</pre></div>
+Then call the good ant target : ant commons-lang-1-0-ibiblio-no-namespace
+<div class="shell"><pre>Z:\ivy-repository>ant commons-lang-1-0-ibiblio-no-namespace
+Buildfile: build.xml
+
+init-advanced:
+:: Ivy 20060125070719 - 20060125070719 :: http://ivy.jayasoft.org/ ::
+:: configuring :: file = Z:\ivy-repository\ivy-conf-advanced.xml
+
+commons-lang-1-0-ibiblio-no-namespace:
+:: installing [ commons-lang | commons-lang | 1.0 ] ::
+:: resolving dependencies ::
+        found [ commons-lang | commons-lang | 1.0 ] in ibiblio-maven2-nonamespace
+        found [ junit | junit | 3.7 ] in ibiblio-maven2-nonamespace
+:: downloading artifacts to cache ::
+downloading http://www.ibiblio.org/maven2/commons-lang/commons-lang/1.0/commons-lang-1.0.jar ...
+.............. (62kB)
+        [SUCCESSFUL ] [ commons-lang | commons-lang | 1.0 ]/commons-lang.jar[jar] (1313ms)
+downloading http://www.ibiblio.org/maven2/junit/junit/3.7/junit-3.7.jar ...
+.............
+.............. (114kB)
+        [SUCCESSFUL ] [ junit | junit | 3.7 ]/junit.jar[jar] (2360ms)
+:: installing in local-repository ::
+        published commons-lang to Z:\ivy-repository/ivy-local-repository/commons-lang/commons-lang/jars/commons-lang-1.0.jar
+        published ivy to Z:\ivy-repository/ivy-local-repository/commons-lang/commons-lang/ivys/ivy-1.0.xml
+        published junit to Z:\ivy-repository/ivy-local-repository/junit/junit/jars/junit-3.7.jar
+        published ivy to Z:\ivy-repository/ivy-local-repository/junit/junit/ivys/ivy-3.7.xml
+:: install resolution report ::
+        ---------------------------------------------------------------------
+        |                  |            modules            ||   artifacts   |
+        |       conf       | number| search|dwnlded|evicted|| number|dwnlded|
+        ---------------------------------------------------------------------
+        |      default     |   2   |   2   |   2   |   0   ||   2   |   2   |
+        ---------------------------------------------------------------------
+
+BUILD SUCCESSFUL
+Total time: 6 seconds
+Z:\ivy-repository></pre></div>
+If we take a look at the repository, we can see that we respect the ibiblio maven2 architecture, the organisation apache does not appear.
+<div class="shell"><pre>Z:\ivy-repository>dir /s /B /A:-D ivy-local-repository
+Z:\ivy-repository\ivy-local-repository\commons-lang\commons-lang\ivys\ivy-1.0.xml
+Z:\ivy-repository\ivy-local-repository\commons-lang\commons-lang\jars\commons-lang-1.0.jar
+Z:\ivy-repository\ivy-local-repository\junit\junit\ivys\ivy-3.7.xml
+Z:\ivy-repository\ivy-local-repository\junit\junit\jars\junit-3.7.jar</pre></div>
+If you take a look at the ivy descriptor for commons-lang, you will see that the organisation is still commons-lang. It could not be another thing as we did not do anything for it.
+<div><code type="xml">
+<ivy-module version="1.0">
+	<info organisation="commons-lang"
+		module="commons-lang"
+		revision="1.0"
+		status="integration"
+		publication="20051124062021"
+	/>
+</code></div>
+
+<h2>Introduction to namespaces</h2>
+Let's see directly the result, we will have some explanations after.
+Clean your repo and cache, and call : ant commons-lang-1-0-ibiblio-with-namespace
+<div class="shell"><pre>Z:\ivy-repository>ant commons-lang-1-0-ibiblio-with-namespace
+Buildfile: build.xml
+
+init-advanced:
+:: Ivy non official version :: http://ivy.jayasoft.org/ ::
+:: configuring :: file = Z:\ivy-repository\ivy-conf-advanced.xml
+
+commons-lang-1-0-ibiblio-with-namespace:
+:: installing [ apache | commons-lang | 1.0 ] ::
+:: resolving dependencies ::
+        found [ apache | commons-lang | 1.0 ] in ibiblio-maven2
+        found [ junit | junit | 3.7 ] in ibiblio-maven2
+:: downloading artifacts to cache ::
+downloading http://www.ibiblio.org/maven2/commons-lang/commons-lang/1.0/commons-lang-1.0.jar ...
+............. (62kB)
+        [SUCCESSFUL ] [ apache | commons-lang | 1.0 ]/commons-lang.jar[jar] (1094ms)
+downloading http://www.ibiblio.org/maven2/junit/junit/3.7/junit-3.7.jar ...
+............................ (114kB)
+        [SUCCESSFUL ] [ junit | junit | 3.7 ]/junit.jar[jar] (1641ms)
+:: installing in local-repository ::
+        published commons-lang to Z:\ivy-repository/ivy-local-repository/apache/commons-lang/jars/commons-lang-1.0.jar
+        published ivy to Z:\ivy-repository/ivy-local-repository/apache/commons-lang/ivys/ivy-1.0.xml
+        published junit to Z:\ivy-repository/ivy-local-repository/junit/junit/jars/junit-3.7.jar
+        published ivy to Z:\ivy-repository/ivy-local-repository/junit/junit/ivys/ivy-3.7.xml
+:: install resolution report ::
+        ---------------------------------------------------------------------
+        |                  |            modules            ||   artifacts   |
+        |       conf       | number| search|dwnlded|evicted|| number|dwnlded|
+        ---------------------------------------------------------------------
+        |      default     |   2   |   2   |   2   |   0   ||   2   |   2   |
+        ---------------------------------------------------------------------
+
+BUILD SUCCESSFUL
+Total time: 5 seconds</pre></div>
+Now if we look at our repository, it seems to look fine.
+<div class="shell"><pre>Z:\ivy-repository>dir /s /B /A:-D ivy-local-repository
+Z:\ivy-repository\ivy-local-repository\apache\commons-lang\ivys\ivy-1.0.xml
+Z:\ivy-repository\ivy-local-repository\apache\commons-lang\jars\commons-lang-1.0.jar
+Z:\ivy-repository\ivy-local-repository\junit\junit\ivys\ivy-3.7.xml
+Z:\ivy-repository\ivy-local-repository\junit\junit\jars\junit-3.7.jar</pre></div>
+Have a look at the ivy file to see it it looks better than before. Ok, we have now our apache organisation.
+<div><code type="xml">
+<ivy-module version="1.0">
+	<info organisation="apache"
+		module="commons-lang"
+		revision="1.0"
+		status="integration"
+		publication="20051124062021"
+	/>
+</code></div>
+<h2>How does this work ?</h2>
+If we look at the ant target commons-lang-1-0-ibiblio-with-namespace, we can see that it uses a resolver called ibiblio-maven2. 
+Let's find it... The configuration file used for this test is ivysettings-advanced.xml. This one includes ivy-maven2-ivysettings.xml where the required resolver is defined.
+Let's see it's definition :
+<code type="xml"><ibiblio	name="ibiblio-maven2" 
+                root="${ibiblio-maven2-root}" 
+                pattern="${ibiblio-maven2-pattern}"
+                m2compatible="true"
+                namespace="ibiblio-maven2"
+/></code>Ok, i see it, it is a ibiblio resolver for which we specify the root and the pattern. The important things here are the 2 other parameters.
+<ul><li><b>m2compatible</b> is a flag telling that we allow reading POMs file and make some transformations on URLs regarding the organisation name. Indeed, maven transforms organisations like "org.apache" into "some_url/org/apache" to retrieve information on ibiblio repositories.</li>
+<li><b>namespace</b> this attribute defines a domain in which same projects (meaning organsiation, module or revision) can be named whith differents kinds.</li></ul>
+
+A namespace is defined by a set of rule, for ibiblio-maven2, we have declared some rules:
+<h3>rule handling imported apache maven1 projects</h3>
+<code type="xml"><rule>	<!-- imported apache maven1 projects -->
+	<fromsystem>
+	    <src org="apache" module=".+"/>
+	    
+	    <dest org="$m0" module="$m0"/>
+	</fromsystem>
+	<tosystem>
+	    <src org="commons-.+" module="commons-.+" />
+	    <src org="ant.*" module="ant.*" />
+	    ...
+	    <src org="xmlrpc" module="xmlrpc" />
+
+	    <dest org="apache" module="$m0"/>
+	</tosystem>
+</rule></code>
+<div class="postit"><u>Note about regular expressions usage :</u>
+In order to distinguish matching regular expressions found in organisation, module & revision the notation used prefixes the matching regular expression with the letters 'o', 'm' & 'r'.
+$o0 : the whole regular expression term in the organisation attribute
+$o1 : the first matching expression term that was marked in the organisation attribute
+...
+The same applies for modules : $m0, $m1, ...
+and for revisions : $r0, $r1, ...
+</div>
+<ul>
+<li><b>fromsystem :</b> we define here that the projects defined in the system under the organisation called "apache" are transformed into the destination namespace (whose resolver it applies) into projects whose organisation is named with the module name, we don't care here about the revision. For example, the project ['apache', 'commons-lang', '1.0'] in the namespace system will be translated into ['commons-lang', 'commons-lang', '1.0'] in the ibiblio-maven2 resolver namespace.</li>
+<li><b>tosystem :</b> we define here the reverse mapping, ie how to translate <em>apache</em> projects from ibiblio into real apache projects in the namespace system. The rule here, is telling that all projects matching commons-.+ (see it as java regular expression) for their organisation name and module name are transformed into projects whose organisation is apache with the module name as it was found. The same kind of rule is applied for others apache projects like ant, etc. For example, ['ant','ant','1.6.2'] in ibiblio-maven2 namespace will become ['apache','ant','1.6.2'] int the system namespace.</li>
+</ul>
+<h3>rule handling new apache projects</h3>
+<code type="xml"><rule> <!-- new apache projects -->
+    <fromsystem>
+        <src org="apache" />
+        <dest org="org.apache"/>
+    </fromsystem>
+    <tosystem>
+        <src org="org.apache" />
+        <dest org="apache" />
+    </tosystem>
+</rule></code>
+The mapping adds or removes the package 'org' before the organisation name to conform to maven2 choices.
 	</textarea>
 <script type="text/javascript">xooki.postProcess();</script>
 </body>

Modified: incubator/ivy/core/trunk/doc/doc/tutorial/build-repository/advanced2.html
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/doc/doc/tutorial/build-repository/advanced2.html?view=diff&rev=522842&r1=522841&r2=522842
==============================================================================
--- incubator/ivy/core/trunk/doc/doc/tutorial/build-repository/advanced2.html (original)
+++ incubator/ivy/core/trunk/doc/doc/tutorial/build-repository/advanced2.html Tue Mar 27 02:36:03 2007
@@ -1,180 +1,198 @@
 <!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>
 	<script type="text/javascript">var xookiConfig = {level: 3};</script>	
 	<script type="text/javascript" src="../../../xooki/xooki.js"></script>
 </head>
 <body>
-	<textarea id="xooki-source">
-<h1>Building the professional repository</h1>
-Now that we have been well prepared, let's go to a real life example of building our repository.
-We will now focus on a bigger example that uses different public repositories to retrieve the information.
-In this tutorial we will use, in order of preference :<ul><li>our home made repository</li><li>ivyrep official</li><li>ibiblio maven2</li></ul>
-<h2>the resolvers used</h2>
-<code type="xml"><resolvers>
-    <filesystem name="local-repository">
-        <ivy pattern="${dest.repo.dir}/[organisation]/[module]/ivys/ivy-[revision].xml"/>
-        <artifact pattern="${dest.repo.dir}/[organisation]/[module]/[type]s/[artifact]-[revision].[type]"/>
-    </filesystem>
-
-    <chain name="libraries" returnFirst="false">
-        <resolver ref="local-repository" />
-        <ivyrep name="official-ivy-rep"/>
-        <resolver ref="ibiblio-maven2" />
-    </chain>
-</resolvers>
-</code>
-We start the chain with our home made repository because as we can expect, we consider this repository as good ivy file repository (that's why we create it). So all files that are in this repository are considered as valid and correct and usuable.
-The building process is then an iterative process. 
-After each import of new projects into our repository, we check and modify the generated ivy files (or you do not as you want). The generated ivy files are those that were translated from a POM or those for which an artifact has been found without a module descriptor (ivy or pom).
-
-<h2>Let's go</h2>
-What about to test our settings with a big project : hibernate 3.0
-Just run : ant advanced
-
-Here we go !!!!!!!!
-
-<div class="shell"><pre>Z:\build-a-ivy-repository>ant advanced
-Buildfile: build.xml
-
-init-advanced:
-:: Ivy non official version :: http://ivy.jayasoft.org/ ::
-:: configuring :: file = Z:\build-a-ivy-repository\config\ivy-conf-advanced.xml
-
-advanced:
-:: installing [ hibernate | hibernate | 3.0 ] ::
-:: resolving dependencies ::
-        found [ hibernate | hibernate | 3.0 ] in ibiblio-maven2
-        found [ apache | commons-logging | 1.0.4 ] in official-ivy-rep
-        found [ apache | ant | 1.6.3 ] in ibiblio-maven2
-        found [ c3p0 | c3p0 | 0.8.4.5 ] in official-ivy-rep
-        found [ proxool | proxool | 0.8.3 ] in official-ivy-rep
-        found [ ehcache | ehcache | 1.1 ] in official-ivy-rep
-        found [ apache | xerces | 2.5.0 ] in official-ivy-rep
-        found [ apache | commons-collections | 2.1.1 ] in official-ivy-rep
-        found [ opensymphony | oscache | 2.1 ] in ibiblio-maven2
-        found [ swarmcache | swarmcache | 1.0RC2 ] in official-ivy-rep
-        found [ apache | commons-collections | 2.1 ] in official-ivy-rep
-        found [ apache | commons-logging | 1.0.2 ] in official-ivy-rep
-        found [ jgroups | jgroups | 2.2 ] in official-ivy-rep
-        found [ jboss | jboss-cache | 1.2.2 ] in ibiblio-maven2
-        found [ jboss | jboss-system | 4.0.2 ] in ibiblio-maven2
-        found [ jboss | jboss-common | 4.0.2 ] in ibiblio-maven2
-        found [ jboss | jboss-minimal | 4.0.2 ] in ibiblio-maven2
-        found [ jboss | jboss-j2se | 200504122039 ] in ibiblio-maven2
-        found [ concurrent | concurrent | 1.3.4 ] in ibiblio-maven2
-        found [ jgroups | jgroups-all | 2.2.7 ] in ibiblio-maven2
-        found [ cglib | cglib | 2.0.2 ] in official-ivy-rep
-        found [ objectweb | asm | 1.3.4 ] in official-ivy-rep
-        found [ asm | asm | 1.4.3 ] in ibiblio-maven2
-        found [ javax.security | jacc | 1.0 ] in ibiblio-maven2
-        found [ dom4j | dom4j | 1.6 ] in ibiblio-maven2
-        found [ javax.transaction | jta | 1.0.1B ] in ibiblio-maven2
-        found [ hibernate | antlr | 2.7.5H3 ] in ibiblio-maven2
-        found [ odmg | odmg | 3.0 ] in official-ivy-rep
-:: downloading artifacts to cache ::
-downloading http://www.ibiblio.org/maven2/hibernate/hibernate/3.0/hibernate-3.0.jar ...
-..................................................
-.. (1565kB)
-        [SUCCESSFUL ] [ hibernate | hibernate | 3.0 ]/hibernate.jar[jar] (8500ms)
-downloading http://www.ibiblio.org/maven2/hibernate/antlr/2.7.5H3/antlr-2.7.5H3.jar ...
-
-           SOME MINUTES LATER !!!!!!!!!!
-
-downloading http://www.ibiblio.org/maven/commons-logging/jars/commons-logging-1.0.4.jar ...
-........ (37kB)
-        [SUCCESSFUL ] [ apache | commons-logging | 1.0.4 ]/commons-logging.jar[jar] (1110ms)
-:: installing in local-repository ::
-        published hibernate to Z:\build-a-ivy-repository/ivy-local-repository/hibernate/hibernate/jars/hibernate-3.0.jar
-        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/hibernate/hibernate/ivys/ivy-3.0.xml
-        published antlr to Z:\build-a-ivy-repository/ivy-local-repository/hibernate/antlr/jars/antlr-2.7.5H3.jar
-        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/hibernate/antlr/ivys/ivy-2.7.5H3.xml
-        published dom4j to Z:\build-a-ivy-repository/ivy-local-repository/dom4j/dom4j/jars/dom4j-1.6.jar
-        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/dom4j/dom4j/ivys/ivy-1.6.xml
-missing artifact [ javax.security | jacc | 1.0 ]/jacc.jar[jar]: Z:\build-a-ivy-repository\cache\javax.security\jacc\jars\jacc-1.0.jar file does not exist
-        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/javax.security/jacc/ivys/ivy-1.0.xml
-        published asm to Z:\build-a-ivy-repository/ivy-local-repository/asm/asm/jars/asm-1.4.3.jar
-        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/asm/asm/ivys/ivy-1.4.3.xml
-        published cglib-full to Z:\build-a-ivy-repository/ivy-local-repository/cglib/cglib/jars/cglib-full-2.0.2.jar
-        published cglib to Z:\build-a-ivy-repository/ivy-local-repository/cglib/cglib/jars/cglib-2.0.2.jar
-        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/cglib/cglib/ivys/ivy-2.0.2.xml
-        published asm to Z:\build-a-ivy-repository/ivy-local-repository/objectweb/asm/jars/asm-1.3.4.jar
-        published asm-util to Z:\build-a-ivy-repository/ivy-local-repository/objectweb/asm/jars/asm-util-1.3.4.jar
-        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/objectweb/asm/ivys/ivy-1.3.4.xml
-        published jboss-cache to Z:\build-a-ivy-repository/ivy-local-repository/jboss/jboss-cache/jars/jboss-cache-1.2.2.jar
-        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/jboss/jboss-cache/ivys/ivy-1.2.2.xml
-        published jgroups-all to Z:\build-a-ivy-repository/ivy-local-repository/jgroups/jgroups-all/jars/jgroups-all-2.2.7.jar
-        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/jgroups/jgroups-all/ivys/ivy-2.2.7.xml
-        published concurrent to Z:\build-a-ivy-repository/ivy-local-repository/concurrent/concurrent/jars/concurrent-1.3.4.jar
-        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/concurrent/concurrent/ivys/ivy-1.3.4.xml
-        published jboss-j2se to Z:\build-a-ivy-repository/ivy-local-repository/jboss/jboss-j2se/jars/jboss-j2se-200504122039.jar
-        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/jboss/jboss-j2se/ivys/ivy-200504122039.xml
-        published jboss-minimal to Z:\build-a-ivy-repository/ivy-local-repository/jboss/jboss-minimal/jars/jboss-minimal-4.0.2.jar
-        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/jboss/jboss-minimal/ivys/ivy-4.0.2.xml
-        published jboss-system to Z:\build-a-ivy-repository/ivy-local-repository/jboss/jboss-system/jars/jboss-system-4.0.2.jar
-        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/jboss/jboss-system/ivys/ivy-4.0.2.xml
-        published swarmcache to Z:\build-a-ivy-repository/ivy-local-repository/swarmcache/swarmcache/jars/swarmcache-1.0RC2.jar
-        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/swarmcache/swarmcache/ivys/ivy-1.0RC2.xml
-missing artifact [ jgroups | jgroups | 2.2 ]/jgroups.jar[jar]: Z:\build-a-ivy-repository\cache\jgroups\jgroups\jars\jgroups-2.2.jar file does not exist
-        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/jgroups/jgroups/ivys/ivy-2.2.xml
-        published commons-logging to Z:\build-a-ivy-repository/ivy-local-repository/apache/commons-logging/jars/commons-logging-1.0.2.jar
-        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/apache/commons-logging/ivys/ivy-1.0.2.xml
-        published oscache to Z:\build-a-ivy-repository/ivy-local-repository/opensymphony/oscache/jars/oscache-2.1.jar
-        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/opensymphony/oscache/ivys/ivy-2.1.xml
-        published c3p0 to Z:\build-a-ivy-repository/ivy-local-repository/c3p0/c3p0/jars/c3p0-0.8.4.5.jar
-        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/c3p0/c3p0/ivys/ivy-0.8.4.5.xml
-        published odmg to Z:\build-a-ivy-repository/ivy-local-repository/odmg/odmg/jars/odmg-3.0.jar
-        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/odmg/odmg/ivys/ivy-3.0.xml
-        published proxool to Z:\build-a-ivy-repository/ivy-local-repository/proxool/proxool/jars/proxool-0.8.3.jar
-        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/proxool/proxool/ivys/ivy-0.8.3.xml
-missing artifact [ javax.transaction | jta | 1.0.1B ]/jta.jar[jar]: Z:\build-a-ivy-repository\cache\javax.transaction\jta\jars\jta-1.0.1B.jar file does not exist
-        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/javax.transaction/jta/ivys/ivy-1.0.1B.xml
-        published jboss-common to Z:\build-a-ivy-repository/ivy-local-repository/jboss/jboss-common/jars/jboss-common-4.0.2.jar
-        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/jboss/jboss-common/ivys/ivy-4.0.2.xml
-        published ant to Z:\build-a-ivy-repository/ivy-local-repository/apache/ant/jars/ant-1.6.3.jar
-        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/apache/ant/ivys/ivy-1.6.3.xml
-        published commons-collections to Z:\build-a-ivy-repository/ivy-local-repository/apache/commons-collections/jars/commons-collections-2.1.jar
-        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/apache/commons-collections/ivys/ivy-2.1.xml
-        published ehcache to Z:\build-a-ivy-repository/ivy-local-repository/ehcache/ehcache/jars/ehcache-1.1.jar
-        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/ehcache/ehcache/ivys/ivy-1.1.xml
-        published commons-collections to Z:\build-a-ivy-repository/ivy-local-repository/apache/commons-collections/jars/commons-collections-2.1.1.jar
-        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/apache/commons-collections/ivys/ivy-2.1.1.xml
-        published xercesImpl to Z:\build-a-ivy-repository/ivy-local-repository/apache/xerces/jars/xercesImpl-2.5.0.jar
-        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/apache/xerces/ivys/ivy-2.5.0.xml
-        published commons-logging to Z:\build-a-ivy-repository/ivy-local-repository/apache/commons-logging/jars/commons-logging-1.0.4.jar
-        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/apache/commons-logging/ivys/ivy-1.0.4.xml
-:: install resolution report ::
-        ---------------------------------------------------------------------
-        |                  |            modules            ||   artifacts   |
-        |       conf       | number| search|dwnlded|evicted|| number|dwnlded|
-        ---------------------------------------------------------------------
-        |      default     |   28  |   28  |   28  |   0   ||   30  |   27  |
-        ---------------------------------------------------------------------
-
-BUILD SUCCESSFUL
-Total time: 2 minutes 10 seconds
-Z:\build-a-ivy-repository></pre></div>
-
-<h2>Analyzing the results</h2>
-OK, it seems that we have a good start point for our repository.
-As you can see in the resolving part of the process :
-<div class="shell"><pre>:: resolving dependencies ::
-        found [ hibernate | hibernate | 3.0 ] in ibiblio-maven2
-        found [ apache | commons-logging | 1.0.4 ] in official-ivy-rep
-        ...
-        found [ odmg | odmg | 3.0 ] in official-ivy-rep</pre></div>
-some ivy files were retrieved from the <a href="http://ivyrep.jayasoft.org">ivyrep</a> the official ivy repository. That means that for these modules, you have in your home made repository good ivy files (with meaningful configurations, ...).
-
-<h2>And now</h2>
-Now what you need to do is to download missing artifacts, those not on ibiblio (from sun, ...) and correct the generated ivy files. 
-It is important to make a review of the generated ivy files because you could then benefit from all the power of ivy by defining for those projects good configurations and some other good things.
-
-To ease finding generated files, just take a look at the generated resolve report in your cache. You will find there the projects for which a default ivy file was generated 
-<center><img src="/misc/ivy/samples/commons-lang1.0-dep-report-part.jpg" style="padding:1em;"/></center>
-and you can see the resolvers that have resolved the modules. In our example, you will update the files whose project were resolved by the ibiblio-maven2 resolver.
-<center><img src="/misc/ivy/samples/hibernate3.0-dep-report-part.jpg" style="padding:1em;"/></center>
-
-
+	<textarea id="xooki-source">
+<h1>Building the professional repository</h1>
+Now that we have been well prepared, let's go to a real life example of building our repository.
+We will now focus on a bigger example that uses different public repositories to retrieve the information.
+In this tutorial we will use, in order of preference :<ul><li>our home made repository</li><li>ivyrep official</li><li>ibiblio maven2</li></ul>
+<h2>the resolvers used</h2>
+<code type="xml"><resolvers>
+    <filesystem name="local-repository">
+        <ivy pattern="${dest.repo.dir}/[organisation]/[module]/ivys/ivy-[revision].xml"/>
+        <artifact pattern="${dest.repo.dir}/[organisation]/[module]/[type]s/[artifact]-[revision].[type]"/>
+    </filesystem>
+
+    <chain name="libraries" returnFirst="false">
+        <resolver ref="local-repository" />
+        <ivyrep name="official-ivy-rep"/>
+        <resolver ref="ibiblio-maven2" />
+    </chain>
+</resolvers>
+</code>
+We start the chain with our home made repository because as we can expect, we consider this repository as good ivy file repository (that's why we create it). So all files that are in this repository are considered as valid and correct and usuable.
+The building process is then an iterative process. 
+After each import of new projects into our repository, we check and modify the generated ivy files (or you do not as you want). The generated ivy files are those that were translated from a POM or those for which an artifact has been found without a module descriptor (ivy or pom).
+
+<h2>Let's go</h2>
+What about to test our settings with a big project : hibernate 3.0
+Just run : ant advanced
+
+Here we go !!!!!!!!
+
+<div class="shell"><pre>Z:\build-a-ivy-repository>ant advanced
+Buildfile: build.xml
+
+init-advanced:
+:: Ivy non official version :: http://ivy.jayasoft.org/ ::
+:: configuring :: file = Z:\build-a-ivy-repository\config\ivy-conf-advanced.xml
+
+advanced:
+:: installing [ hibernate | hibernate | 3.0 ] ::
+:: resolving dependencies ::
+        found [ hibernate | hibernate | 3.0 ] in ibiblio-maven2
+        found [ apache | commons-logging | 1.0.4 ] in official-ivy-rep
+        found [ apache | ant | 1.6.3 ] in ibiblio-maven2
+        found [ c3p0 | c3p0 | 0.8.4.5 ] in official-ivy-rep
+        found [ proxool | proxool | 0.8.3 ] in official-ivy-rep
+        found [ ehcache | ehcache | 1.1 ] in official-ivy-rep
+        found [ apache | xerces | 2.5.0 ] in official-ivy-rep
+        found [ apache | commons-collections | 2.1.1 ] in official-ivy-rep
+        found [ opensymphony | oscache | 2.1 ] in ibiblio-maven2
+        found [ swarmcache | swarmcache | 1.0RC2 ] in official-ivy-rep
+        found [ apache | commons-collections | 2.1 ] in official-ivy-rep
+        found [ apache | commons-logging | 1.0.2 ] in official-ivy-rep
+        found [ jgroups | jgroups | 2.2 ] in official-ivy-rep
+        found [ jboss | jboss-cache | 1.2.2 ] in ibiblio-maven2
+        found [ jboss | jboss-system | 4.0.2 ] in ibiblio-maven2
+        found [ jboss | jboss-common | 4.0.2 ] in ibiblio-maven2
+        found [ jboss | jboss-minimal | 4.0.2 ] in ibiblio-maven2
+        found [ jboss | jboss-j2se | 200504122039 ] in ibiblio-maven2
+        found [ concurrent | concurrent | 1.3.4 ] in ibiblio-maven2
+        found [ jgroups | jgroups-all | 2.2.7 ] in ibiblio-maven2
+        found [ cglib | cglib | 2.0.2 ] in official-ivy-rep
+        found [ objectweb | asm | 1.3.4 ] in official-ivy-rep
+        found [ asm | asm | 1.4.3 ] in ibiblio-maven2
+        found [ javax.security | jacc | 1.0 ] in ibiblio-maven2
+        found [ dom4j | dom4j | 1.6 ] in ibiblio-maven2
+        found [ javax.transaction | jta | 1.0.1B ] in ibiblio-maven2
+        found [ hibernate | antlr | 2.7.5H3 ] in ibiblio-maven2
+        found [ odmg | odmg | 3.0 ] in official-ivy-rep
+:: downloading artifacts to cache ::
+downloading http://www.ibiblio.org/maven2/hibernate/hibernate/3.0/hibernate-3.0.jar ...
+..................................................
+.. (1565kB)
+        [SUCCESSFUL ] [ hibernate | hibernate | 3.0 ]/hibernate.jar[jar] (8500ms)
+downloading http://www.ibiblio.org/maven2/hibernate/antlr/2.7.5H3/antlr-2.7.5H3.jar ...
+
+           SOME MINUTES LATER !!!!!!!!!!
+
+downloading http://www.ibiblio.org/maven/commons-logging/jars/commons-logging-1.0.4.jar ...
+........ (37kB)
+        [SUCCESSFUL ] [ apache | commons-logging | 1.0.4 ]/commons-logging.jar[jar] (1110ms)
+:: installing in local-repository ::
+        published hibernate to Z:\build-a-ivy-repository/ivy-local-repository/hibernate/hibernate/jars/hibernate-3.0.jar
+        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/hibernate/hibernate/ivys/ivy-3.0.xml
+        published antlr to Z:\build-a-ivy-repository/ivy-local-repository/hibernate/antlr/jars/antlr-2.7.5H3.jar
+        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/hibernate/antlr/ivys/ivy-2.7.5H3.xml
+        published dom4j to Z:\build-a-ivy-repository/ivy-local-repository/dom4j/dom4j/jars/dom4j-1.6.jar
+        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/dom4j/dom4j/ivys/ivy-1.6.xml
+missing artifact [ javax.security | jacc | 1.0 ]/jacc.jar[jar]: Z:\build-a-ivy-repository\cache\javax.security\jacc\jars\jacc-1.0.jar file does not exist
+        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/javax.security/jacc/ivys/ivy-1.0.xml
+        published asm to Z:\build-a-ivy-repository/ivy-local-repository/asm/asm/jars/asm-1.4.3.jar
+        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/asm/asm/ivys/ivy-1.4.3.xml
+        published cglib-full to Z:\build-a-ivy-repository/ivy-local-repository/cglib/cglib/jars/cglib-full-2.0.2.jar
+        published cglib to Z:\build-a-ivy-repository/ivy-local-repository/cglib/cglib/jars/cglib-2.0.2.jar
+        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/cglib/cglib/ivys/ivy-2.0.2.xml
+        published asm to Z:\build-a-ivy-repository/ivy-local-repository/objectweb/asm/jars/asm-1.3.4.jar
+        published asm-util to Z:\build-a-ivy-repository/ivy-local-repository/objectweb/asm/jars/asm-util-1.3.4.jar
+        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/objectweb/asm/ivys/ivy-1.3.4.xml
+        published jboss-cache to Z:\build-a-ivy-repository/ivy-local-repository/jboss/jboss-cache/jars/jboss-cache-1.2.2.jar
+        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/jboss/jboss-cache/ivys/ivy-1.2.2.xml
+        published jgroups-all to Z:\build-a-ivy-repository/ivy-local-repository/jgroups/jgroups-all/jars/jgroups-all-2.2.7.jar
+        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/jgroups/jgroups-all/ivys/ivy-2.2.7.xml
+        published concurrent to Z:\build-a-ivy-repository/ivy-local-repository/concurrent/concurrent/jars/concurrent-1.3.4.jar
+        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/concurrent/concurrent/ivys/ivy-1.3.4.xml
+        published jboss-j2se to Z:\build-a-ivy-repository/ivy-local-repository/jboss/jboss-j2se/jars/jboss-j2se-200504122039.jar
+        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/jboss/jboss-j2se/ivys/ivy-200504122039.xml
+        published jboss-minimal to Z:\build-a-ivy-repository/ivy-local-repository/jboss/jboss-minimal/jars/jboss-minimal-4.0.2.jar
+        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/jboss/jboss-minimal/ivys/ivy-4.0.2.xml
+        published jboss-system to Z:\build-a-ivy-repository/ivy-local-repository/jboss/jboss-system/jars/jboss-system-4.0.2.jar
+        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/jboss/jboss-system/ivys/ivy-4.0.2.xml
+        published swarmcache to Z:\build-a-ivy-repository/ivy-local-repository/swarmcache/swarmcache/jars/swarmcache-1.0RC2.jar
+        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/swarmcache/swarmcache/ivys/ivy-1.0RC2.xml
+missing artifact [ jgroups | jgroups | 2.2 ]/jgroups.jar[jar]: Z:\build-a-ivy-repository\cache\jgroups\jgroups\jars\jgroups-2.2.jar file does not exist
+        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/jgroups/jgroups/ivys/ivy-2.2.xml
+        published commons-logging to Z:\build-a-ivy-repository/ivy-local-repository/apache/commons-logging/jars/commons-logging-1.0.2.jar
+        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/apache/commons-logging/ivys/ivy-1.0.2.xml
+        published oscache to Z:\build-a-ivy-repository/ivy-local-repository/opensymphony/oscache/jars/oscache-2.1.jar
+        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/opensymphony/oscache/ivys/ivy-2.1.xml
+        published c3p0 to Z:\build-a-ivy-repository/ivy-local-repository/c3p0/c3p0/jars/c3p0-0.8.4.5.jar
+        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/c3p0/c3p0/ivys/ivy-0.8.4.5.xml
+        published odmg to Z:\build-a-ivy-repository/ivy-local-repository/odmg/odmg/jars/odmg-3.0.jar
+        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/odmg/odmg/ivys/ivy-3.0.xml
+        published proxool to Z:\build-a-ivy-repository/ivy-local-repository/proxool/proxool/jars/proxool-0.8.3.jar
+        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/proxool/proxool/ivys/ivy-0.8.3.xml
+missing artifact [ javax.transaction | jta | 1.0.1B ]/jta.jar[jar]: Z:\build-a-ivy-repository\cache\javax.transaction\jta\jars\jta-1.0.1B.jar file does not exist
+        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/javax.transaction/jta/ivys/ivy-1.0.1B.xml
+        published jboss-common to Z:\build-a-ivy-repository/ivy-local-repository/jboss/jboss-common/jars/jboss-common-4.0.2.jar
+        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/jboss/jboss-common/ivys/ivy-4.0.2.xml
+        published ant to Z:\build-a-ivy-repository/ivy-local-repository/apache/ant/jars/ant-1.6.3.jar
+        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/apache/ant/ivys/ivy-1.6.3.xml
+        published commons-collections to Z:\build-a-ivy-repository/ivy-local-repository/apache/commons-collections/jars/commons-collections-2.1.jar
+        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/apache/commons-collections/ivys/ivy-2.1.xml
+        published ehcache to Z:\build-a-ivy-repository/ivy-local-repository/ehcache/ehcache/jars/ehcache-1.1.jar
+        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/ehcache/ehcache/ivys/ivy-1.1.xml
+        published commons-collections to Z:\build-a-ivy-repository/ivy-local-repository/apache/commons-collections/jars/commons-collections-2.1.1.jar
+        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/apache/commons-collections/ivys/ivy-2.1.1.xml
+        published xercesImpl to Z:\build-a-ivy-repository/ivy-local-repository/apache/xerces/jars/xercesImpl-2.5.0.jar
+        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/apache/xerces/ivys/ivy-2.5.0.xml
+        published commons-logging to Z:\build-a-ivy-repository/ivy-local-repository/apache/commons-logging/jars/commons-logging-1.0.4.jar
+        published ivy to Z:\build-a-ivy-repository/ivy-local-repository/apache/commons-logging/ivys/ivy-1.0.4.xml
+:: install resolution report ::
+        ---------------------------------------------------------------------
+        |                  |            modules            ||   artifacts   |
+        |       conf       | number| search|dwnlded|evicted|| number|dwnlded|
+        ---------------------------------------------------------------------
+        |      default     |   28  |   28  |   28  |   0   ||   30  |   27  |
+        ---------------------------------------------------------------------
+
+BUILD SUCCESSFUL
+Total time: 2 minutes 10 seconds
+Z:\build-a-ivy-repository></pre></div>
+
+<h2>Analyzing the results</h2>
+OK, it seems that we have a good start point for our repository.
+As you can see in the resolving part of the process :
+<div class="shell"><pre>:: resolving dependencies ::
+        found [ hibernate | hibernate | 3.0 ] in ibiblio-maven2
+        found [ apache | commons-logging | 1.0.4 ] in official-ivy-rep
+        ...
+        found [ odmg | odmg | 3.0 ] in official-ivy-rep</pre></div>
+some ivy files were retrieved from the <a href="http://ivyrep.jayasoft.org">ivyrep</a> the official ivy repository. That means that for these modules, you have in your home made repository good ivy files (with meaningful configurations, ...).
+
+<h2>And now</h2>
+Now what you need to do is to download missing artifacts, those not on ibiblio (from sun, ...) and correct the generated ivy files. 
+It is important to make a review of the generated ivy files because you could then benefit from all the power of ivy by defining for those projects good configurations and some other good things.
+
+To ease finding generated files, just take a look at the generated resolve report in your cache. You will find there the projects for which a default ivy file was generated 
+<center><img src="/misc/ivy/samples/commons-lang1.0-dep-report-part.jpg" style="padding:1em;"/></center>
+and you can see the resolvers that have resolved the modules. In our example, you will update the files whose project were resolved by the ibiblio-maven2 resolver.
+<center><img src="/misc/ivy/samples/hibernate3.0-dep-report-part.jpg" style="padding:1em;"/></center>
+
+
 	</textarea>
 <script type="text/javascript">xooki.postProcess();</script>
 </body>

Modified: incubator/ivy/core/trunk/doc/doc/tutorial/build-repository/basic.html
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/doc/doc/tutorial/build-repository/basic.html?view=diff&rev=522842&r1=522841&r2=522842
==============================================================================
--- incubator/ivy/core/trunk/doc/doc/tutorial/build-repository/basic.html (original)
+++ incubator/ivy/core/trunk/doc/doc/tutorial/build-repository/basic.html Tue Mar 27 02:36:03 2007
@@ -1,204 +1,222 @@
 <!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>
 	<script type="text/javascript">var xookiConfig = {level: 3};</script>	
 	<script type="text/javascript" src="../../../xooki/xooki.js"></script>
 </head>
 <body>
-	<textarea id="xooki-source">
-We will study here two cases, corresponding to the two basics targets found in the previous build.xml project file.
-
-<h1>Basic : ivysettings.xml file used</h1>
-The ivy settings file that we will use is very simple here. It defines two resolvers, libraries and local-repository. The first one is used to retrieve the files that we want, the second is used to copy them. The second one will become our own repository.
-<ul>
-<li>ivyrep : nothing special on it, ivy files will be looked for on ivyrep and artifacts will be downloaded from 
-ibilio</li>
-<li>local-repository :  will store the found files</li>
-</ul>
-
-<div class="ivy-file">
-<code type="xml">
-<ivysettings>
-    <settings defaultCache="${ivy.cache.dir}"	
-              defaultResolver="local-repository" 
-              defaultConflictManager="all" />    <!-- in order to get all revisions without any eviction -->
-    <resolvers>
-        <ivyrep name="libraries" />
-        <filesystem name="local-repository">
-            <ivy pattern="${dest.repo.dir}/[organisation]/[module]/ivys/ivy-[revision].xml"/>
-            <artifact pattern="${dest.repo.dir}/[organisation]/[module]/[type]s/[artifact]-[revision].[type]"/>
-        </filesystem>
-    </resolvers>
-</ivysettings>
-</code>
-</div>
-
-<h1>basic, retrieve commons-lang 1.0</h1>
-Let's have a look at the <em>basic</em> target.
-<code type="xml">
-    <target name="basic" depends="init-basic" description="--> retrieve files from well formatted ivy repositories">
-        <ivy:install organisation="apache" module="commons-lang" revision="1.0" from="${from-resolver}" to="${to-resolver}" />
-    </target>
-</code>
-After a call to init-basic, that make the ivy initialization with the right ivysettings file, we only call the task <a href="../../../doc/use/install.html">install</a> to retrieve apache commons-lang in it's 1.0 version.
-Here is the ant call output :
-<div class="shell"><pre>Z:\ivy-repository>ant basic
-Buildfile: build.xml
-
-init-basic:
-:: Ivy 20060123130642 - 20060123130642 :: http://ivy.jayasoft.org/ ::
-:: configuring :: file = Z:\ivy-repository\ivy-conf-basic.xml
-
-basic:
-:: installing [ apache | commons-lang | 1.0 ] ::
-:: resolving dependencies ::
-        found [ apache | commons-lang | 1.0 ] in libraries
-:: downloading artifacts to cache ::
-downloading http://www.ibiblio.org/maven/commons-lang/jars/commons-lang-1.0.jar ...
-............ (62kB)
-        [SUCCESSFUL ] [ apache | commons-lang | 1.0 ]/commons-lang.jar[jar] (1203ms)
-:: installing in local-repository ::
-        published commons-lang to Z:\ivy-repository/ivy-local-repository/apache/commons-lang/jars/commons-lang-1.0.jar
-        published ivy to Z:\ivy-repository/ivy-local-repository/apache/commons-lang/ivys/ivy-1.0.xml
-
-BUILD SUCCESSFUL
-Total time: 2 seconds</pre></div>
-The trace tells us that the module definition was found using the "libraries" resolver and that the corresponding artifact was downloaded from ibiblio. Then both were published in the local repository.
-
-If we take a look at our repository :
-<div class="shell"><pre>Z:\ivy-repository>dir /s /B /A:-D ivy-local-repository
-Z:\ivy-repository\ivy-local-repository\apache\commons-lang\ivys\ivy-1.0.xml
-Z:\ivy-repository\ivy-local-repository\apache\commons-lang\jars\commons-lang-1.0.jar
-Z:\ivy-repository></pre>
-</div>
-We can see that we have started our own repository by retrieving the commons-lang 1.0 ivy file descriptor and jar.
-<h1>basic with dependencies, retrieve hibernate 2.1.8</h1>
-Now let's advance a little more by trying a module that has some dependencies. Here is the target that we will call :
-<code type="xml">
-    <target name="basic-deps" depends="init-basic" description="--> retrieve files from well formatted ivy repositories with dependencies">
-        <ivy:install organisation="hibernate" module="hibernate" revision="2.1.8" from="${from-resolver}" to="${to-resolver}" transitive="true" />
-    </target>
-</code>This target is very similar to the basic one, except it defines the transitivity mode to use. By writing, <em>transitive="true"</em>, we tell the task to retrieve the corresponding module and it's dependencies.
-
-Ok let's call the target :
-<div class="shell"><pre>Z:\ivy-repository>ant basic-deps
-Buildfile: build.xml
-
-init-basic:
-:: Ivy 20060123130642 - 20060123130642 :: http://ivy.jayasoft.org/ ::
-:: configuring :: file = Z:\ivy-repository\ivy-conf-basic.xml
-
-basic-deps:
-:: installing [ hibernate | hibernate | 2.1.8 ] ::
-:: resolving dependencies ::
-        found [ hibernate | hibernate | 2.1.8 ] in libraries
-        found [ cglib | cglib | 2.0.2 ] in libraries
-        found [ apache | commons-collections | 2.1.1 ] in libraries
-        found [ apache | commons-logging | 1.0.4 ] in libraries
-        found [ dom4j | dom4j | 1.4 ] in libraries
-        found [ ehcache | ehcache | 0.9 ] in libraries
-        found [ odmg | odmg | 3.0 ] in libraries
-        found [ sun | jta | 1.0 ] in libraries
-        found [ apache | xalan | 2.4.0 ] in libraries
-        found [ apache | xerces | 2.4.0 ] in libraries
-        found [ sun | jdbc | 2.0 ] in libraries
-        found [ sun | jca | 1.0 ] in libraries
-        found [ sun | jaas | 1.0 ] in libraries
-        found [ c3p0 | c3p0 | 0.8.4.5 ] in libraries
-        found [ apache | commons-dbcp | 1.2.1 ] in libraries
-        found [ apache | commons-pool | 1.2 ] in libraries
-        found [ apache | commons-collections | 2.1 ] in libraries
-        found [ apache | xerces | 2.0.2 ] in libraries
-        found [ proxool | proxool | 0.8.3 ] in libraries
-        found [ jboss | jboss-cache | 1.1.1 ] in libraries
-        found [ opensymphony | oscache | 2.0 ] in libraries
-        found [ apache | commons-logging | 1.0.3 ] in libraries
-        found [ swarmcache | swarmcache | 1.0RC2 ] in libraries
-        found [ apache | commons-logging | 1.0.2 ] in libraries
-        found [ jgroups | jgroups | 2.2 ] in libraries
-:: downloading artifacts to cache ::
-downloading http://www.ibiblio.org/maven/hibernate/jars/hibernate-2.1.8.jar ...
-...........
-............
-.. (944kB)
-        [SUCCESSFUL ] [ hibernate | hibernate | 2.1.8 ]/hibernate.jar[jar] (97063ms)
-
-
-SOME MINUTES LATER .... ;-)
-
-
-downloading http://www.ibiblio.org/maven/commons-logging/jars/commons-logging-1.0.4.jar ...
-..
-......
-.. (37kB)
-        [SUCCESSFUL ] [ apache | commons-logging | 1.0.4 ]/commons-logging.jar[jar] (24172ms)
-
-BUILD SUCCESSFUL
-Total time: 14 minutes 57 seconds
-Z:\ivy-repository></pre>
-</div>
-
-We can see here that <a href="/ivy">ivy</a> has resolved hibernate 2.1.8 and 24 depending modules. If we look at the ivy file for <a href="http://ivyrep.jayasoft.org/hibernate/hibernate/ivy-2.1.8.xml">hibernate 2.1.8</a>, we can see that it defines 17 dependencies. The 7 others that ivy retrieved, were transitive ones used in direct dependent modules of hibernate.
-
-We can notice that we have retrieve 3 different revisions of apache commons-logging (1.0.2, 1.0.3, 1.0.4) and 2 revisions of commons-collections (1.2, 1.2.1). This is due to the fact that we use the "no conflict" <a href="../../../doc/configuration/conflict-managers.html">conflic manager</a> in the ivysettings file.
-We do not want to evict any modules because we are building our own repository !
-
-8 modules artifacts have not been downloaded cause they have not been found on ibiblio with the ivysettings as it is.
-We will see how to handle this problem in the advanced tutorial.
-
-If we look at our repository now, it starts to look to something good :
-
-<div class="shell"><pre>Z:\ivy-repository>dir /s /B /A:-D ivy-local-repository
-Z:\ivy-repository\ivy-local-repository\apache\commons-collections\ivys\ivy-2.1.1.xml
-Z:\ivy-repository\ivy-local-repository\apache\commons-collections\ivys\ivy-2.1.xml
-Z:\ivy-repository\ivy-local-repository\apache\commons-collections\jars\commons-collections-2.1.1.jar
-Z:\ivy-repository\ivy-local-repository\apache\commons-collections\jars\commons-collections-2.1.jar
-Z:\ivy-repository\ivy-local-repository\apache\commons-dbcp\ivys\ivy-1.2.1.xml
-Z:\ivy-repository\ivy-local-repository\apache\commons-dbcp\jars\commons-dbcp-1.2.1.jar
-Z:\ivy-repository\ivy-local-repository\apache\commons-lang\ivys\ivy-1.0.xml
-Z:\ivy-repository\ivy-local-repository\apache\commons-lang\jars\commons-lang-1.0.jar
-Z:\ivy-repository\ivy-local-repository\apache\commons-logging\ivys\ivy-1.0.2.xml
-Z:\ivy-repository\ivy-local-repository\apache\commons-logging\ivys\ivy-1.0.3.xml
-Z:\ivy-repository\ivy-local-repository\apache\commons-logging\ivys\ivy-1.0.4.xml
-Z:\ivy-repository\ivy-local-repository\apache\commons-logging\jars\commons-logging-1.0.2.jar
-Z:\ivy-repository\ivy-local-repository\apache\commons-logging\jars\commons-logging-1.0.3.jar
-Z:\ivy-repository\ivy-local-repository\apache\commons-logging\jars\commons-logging-1.0.4.jar
-Z:\ivy-repository\ivy-local-repository\apache\commons-pool\ivys\ivy-1.2.xml
-Z:\ivy-repository\ivy-local-repository\apache\commons-pool\jars\commons-pool-1.2.jar
-Z:\ivy-repository\ivy-local-repository\apache\xalan\ivys\ivy-2.4.0.xml
-Z:\ivy-repository\ivy-local-repository\apache\xalan\jars\xalan-2.4.0.jar
-Z:\ivy-repository\ivy-local-repository\apache\xerces\ivys\ivy-2.0.2.xml
-Z:\ivy-repository\ivy-local-repository\apache\xerces\ivys\ivy-2.4.0.xml
-Z:\ivy-repository\ivy-local-repository\apache\xerces\jars\xerces-2.0.2.jar
-Z:\ivy-repository\ivy-local-repository\apache\xerces\jars\xerces-2.4.0.jar
-Z:\ivy-repository\ivy-local-repository\apache\xerces\jars\xmlParserAPIs-2.0.2.jar
-Z:\ivy-repository\ivy-local-repository\c3p0\c3p0\ivys\ivy-0.8.4.5.xml
-Z:\ivy-repository\ivy-local-repository\c3p0\c3p0\jars\c3p0-0.8.4.5.jar
-Z:\ivy-repository\ivy-local-repository\cglib\cglib\ivys\ivy-2.0.2.xml
-Z:\ivy-repository\ivy-local-repository\cglib\cglib\jars\cglib-full-2.0.2.jar
-Z:\ivy-repository\ivy-local-repository\dom4j\dom4j\ivys\ivy-1.4.xml
-Z:\ivy-repository\ivy-local-repository\dom4j\dom4j\jars\dom4j-1.4.jar
-Z:\ivy-repository\ivy-local-repository\ehcache\ehcache\ivys\ivy-0.9.xml
-Z:\ivy-repository\ivy-local-repository\ehcache\ehcache\jars\ehcache-0.9.jar
-Z:\ivy-repository\ivy-local-repository\hibernate\hibernate\ivys\ivy-2.1.8.xml
-Z:\ivy-repository\ivy-local-repository\hibernate\hibernate\jars\hibernate-2.1.8.jar
-Z:\ivy-repository\ivy-local-repository\jboss\jboss-cache\ivys\ivy-1.1.1.xml
-Z:\ivy-repository\ivy-local-repository\jgroups\jgroups\ivys\ivy-2.2.xml
-Z:\ivy-repository\ivy-local-repository\odmg\odmg\ivys\ivy-3.0.xml
-Z:\ivy-repository\ivy-local-repository\odmg\odmg\jars\odmg-3.0.jar
-Z:\ivy-repository\ivy-local-repository\opensymphony\oscache\ivys\ivy-2.0.xml
-Z:\ivy-repository\ivy-local-repository\proxool\proxool\ivys\ivy-0.8.3.xml
-Z:\ivy-repository\ivy-local-repository\proxool\proxool\jars\proxool-0.8.3.jar
-Z:\ivy-repository\ivy-local-repository\sun\jaas\ivys\ivy-1.0.xml
-Z:\ivy-repository\ivy-local-repository\sun\jca\ivys\ivy-1.0.xml
-Z:\ivy-repository\ivy-local-repository\sun\jdbc\ivys\ivy-2.0.xml
-Z:\ivy-repository\ivy-local-repository\sun\jta\ivys\ivy-1.0.xml
-Z:\ivy-repository\ivy-local-repository\swarmcache\swarmcache\ivys\ivy-1.0RC2.xml
-Z:\ivy-repository\ivy-local-repository\swarmcache\swarmcache\jars\swarmcache-1.0RC2.jar
-
-Z:\ivy-repository></pre>
-</div>
-
+	<textarea id="xooki-source">
+We will study here two cases, corresponding to the two basics targets found in the previous build.xml project file.
+
+<h1>Basic : ivysettings.xml file used</h1>
+The ivy settings file that we will use is very simple here. It defines two resolvers, libraries and local-repository. The first one is used to retrieve the files that we want, the second is used to copy them. The second one will become our own repository.
+<ul>
+<li>ivyrep : nothing special on it, ivy files will be looked for on ivyrep and artifacts will be downloaded from 
+ibilio</li>
+<li>local-repository :  will store the found files</li>
+</ul>
+
+<div class="ivy-file">
+<code type="xml">
+<ivysettings>
+    <settings defaultCache="${ivy.cache.dir}"	
+              defaultResolver="local-repository" 
+              defaultConflictManager="all" />    <!-- in order to get all revisions without any eviction -->
+    <resolvers>
+        <ivyrep name="libraries" />
+        <filesystem name="local-repository">
+            <ivy pattern="${dest.repo.dir}/[organisation]/[module]/ivys/ivy-[revision].xml"/>
+            <artifact pattern="${dest.repo.dir}/[organisation]/[module]/[type]s/[artifact]-[revision].[type]"/>
+        </filesystem>
+    </resolvers>
+</ivysettings>
+</code>
+</div>
+
+<h1>basic, retrieve commons-lang 1.0</h1>
+Let's have a look at the <em>basic</em> target.
+<code type="xml">
+    <target name="basic" depends="init-basic" description="--> retrieve files from well formatted ivy repositories">
+        <ivy:install organisation="apache" module="commons-lang" revision="1.0" from="${from-resolver}" to="${to-resolver}" />
+    </target>
+</code>
+After a call to init-basic, that make the ivy initialization with the right ivysettings file, we only call the task <a href="../../../doc/use/install.html">install</a> to retrieve apache commons-lang in it's 1.0 version.
+Here is the ant call output :
+<div class="shell"><pre>Z:\ivy-repository>ant basic
+Buildfile: build.xml
+
+init-basic:
+:: Ivy 20060123130642 - 20060123130642 :: http://ivy.jayasoft.org/ ::
+:: configuring :: file = Z:\ivy-repository\ivy-conf-basic.xml
+
+basic:
+:: installing [ apache | commons-lang | 1.0 ] ::
+:: resolving dependencies ::
+        found [ apache | commons-lang | 1.0 ] in libraries
+:: downloading artifacts to cache ::
+downloading http://www.ibiblio.org/maven/commons-lang/jars/commons-lang-1.0.jar ...
+............ (62kB)
+        [SUCCESSFUL ] [ apache | commons-lang | 1.0 ]/commons-lang.jar[jar] (1203ms)
+:: installing in local-repository ::
+        published commons-lang to Z:\ivy-repository/ivy-local-repository/apache/commons-lang/jars/commons-lang-1.0.jar
+        published ivy to Z:\ivy-repository/ivy-local-repository/apache/commons-lang/ivys/ivy-1.0.xml
+
+BUILD SUCCESSFUL
+Total time: 2 seconds</pre></div>
+The trace tells us that the module definition was found using the "libraries" resolver and that the corresponding artifact was downloaded from ibiblio. Then both were published in the local repository.
+
+If we take a look at our repository :
+<div class="shell"><pre>Z:\ivy-repository>dir /s /B /A:-D ivy-local-repository
+Z:\ivy-repository\ivy-local-repository\apache\commons-lang\ivys\ivy-1.0.xml
+Z:\ivy-repository\ivy-local-repository\apache\commons-lang\jars\commons-lang-1.0.jar
+Z:\ivy-repository></pre>
+</div>
+We can see that we have started our own repository by retrieving the commons-lang 1.0 ivy file descriptor and jar.
+<h1>basic with dependencies, retrieve hibernate 2.1.8</h1>
+Now let's advance a little more by trying a module that has some dependencies. Here is the target that we will call :
+<code type="xml">
+    <target name="basic-deps" depends="init-basic" description="--> retrieve files from well formatted ivy repositories with dependencies">
+        <ivy:install organisation="hibernate" module="hibernate" revision="2.1.8" from="${from-resolver}" to="${to-resolver}" transitive="true" />
+    </target>
+</code>This target is very similar to the basic one, except it defines the transitivity mode to use. By writing, <em>transitive="true"</em>, we tell the task to retrieve the corresponding module and it's dependencies.
+
+Ok let's call the target :
+<div class="shell"><pre>Z:\ivy-repository>ant basic-deps
+Buildfile: build.xml
+
+init-basic:
+:: Ivy 20060123130642 - 20060123130642 :: http://ivy.jayasoft.org/ ::
+:: configuring :: file = Z:\ivy-repository\ivy-conf-basic.xml
+
+basic-deps:
+:: installing [ hibernate | hibernate | 2.1.8 ] ::
+:: resolving dependencies ::
+        found [ hibernate | hibernate | 2.1.8 ] in libraries
+        found [ cglib | cglib | 2.0.2 ] in libraries
+        found [ apache | commons-collections | 2.1.1 ] in libraries
+        found [ apache | commons-logging | 1.0.4 ] in libraries
+        found [ dom4j | dom4j | 1.4 ] in libraries
+        found [ ehcache | ehcache | 0.9 ] in libraries
+        found [ odmg | odmg | 3.0 ] in libraries
+        found [ sun | jta | 1.0 ] in libraries
+        found [ apache | xalan | 2.4.0 ] in libraries
+        found [ apache | xerces | 2.4.0 ] in libraries
+        found [ sun | jdbc | 2.0 ] in libraries
+        found [ sun | jca | 1.0 ] in libraries
+        found [ sun | jaas | 1.0 ] in libraries
+        found [ c3p0 | c3p0 | 0.8.4.5 ] in libraries
+        found [ apache | commons-dbcp | 1.2.1 ] in libraries
+        found [ apache | commons-pool | 1.2 ] in libraries
+        found [ apache | commons-collections | 2.1 ] in libraries
+        found [ apache | xerces | 2.0.2 ] in libraries
+        found [ proxool | proxool | 0.8.3 ] in libraries
+        found [ jboss | jboss-cache | 1.1.1 ] in libraries
+        found [ opensymphony | oscache | 2.0 ] in libraries
+        found [ apache | commons-logging | 1.0.3 ] in libraries
+        found [ swarmcache | swarmcache | 1.0RC2 ] in libraries
+        found [ apache | commons-logging | 1.0.2 ] in libraries
+        found [ jgroups | jgroups | 2.2 ] in libraries
+:: downloading artifacts to cache ::
+downloading http://www.ibiblio.org/maven/hibernate/jars/hibernate-2.1.8.jar ...
+...........
+............
+.. (944kB)
+        [SUCCESSFUL ] [ hibernate | hibernate | 2.1.8 ]/hibernate.jar[jar] (97063ms)
+
+
+SOME MINUTES LATER .... ;-)
+
+
+downloading http://www.ibiblio.org/maven/commons-logging/jars/commons-logging-1.0.4.jar ...
+..
+......
+.. (37kB)
+        [SUCCESSFUL ] [ apache | commons-logging | 1.0.4 ]/commons-logging.jar[jar] (24172ms)
+
+BUILD SUCCESSFUL
+Total time: 14 minutes 57 seconds
+Z:\ivy-repository></pre>
+</div>
+
+We can see here that <a href="/ivy">ivy</a> has resolved hibernate 2.1.8 and 24 depending modules. If we look at the ivy file for <a href="http://ivyrep.jayasoft.org/hibernate/hibernate/ivy-2.1.8.xml">hibernate 2.1.8</a>, we can see that it defines 17 dependencies. The 7 others that ivy retrieved, were transitive ones used in direct dependent modules of hibernate.
+
+We can notice that we have retrieve 3 different revisions of apache commons-logging (1.0.2, 1.0.3, 1.0.4) and 2 revisions of commons-collections (1.2, 1.2.1). This is due to the fact that we use the "no conflict" <a href="../../../doc/configuration/conflict-managers.html">conflic manager</a> in the ivysettings file.
+We do not want to evict any modules because we are building our own repository !
+
+8 modules artifacts have not been downloaded cause they have not been found on ibiblio with the ivysettings as it is.
+We will see how to handle this problem in the advanced tutorial.
+
+If we look at our repository now, it starts to look to something good :
+
+<div class="shell"><pre>Z:\ivy-repository>dir /s /B /A:-D ivy-local-repository
+Z:\ivy-repository\ivy-local-repository\apache\commons-collections\ivys\ivy-2.1.1.xml
+Z:\ivy-repository\ivy-local-repository\apache\commons-collections\ivys\ivy-2.1.xml
+Z:\ivy-repository\ivy-local-repository\apache\commons-collections\jars\commons-collections-2.1.1.jar
+Z:\ivy-repository\ivy-local-repository\apache\commons-collections\jars\commons-collections-2.1.jar
+Z:\ivy-repository\ivy-local-repository\apache\commons-dbcp\ivys\ivy-1.2.1.xml
+Z:\ivy-repository\ivy-local-repository\apache\commons-dbcp\jars\commons-dbcp-1.2.1.jar
+Z:\ivy-repository\ivy-local-repository\apache\commons-lang\ivys\ivy-1.0.xml
+Z:\ivy-repository\ivy-local-repository\apache\commons-lang\jars\commons-lang-1.0.jar
+Z:\ivy-repository\ivy-local-repository\apache\commons-logging\ivys\ivy-1.0.2.xml
+Z:\ivy-repository\ivy-local-repository\apache\commons-logging\ivys\ivy-1.0.3.xml
+Z:\ivy-repository\ivy-local-repository\apache\commons-logging\ivys\ivy-1.0.4.xml
+Z:\ivy-repository\ivy-local-repository\apache\commons-logging\jars\commons-logging-1.0.2.jar
+Z:\ivy-repository\ivy-local-repository\apache\commons-logging\jars\commons-logging-1.0.3.jar
+Z:\ivy-repository\ivy-local-repository\apache\commons-logging\jars\commons-logging-1.0.4.jar
+Z:\ivy-repository\ivy-local-repository\apache\commons-pool\ivys\ivy-1.2.xml
+Z:\ivy-repository\ivy-local-repository\apache\commons-pool\jars\commons-pool-1.2.jar
+Z:\ivy-repository\ivy-local-repository\apache\xalan\ivys\ivy-2.4.0.xml
+Z:\ivy-repository\ivy-local-repository\apache\xalan\jars\xalan-2.4.0.jar
+Z:\ivy-repository\ivy-local-repository\apache\xerces\ivys\ivy-2.0.2.xml
+Z:\ivy-repository\ivy-local-repository\apache\xerces\ivys\ivy-2.4.0.xml
+Z:\ivy-repository\ivy-local-repository\apache\xerces\jars\xerces-2.0.2.jar
+Z:\ivy-repository\ivy-local-repository\apache\xerces\jars\xerces-2.4.0.jar
+Z:\ivy-repository\ivy-local-repository\apache\xerces\jars\xmlParserAPIs-2.0.2.jar
+Z:\ivy-repository\ivy-local-repository\c3p0\c3p0\ivys\ivy-0.8.4.5.xml
+Z:\ivy-repository\ivy-local-repository\c3p0\c3p0\jars\c3p0-0.8.4.5.jar
+Z:\ivy-repository\ivy-local-repository\cglib\cglib\ivys\ivy-2.0.2.xml
+Z:\ivy-repository\ivy-local-repository\cglib\cglib\jars\cglib-full-2.0.2.jar
+Z:\ivy-repository\ivy-local-repository\dom4j\dom4j\ivys\ivy-1.4.xml
+Z:\ivy-repository\ivy-local-repository\dom4j\dom4j\jars\dom4j-1.4.jar
+Z:\ivy-repository\ivy-local-repository\ehcache\ehcache\ivys\ivy-0.9.xml
+Z:\ivy-repository\ivy-local-repository\ehcache\ehcache\jars\ehcache-0.9.jar
+Z:\ivy-repository\ivy-local-repository\hibernate\hibernate\ivys\ivy-2.1.8.xml
+Z:\ivy-repository\ivy-local-repository\hibernate\hibernate\jars\hibernate-2.1.8.jar
+Z:\ivy-repository\ivy-local-repository\jboss\jboss-cache\ivys\ivy-1.1.1.xml
+Z:\ivy-repository\ivy-local-repository\jgroups\jgroups\ivys\ivy-2.2.xml
+Z:\ivy-repository\ivy-local-repository\odmg\odmg\ivys\ivy-3.0.xml
+Z:\ivy-repository\ivy-local-repository\odmg\odmg\jars\odmg-3.0.jar
+Z:\ivy-repository\ivy-local-repository\opensymphony\oscache\ivys\ivy-2.0.xml
+Z:\ivy-repository\ivy-local-repository\proxool\proxool\ivys\ivy-0.8.3.xml
+Z:\ivy-repository\ivy-local-repository\proxool\proxool\jars\proxool-0.8.3.jar
+Z:\ivy-repository\ivy-local-repository\sun\jaas\ivys\ivy-1.0.xml
+Z:\ivy-repository\ivy-local-repository\sun\jca\ivys\ivy-1.0.xml
+Z:\ivy-repository\ivy-local-repository\sun\jdbc\ivys\ivy-2.0.xml
+Z:\ivy-repository\ivy-local-repository\sun\jta\ivys\ivy-1.0.xml
+Z:\ivy-repository\ivy-local-repository\swarmcache\swarmcache\ivys\ivy-1.0RC2.xml
+Z:\ivy-repository\ivy-local-repository\swarmcache\swarmcache\jars\swarmcache-1.0RC2.jar
+
+Z:\ivy-repository></pre>
+</div>
+
 	</textarea>
 <script type="text/javascript">xooki.postProcess();</script>
 </body>