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:35:11 UTC

svn commit: r1647996 [8/13] - in /ant/site/ivy/production/history/2.4.0: ./ dev/ js/ osgi/ samples/ samples/eclipse-plugin/ samples/standard-osgi/ samples/target-platform/ style/

Added: ant/site/ivy/production/history/2.4.0/osgi/standard-osgi.html
URL: http://svn.apache.org/viewvc/ant/site/ivy/production/history/2.4.0/osgi/standard-osgi.html?rev=1647996&view=auto
==============================================================================
--- ant/site/ivy/production/history/2.4.0/osgi/standard-osgi.html (added)
+++ ant/site/ivy/production/history/2.4.0/osgi/standard-osgi.html Fri Dec 26 16:35:10 2014
@@ -0,0 +1,294 @@
+<!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>Building a standard OSGi bundle | 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="../reference.html" >Reference</a> &gt; <a href="../osgi.html" >OSGi</a> &gt; <a href="../osgi/standard-osgi.html" class="current">Building a standard OSGi bundle</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="closed"><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" >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="open"><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="open"><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" class="current">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">Building a standard OSGi bundle</h1>
+            <br class="xooki-br"/>
+<table class="notice">
+  <tr>
+    <td style="vertical-align: top"><img src="../images/warning.png" style="float:left;" /></td>
+    <td>
+    Note that this feature is considered as <b>experimental</b>. It should work with simple configuration but may not in complex ones. If you have any issue with that feature, you are welcomed to come discussed your use case on the <a href="http://ant.apache.org/ivy/mailing-lists.html">ivy-user</a> mailing list, or discuss about implementation issues or improvement you may have found on <a href="http://ant.apache.org/ivy/mailing-lists.html">ant-dev</a>.<br class="xooki-br"/>    </td>
+  </tr>
+</table>
+
+<hr />
+<center><b>TODO - WORK IN PROGRESS</b></center>
+<hr />
+
+This page describes how to build an OSGi&#153; bundle with Apache Ivy&#153;. In this use case, we just basically want to compute a classpath to compile, optionaly one for testing too, and then publish our bundle in a OSGi aware repository.<br class="xooki-br"/><br class="xooki-br"/>In oder to produce OSGi metadata of suffient quality and to avoid maintaining them manually, the <a href="http://www.aqute.biz/Code/Bnd">bnd</a> tool will be used. The approach taken is then an "Ivy file first" approach. The dependencies will be specified in the ivy.xml file, the MANIFEST.MF being generated from the computed classpath.<br class="xooki-br"/><br class="xooki-br"/><br class="xooki-br"/><h1>Quick setup</h1>
+
+In few steps, we will setup a build to compile and publish an OSGi bundle.<br class="xooki-br"/><br class="xooki-br"/><ol>
+<li>download this <a href="../samples/standard-osgi/ivy.xml">ivy.xml<a>, this <a href="../samples/standard-osgi/ivysettings.xml">ivysettings.xml</a>, this <a href="../samples/standard-osgi/build.xml">build.xml</a>, this <a href="../samples/standard-osgi/org.apache.ivy.sample.standard-osgi.bnd">bnd file</a>, and put them into your project folder;</li>
+<li>in the ivysettings.properties, specify the location of the plugins folder of your Eclipse target;</li>
+<li><i>(optional)</i> by default the build.xml is expecting the sources to be in the <tt>src</tt> folder. You may want to edit it if it is not the case</li>
+<li><i>(optional)</i> if Ivy is not in Ant's classpath, get the jar of <a href="../download.html">Apache Ivy</a> and edit the build.xml accordingly (see the comments at the begining of the file)</li>
+</ol>
+
+	
+ 		</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/osgi/standard-osgi.html
------------------------------------------------------------------------------
    svn:eol-style = native

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

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

Added: ant/site/ivy/production/history/2.4.0/osgi/target-platform.html
URL: http://svn.apache.org/viewvc/ant/site/ivy/production/history/2.4.0/osgi/target-platform.html?rev=1647996&view=auto
==============================================================================
--- ant/site/ivy/production/history/2.4.0/osgi/target-platform.html (added)
+++ ant/site/ivy/production/history/2.4.0/osgi/target-platform.html Fri Dec 26 16:35:10 2014
@@ -0,0 +1,290 @@
+<!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>Managing a target platform | 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="../reference.html" >Reference</a> &gt; <a href="../osgi.html" >OSGi</a> &gt; <a href="../osgi/target-platform.html" class="current">Managing a target platform</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="closed"><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" >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="open"><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="open"><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" class="current">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">Managing a target platform</h1>
+            <br class="xooki-br"/>
+<table class="notice">
+  <tr>
+    <td style="vertical-align: top"><img src="../images/warning.png" style="float:left;" /></td>
+    <td>
+    Note that this feature is considered as <b>experimental</b>. It should work with simple configuration but may not in complex ones. If you have any issue with that feature, you are welcomed to come discussed your use case on the <a href="http://ant.apache.org/ivy/mailing-lists.html">ivy-user</a> mailing list, or discuss about implementation issues or improvement you may have found on <a href="http://ant.apache.org/ivy/mailing-lists.html">ant-dev</a>.<br class="xooki-br"/>    </td>
+  </tr>
+</table>
+
+The concept of "target platform" is a concept introduced by Eclipse&#153; to describe the set of bundle which will run together in an OSGi&#153; environement. Then when developping an OSGi bundle, we expect it to run in a such "target platform".<br class="xooki-br"/><br class="xooki-br"/>When developping a single OSGi bundle, a single ivy.xml (together with the use of the <a href="../use/fixdeps.html">fixdeps</a> task) is sufficent to describe precisely how the bundle requirements.<br class="xooki-br"/><br class="xooki-br"/>But when developping several bundles, it will be error prone to declare for each bundle its dependencies. Because once deployed in an OSGi environement, the bindings are sensitive to the available bundles. So when developping, we must ensure that the set of bundles will be the same set as the one at deploy time.<br class="xooki-br"/><br class="xooki-br"/>The concept of "target platform" is a perfect fit to describe the set of bundles to resolve against. Here is a
  recipe to handle it with just Ant+Ivy.<br class="xooki-br"/><br class="xooki-br"/><h1>A Target Platform Project</h1>
+
+First you need a project (basically a folder) in which you will manage your target platform. In this project you'll need 3 files:
+<ul>
+<li>an <a href="../samples/target-platform/ivy.xml">ivy.xml</a> in which you will describe the bundles you need,</li>
+<li>an <a href="../samples/target-platform/ivysettings.xml">ivysettings.xml</a> which will describe where to download bundles from,</li>
+<li>and a <a href="../samples/target-platform/build.xml">build.xml</a> with which you'll manage your target platform.</li>
+</ul>
+
+In the build there is a first important target: <tt>'update-dependencies'</tt>. Since the OSGi dependencies are very sensible to the available resources to resolve against, it is important to make the resolve as tight and reproductible as possible. First this target will do a resolve with the <tt>ivy.xml</tt>: a resolve which is very sensible to the content of the remote repo, thus not much reproductible. And it is will generate an <tt>ivy-fixed.xml</tt> from the resolved depedencies: this Ivy file contains only fixed non transitive dependencies (see the <a href="../use/fixdeps.html">fixdeps</a> task for further info). With that <tt>ivy-fixed.xml</tt> file, resolves are then reproductible and will always generate the same set of artifacts.<br class="xooki-br"/><br class="xooki-br"/>Once generated, it is recommended to share that <tt>ivy-fixed.xml</tt> file into you version control system (subversion, git, etc...). The target <tt>'update-dependencies'</tt> is then to be launched each
  time you edit the <tt>ivy.xml</tt>, when you want to change the content of your target platform.<br class="xooki-br"/><br class="xooki-br"/>The second target <tt>'generate-target-platform'</tt> will generate an <tt>obr.xml</tt>, a OSGi Bundle repository descriptor. This file will list every artifact wich has been resolved by the <tt>ivy-fixed.xml</tt>. Then each of your bundles you develop will do its resolve against that <tt>obr.xml</tt> (see the <a href="../resolver/obr.html">obr resolver</a>).<br class="xooki-br"/><br class="xooki-br"/>The generated <tt>obr.xml</tt> contains paths to the local filesystem, so it is recommended to not share it between developpers.<br class="xooki-br"/><br class="xooki-br"/>If it is required to develop your plugin with the Eclipse PDE plugin, you can then use the alternative target <tt>generate-retrieved-target-platform</tt>. It has the same principle than the <tt>'generate-target-platform'</tt> but the artifacts are also retrieved in a single fold
 er, just like are plugins in an Eclipse install. That way you can define your target platform within Eclipse quite easily.<br class="xooki-br"/><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/osgi/target-platform.html
------------------------------------------------------------------------------
    svn:eol-style = native

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

Propchange: ant/site/ivy/production/history/2.4.0/osgi/target-platform.html
------------------------------------------------------------------------------
    svn:mime-type = text/html

Added: ant/site/ivy/production/history/2.4.0/principle.html
URL: http://svn.apache.org/viewvc/ant/site/ivy/production/history/2.4.0/principle.html?rev=1647996&view=auto
==============================================================================
--- ant/site/ivy/production/history/2.4.0/principle.html (added)
+++ ant/site/ivy/production/history/2.4.0/principle.html Fri Dec 26 16:35:10 2014
@@ -0,0 +1,280 @@
+<!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: 0};</script>	
+	
+
+<title>How does it work ? | 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="reference.html" >Reference</a> &gt; Introduction &gt; <a href="principle.html" class="current">How does it work ?</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="closed"><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" >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="open"><li id="xooki-intro" class="submenu">Introduction<ul class="open"><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" class="current">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">How does it work ?</h1>
+            <br class="xooki-br"/>Now that you have been introduced to the main ivy terminology and concepts, it is time to give some explanation of how ivy works.<br class="xooki-br"/><br class="xooki-br"/><h1>Usual cycle of modules between different locations</h1>
+<center><img src="images/main-tasks.png" /></center>
+More details on ant tasks <a href="ant.html">here</a>.<br class="xooki-br"/><br class="xooki-br"/><h1>Configure</h1>
+Ivy needs to be configured to be able to resolve your dependencies. This configuration is usually done with a settings file, which defines a set of dependency resolvers. Each resolver is able to find ivy files and/or artifacts, given simple information such as organisation, module, revision, artifact name, artifact type and artifact extension. <br class="xooki-br"/><br class="xooki-br"/>The configuration is also responsible for indicating which resolver should be used to resolve which module. This configuration is dependent only on your environment, i.e. where the modules and artifacts can be found. <br class="xooki-br"/><br class="xooki-br"/>A default configuration is used by ivy when none is given. This configuration uses an <a href="resolver/ibiblio.html">ibiblio resolver</a> pointing to <a href="https://repo1.maven.org/maven2/">https://repo1.maven.org/maven2/</a> to resolve all modules.<br class="xooki-br"/><h1>Resolve</h1>
+The resolve time is the moment when ivy actually resolves the dependencies of one module. It first needs to access the ivy file of the module for which it resolves the dependencies. <br class="xooki-br"/><br class="xooki-br"/>Then, for each dependency declared in this file, it asks the appropriate resolver (according to settings) to find the module (i.e. either an ivy file for it, or its artifacts if no ivy file can be found). It also uses a filesystem based cache to avoid asking for a dependency if it is already in cache (at least if possible, which is not the case with latest revisions).<br class="xooki-br"/><br class="xooki-br"/>If the resolver is a composite one (i.e. a chain or a dual resolver), several resolvers may actually be called to find the module.<br class="xooki-br"/><br class="xooki-br"/>When the dependency module has been found, its ivy file is downloaded to the ivy cache. Then ivy checks if the dependency module has dependencies, in which case it recursilvely traver
 ses the graph of dependencies. <br class="xooki-br"/><br class="xooki-br"/>All over this traversal, conflict management is done to prevent access to a module as soon as possible.<br class="xooki-br"/><br class="xooki-br"/>When ivy has traversed the whole graph, it asks the resolvers to download the artifacts corresponding to each of the dependencies which are not already in the cache and which have not been evicted by conflict managers. All downloads are made to the ivy cache.<br class="xooki-br"/><br class="xooki-br"/>Finally, an xml report is generated in the cache, which allows ivy to easily know what are all the dependencies of a module, without traversing the graph again.<br class="xooki-br"/><br class="xooki-br"/>After this resolve step, two main steps are possible: either build a path with artifacts in the cache, or copy them to another directory structure.<br class="xooki-br"/><br class="xooki-br"/><h1>Retrieve</h1>
+What is called retrieve in ivy is the act of copying artifacts from the cache to another directory structure. This is done using a pattern, which indicates to ivy where the files should be copied.<br class="xooki-br"/><br class="xooki-br"/>For this, ivy uses the xml report in the cache corresponding to the module it should retrieve to know which artifacts should be copied.<br class="xooki-br"/><br class="xooki-br"/>It also checks if the files are not already copied to maximize performances.<br class="xooki-br"/><h1>Building a path from the cache</h1>
+In some cases, it is preferable to use artifacts directly from the cache. Ivy is able to use the xml report generated at resolve time to build a path of all artifacts required.<br class="xooki-br"/><br class="xooki-br"/>This can be particularly useful when building plug-ins for IDEs.<br class="xooki-br"/><br class="xooki-br"/><h1>Reports</h1>
+Ivy is also able to generate readable reports describing the dependencies resolution.<br class="xooki-br"/><br class="xooki-br"/>This is done with a simple xsl transformation of the xml report generated at resolve time.<br class="xooki-br"/><br class="xooki-br"/><h1>Publish</h1>
+Finally, Ivy can be used to publish a particular version of a module in your repository, so that it becomes available for future resolving. This task is usually called either manually or from a continuous integration server.<br class="xooki-br"/><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/principle.html
------------------------------------------------------------------------------
    svn:eol-style = native

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

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