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 [4/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/dev.html
URL: http://svn.apache.org/viewvc/ant/site/ivy/production/history/2.4.0/dev.html?rev=1647996&view=auto
==============================================================================
--- ant/site/ivy/production/history/2.4.0/dev.html (added)
+++ ant/site/ivy/production/history/2.4.0/dev.html Fri Dec 26 16:35:10 2014
@@ -0,0 +1,315 @@
+<!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>Developer doc | 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="dev.html" class="current">Developer doc</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="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" class="current">Developer doc</a><ul class="open"><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">Developer doc</h1>
+            <br class="xooki-br"/><h1>Building from source</h1>
+To build Ivy from source it's really easy. <br class="xooki-br"/><h2>Requirements</h2>
+All you need is 
+<ul>
+<li>an <a href="http://subversion.tigris.org/">svn</a> client</li>
+<em>to check out Ivy sources from apache svn, not required if you build from sources packaged in a release</em>
+<li><a href="http://ant.apache.org/">Apache Ant</a> 1.6.0 or greater</li>
+<em>We recommend either ant 1.6.5 or 1.7.0</em>
+<li><a href="http://junit.org">junit</a> 3.8.2 jar in your ant lib</li>
+<em> this is not required if you use ant 1.7</em>
+<li>a <a href="http://java.sun.com/">jdk</a> 1.5 or greater</li>
+<em>Build instructions have been successfully tested with sun jdk 1.5.0 and 1.6.0</em>
+</ul>
+
+<h2>Procedure</h2>
+<h3>Get the source</h3>
+You can either get the sources from a release, or get them directly from svn. For instance, to get the trunk version:
+<pre>
+svn co <a href="https://svn.apache.org/repos/asf/ant/ivy/core/trunk">https://svn.apache.org/repos/asf/ant/ivy/core/trunk</a> ivy
+</pre>
+<h3>Build</h3>
+Go to the directory where you get the Ivy sources (you should see a file named build.xml) and run:
+<pre>
+ant
+</pre>
+<h3>Check the result</h3>
+The ant build will compile the core classes of Ivy and use them to resolve the dependencies (used for some optional features). Then it will compile and run tests with coverage metrics.<br class="xooki-br"/><br class="xooki-br"/>If everything goes well, you should see the message
+<pre>
+BUILD SUCCESSFUL
+</pre>
+Then you can check the test results in the build/doc/reports/test directory, the jars are in build/artifacts, and the test coverage report in build/doc/reports/coverage<br class="xooki-br"/><h1>Coding conventions</h1>
+The Ivy code base is supposed to follow the standard java conventions:<br class="xooki-br"/><a href="http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html">http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html</a><br class="xooki-br"/><br class="xooki-br"/>This is a work in progress though (see <a href="https://issues.apache.org/jira/browse/IVY-511">IVY-511</a>), but patches helping migration to these conventions are welcome.<br class="xooki-br"/><br class="xooki-br"/><h1>Developing with eclipse</h1>
+Even though you can develop Ivy with your IDE of choice, we support eclipse development by providing ad hoc metadata.<br class="xooki-br"/><br class="xooki-br"/>We currently provide two options:<br class="xooki-br"/><h2>Eclipse alone</h2>
+To develop with a simple eclipse install all you need is eclipse 3.1 or greater, with no particular plugin.<br class="xooki-br"/>First call the following ant target in your Ivy workspace:
+<pre>
+ant eclipse-default
+</pre>
+This will resolve the dependencies of Ivy and produce a .classpath using the resolved jars for the build path.<br class="xooki-br"/>Then you can use the "Import->Existing project into workspace" eclipse feature to import the Ivy project in your workspace.<br class="xooki-br"/><h2>Eclipse + IvyDE</h2>
+You can also leverage the latest IvyDE version to be able to easily resolve the ivy dependencies from Eclipse.<br class="xooki-br"/>To do so all you need is call the following ant target in your Ivy workspace:
+<pre>
+ant eclipse-ivyde
+</pre>
+or if you don't have ant installed you can simply copy the file .classpath.ivyde and rename it to .classpath<br class="xooki-br"/>Then you can import the project using "Import->Existing project into workspace" as long as you already have latest IvyDE installed.<br class="xooki-br"/><br class="xooki-br"/>To install latest IvyDE version compatible with the latest Ivy used to resolve Ivy dependencies, you will need to use a snapshot build, not endorsed by the ASF, available here:<br class="xooki-br"/><a href="http://people.apache.org/~xavier/ivyde/snapshot/">http://people.apache.org/~xavier/ivyde/snapshot/</a><br class="xooki-br"/><br class="xooki-br"/>Download the file and unzip its content in your eclipse installation directory.<br class="xooki-br"/><br class="xooki-br"/><h2>recommended plugins</h2>
+The Ivy project comes with settings for the <a href="http://eclipse-cs.sourceforge.net/">checkstyle plugin</a> we recommend to use to avoid introducing new disgression to the checkstyle rules we use.<br class="xooki-br"/>If you use this plugin, you will many errors in Ivy. As we said, following strict checkstyle rules is a work in progress and we used to have pretty different code conventions (like using _ as prefix for private attributes), so we still have things to fix. We usually use the filter in the problems view to filter out checkstyle errors from this view, which helps to know what the real compilation problem are.<br class="xooki-br"/><br class="xooki-br"/>Besides this plugin we also recommend to use a subversion plugin, <a href="http://www.eclipse.org/subversive/">subversive</a> or <a href="http://subclipse.tigris.org">subclipse</a> being the two options currently available in the open source landscape.<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/dev.html
------------------------------------------------------------------------------
    svn:eol-style = native

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

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

Added: ant/site/ivy/production/history/2.4.0/dev/makerelease.html
URL: http://svn.apache.org/viewvc/ant/site/ivy/production/history/2.4.0/dev/makerelease.html?rev=1647996&view=auto
==============================================================================
--- ant/site/ivy/production/history/2.4.0/dev/makerelease.html (added)
+++ ant/site/ivy/production/history/2.4.0/dev/makerelease.html Fri Dec 26 16:35:10 2014
@@ -0,0 +1,365 @@
+<!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>Making a release | 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="../dev.html" >Developer doc</a> &gt; <a href="../dev/makerelease.html" class="current">Making a release</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="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="open"><li id="xooki-extend"><a href="../extend.html" >Extending Ivy</a></li>
+<li id="xooki-dev/makerelease"><a href="../dev/makerelease.html" class="current">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">Making a release</h1>
+            <br class="xooki-br"/><h1>Making a release</h1>
+<h2>Requirements</h2>
+Requirements for making a release are similar to the requirements for building from source, except that JDK 1.6+ and Apache Ant 1.9+ are required.<br class="xooki-br"/><h2>Procedure</h2>
+<h3>1. Check the files which needs to be updated for the release.</h3>
+On the master, check that files which require update for the release are up to date.<br class="xooki-br"/>This includes particularly:<br class="xooki-br"/>doc/release-notes.html<br class="xooki-br"/><h3>2. Check out a clean copy of the branch</h3>
+Run the following git command to checkout the branch, revert any change and remove untracked and ignored files:
+<pre>
+git checkout 2.0.x<br class="xooki-br"/>git reset --hard<br class="xooki-br"/>git clean -d -x -f
+</pre>
+<h3>3. Add Ivy xsd file.</h3>
+You need to store the current ivy xml schema in the documentation, so that it will later be accessible on public web site. To do so, run the following command in the directory in which you checked out the release branch:
+<pre>
+ant -f build-release.xml release-xsd
+</pre>
+
+And commit your changes in the branch:
+<pre>
+git add doc/ivy.xsd<br class="xooki-br"/>git commit -m "release the ivy.xsd"
+</pre>
+<h3>4. Launch the release script</h3>
+<pre>
+ant -f build-release.xml release
+</pre>
+The status should be release only for final releases, and milestone for any other intermediate release.<br class="xooki-br"/>If the release script is successful, release artifacts will be waiting for you in the build/distrib directory.<br class="xooki-br"/><h3>5. Verify the release</h3>
+Check that all zips can be opened correctly, and that running 'ant' after unzipping the source distribution works properly.<br class="xooki-br"/>You can also do a smoke test with the generated ivy.jar, to see if it is able to resolve properly a basic module (for instance you can run some tutorials provided in the src/example directory in all distributions).<br class="xooki-br"/><h3>6. Sign and upload the artifacts</h3>
+It's now time to sign the release artifacts and upload them to a location accessible by other Apache commiters.<br class="xooki-br"/><br class="xooki-br"/>Here is a simple way to sign the files using gnupg:
+<pre>
+gpg --armor --output file.zip.asc --detach-sig file.zip
+</pre>
+
+Here is a ruby script you can use to sign the files:
+<pre>
+require 'find'<br class="xooki-br"/><br class="xooki-br"/>Find.find('build/distrib') do |f| <br class="xooki-br"/>    `gpg --armor --output #{f}.asc --detach-sig #{f}` if File.file?(f) && ['.zip', '.gz', '.jar', '.pom'].include?(File.extname(f))<br class="xooki-br"/>end
+</pre>
+Be prepared to enter your passphrase several times if you use this script, gpg will ask for your passphrase for each file to sign.<br class="xooki-br"/><br class="xooki-br"/><h3>7. Prepare the Eclipse update site</h3>
+
+To be able to test the release within IvyDE, it can be deployed in the IvyDE update site. See <a href="http://ant.apache.org/ivy/ivyde/history/trunk/dev/updatesite.html">that page</a> to know how to process.<br class="xooki-br"/><br class="xooki-br"/><h3>8. Create the tag</h3>
+As soon as you are happy with the artifacts to be released, it is time to tag the release
+<pre>
+git tag 2.0.0-beta1
+</pre>
+
+And push the changes to the ASF repo
+<pre>
+git push --tags 
+</pre>
+
+<h3>Publish the release candidate</h3>
+
+All artifacts in <tt>build/distrib</tt> except the <tt>maven2</tt> folder needs to be published on the 'dist' svn of the ASF, in the <b>dev</b> part.<br class="xooki-br"/><br class="xooki-br"/>The artifacts should be pushed in that svn folder: <a href="https://dist.apache.org/repos/dist/dev/ant/ivy/$VERSION">https://dist.apache.org/repos/dist/dev/ant/ivy/$VERSION</a><br class="xooki-br"/><br class="xooki-br"/><h3>9. Call for a vote to approve the release</h3>
+Cast a vote to approve the release on the dev@ant.apache.org mailing list.<br class="xooki-br"/><br class="xooki-br"/>Here is an example:
+<pre>
+Subject: [VOTE] Ivy ${version} Release<br class="xooki-br"/><br class="xooki-br"/>I have built a release candidate for Ivy ${version}<br class="xooki-br"/><br class="xooki-br"/>The svn tag of this release is: <a href="https://git-wip-us.apache.org/repos/asf?p=ant-ivy.git;a=commit;h=SHA1-OF-THE-TAG">https://git-wip-us.apache.org/repos/asf?p=ant-ivy.git;a=commit;h=SHA1-OF-THE-TAG</a><br class="xooki-br"/><br class="xooki-br"/>The artifacts has been published to: <a href="https://dist.apache.org/repos/dist/dev/ant/ivy/$VERSION@${svn-rev-of-the-check-in">https://dist.apache.org/repos/dist/dev/ant/ivy/$VERSION@${svn-rev-of-the-check-in</a>}<br class="xooki-br"/><br class="xooki-br"/>Do you vote for the release of these binaries?<br class="xooki-br"/><br class="xooki-br"/>[ ] Yes<br class="xooki-br"/>[ ] No<br class="xooki-br"/><br class="xooki-br"/>Regards,<br class="xooki-br"/><br class="xooki-br"/>${me}, Ivy ${version} release manager
+</pre>
+<h3>10. Publish the release</h3>
+
+If the release is approved, it's now time to make it public. The artifacts in the <i>dev</i> part needs to be moved into the <i>release</i> one:
+<pre>
+$ svn mv <a href="https://dist.apache.org/repos/dist/dev/ant/ivy/$VERSION">https://dist.apache.org/repos/dist/dev/ant/ivy/$VERSION</a> <a href="https://dist.apache.org/repos/dist/release/ant/ivy/$VERSION">https://dist.apache.org/repos/dist/release/ant/ivy/$VERSION</a>
+</pre>
+
+In order to keep the main dist area of a reasonable size, old releases should be removed. They will disapear from the main dist but will still be available via the <a href="http://archive.apache.org/dist/ant/ivy/">archive</a>. To do so, just use the <tt>svn rm</tt> command against the artifacts or folders to remove.<br class="xooki-br"/><br class="xooki-br"/><h3>11. Update the web site</h3>
+
+It's time to update the download image used on the home page and the download page. Use site/images/ivy-dl.xcf as a basis if you have <a href="http://www.gimp.org/">gimp</a> installed. Then you can update the home page to refer to this image, and add a news item announcing the new version. Update also the download page with the new image and update the links to the download location (using a search/replace on the html source is recommended for this).<br class="xooki-br"/><br class="xooki-br"/>The just release documentation should be added to the site. To do so, you need to:<br class="xooki-br"/><ol>
+<li>edit the toc.json file in the site component of Ivy</li>
+and add a piece of json with a title and an url; note that the version in the url must be the same as the tag in the git repo.
+<pre>
+{<br class="xooki-br"/>   "title":"2.0.0-beta1",<br class="xooki-br"/>   "url":"<a href="http://ant.apache.org/ivy/history/2.0.0-beta1/index.html">http://ant.apache.org/ivy/history/2.0.0-beta1/index.html</a>"<br class="xooki-br"/>}
+</pre>
+<li>generate the part of the site for the new version:</li>
+<pre>
+ant checkout-history -Dhistory.version=2.0.0-beta1<br class="xooki-br"/>ant generate-history -Dhistory.version=2.0.0-beta1
+</pre>
+<li>if the 'latest-milestone' needs to be update too, run:</li>
+<pre>
+ant checkout-history -Dhistory.version=2.0.0-beta1 -Dtarget.history.folder=latest-milestone
+</pre>
+</ol>
+
+Now let's generate the website with the new toc:
+<pre>
+ant /all generate-site
+</pre>
+
+You should verify that the site generated in the production directory is OK. You can open the files with your prefered web browser like it was deployed.<br class="xooki-br"/><br class="xooki-br"/>And once your happy with it, commit the changes in the source directory, and in the production directoy to get it actually deployed via svnpubsub.<br class="xooki-br"/><br class="xooki-br"/>Tip: lot's of files might need to be 'added' to svn. An handy command to <tt>add</tt> any file which is not yet under version control is the following one:
+<pre>svn add --force sources</pre>
+
+<h3>12. Deploy the Eclipse updatesite</h3>
+
+If the Eclipse update site has already been prepared to include that new Ivy release, it is now needed to be deployed. Then follow the deployment instruction on <a href="http://ant.apache.org/ivy/ivyde/history/trunk/dev/updatesite.html">that page</a>.<br class="xooki-br"/><br class="xooki-br"/><h3>13. Announce</h3>
+Announce the release on the dev@ant.a.o, ivy-user@ant.a.o, user@ant.apache.org and announce@apache.org mailing lists.<br class="xooki-br"/>You can also announce the release on popular web sites, like freshmeat.net (xavier is the owner of the Ivy project on freshmeat), javalobby.org, theserverside.com, dzone.com, ...<br class="xooki-br"/><h3>14. Update this doc</h3>
+If you feel like anything is missing or misleading in this release doc, update it as soon as you encounter the problem.<br class="xooki-br"/><h3>15. Merge your modifications back to the master if necessary.</h3>
+Modifications on the template files do not need to be merged, but if you had troubles during your release you may want to merge your fixes back to the trunk.<br class="xooki-br"/><h3>16. Prepare next release</h3>
+In the master branch, update the file version.properties with the version of the next release so that anyone building from the trunk will obtain jar with the correct version number.<br class="xooki-br"/><br class="xooki-br"/>If the version just release is a final one (not an alpha, beta or rc), the list of changes should be emptied in doc/release-notes.html, and update there the next expected version. The announcement in the file should also be changed accordingly to the next expected version.<br class="xooki-br"/><br class="xooki-br"/>Release the version in <a href="https://issues.apache.org/jira/browse/IVY">jira</a>, and create a new unreleased version for the next planned version.
+ 		</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/dev/makerelease.html
------------------------------------------------------------------------------
    svn:eol-style = native

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

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

Added: ant/site/ivy/production/history/2.4.0/extend.html
URL: http://svn.apache.org/viewvc/ant/site/ivy/production/history/2.4.0/extend.html?rev=1647996&view=auto
==============================================================================
--- ant/site/ivy/production/history/2.4.0/extend.html (added)
+++ ant/site/ivy/production/history/2.4.0/extend.html Fri Dec 26 16:35:10 2014
@@ -0,0 +1,285 @@
+<!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>Extending Ivy | 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="dev.html" >Developer doc</a> &gt; <a href="extend.html" class="current">Extending Ivy</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="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="open"><li id="xooki-extend"><a href="extend.html" class="current">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">Extending Ivy</h1>
+            <br class="xooki-br"/>Many things are configurable in Ivy, and many things are available with Ivy core. But when you want to do something not built in ivy core, you can still plug your own code.<br class="xooki-br"/><br class="xooki-br"/>Many things are pluggable in Ivy:
+<ul>
+<li>module descriptor parsers</li>
+<li>dependency resolvers</li>
+<li>lock strategies</li>
+<li>latest strategies</li>
+<li>circular dependency strategies</li>
+<li>conflict managers</li>
+<li>report outputters</li>
+<li>version matchers</li>
+<li>triggers</li>
+</ul>
+
+Before trying to implement your own, we encourage you to check if the solution to your problem cannot be addressed by existing features, or by contributed ones. Do not hesitate to ask for help on the mailing-lists.<br class="xooki-br"/><br class="xooki-br"/>If you still don't find what you need, then you'll have to develop your own plugin or find someone who could do that for you.<br class="xooki-br"/><br class="xooki-br"/>All ivy plug-ins use the same code patterns as ant specific tasks for parameters. This means that if you want to have a "myattribute" of type String, you just have to declare a method called setMyattribute(String val) on your plug-in. The same applies to child tags, you just have to follow Ant specifications.<br class="xooki-br"/><br class="xooki-br"/>All pluggable code in Ivy is located in the <a href="https://git-wip-us.apache.org/repos/asf?p=ant-ivy.git;a=tree;f=src/java/org/apache/ivy/plugins">org.apache.ivy.plugins</a> package. In each package you will find a
 n interface that you must implement to provide a new plugin. We usually also provide an abstract class easing the implementation and making your code more independent of interface changes. We heavily recommend using these abstract classes as a base class.<br class="xooki-br"/><br class="xooki-br"/>To understand how your implementation can be done, we suggest looking at existing implementations we provide, it's the best way to get started.<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/extend.html
------------------------------------------------------------------------------
    svn:eol-style = native

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

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