You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by hi...@apache.org on 2014/12/26 17:13:31 UTC

svn commit: r1647991 [10/12] - in /ant/site/ivy/production/history/2.4.0: configuration/ configuration/caches/ configuration/macrodef/ configuration/namespace/ tutorial/ tutorial/build-repository/

Added: ant/site/ivy/production/history/2.4.0/tutorial/defaultconf.html
URL: http://svn.apache.org/viewvc/ant/site/ivy/production/history/2.4.0/tutorial/defaultconf.html?rev=1647991&view=auto
==============================================================================
--- ant/site/ivy/production/history/2.4.0/tutorial/defaultconf.html (added)
+++ ant/site/ivy/production/history/2.4.0/tutorial/defaultconf.html Fri Dec 26 16:13:30 2014
@@ -0,0 +1,344 @@
+<!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>	
+	
+
+<title>Adjusting default settings | Apache Ivy&#153;</title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+  <link rel="stylesheet" type="text/css" href="../style/style.css" />
+  <script src="../js/jquery.pack.js" type="text/javascript"></script>
+  <script src="../js/jquery.treeview.js" type="text/javascript"></script>
+  <script type="text/javascript">
+  $(document).ready(function(){$("#treemenu").Treeview({speed: "fast",store: true});});
+  </script>
+
+<script language="javascript" type="text/javascript">xooki = {u: function(url) {return "../xooki/"+url;}};</script>
+</head>
+<body>
+
+<div id="body">
+<table id="header" summary="Navigation elements." border="0"
+	cellpadding="0" cellspacing="0" width="100%">
+	<tr>
+		<td id="home" width="30%"><a href="http://ant.apache.org/"
+			title="Apache Ant"><img src="../images/ant-group-logo.gif" alt="Apache Ant"
+			border="0" /></a></td>
+
+		<td class="product" width="70%" align="right" valign="middle"><img
+			src="../images/logo.png" alt="ivy" border="0" /></td>
+	</tr>
+</table>
+
+<table id="top-menu" summary="Navigation elements." border="0"
+	cellpadding="0" cellspacing="0" width="100%">
+	<tr>
+		<td>
+
+        <div style="float:right;margin: 0 10px;">
+        <!-- Google CSE Search Box Begins -->
+  <form id="searchbox_014292259695392975429:5y6qypnrni8" action="http://ant.apache.org/ivy/search.html">
+    <input type="hidden" name="cx" value="014292259695392975429:5y6qypnrni8" />
+    <input type="hidden" name="cof" value="FORID:11" />
+    <input name="q" type="text" size="30" />
+    <input type="submit" name="sa" value="Search" />
+  </form>
+  <script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=searchbox_014292259695392975429%3A5y6qypnrni8"></script>
+<!-- Google CSE Search Box Ends -->
+        </div>
+
+		<div id="navcontainer">
+		<a href="http://www.apache.org/">Apache&#153;</a> &gt; <a href="http://ant.apache.org/">Apache Ant&#153;</a> &gt; <a href="http://ant.apache.org/ivy/">Apache Ivy&#153;</a> &gt; <span class="breadCrumb"><a href="../index.html" >Documentation (2.4.0)</a> &gt; <a href="../tutorial.html" >Tutorials</a> &gt; <a href="../tutorial/defaultconf.html" class="current">Adjusting default settings</a></span>
+		</div>
+		</td>
+	</tr>
+
+</table>
+
+<table id="content" border="0" cellpadding="0" cellspacing="0"
+	width="100%">
+	<tr>
+		<td id="sidebar-left">
+		<div class="block block-book" id="block-book-0">
+		<h2>Apache Ivy&#153;</h2>
+
+		<div class="content"><ul id="treemenu" class="treeview">
+<li id="xooki-index" class="submenu"><a href="../index.html" >Documentation (2.4.0)</a><ul class="open"><li id="xooki-release-notes"><a href="../release-notes.html" >Release Notes</a></li>
+<li id="xooki-tutorial" class="submenu"><a href="../tutorial.html" >Tutorials</a><ul class="open"><li id="xooki-tutorial/start"><a href="../tutorial/start.html" >Quick Start</a></li>
+<li id="xooki-tutorial/defaultconf"><a href="../tutorial/defaultconf.html" class="current">Adjusting default settings</a></li>
+<li id="xooki-tutorial/multiple"><a href="../tutorial/multiple.html" >Multiple Resolvers</a></li>
+<li id="xooki-tutorial/dual"><a href="../tutorial/dual.html" >Dual Resolver</a></li>
+<li id="xooki-tutorial/dependence"><a href="../tutorial/dependence.html" >Project dependencies</a></li>
+<li id="xooki-tutorial/multiproject"><a href="../tutorial/multiproject.html" >Using Ivy in multiple projects environment</a></li>
+<li id="xooki-tutorial/conf"><a href="../tutorial/conf.html" >Using Ivy Module Configurations</a></li>
+<li id="xooki-tutorial/build-repository" class="submenu"><a href="../tutorial/build-repository.html" >Building a repository</a><ul class="closed"><li id="xooki-tutorial/build-repository/basic"><a href="../tutorial/build-repository/basic.html" >Basic repository copy</a></li>
+<li id="xooki-tutorial/build-repository/advanced"><a href="../tutorial/build-repository/advanced.html" >Using namespaces</a></li>
+</ul></li>
+<li id="xooki-moreexamples"><a href="../moreexamples.html" >More examples</a></li>
+</ul></li>
+<li id="xooki-reference" class="submenu"><a href="../reference.html" >Reference</a><ul class="closed"><li id="xooki-intro" class="submenu">Introduction<ul class="closed"><li id="xooki-terminology"><a href="../terminology.html" >Terminology</a></li>
+<li id="xooki-concept"><a href="../concept.html" >Main Concepts</a></li>
+<li id="xooki-textual"><a href="../textual.html" >Text Conventions</a></li>
+<li id="xooki-principle"><a href="../principle.html" >How does it work ?</a></li>
+<li id="xooki-bestpractices"><a href="../bestpractices.html" >Best practices</a></li>
+<li id="xooki-compatibility"><a href="../compatibility.html" >Compatibility</a></li>
+<li id="xooki-install"><a href="../install.html" >Installation</a></li>
+</ul></li>
+<li id="xooki-settings" class="submenu"><a href="../settings.html" >Settings Files</a><ul class="closed"><li id="xooki-settings/property"><a href="../settings/property.html" >property</a></li>
+<li id="xooki-settings/properties"><a href="../settings/properties.html" >properties</a></li>
+<li id="xooki-settings/settings"><a href="../settings/settings.html" >settings</a></li>
+<li id="xooki-settings/include"><a href="../settings/include.html" >include</a></li>
+<li id="xooki-settings/classpath"><a href="../settings/classpath.html" >classpath</a></li>
+<li id="xooki-settings/typedef"><a href="../settings/typedef.html" >typedef</a></li>
+<li id="xooki-settings/credentials"><a href="../settings/credentials.html" >credentials</a></li>
+<li id="xooki-settings/signers"><a href="../settings/signers.html" >signers</a></li>
+<li id="xooki-settings/lock-strategies"><a href="../settings/lock-strategies.html" >lock-strategies</a></li>
+<li id="xooki-settings/caches" class="submenu"><a href="../settings/caches.html" >caches</a><ul class="closed"><li id="xooki-settings/caches/cache" class="submenu"><a href="../settings/caches/cache.html" >cache</a><ul class="closed"><li id="xooki-settings/caches/ttl"><a href="../settings/caches/ttl.html" >ttl</a></li>
+</ul></li>
+</ul></li>
+<li id="xooki-settings/latest-strategies"><a href="../settings/latest-strategies.html" >latest-strategies</a></li>
+<li id="xooki-settings/parsers"><a href="../settings/parsers.html" >parsers</a></li>
+<li id="xooki-settings/namespaces" class="submenu"><a href="../settings/namespaces.html" >namespaces</a><ul class="closed"><li id="xooki-settings/namespace" class="submenu"><a href="../settings/namespace.html" >namespace</a><ul class="closed"><li id="xooki-settings/namespace/rule" class="submenu"><a href="../settings/namespace/rule.html" >rule</a><ul class="closed"><li id="xooki-settings/namespace/fromtosystem" class="submenu"><a href="../settings/namespace/fromtosystem.html" >fromsystem / tosystem</a><ul class="closed"><li id="xooki-settings/namespace/src"><a href="../settings/namespace/src.html" >src</a></li>
+<li id="xooki-settings/namespace/dest"><a href="../settings/namespace/dest.html" >dest</a></li>
+</ul></li>
+</ul></li>
+</ul></li>
+</ul></li>
+<li id="xooki-settings/macrodef" class="submenu"><a href="../settings/macrodef.html" >macrodef</a><ul class="closed"><li id="xooki-settings/macrodef/attribute"><a href="../settings/macrodef/attribute.html" >attribute</a></li>
+</ul></li>
+<li id="xooki-settings/resolvers" class="submenu"><a href="../settings/resolvers.html" >resolvers</a><ul class="closed"><li id="xooki-resolver/ivyrep"><a href="../resolver/ivyrep.html" >IvyRep Resolver</a></li>
+<li id="xooki-resolver/ibiblio"><a href="../resolver/ibiblio.html" >IBiblio Resolver</a></li>
+<li id="xooki-resolver/packager"><a href="../resolver/packager.html" >Packager resolver</a></li>
+<li id="xooki-resolver/filesystem"><a href="../resolver/filesystem.html" >File System resolver</a></li>
+<li id="xooki-resolver/url"><a href="../resolver/url.html" >Url Resolver</a></li>
+<li id="xooki-resolver/chain"><a href="../resolver/chain.html" >Chain Resolver</a></li>
+<li id="xooki-resolver/dual"><a href="../resolver/dual.html" >Dual resolver</a></li>
+<li id="xooki-resolver/sftp"><a href="../resolver/sftp.html" >sftp resolver</a></li>
+<li id="xooki-resolver/ssh"><a href="../resolver/ssh.html" >ssh resolver</a></li>
+<li id="xooki-resolver/vfs"><a href="../resolver/vfs.html" >vfs resolver</a></li>
+<li id="xooki-resolver/jar"><a href="../resolver/jar.html" >Jar resolver</a></li>
+<li id="xooki-resolver/obr"><a href="../resolver/obr.html" >OSGi Bundle Repository</a></li>
+<li id="xooki-resolver/osgiagg"><a href="../resolver/osgiagg.html" >Aggregated OSGi Repository</a></li>
+<li id="xooki-resolver/updatesite"><a href="../resolver/updatesite.html" >Eclipse updatesite</a></li>
+<li id="xooki-resolver/mirrored"><a href="../resolver/mirrored.html" >Mirrored Resolver</a></li>
+<li id="xooki-resolver/bintray"><a href="../resolver/bintray.html" >Bintray Resolver</a></li>
+</ul></li>
+<li id="xooki-settings/conflict-managers"><a href="../settings/conflict-managers.html" >conflict-managers</a></li>
+<li id="xooki-settings/modules" class="submenu"><a href="../settings/modules.html" >modules</a><ul class="closed"><li id="xooki-settings/module"><a href="../settings/module.html" >module</a></li>
+</ul></li>
+<li id="xooki-settings/outputters"><a href="../settings/outputters.html" >outputters</a></li>
+<li id="xooki-settings/signers"><a href="../settings/signers.html" >signers</a></li>
+<li id="xooki-settings/statuses" class="submenu"><a href="../settings/statuses.html" >statuses</a><ul class="closed"><li id="xooki-settings/status"><a href="../settings/status.html" >status</a></li>
+</ul></li>
+<li id="xooki-settings/triggers"><a href="../settings/triggers.html" >triggers</a></li>
+<li id="xooki-settings/version-matchers"><a href="../settings/version-matchers.html" >version-matchers</a></li>
+</ul></li>
+<li id="xooki-ivyfile" class="submenu"><a href="../ivyfile.html" >Ivy Files</a><ul class="closed"><li id="xooki-ivyfile/info" class="submenu"><a href="../ivyfile/info.html" >info</a><ul class="closed"><li id="xooki-ivyfile/extends"><a href="../ivyfile/extends.html" >extends</a></li>
+<li id="xooki-ivyfile/license"><a href="../ivyfile/license.html" >license</a></li>
+<li id="xooki-ivyfile/ivyauthor"><a href="../ivyfile/ivyauthor.html" >ivyauthor</a></li>
+<li id="xooki-ivyfile/repository"><a href="../ivyfile/repository.html" >repository</a></li>
+<li id="xooki-ivyfile/description"><a href="../ivyfile/description.html" >description</a></li>
+</ul></li>
+<li id="xooki-ivyfile/configurations" class="submenu"><a href="../ivyfile/configurations.html" >configurations</a><ul class="closed"><li id="xooki-ivyfile/conf"><a href="../ivyfile/conf.html" >conf</a></li>
+<li id="xooki-ivyfile/include"><a href="../ivyfile/include.html" >include</a></li>
+</ul></li>
+<li id="xooki-ivyfile/publications" class="submenu"><a href="../ivyfile/publications.html" >publications</a><ul class="closed"><li id="xooki-ivyfile/artifact" class="submenu"><a href="../ivyfile/artifact.html" >artifact</a><ul class="closed"><li id="xooki-ivyfile/artifact-conf"><a href="../ivyfile/artifact-conf.html" >conf</a></li>
+</ul></li>
+</ul></li>
+<li id="xooki-ivyfile/dependencies" class="submenu"><a href="../ivyfile/dependencies.html" >dependencies</a><ul class="closed"><li id="xooki-ivyfile/dependency" class="submenu"><a href="../ivyfile/dependency.html" >dependency</a><ul class="closed"><li id="xooki-ivyfile/dependency-conf" class="submenu"><a href="../ivyfile/dependency-conf.html" >conf</a><ul class="closed"><li id="xooki-ivyfile/mapped"><a href="../ivyfile/mapped.html" >mapped</a></li>
+</ul></li>
+<li id="xooki-ivyfile/dependency-artifact" class="submenu"><a href="../ivyfile/dependency-artifact.html" >artifact</a><ul class="closed"><li id="xooki-ivyfile/dependency-artifact-conf"><a href="../ivyfile/dependency-artifact-conf.html" >conf</a></li>
+</ul></li>
+<li id="xooki-ivyfile/artifact-exclude" class="submenu"><a href="../ivyfile/artifact-exclude.html" >exclude</a><ul class="closed"><li id="xooki-ivyfile/artifact-exclude-conf"><a href="../ivyfile/artifact-exclude-conf.html" >conf</a></li>
+</ul></li>
+<li id="xooki-ivyfile/dependency-include" class="submenu"><a href="../ivyfile/dependency-include.html" >include</a><ul class="closed"><li id="xooki-ivyfile/dependency-include-conf"><a href="../ivyfile/dependency-include-conf.html" >conf</a></li>
+</ul></li>
+</ul></li>
+<li id="xooki-ivyfile/exclude"><a href="../ivyfile/exclude.html" >exclude</a></li>
+<li id="xooki-ivyfile/override"><a href="../ivyfile/override.html" >override</a></li>
+<li id="xooki-ivyfile/conflict"><a href="../ivyfile/conflict.html" >conflict</a></li>
+</ul></li>
+<li id="xooki-ivyfile/conflicts" class="submenu"><a href="../ivyfile/conflicts.html" >conflicts</a><ul class="closed"><li id="xooki-ivyfile/manager"><a href="../ivyfile/manager.html" >manager</a></li>
+</ul></li>
+</ul></li>
+<li id="xooki-ant" class="submenu"><a href="../ant.html" >Ant Tasks</a><ul class="closed"><li id="xooki-use/artifactproperty"><a href="../use/artifactproperty.html" >artifactproperty</a></li>
+<li id="xooki-use/artifactreport"><a href="../use/artifactreport.html" >artifactreport</a></li>
+<li id="xooki-use/buildlist"><a href="../use/buildlist.html" >buildlist</a></li>
+<li id="xooki-use/buildobr"><a href="../use/buildobr.html" >buildobr</a></li>
+<li id="xooki-use/buildnumber"><a href="../use/buildnumber.html" >buildnumber</a></li>
+<li id="xooki-use/cachefileset"><a href="../use/cachefileset.html" >cachefileset</a></li>
+<li id="xooki-use/cachepath"><a href="../use/cachepath.html" >cachepath</a></li>
+<li id="xooki-use/checkdepsupdate"><a href="../use/checkdepsupdate.html" >checkdepsupdate</a></li>
+<li id="xooki-use/cleancache"><a href="../use/cleancache.html" >cleancache</a></li>
+<li id="xooki-use/configure"><a href="../use/configure.html" >configure</a></li>
+<li id="xooki-use/convertmanifest"><a href="../use/convertmanifest.html" >convertmanifest</a></li>
+<li id="xooki-use/convertpom"><a href="../use/convertpom.html" >convertpom</a></li>
+<li id="xooki-use/deliver"><a href="../use/deliver.html" >deliver</a></li>
+<li id="xooki-use/dependencytree"><a href="../use/dependencytree.html" >dependencytree</a></li>
+<li id="xooki-use/findrevision"><a href="../use/findrevision.html" >findrevision</a></li>
+<li id="xooki-use/fixdeps"><a href="../use/fixdeps.html" >fixdeps</a></li>
+<li id="xooki-use/info"><a href="../use/info.html" >info</a></li>
+<li id="xooki-use/install"><a href="../use/install.html" >install</a></li>
+<li id="xooki-use/listmodules"><a href="../use/listmodules.html" >listmodules</a></li>
+<li id="xooki-use/makepom"><a href="../use/makepom.html" >makepom</a></li>
+<li id="xooki-use/postresolvetask"><a href="../use/postresolvetask.html" >post resolve tasks</a></li>
+<li id="xooki-use/publish"><a href="../use/publish.html" >publish</a></li>
+<li id="xooki-use/repreport"><a href="../use/repreport.html" >repreport</a></li>
+<li id="xooki-use/resolve"><a href="../use/resolve.html" >resolve</a></li>
+<li id="xooki-use/resources"><a href="../use/resources.html" >resources</a></li>
+<li id="xooki-use/retrieve"><a href="../use/retrieve.html" >retrieve</a></li>
+<li id="xooki-use/report" class="submenu"><a href="../use/report.html" >report</a><ul class="closed"><li id="xooki-yed"><a href="../yed.html" >Using yEd to layout report graphs</a></li>
+</ul></li>
+<li id="xooki-use/settings"><a href="../use/settings.html" >settings</a></li>
+<li id="xooki-use/var"><a href="../use/var.html" >var</a></li>
+</ul></li>
+<li id="xooki-standalone"><a href="../standalone.html" >Using standalone</a></li>
+<li id="xooki-osgi" class="submenu"><a href="../osgi.html" >OSGi</a><ul class="closed"><li id="xooki-osgi/osgi-mapping"><a href="../osgi/osgi-mapping.html" >OSGi mapping</a></li>
+<li id="xooki-osgi/eclipse-plugin"><a href="../osgi/eclipse-plugin.html" >Building an Eclipse plugin</a></li>
+<li id="xooki-osgi/standard-osgi"><a href="../osgi/standard-osgi.html" >Building a standard OSGi bundle</a></li>
+<li id="xooki-osgi/target-platform"><a href="../osgi/target-platform.html" >Managing a target platform</a></li>
+<li id="xooki-osgi/sigil"><a href="../osgi/sigil.html" >Apache Felix Sigil</a></li>
+</ul></li>
+</ul></li>
+<li id="xooki-dev" class="submenu"><a href="../dev.html" >Developer doc</a><ul class="closed"><li id="xooki-extend"><a href="../extend.html" >Extending Ivy</a></li>
+<li id="xooki-dev/makerelease"><a href="../dev/makerelease.html" >Making a release</a></li>
+</ul></li>
+</ul></li>
+</ul>
+</div>
+
+		<center><iframe src="http://www.apache.org/ads/buttonbar.html"
+                         style="border-width:0;" frameborder="0" scrolling="no"
+                         width="135" height="265"></iframe>
+                </center>
+                
+		</div>
+
+		</td>
+		
+		<td valign="top">
+		<div id="main">
+
+		<h1 class="title">Adjusting default settings</h1>
+            <br class="xooki-br"/>Ivy comes bundled with some default settings which makes it pretty simple to use in a typical environment. This tutorial, which is close to a reference document, explains what those default settings are and how they can be adjusted to your needs. <br class="xooki-br"/><br class="xooki-br"/>To fully understand the concept of settings and what you can do with them, we suggest reading other tutorials related to settings (like <a href="../tutorial/multiple.html">Multiple Resolvers</a> and <a href="../tutorial/dual.html">Dual Resolver</a>) or the <a href="../settings.html">Settings Files</a> reference documentation.<br class="xooki-br"/><br class="xooki-br"/><h1>Concept</h1>
+The default settings include 3 types of repositories:
+<ul>
+<li>local</li> a repository which is private to the user. 
+<li>shared</li> a repository which is shared between all the members of a team
+<li>public</li> a public repository on which most modules, and especially third party modules, can be found
+</ul>
+
+Note that if you work alone, the distinction between a local and shared repository is not very important, but there are some things you should know to distinguish them.<br class="xooki-br"/><br class="xooki-br"/>Now let's describe each of these repository concepts in more detail. We will describe how they are set up physically later.<br class="xooki-br"/><h2>Local</h2>
+The local repository is particularly useful when you want to do something without being disturbed by anything else happening in the environment. This means that whenever Ivy is able to locate a module in this repository it will be used, no matter what is available in others.<br class="xooki-br"/><br class="xooki-br"/>For instance, if you have a module declaring a dependency on the module <i>foo</i> with a revision of <i>latest.integration</i>, then if a revision of <i>foo</i> is found in the local repository, it will be used, <em>even if a more recent revision is available in other repositories</em>. <br class="xooki-br"/><br class="xooki-br"/>This may be disturbing for some of you, but imagine you have to implement a new feature on a project, and in order to achieve that you need to modify two modules: you add a new method in module <i>foo</i> and exploit this new method in module <i>bar</i>. Then if you publish the module <i>foo</i> to your local repository, you will be sure to ge
 t it in your <i>bar</i> module, even if someone else publishes a new revision of <i>foo</i> in the shared repository (this revision not having the new method you are currently adding).<br class="xooki-br"/><br class="xooki-br"/>But be careful, when you have finished your development and publish it on the shared repository, you will have to clean your local repository to benefit from new versions published in the shared repository.<br class="xooki-br"/><br class="xooki-br"/>Note also that modules found in the local repository must be complete, i.e. they must provide both a module descriptor and the published artifacts. <br class="xooki-br"/><h2>Shared</h2>
+As its name suggest, the shared repository is aimed to be shared among a whole development team. It is a place where you can publish your team's private modules, and it's also a place where you can put modules not available in the public repository (sun jars, for instance). You can also put modules here that are simply inaccurate in a public repository (bad or incomplete module descriptors for instance).<br class="xooki-br"/><br class="xooki-br"/>Note that modules can be split across the shared repository and the public one: For example, you can have the module descriptor in the shared repository and the artifacts in the public one.<br class="xooki-br"/><h2>Public</h2>
+The public repository is the place where most modules can be found, but which sometimes lack the information you need. It's usually a repository available through an internet connection only, even if this is not mandatory.<br class="xooki-br"/><h1>Setting up the repositories</h1>
+Now that we have seen the objective of each of the three repositories, let's see how they are setup and how to configure them to fit your needs.<br class="xooki-br"/><br class="xooki-br"/>First, several repositories use the same root in your filesystem. Referenced as <tt>${ivy.default.ivy.user.dir}</tt>, this is by default the directory <tt>.ivy2</tt> in your user home.<br class="xooki-br"/><br class="xooki-br"/>Note that several things can be done by setting Ivy variables. To set them without defining your own <tt>ivysettings.xml</tt> file, you can:<ul>
+<li>set an Ant property before any call to Ivy in your build file if you use Ivy from Ant</li>
+<li>set an environment variable if you use Ivy from the command line</li>
+</ul>
+For example:
+<pre>
+&lt;target name="resolve"&gt;<br class="xooki-br"/>  &lt;property name="ivy.default.ivy.user.dir" value="/path/to/ivy/user/dir"/&gt;<br class="xooki-br"/>  &lt;ivy:resolve /&gt;<br class="xooki-br"/>&lt;/target&gt;
+</pre>
+
+Next we will show you how to override default values for the different kinds of repositories. Note that you can find what the default values are below in the details of the default settings.<br class="xooki-br"/><h2>Local</h2>
+By default, the local repository lies in <tt>${ivy.default.ivy.user.dir}/local</tt>. This is usually a good place, but you may want to modify it. No problem, you just have to set the following Ivy variable to the directory you want to use: <pre>ivy.local.default.root</pre>. For instance:
+<pre>ivy.local.default.root=/opt/ivy/repository/local</pre>.<br class="xooki-br"/><br class="xooki-br"/>If you already have something you would like to use as your local repository, you may also want to modify the layout of this repository. Once again, two variables are available for that:
+<pre>ivy.local.default.ivy.pattern</pre> gives the pattern to find ivy files
+<pre>ivy.local.default.artifact.pattern</pre> gives the pattern to find artifacts<br class="xooki-br"/>For example:
+<pre>
+ivy.local.default.root=/opt/ivy/repository/local<br class="xooki-br"/>ivy.local.default.ivy.pattern=[module]/[revision]/ivy.xml<br class="xooki-br"/>ivy.local.default.artifact.pattern=[module]/[revision]/[artifact].[ext]
+</pre>
+<h2>Shared</h2>
+By default, the shared repository lies in <tt>${ivy.default.ivy.user.dir}/shared</tt>. This is fine if you work alone, but the shared repository is supposed to be, mmm, shared! So changing this directory is often required, and it is usually modified to point to a network shared directory. You can use the <pre>ivy.shared.default.root</pre> variable to specify a different directory. Moreover, you can also configure the layout with variables similar to the ones used for the local repository:
+<pre>ivy.shared.default.ivy.pattern</pre> gives the pattern to find ivy files
+<pre>ivy.shared.default.artifact.pattern</pre> gives the pattern to find artifacts<br class="xooki-br"/>For example:
+<pre>
+ivy.shared.default.root=/opt/ivy/repository/shared<br class="xooki-br"/>ivy.shared.default.ivy.pattern=[organisation]/[module]/[revision]/ivy.xml<br class="xooki-br"/>ivy.shared.default.artifact.pattern=[organisation]/[module]/[revision]/[artifact].[ext]
+</pre>
+
+<h2>Public</h2>
+By default, the public repository is ibiblio in m2 compatible mode (in other words, the maven 2 public repository).<br class="xooki-br"/><br class="xooki-br"/>This repository has the advantage of providing a lot of modules, with metadata for most of them. The quality of metadata is not always perfect, but it's a very good start to use a tool like Ivy and benefit from the power of transitive dependency management. <br class="xooki-br"/><br class="xooki-br"/>Despite its ease of use, we suggest reading the <a href="../bestpractices.html">Best practices</a> to have a good understanding of the pros and cons of using a public unmanaged repository before depending on such a repository for your enterprise build system.<br class="xooki-br"/><br class="xooki-br"/><em>In 1.4 version Ivy was using ivyrep as the default resolver, if you want to restore this, set<br class="xooki-br"/>ivy.14.compatible=true as an ant property</em><br class="xooki-br"/><br class="xooki-br"/><h1>Going further</h1>
+OK, so we have seen how to easily change the settings of the three main repositories. But what if my shared repository is on a web server? What if you don't want to use maven 2 repository as the public repository? What if ... <br class="xooki-br"/><br class="xooki-br"/>No problem, Ivy is very flexible and can be configured with specific settings to match your needs and environment. But before considering writing your own settings from scratch, we suggest reading the following where you will learn how to leverage a part of the default settings and adjust the rest.<br class="xooki-br"/><br class="xooki-br"/>But before explaining how, you will need to have a quick overview of how Ivy is configured by default.<br class="xooki-br"/><br class="xooki-br"/>By default, Ivy is configured using an <tt>ivysettings.xml</tt> which is packaged in the Ivy jar. Here is this settings file:
+<pre>
+&lt;ivysettings&gt;<br class="xooki-br"/>  &lt;settings defaultResolver="default"/&gt;<br class="xooki-br"/>  &lt;include url="${ivy.default.settings.dir}/ivysettings-public.xml"/&gt;<br class="xooki-br"/>  &lt;include url="${ivy.default.settings.dir}/ivysettings-shared.xml"/&gt;<br class="xooki-br"/>  &lt;include url="${ivy.default.settings.dir}/ivysettings-local.xml"/&gt;<br class="xooki-br"/>  &lt;include url="${ivy.default.settings.dir}/ivysettings-main-chain.xml"/&gt;<br class="xooki-br"/>  &lt;include url="${ivy.default.settings.dir}/ivysettings-default-chain.xml"/&gt;<br class="xooki-br"/>&lt;/ivysettings&gt;
+</pre>
+OK, so not much info here, except a lot of inclusions. These inclusions have been done on purpose so that you can easily change only one part of the ivysettings and easily benefit from the rest. For example, if you want to define your own public resolver, you will just have to configure Ivy with an ivysettings like the following:
+<pre>
+&lt;ivysettings&gt;<br class="xooki-br"/>  &lt;settings defaultResolver="default"/&gt;<br class="xooki-br"/>  &lt;include url="<a href="http://myserver/ivy/myivysettings-public.xml">http://myserver/ivy/myivysettings-public.xml</a>"/&gt;<br class="xooki-br"/>  &lt;include url="${ivy.default.settings.dir}/ivysettings-shared.xml"/&gt;<br class="xooki-br"/>  &lt;include url="${ivy.default.settings.dir}/ivysettings-local.xml"/&gt;<br class="xooki-br"/>  &lt;include url="${ivy.default.settings.dir}/ivysettings-main-chain.xml"/&gt;<br class="xooki-br"/>  &lt;include url="${ivy.default.settings.dir}/ivysettings-default-chain.xml"/&gt;<br class="xooki-br"/>&lt;/ivysettings&gt;
+</pre>
+Note that only the <tt>ivysettings-public.xml</tt> inclusion has changed to include a homemade public resolver. Note also that this can be used like that thanks to the fact that <tt>${ivy.default.settings.dir}</tt> is a variable which is always set to the place where Ivy's default settings files are (i.e. packaged in the jar).<br class="xooki-br"/>To finish this example, you have to write your own ivysettings file (that you will make available at <a href="http://myserver/ivy/myivysettings-public.xml">http://myserver/ivy/myivysettings-public.xml</a> in this example) for defining your own public resolver. For instance:
+<pre>
+&lt;ivysettings&gt;<br class="xooki-br"/>  &lt;resolvers&gt;<br class="xooki-br"/>    &lt;filesystem name="public"&gt;<br class="xooki-br"/>      &lt;ivy pattern="/path/to/my/public/rep/[organisation]/[module]/ivy-[revision].xml" /&gt;<br class="xooki-br"/>      &lt;artifact pattern="/path/to/my/public/rep/[organisation]/[module]/[artifact]-[revision].[ext]" /&gt;<br class="xooki-br"/>    &lt;/filesystem&gt;<br class="xooki-br"/>  &lt;/resolvers&gt;<br class="xooki-br"/>&lt;/ivysettings&gt;
+</pre>
+Now the last thing you will need in order to properly take advantage of the default settings is the content of each included ivysettings file:<br class="xooki-br"/><strong>ivysettings-public.xml</strong>
+<pre>
+&lt;ivysettings&gt;<br class="xooki-br"/>  &lt;resolvers&gt;<br class="xooki-br"/>    &lt;ibiblio name="public" m2compatible="true"/&gt;<br class="xooki-br"/>  &lt;/resolvers&gt;<br class="xooki-br"/>&lt;/ivysettings&gt;
+</pre>
+<strong>ivysettings-shared.xml</strong>
+<pre>
+&lt;ivysettings&gt;<br class="xooki-br"/>  &lt;property name="ivy.shared.default.root"             value="${ivy.default.ivy.user.dir}/shared" override="false"/&gt;<br class="xooki-br"/>  &lt;property name="ivy.shared.default.ivy.pattern"      value="[organisation]/[module]/[revision]/[type]s/[artifact].[ext]" override="false"/&gt;<br class="xooki-br"/>  &lt;property name="ivy.shared.default.artifact.pattern" value="[organisation]/[module]/[revision]/[type]s/[artifact].[ext]" override="false"/&gt;<br class="xooki-br"/>  &lt;resolvers&gt;<br class="xooki-br"/>    &lt;filesystem name="shared"&gt;<br class="xooki-br"/>      &lt;ivy pattern="${ivy.shared.default.root}/${ivy.shared.default.ivy.pattern}" /&gt;<br class="xooki-br"/>      &lt;artifact pattern="${ivy.shared.default.root}/${ivy.shared.default.artifact.pattern}" /&gt;<br class="xooki-br"/>    &lt;/filesystem&gt;<br class="xooki-br"/>  &lt;/resolvers&gt;<br class="xooki-br"/>&lt;/ivysettings&gt;
+</pre>
+<strong>ivysettings-local.xml</strong>
+<pre>
+&lt;ivysettings&gt;<br class="xooki-br"/>  &lt;property name="ivy.local.default.root"             value="${ivy.default.ivy.user.dir}/local" override="false"/&gt;<br class="xooki-br"/>  &lt;property name="ivy.local.default.ivy.pattern"      value="[organisation]/[module]/[revision]/[type]s/[artifact].[ext]" override="false"/&gt;<br class="xooki-br"/>  &lt;property name="ivy.local.default.artifact.pattern" value="[organisation]/[module]/[revision]/[type]s/[artifact].[ext]" override="false"/&gt;<br class="xooki-br"/>  &lt;resolvers&gt;<br class="xooki-br"/>    &lt;filesystem name="local"&gt;<br class="xooki-br"/>      &lt;ivy pattern="${ivy.local.default.root}/${ivy.local.default.ivy.pattern}" /&gt;<br class="xooki-br"/>      &lt;artifact pattern="${ivy.local.default.root}/${ivy.local.default.artifact.pattern}" /&gt;<br class="xooki-br"/>    &lt;/filesystem&gt;<br class="xooki-br"/>  &lt;/resolvers&gt;<br class="xooki-br"/>&lt;/ivysettings&gt;
+</pre>
+<strong>ivysettings-main-chain.xml</strong>
+<pre>
+&lt;ivysettings&gt;<br class="xooki-br"/>  &lt;resolvers&gt;<br class="xooki-br"/>    &lt;chain name="main" dual="true"&gt;<br class="xooki-br"/>      &lt;resolver ref="shared"/&gt;<br class="xooki-br"/>      &lt;resolver ref="public"/&gt;<br class="xooki-br"/>    &lt;/chain&gt;<br class="xooki-br"/>  &lt;/resolvers&gt;<br class="xooki-br"/>&lt;/ivysettings&gt;
+</pre>
+<strong>ivysettings-default-chain.xml</strong>
+<pre>
+&lt;ivysettings&gt;<br class="xooki-br"/>  &lt;resolvers&gt;<br class="xooki-br"/>    &lt;chain name="default" returnFirst="true"&gt;<br class="xooki-br"/>      &lt;resolver ref="local"/&gt;<br class="xooki-br"/>      &lt;resolver ref="main"/&gt;<br class="xooki-br"/>    &lt;/chain&gt;<br class="xooki-br"/>  &lt;/resolvers&gt;<br class="xooki-br"/>&lt;/ivysettings&gt;
+</pre>
+
+There you go, you should have enough clues to configure Ivy the way you want. Check the <a href="../settings.html">settings documentation</a> to see if what you want to do is possible, and go ahead!<br class="xooki-br"/>	
+ 		</div><!-- main -->
+		</td>
+	</tr>
+</table>
+
+<table id="footer-menu" summary="Navigation elements." border="0"
+	cellpadding="0" cellspacing="0" width="100%">
+	<tr>
+		<td align="center" valign="middle">
+		<div class="primary-links">:: 
+			<a href="../index.html">Home</a> ::
+			<a href="../download.html">Download</a> ::
+			<a href="../history/latest-milestone/index.html">Documentation</a> ::
+			<a href="../get-involved.html">Get Involved</a> ::
+			<a href="../search.html">Search</a> ::
+		</div>
+		</td>
+	</tr>
+</table>
+
+<div id="footer-message" class="footer">
+    <hr />
+    <i>Copyright &#169; 2014 The Apache Software Foundation, Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a>.</i><br />
+    <i>Apache Ivy, Apache Ant, Ivy, Ant, Apache, the Apache Ivy logo, the Apache Ant logo and the Apache feather logo are trademarks of The Apache Software Foundation.</i><br />
+    <i>All other marks mentioned may be trademarks or registered trademarks of their respective owners. </i>
+</div>
+
+</div><!-- body -->
+</body>
+</html>

Propchange: ant/site/ivy/production/history/2.4.0/tutorial/defaultconf.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ant/site/ivy/production/history/2.4.0/tutorial/defaultconf.html
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: ant/site/ivy/production/history/2.4.0/tutorial/defaultconf.html
------------------------------------------------------------------------------
    svn:mime-type = text/html

Added: ant/site/ivy/production/history/2.4.0/tutorial/dependence.html
URL: http://svn.apache.org/viewvc/ant/site/ivy/production/history/2.4.0/tutorial/dependence.html?rev=1647991&view=auto
==============================================================================
--- ant/site/ivy/production/history/2.4.0/tutorial/dependence.html (added)
+++ ant/site/ivy/production/history/2.4.0/tutorial/dependence.html Fri Dec 26 16:13:30 2014
@@ -0,0 +1,390 @@
+<!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>	
+	
+
+<title>Project dependencies | Apache Ivy&#153;</title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+  <link rel="stylesheet" type="text/css" href="../style/style.css" />
+  <script src="../js/jquery.pack.js" type="text/javascript"></script>
+  <script src="../js/jquery.treeview.js" type="text/javascript"></script>
+  <script type="text/javascript">
+  $(document).ready(function(){$("#treemenu").Treeview({speed: "fast",store: true});});
+  </script>
+
+<script language="javascript" type="text/javascript">xooki = {u: function(url) {return "../xooki/"+url;}};</script>
+</head>
+<body>
+
+<div id="body">
+<table id="header" summary="Navigation elements." border="0"
+	cellpadding="0" cellspacing="0" width="100%">
+	<tr>
+		<td id="home" width="30%"><a href="http://ant.apache.org/"
+			title="Apache Ant"><img src="../images/ant-group-logo.gif" alt="Apache Ant"
+			border="0" /></a></td>
+
+		<td class="product" width="70%" align="right" valign="middle"><img
+			src="../images/logo.png" alt="ivy" border="0" /></td>
+	</tr>
+</table>
+
+<table id="top-menu" summary="Navigation elements." border="0"
+	cellpadding="0" cellspacing="0" width="100%">
+	<tr>
+		<td>
+
+        <div style="float:right;margin: 0 10px;">
+        <!-- Google CSE Search Box Begins -->
+  <form id="searchbox_014292259695392975429:5y6qypnrni8" action="http://ant.apache.org/ivy/search.html">
+    <input type="hidden" name="cx" value="014292259695392975429:5y6qypnrni8" />
+    <input type="hidden" name="cof" value="FORID:11" />
+    <input name="q" type="text" size="30" />
+    <input type="submit" name="sa" value="Search" />
+  </form>
+  <script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=searchbox_014292259695392975429%3A5y6qypnrni8"></script>
+<!-- Google CSE Search Box Ends -->
+        </div>
+
+		<div id="navcontainer">
+		<a href="http://www.apache.org/">Apache&#153;</a> &gt; <a href="http://ant.apache.org/">Apache Ant&#153;</a> &gt; <a href="http://ant.apache.org/ivy/">Apache Ivy&#153;</a> &gt; <span class="breadCrumb"><a href="../index.html" >Documentation (2.4.0)</a> &gt; <a href="../tutorial.html" >Tutorials</a> &gt; <a href="../tutorial/dependence.html" class="current">Project dependencies</a></span>
+		</div>
+		</td>
+	</tr>
+
+</table>
+
+<table id="content" border="0" cellpadding="0" cellspacing="0"
+	width="100%">
+	<tr>
+		<td id="sidebar-left">
+		<div class="block block-book" id="block-book-0">
+		<h2>Apache Ivy&#153;</h2>
+
+		<div class="content"><ul id="treemenu" class="treeview">
+<li id="xooki-index" class="submenu"><a href="../index.html" >Documentation (2.4.0)</a><ul class="open"><li id="xooki-release-notes"><a href="../release-notes.html" >Release Notes</a></li>
+<li id="xooki-tutorial" class="submenu"><a href="../tutorial.html" >Tutorials</a><ul class="open"><li id="xooki-tutorial/start"><a href="../tutorial/start.html" >Quick Start</a></li>
+<li id="xooki-tutorial/defaultconf"><a href="../tutorial/defaultconf.html" >Adjusting default settings</a></li>
+<li id="xooki-tutorial/multiple"><a href="../tutorial/multiple.html" >Multiple Resolvers</a></li>
+<li id="xooki-tutorial/dual"><a href="../tutorial/dual.html" >Dual Resolver</a></li>
+<li id="xooki-tutorial/dependence"><a href="../tutorial/dependence.html" class="current">Project dependencies</a></li>
+<li id="xooki-tutorial/multiproject"><a href="../tutorial/multiproject.html" >Using Ivy in multiple projects environment</a></li>
+<li id="xooki-tutorial/conf"><a href="../tutorial/conf.html" >Using Ivy Module Configurations</a></li>
+<li id="xooki-tutorial/build-repository" class="submenu"><a href="../tutorial/build-repository.html" >Building a repository</a><ul class="closed"><li id="xooki-tutorial/build-repository/basic"><a href="../tutorial/build-repository/basic.html" >Basic repository copy</a></li>
+<li id="xooki-tutorial/build-repository/advanced"><a href="../tutorial/build-repository/advanced.html" >Using namespaces</a></li>
+</ul></li>
+<li id="xooki-moreexamples"><a href="../moreexamples.html" >More examples</a></li>
+</ul></li>
+<li id="xooki-reference" class="submenu"><a href="../reference.html" >Reference</a><ul class="closed"><li id="xooki-intro" class="submenu">Introduction<ul class="closed"><li id="xooki-terminology"><a href="../terminology.html" >Terminology</a></li>
+<li id="xooki-concept"><a href="../concept.html" >Main Concepts</a></li>
+<li id="xooki-textual"><a href="../textual.html" >Text Conventions</a></li>
+<li id="xooki-principle"><a href="../principle.html" >How does it work ?</a></li>
+<li id="xooki-bestpractices"><a href="../bestpractices.html" >Best practices</a></li>
+<li id="xooki-compatibility"><a href="../compatibility.html" >Compatibility</a></li>
+<li id="xooki-install"><a href="../install.html" >Installation</a></li>
+</ul></li>
+<li id="xooki-settings" class="submenu"><a href="../settings.html" >Settings Files</a><ul class="closed"><li id="xooki-settings/property"><a href="../settings/property.html" >property</a></li>
+<li id="xooki-settings/properties"><a href="../settings/properties.html" >properties</a></li>
+<li id="xooki-settings/settings"><a href="../settings/settings.html" >settings</a></li>
+<li id="xooki-settings/include"><a href="../settings/include.html" >include</a></li>
+<li id="xooki-settings/classpath"><a href="../settings/classpath.html" >classpath</a></li>
+<li id="xooki-settings/typedef"><a href="../settings/typedef.html" >typedef</a></li>
+<li id="xooki-settings/credentials"><a href="../settings/credentials.html" >credentials</a></li>
+<li id="xooki-settings/signers"><a href="../settings/signers.html" >signers</a></li>
+<li id="xooki-settings/lock-strategies"><a href="../settings/lock-strategies.html" >lock-strategies</a></li>
+<li id="xooki-settings/caches" class="submenu"><a href="../settings/caches.html" >caches</a><ul class="closed"><li id="xooki-settings/caches/cache" class="submenu"><a href="../settings/caches/cache.html" >cache</a><ul class="closed"><li id="xooki-settings/caches/ttl"><a href="../settings/caches/ttl.html" >ttl</a></li>
+</ul></li>
+</ul></li>
+<li id="xooki-settings/latest-strategies"><a href="../settings/latest-strategies.html" >latest-strategies</a></li>
+<li id="xooki-settings/parsers"><a href="../settings/parsers.html" >parsers</a></li>
+<li id="xooki-settings/namespaces" class="submenu"><a href="../settings/namespaces.html" >namespaces</a><ul class="closed"><li id="xooki-settings/namespace" class="submenu"><a href="../settings/namespace.html" >namespace</a><ul class="closed"><li id="xooki-settings/namespace/rule" class="submenu"><a href="../settings/namespace/rule.html" >rule</a><ul class="closed"><li id="xooki-settings/namespace/fromtosystem" class="submenu"><a href="../settings/namespace/fromtosystem.html" >fromsystem / tosystem</a><ul class="closed"><li id="xooki-settings/namespace/src"><a href="../settings/namespace/src.html" >src</a></li>
+<li id="xooki-settings/namespace/dest"><a href="../settings/namespace/dest.html" >dest</a></li>
+</ul></li>
+</ul></li>
+</ul></li>
+</ul></li>
+<li id="xooki-settings/macrodef" class="submenu"><a href="../settings/macrodef.html" >macrodef</a><ul class="closed"><li id="xooki-settings/macrodef/attribute"><a href="../settings/macrodef/attribute.html" >attribute</a></li>
+</ul></li>
+<li id="xooki-settings/resolvers" class="submenu"><a href="../settings/resolvers.html" >resolvers</a><ul class="closed"><li id="xooki-resolver/ivyrep"><a href="../resolver/ivyrep.html" >IvyRep Resolver</a></li>
+<li id="xooki-resolver/ibiblio"><a href="../resolver/ibiblio.html" >IBiblio Resolver</a></li>
+<li id="xooki-resolver/packager"><a href="../resolver/packager.html" >Packager resolver</a></li>
+<li id="xooki-resolver/filesystem"><a href="../resolver/filesystem.html" >File System resolver</a></li>
+<li id="xooki-resolver/url"><a href="../resolver/url.html" >Url Resolver</a></li>
+<li id="xooki-resolver/chain"><a href="../resolver/chain.html" >Chain Resolver</a></li>
+<li id="xooki-resolver/dual"><a href="../resolver/dual.html" >Dual resolver</a></li>
+<li id="xooki-resolver/sftp"><a href="../resolver/sftp.html" >sftp resolver</a></li>
+<li id="xooki-resolver/ssh"><a href="../resolver/ssh.html" >ssh resolver</a></li>
+<li id="xooki-resolver/vfs"><a href="../resolver/vfs.html" >vfs resolver</a></li>
+<li id="xooki-resolver/jar"><a href="../resolver/jar.html" >Jar resolver</a></li>
+<li id="xooki-resolver/obr"><a href="../resolver/obr.html" >OSGi Bundle Repository</a></li>
+<li id="xooki-resolver/osgiagg"><a href="../resolver/osgiagg.html" >Aggregated OSGi Repository</a></li>
+<li id="xooki-resolver/updatesite"><a href="../resolver/updatesite.html" >Eclipse updatesite</a></li>
+<li id="xooki-resolver/mirrored"><a href="../resolver/mirrored.html" >Mirrored Resolver</a></li>
+<li id="xooki-resolver/bintray"><a href="../resolver/bintray.html" >Bintray Resolver</a></li>
+</ul></li>
+<li id="xooki-settings/conflict-managers"><a href="../settings/conflict-managers.html" >conflict-managers</a></li>
+<li id="xooki-settings/modules" class="submenu"><a href="../settings/modules.html" >modules</a><ul class="closed"><li id="xooki-settings/module"><a href="../settings/module.html" >module</a></li>
+</ul></li>
+<li id="xooki-settings/outputters"><a href="../settings/outputters.html" >outputters</a></li>
+<li id="xooki-settings/signers"><a href="../settings/signers.html" >signers</a></li>
+<li id="xooki-settings/statuses" class="submenu"><a href="../settings/statuses.html" >statuses</a><ul class="closed"><li id="xooki-settings/status"><a href="../settings/status.html" >status</a></li>
+</ul></li>
+<li id="xooki-settings/triggers"><a href="../settings/triggers.html" >triggers</a></li>
+<li id="xooki-settings/version-matchers"><a href="../settings/version-matchers.html" >version-matchers</a></li>
+</ul></li>
+<li id="xooki-ivyfile" class="submenu"><a href="../ivyfile.html" >Ivy Files</a><ul class="closed"><li id="xooki-ivyfile/info" class="submenu"><a href="../ivyfile/info.html" >info</a><ul class="closed"><li id="xooki-ivyfile/extends"><a href="../ivyfile/extends.html" >extends</a></li>
+<li id="xooki-ivyfile/license"><a href="../ivyfile/license.html" >license</a></li>
+<li id="xooki-ivyfile/ivyauthor"><a href="../ivyfile/ivyauthor.html" >ivyauthor</a></li>
+<li id="xooki-ivyfile/repository"><a href="../ivyfile/repository.html" >repository</a></li>
+<li id="xooki-ivyfile/description"><a href="../ivyfile/description.html" >description</a></li>
+</ul></li>
+<li id="xooki-ivyfile/configurations" class="submenu"><a href="../ivyfile/configurations.html" >configurations</a><ul class="closed"><li id="xooki-ivyfile/conf"><a href="../ivyfile/conf.html" >conf</a></li>
+<li id="xooki-ivyfile/include"><a href="../ivyfile/include.html" >include</a></li>
+</ul></li>
+<li id="xooki-ivyfile/publications" class="submenu"><a href="../ivyfile/publications.html" >publications</a><ul class="closed"><li id="xooki-ivyfile/artifact" class="submenu"><a href="../ivyfile/artifact.html" >artifact</a><ul class="closed"><li id="xooki-ivyfile/artifact-conf"><a href="../ivyfile/artifact-conf.html" >conf</a></li>
+</ul></li>
+</ul></li>
+<li id="xooki-ivyfile/dependencies" class="submenu"><a href="../ivyfile/dependencies.html" >dependencies</a><ul class="closed"><li id="xooki-ivyfile/dependency" class="submenu"><a href="../ivyfile/dependency.html" >dependency</a><ul class="closed"><li id="xooki-ivyfile/dependency-conf" class="submenu"><a href="../ivyfile/dependency-conf.html" >conf</a><ul class="closed"><li id="xooki-ivyfile/mapped"><a href="../ivyfile/mapped.html" >mapped</a></li>
+</ul></li>
+<li id="xooki-ivyfile/dependency-artifact" class="submenu"><a href="../ivyfile/dependency-artifact.html" >artifact</a><ul class="closed"><li id="xooki-ivyfile/dependency-artifact-conf"><a href="../ivyfile/dependency-artifact-conf.html" >conf</a></li>
+</ul></li>
+<li id="xooki-ivyfile/artifact-exclude" class="submenu"><a href="../ivyfile/artifact-exclude.html" >exclude</a><ul class="closed"><li id="xooki-ivyfile/artifact-exclude-conf"><a href="../ivyfile/artifact-exclude-conf.html" >conf</a></li>
+</ul></li>
+<li id="xooki-ivyfile/dependency-include" class="submenu"><a href="../ivyfile/dependency-include.html" >include</a><ul class="closed"><li id="xooki-ivyfile/dependency-include-conf"><a href="../ivyfile/dependency-include-conf.html" >conf</a></li>
+</ul></li>
+</ul></li>
+<li id="xooki-ivyfile/exclude"><a href="../ivyfile/exclude.html" >exclude</a></li>
+<li id="xooki-ivyfile/override"><a href="../ivyfile/override.html" >override</a></li>
+<li id="xooki-ivyfile/conflict"><a href="../ivyfile/conflict.html" >conflict</a></li>
+</ul></li>
+<li id="xooki-ivyfile/conflicts" class="submenu"><a href="../ivyfile/conflicts.html" >conflicts</a><ul class="closed"><li id="xooki-ivyfile/manager"><a href="../ivyfile/manager.html" >manager</a></li>
+</ul></li>
+</ul></li>
+<li id="xooki-ant" class="submenu"><a href="../ant.html" >Ant Tasks</a><ul class="closed"><li id="xooki-use/artifactproperty"><a href="../use/artifactproperty.html" >artifactproperty</a></li>
+<li id="xooki-use/artifactreport"><a href="../use/artifactreport.html" >artifactreport</a></li>
+<li id="xooki-use/buildlist"><a href="../use/buildlist.html" >buildlist</a></li>
+<li id="xooki-use/buildobr"><a href="../use/buildobr.html" >buildobr</a></li>
+<li id="xooki-use/buildnumber"><a href="../use/buildnumber.html" >buildnumber</a></li>
+<li id="xooki-use/cachefileset"><a href="../use/cachefileset.html" >cachefileset</a></li>
+<li id="xooki-use/cachepath"><a href="../use/cachepath.html" >cachepath</a></li>
+<li id="xooki-use/checkdepsupdate"><a href="../use/checkdepsupdate.html" >checkdepsupdate</a></li>
+<li id="xooki-use/cleancache"><a href="../use/cleancache.html" >cleancache</a></li>
+<li id="xooki-use/configure"><a href="../use/configure.html" >configure</a></li>
+<li id="xooki-use/convertmanifest"><a href="../use/convertmanifest.html" >convertmanifest</a></li>
+<li id="xooki-use/convertpom"><a href="../use/convertpom.html" >convertpom</a></li>
+<li id="xooki-use/deliver"><a href="../use/deliver.html" >deliver</a></li>
+<li id="xooki-use/dependencytree"><a href="../use/dependencytree.html" >dependencytree</a></li>
+<li id="xooki-use/findrevision"><a href="../use/findrevision.html" >findrevision</a></li>
+<li id="xooki-use/fixdeps"><a href="../use/fixdeps.html" >fixdeps</a></li>
+<li id="xooki-use/info"><a href="../use/info.html" >info</a></li>
+<li id="xooki-use/install"><a href="../use/install.html" >install</a></li>
+<li id="xooki-use/listmodules"><a href="../use/listmodules.html" >listmodules</a></li>
+<li id="xooki-use/makepom"><a href="../use/makepom.html" >makepom</a></li>
+<li id="xooki-use/postresolvetask"><a href="../use/postresolvetask.html" >post resolve tasks</a></li>
+<li id="xooki-use/publish"><a href="../use/publish.html" >publish</a></li>
+<li id="xooki-use/repreport"><a href="../use/repreport.html" >repreport</a></li>
+<li id="xooki-use/resolve"><a href="../use/resolve.html" >resolve</a></li>
+<li id="xooki-use/resources"><a href="../use/resources.html" >resources</a></li>
+<li id="xooki-use/retrieve"><a href="../use/retrieve.html" >retrieve</a></li>
+<li id="xooki-use/report" class="submenu"><a href="../use/report.html" >report</a><ul class="closed"><li id="xooki-yed"><a href="../yed.html" >Using yEd to layout report graphs</a></li>
+</ul></li>
+<li id="xooki-use/settings"><a href="../use/settings.html" >settings</a></li>
+<li id="xooki-use/var"><a href="../use/var.html" >var</a></li>
+</ul></li>
+<li id="xooki-standalone"><a href="../standalone.html" >Using standalone</a></li>
+<li id="xooki-osgi" class="submenu"><a href="../osgi.html" >OSGi</a><ul class="closed"><li id="xooki-osgi/osgi-mapping"><a href="../osgi/osgi-mapping.html" >OSGi mapping</a></li>
+<li id="xooki-osgi/eclipse-plugin"><a href="../osgi/eclipse-plugin.html" >Building an Eclipse plugin</a></li>
+<li id="xooki-osgi/standard-osgi"><a href="../osgi/standard-osgi.html" >Building a standard OSGi bundle</a></li>
+<li id="xooki-osgi/target-platform"><a href="../osgi/target-platform.html" >Managing a target platform</a></li>
+<li id="xooki-osgi/sigil"><a href="../osgi/sigil.html" >Apache Felix Sigil</a></li>
+</ul></li>
+</ul></li>
+<li id="xooki-dev" class="submenu"><a href="../dev.html" >Developer doc</a><ul class="closed"><li id="xooki-extend"><a href="../extend.html" >Extending Ivy</a></li>
+<li id="xooki-dev/makerelease"><a href="../dev/makerelease.html" >Making a release</a></li>
+</ul></li>
+</ul></li>
+</ul>
+</div>
+
+		<center><iframe src="http://www.apache.org/ads/buttonbar.html"
+                         style="border-width:0;" frameborder="0" scrolling="no"
+                         width="135" height="265"></iframe>
+                </center>
+                
+		</div>
+
+		</td>
+		
+		<td valign="top">
+		<div id="main">
+
+		<h1 class="title">Project dependencies</h1>
+            <br class="xooki-br"/>This tutorial will show you how to use Ivy when one of your projects depends on another.<br class="xooki-br"/><br class="xooki-br"/>For our example, we will have two projects, depender and dependee, where the depender project uses/requires the dependee project. This example will help illustrate two things about Ivy: 
+<ul>
+  <li>that dependencies defined by parent projects (dependee) will automatically be retrieved for use by child projects (depender)</li>
+  <li>that child projects can retrieve the "latest" version of the dependee project</li>
+</ul>
+<h1>projects used</h1>
+<h2>dependee</h2>
+The dependee project is very simple. It depends on the apache library commons-lang and contains only one class: <tt>standalone.Main</tt> which provides two services:
+<ul>
+  <li>return the version of the project</li>
+  <li>capitalize a string using <tt>org.apache.commons.lang.WordUtils.capitalizeFully</tt></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 project ivy file</li>
+  <li>src\standalone\Main.java: the only class of the project</li>
+</ul>
+Take a look at the <b>ivy.xml</b> file:
+<pre>
+&lt;ivy-module version="1.0"&gt;<br class="xooki-br"/>    &lt;info organisation="org.apache" module="dependee"/&gt;<br class="xooki-br"/>    &lt;dependencies&gt;<br class="xooki-br"/>        &lt;dependency org="commons-lang" name="commons-lang" rev="2.0"/&gt;<br class="xooki-br"/>    &lt;/dependencies&gt;<br class="xooki-br"/>&lt;/ivy-module&gt;
+</pre>
+
+The ivy file declares only one dependency, that being the apache commons-lang library.<br class="xooki-br"/><h2>depender</h2>
+The depender project is very simple as well. It declares only one dependency on the latest version of the dependee project, and it contains only one class, <tt>depending.Main</tt>, which does 2 things:
+<ul>
+  <li>gets the version of the standalone project by calling <tt>standalone.Main.getVersion()</tt></li>
+  <li>transforms a string by calling <tt>standalone.Main.capitalizeWords(str)</tt></li>
+</ul>
+Take a look at the <tt>ivy.xml</tt> file:
+<pre>
+&lt;ivy-module version="1.0"&gt;<br class="xooki-br"/>    &lt;info organisation="org.apache" module="depender"/&gt;<br class="xooki-br"/>    &lt;dependencies&gt;<br class="xooki-br"/>        &lt;dependency name="dependee" rev="latest.integration" /&gt;<br class="xooki-br"/>    &lt;/dependencies&gt;<br class="xooki-br"/>&lt;/ivy-module&gt;
+</pre>
+
+<h1>settings</h1>
+The Ivy settings are defined in two files located in the settings directory:
+<ul>
+  <li><tt>ivysettings.properties</tt>: a property file</li>
+  <li><tt>ivysettings.xml</tt>: the file containing the settings</li>
+</ul>
+
+Let's have a look at the <tt>ivysettings.xml</tt> file:
+<pre>
+&lt;ivysettings&gt;<br class="xooki-br"/>	&lt;properties file="${ivy.settings.dir}/ivysettings.properties"/&gt;<br class="xooki-br"/>	&lt;settings defaultResolver="libraries" /&gt;<br class="xooki-br"/>	&lt;caches defaultCacheDir="${ivy.settings.dir}/ivy-cache" /&gt;<br class="xooki-br"/>	&lt;resolvers&gt;<br class="xooki-br"/>		&lt;filesystem name="projects"&gt;<br class="xooki-br"/>			&lt;artifact pattern="${repository.dir}/[artifact]-[revision].[ext]" /&gt;<br class="xooki-br"/>			&lt;ivy pattern="${repository.dir}/[module]-[revision].xml" /&gt;<br class="xooki-br"/>		&lt;/filesystem&gt;<br class="xooki-br"/>		&lt;ibiblio name="libraries" m2compatible="true" usepoms="false" /&gt;<br class="xooki-br"/>	&lt;/resolvers&gt;<br class="xooki-br"/>	&lt;modules&gt;<br class="xooki-br"/>		&lt;module organisation="org.apache" name="dependee" resolver="projects"/&gt;<br class="xooki-br"/>	&lt;/modules&gt;<br class="xooki-br"/>&lt;/ivysettings&gt;
+</pre>
+The file contains four main tags: properties, settings, resolvers and modules.<br class="xooki-br"/><h2>properties</h2>
+This tag loads some properties for the Ivy process, just like Ant does.<br class="xooki-br"/><h2>settings</h2>
+This tag initializes some parameters for the Ivy process. In this case, the directory that Ivy will use to cache artifacts will be in a sub directory called ivy-cache of the directory containing the <tt>ivysettings.xml</tt> file itself. <br class="xooki-br"/>The second parameter, tells Ivy to use a resolver named "libraries" as its default resolver. More information can be found in the <a href="../settings.html">settings reference documentation</a>.<br class="xooki-br"/><h2>resolvers</h2>
+This tag defines the resolvers to use. Here we have two resolvers defined: "projects" and "libraries".<br class="xooki-br"/>The filesystem resolver called "projects" is able to resolve the internal dependencies by locating them on the local filesystem. <br class="xooki-br"/>The ibiblio resolver called "libraries" is able to find dependencies on the maven 2 repository, but doesn't use maven poms.<br class="xooki-br"/><h2>modules</h2>
+The modules tag allows you to configure which resolver should be used for which module. Here the setting tells Ivy to use the "projects" resolver for all modules having an organisation of <tt>org.apache</tt> and module name of <tt>dependee</tt>. This actually corresponds to only one module, but a regular expression could be used, or many other types of expressions (like glob expressions).<br class="xooki-br"/><br class="xooki-br"/>All other modules (i.e. all modules but org.apache#dependee), will use the default resolver ("libraries").<br class="xooki-br"/><h1>walkthrough</h1>
+<div class="step">
+<h2>step 1: preparation</h2>
+Open a DOS or shell window, and go to the <tt>src/example/dependence</tt> directory.
+</div>
+<div class="step">
+<h2>step 2: clean directory tree</h2>
+On the prompt type: <tt>ant</tt>
+This will clean up the entire project directory tree. You can do this each time you want to clean up this example.
+</div>
+<div class="step">
+<h2>step 3: publication of dependee project</h2>
+Go to <tt>dependee</tt> directory  and publish the project
+<div class="shell"><pre>
+
+</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>
+As you can see, the call to the publish task has resulted in two main things:
+<ul>
+<li>the delivery of a resolved ivy file to <tt>build/ivy.xml</tt>.</li>
+This has been done because by default, the publish task not only publishes artifacts, but also its ivy file. So it has looked to the path where the ivy file to publish should be, using the artifactspattern: <tt>${build.dir}/[artifact].[ext]</tt>. For an ivy file, this resolves to <tt>build/ivy.xml</tt>. Because this file does not exist, it automatically makes a call to the deliver task which delivers a resolved ivy file to this destination.<br class="xooki-br"/>
+<li>the publication of artifact 'dependee' and its resolved ivy file to the repository.</li>
+Both are just copies of the files found in the current project, or more precisely, those in the <tt>build</tt> directory. This is because the artifactspattern has been set to <tt>${build.dir}/[artifact].[ext]</tt>, so the dependee artifact is found at <tt>build/dependee.jar</tt> and the ivy file in <tt>build/ivy.xml</tt>. And because we have asked the publish task to publish them using the "projects" resolver, these files are copied to <tt>repository\dependee-1.jar</tt> and to <tt>repository\dependee-1.xml</tt>, respecting the artifact and ivy patterns of our settings (see above).
+</ul>
+
+<div class="step">
+<h2>step 4: running the depender project</h2>
+Go to directory depender and run <tt>ant</tt>
+<div class="shell"><pre>
+
+</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 version 1 of the project "dependee". The call to <tt>standalone.Main.getVersion()</tt> has returned 1. If you look in the <tt>depender/lib</tt> directory, you should see <tt>dependee-1.jar</tt> which is the version 1 artifact of the project "dependee"</li>
+  <li>the call to <tt>standalone.Main.capitalizeWords(str)</tt> succeed, which means that the required library was in the classpath. If you look at the <tt>lib</tt> directory, you will see that the library <tt>commons-lang-2.0.jar</tt> was also retrieved. This library was declared as a dependency of the "dependee" project, so Ivy retrieves it (transitively) along with the dependee artifact.</li>
+</ul>
+</div>
+<div class="step">
+<h2>step 5: new version of dependee project</h2>
+Like we did before in step 3, publish the dependee project again. This will result in a new version of the project being published.
+<div class="shell"><pre>
+
+</pre></div>
+Now if you look in your repository folder, you will find 2 versions of the dependee project.<br class="xooki-br"/>Let's look at it:
+<div class="shell"><pre>I:\dependee>dir ..\settings\repository /w<br class="xooki-br"/><br class="xooki-br"/>[.]                [..]               dependee-1.jar   dependee-1.xml   dependee-2.jar   dependee-2.xml<br class="xooki-br"/><br class="xooki-br"/>I:\dependee></pre></div>
+</div>
+OK, now our repository contains two versions of the project <b>dependee</b>, so other projects can refer to either version.
+<div class="step">
+<h2>step 6: get the new version in <em>depender</em> project</h2>
+What should we expect if we run the depender project again? It should: 
+<ul>
+  <li>retrieve version 2 as the latest.integration version of the dependee project</li>
+  <li>display version 2 of dependee project</li>
+</ul>
+Let's try it!!
+<div class="shell"><pre>
+
+</pre></div>
+OK, we got what we expected as the <tt>run</tt> target shows that we are using version 2 of the main class of the dependee project. If we take a look at the resolve target results, we see that one artifact has been downloaded to the ivy cache. In fact, this file is the same version 2 of the dependee project that is in the repository, but now all future retrievals will pull it from your ivy-cache directory.
+</div>
+
+	
+ 		</div><!-- main -->
+		</td>
+	</tr>
+</table>
+
+<table id="footer-menu" summary="Navigation elements." border="0"
+	cellpadding="0" cellspacing="0" width="100%">
+	<tr>
+		<td align="center" valign="middle">
+		<div class="primary-links">:: 
+			<a href="../index.html">Home</a> ::
+			<a href="../download.html">Download</a> ::
+			<a href="../history/latest-milestone/index.html">Documentation</a> ::
+			<a href="../get-involved.html">Get Involved</a> ::
+			<a href="../search.html">Search</a> ::
+		</div>
+		</td>
+	</tr>
+</table>
+
+<div id="footer-message" class="footer">
+    <hr />
+    <i>Copyright &#169; 2014 The Apache Software Foundation, Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a>.</i><br />
+    <i>Apache Ivy, Apache Ant, Ivy, Ant, Apache, the Apache Ivy logo, the Apache Ant logo and the Apache feather logo are trademarks of The Apache Software Foundation.</i><br />
+    <i>All other marks mentioned may be trademarks or registered trademarks of their respective owners. </i>
+</div>
+
+</div><!-- body -->
+</body>
+</html>

Propchange: ant/site/ivy/production/history/2.4.0/tutorial/dependence.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ant/site/ivy/production/history/2.4.0/tutorial/dependence.html
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: ant/site/ivy/production/history/2.4.0/tutorial/dependence.html
------------------------------------------------------------------------------
    svn:mime-type = text/html