ant-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From hi...@apache.org
Subject svn commit: r1647989 [2/7] - in /ant/site/ivy/production/history/latest-milestone: ./ dev/ osgi/ samples/ samples/eclipse-plugin/ samples/standard-osgi/ samples/target-platform/ tutorial/ tutorial/build-repository/
Date Fri, 26 Dec 2014 16:08:19 GMT
Modified: ant/site/ivy/production/history/latest-milestone/book.html
URL: http://svn.apache.org/viewvc/ant/site/ivy/production/history/latest-milestone/book.html?rev=1647989&r1=1647988&r2=1647989&view=diff
==============================================================================
--- ant/site/ivy/production/history/latest-milestone/book.html (original)
+++ ant/site/ivy/production/history/latest-milestone/book.html Fri Dec 26 16:08:18 2014
@@ -24,7 +24,7 @@
 	
 
 	<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
-<title>Documentation (2.4.0-rc1) | Apache Ivy&#153;</title>
+<title>Documentation (2.4.0) | Apache Ivy&#153;</title>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <link rel="stylesheet" type="text/css" href="../../style/print-style.css" />
 
@@ -47,7 +47,7 @@
 </table>
 
 		<div id="main">
-            <div id="xooki-messages" onclick="xooki.html.hide('xooki-messages')" style="zIndex:999;display:none;position:absolute;top:30px;padding:10px;border-style:solid;background:#eeeeee;"></div><div class='toc-title toc-title-1'>Documentation (2.4.0-rc1)</div><br class="xooki-br"/>Welcome to the official Ivy documentation.<br class="xooki-br"/><br class="xooki-br"/><h1>What is Ivy?</h1>
+            <div id="xooki-messages" onclick="xooki.html.hide('xooki-messages')" style="zIndex:999;display:none;position:absolute;top:30px;padding:10px;border-style:solid;background:#eeeeee;"></div><div class='toc-title toc-title-1'>Documentation (2.4.0)</div><br class="xooki-br"/>Welcome to the official Ivy documentation.<br class="xooki-br"/><br class="xooki-br"/><h1>What is Ivy?</h1>
 Ivy is a tool for managing (recording, tracking, resolving and reporting) project dependencies. It is characterized by the following:<br class="xooki-br"/><ol>
 <li>flexibility and configurability - Ivy is essentially process agnostic and is not tied to any methodology or structure. Instead it provides the necessary flexibility and configurability to be adapted to a broad range of dependency management and build processes.</li>
 
@@ -57,7 +57,7 @@ Ivy is open source and released under a
 <div class="postit" style="width: 250px;">
 Tip: The menu on the left is dynamic, you  can click on the arrows to browse the menu without going to each page.
 </div>
-This documentation has been migrated from the old Ivy web site hosted by Jayasoft, feel free to report any problem on the <a href="../../mailing-lists.html">Mailing lists</a>.<br class="xooki-br"/><br class="xooki-br"/>If you browse this documentation from your installation of Ivy, you can also check the <a href="http://ant.apache.org/ivy/">online version</a> for the latest updates.<br class="xooki-br"/><br class="xooki-br"/>You can also browse this documentation offline either by downloading the documentation distribution, or by checking out the doc directory from svn. This documentation uses <a href="http://xooki.sourceforge.net/">xooki</a> as its documentation engine, so you can very easily <a href="../../get-involved.html">edit it and submit patches</a> when you browse it from source.<br class="xooki-br"/><br class="xooki-br"/>A <a href="book.html">printer-friendly version</a> of this whole documentation is also provided for your convenience.<br class="xooki-br"/><br class="xook
 i-br"/>Since Ivy 2.0.0-alpha-2, we keep an online history of the documentation. You can thus browse history versions online (in the history menu in the web site) and even check the trunk version documentation currently in development.<br class="xooki-br"/><br class="xooki-br"/>For earlier versions, we suggest downloading the documentation to browse the documentation corresponding to the version you use. The full history of Ivy versions with corresponding links for download is available in the history menu on the web site.<br class="xooki-br"/><br class="xooki-br"/><h1>Other places to go</h1>
+This documentation has been migrated from the old Ivy web site hosted by Jayasoft, feel free to report any problem on the <a href="../../mailing-lists.html">Mailing lists</a>.<br class="xooki-br"/><br class="xooki-br"/>If you browse this documentation from your installation of Ivy, you can also check the <a href="http://ant.apache.org/ivy/">online version</a> for the latest updates.<br class="xooki-br"/><br class="xooki-br"/>You can also browse this documentation offline either by downloading the documentation distribution, or by checking out the doc directory from git. This documentation uses <a href="http://xooki.sourceforge.net/">xooki</a> as its documentation engine, so you can very easily <a href="../../get-involved.html">edit it and submit patches</a> when you browse it from source.<br class="xooki-br"/><br class="xooki-br"/>A <a href="book.html">printer-friendly version</a> of this whole documentation is also provided for your convenience.<br class="xooki-br"/><br class="xook
 i-br"/>Since Ivy 2.0.0-alpha-2, we keep an online history of the documentation. You can thus browse history versions online (in the history menu in the web site) and even check the trunk version documentation currently in development.<br class="xooki-br"/><br class="xooki-br"/>For earlier versions, we suggest downloading the documentation to browse the documentation corresponding to the version you use. The full history of Ivy versions with corresponding links for download is available in the history menu on the web site.<br class="xooki-br"/><br class="xooki-br"/><h1>Other places to go</h1>
 Check out Ivy <a href="../../features.html">features</a>. <br class="xooki-br"/>Read our <a href="../../faq.html">FAQ</a>.<br class="xooki-br"/>Ask for help on our <a href="../../mailing-lists.html">mailing lists</a>.<br class="xooki-br"/>Report a bug or feature request in our <a href="../../issues.html">issue tracking system</a>.<br class="xooki-br"/>Check <a href="../../links.html">external tools and resources</a>.<br class="xooki-br"/><br class="xooki-br"/><h1>Overview</h1>
 This documentation is composed of three main parts:
 <ul>
@@ -66,30 +66,163 @@ The tutorials is the best way to begin t
 The reference documentation gives you all the details of Ivy. <br class="xooki-br"/>The introduction part is particularly useful: it defines some vocabulary, explains main concepts such as dependency resolvers and patterns, and gives an overview of how ivy works internally. <br class="xooki-br"/>It's also in the reference doc that you will find all you always dreamed to know about ivy settings, ivy files, and ivy use (especially with ant).<br class="xooki-br"/>  <li><a href="../../history/latest-milestone/dev.html">Developer doc</a></li> 
 The developers's doc is useful for users who would like to extend Ivy or build it from source. It's also the documentation used by the Ivy team, so you will also find information about how we make releases.
 </ul>
-<hr/><div class='toc-title toc-title-2'>Release Notes</div><br class="xooki-br"/><h2>Announcement</h2>
+<hr/><div class='toc-title toc-title-2'>Release Notes</div><br class="xooki-br"/><br class="xooki-br"/><h2>Announcement</h2>
 
 <pre>
-March 23, 2014 - The Ivy project is pleased to announce its 2.4.0-RC1 release.<br class="xooki-br"/><br class="xooki-br"/>Ivy is a tool for managing (recording, tracking, resolving and<br class="xooki-br"/>reporting) project dependencies, characterized by flexibility,<br class="xooki-br"/>configurability, and tight integration with Apache Ant.<br class="xooki-br"/><br class="xooki-br"/>Key features of this 2.4.0-RC1 release are<br class="xooki-br"/>* some new Ant tasks<br class="xooki-br"/>* improved OSGI support<br class="xooki-br"/>* numerous bug fixes as documented in Jira and in the release notes<br class="xooki-br"/><br class="xooki-br"/>As a release candidate version, we strongly encourage the use of this version for <br class="xooki-br"/>testing and validation. From now on, features are frozen until final 2.4.0 version, <br class="xooki-br"/>only bug fixes will be applied before 2.4.0. If no outstanding bugs are reported <br class="xooki-br"/>with this release candidate, it w
 ill promoted to 2.4.0 about three weeks after this<br class="xooki-br"/>release candidate. <br class="xooki-br"/><br class="xooki-br"/>Issues should be reported to:<br class="xooki-br"/><a href="https://issues.apache.org/jira/browse/IVY">https://issues.apache.org/jira/browse/IVY</a><br class="xooki-br"/><br class="xooki-br"/>Download the 2.4.0-RC1 release at:<br class="xooki-br"/><a href="http://ant.apache.org/ivy/download.cgi">http://ant.apache.org/ivy/download.cgi</a><br class="xooki-br"/><br class="xooki-br"/>More information can be found on the Ivy website:<br class="xooki-br"/><a href="http://ant.apache.org/ivy/">http://ant.apache.org/ivy/</a><br class="xooki-br"/><br class="xooki-br"/>Regards,<br class="xooki-br"/>Maarten Coene
+December 26, 2014 - The Apache Ivy project is pleased to announce its 2.4.0 release.<br class="xooki-br"/> <br class="xooki-br"/>Apache Ivy is a tool for managing (recording, tracking, resolving and<br class="xooki-br"/>reporting) project dependencies, characterized by flexibility,<br class="xooki-br"/>configurability, and tight integration with Apache Ant.<br class="xooki-br"/><br class="xooki-br"/>Key features of this 2.4.0 release are<br class="xooki-br"/>* some new Ant tasks<br class="xooki-br"/>* improved OSGI support<br class="xooki-br"/>* a Bintray resolver<br class="xooki-br"/>* numerous bug fixes as documented in Jira and in the release notes<br class="xooki-br"/> <br class="xooki-br"/>You can download this 2.4.0 release at:<br class="xooki-br"/><a href="http://ant.apache.org/ivy/download.cgi">http://ant.apache.org/ivy/download.cgi</a><br class="xooki-br"/> <br class="xooki-br"/>Issues should be reported to:<br class="xooki-br"/><a href="https://issues.apache.org/jira/brows
 e/IVY">https://issues.apache.org/jira/browse/IVY</a><br class="xooki-br"/> <br class="xooki-br"/>More information can be found on the website:<br class="xooki-br"/><a href="http://ant.apache.org/ivy/">http://ant.apache.org/ivy/</a>
 </pre>
+ 
+<h2>List of Changes in this Release</h2>
+ 
+For details about the following changes, check our JIRA install at <br class="xooki-br"/><a href="http://issues.apache.org/jira/browse/ivy">http://issues.apache.org/jira/browse/ivy</a><br class="xooki-br"/> <br class="xooki-br"/>List of changes since Ivy 2.3.0:<br class="xooki-br"/><br class="xooki-br"/>- NEW: the buildobr task can now work a set of resolved artifacts: useful for managing an OSGi target platform<br class="xooki-br"/>- NEW: fixdeps task: serializes transitively resolved dependencies into an ivy.xml file<br class="xooki-br"/>- NEW: IvyDependencyTree task : display a dependency tree on the console<br class="xooki-br"/>- NEW: Support Conditional Setting of a Property (<a href="https://issues.apache.org/jira/browse/IVY-1367">IVY-1367</a>)<br class="xooki-br"/>- NEW: Exposing some parent metadata (organisation, module, revision, branch) as properties (<a href="https://issues.apache.org/jira/browse/IVY-1288">IVY-1288</a>)<br class="xooki-br"/>- NEW: symlinkmass feature bas
 ed on symlink feature of ivy:retrieve (<a href="https://issues.apache.org/jira/browse/IVY-1252">IVY-1252</a>) (Thanks to Gene Smith)<br class="xooki-br"/>- NEW: Agent authentication for SSH and SFTP transports (<a href="https://issues.apache.org/jira/browse/IVY-1421">IVY-1421</a>)<br class="xooki-br"/>- NEW: New OSGi resolver 'osgi-agg': a chain resolver dedicated to better handle OSGi dependencies<br class="xooki-br"/>- NEW: Add support for "packed" artifacts: .pack.gz bundles in an OSGi P2 repository for instance<br class="xooki-br"/>- NEW: Ivy Bintray resolver (<a href="https://issues.apache.org/jira/browse/IVY-1474">IVY-1474</a>) (Thanks to Evgeny Goldin)<br class="xooki-br"/><br class="xooki-br"/>- IMPROVEMENT: Generate POMs with /xsd/maven-4.0.0.xsd reference instead of old /maven-v4_0_0.xsd (<a href="https://issues.apache.org/jira/browse/IVY-1491">IVY-1491</a>) (thanks to Hervé Boutemy)<br class="xooki-br"/>- IMPROVEMENT: Add support for packed jar within an OSGi bundle<br
  class="xooki-br"/>- IMPROVEMENT: ModuleRules.getRule is O(n) leading to resolution slowness (<a href="https://issues.apache.org/jira/browse/IVY-1465">IVY-1465</a>) (Thanks to Zhong Wang aka Kewpie)<br class="xooki-br"/>- IMPROVEMENT: ivy:makepom will generate an exclusion when transitive=false on a dependency (<a href="https://issues.apache.org/jira/browse/IVY-1470">IVY-1470</a>)<br class="xooki-br"/>- IMPROVEMENT: New LockStrategy available based on NIO FileLocks (<a href="https://issues.apache.org/jira/browse/IVY-1424">IVY-1424</a>)<br class="xooki-br"/>- IMPROVEMENT: Optional <include> ivysettings directives (<a href="https://issues.apache.org/jira/browse/IVY-1392">IVY-1392</a>) (thanks to Yanus Poluektovich)<br class="xooki-br"/>- IMPROVEMENT: add support for source bundles from p2 repositories<br class="xooki-br"/>- IMPROVEMENT: add support for source URI from OBR repositories<br class="xooki-br"/>- IMPROVEMENT: Also copy original metadata artifact (e.g. POM) on ivy:install (<
 a href="https://issues.apache.org/jira/browse/IVY-1431">IVY-1431</a>) (Thanks to Erwin Tratar)<br class="xooki-br"/>- IMPROVEMENT: useOrigin will do avoid copy with url resolvers configured with a 'file:/' URL<br class="xooki-br"/>- IMPROVEMENT: add support for source artifacts in buildobr task<br class="xooki-br"/>- IMPROVEMENT: add possibility to configure the User-Agent http header by setting a property http.agent (Thanks to Tony Likhite)<br class="xooki-br"/> <br class="xooki-br"/>- FIX: impossible to get artifacts when data has not been loaded. (<a href="https://issues.apache.org/jira/browse/IVY-1399">IVY-1399</a>) (Thanks to David Turner)<br class="xooki-br"/>- FIX: regression introduced by <a href="https://issues.apache.org/jira/browse/IVY-1457">IVY-1457</a>, dependency management wasn't properly handled introducing lots of resolution failures<br class="xooki-br"/>- FIX: The SSH resolvers fails if the un-required jsch jar is missing (<a href="https://issues.apache.org/jira/br
 owse/IVY-1471">IVY-1471</a>)<br class="xooki-br"/>- FIX: failed to resolve dynamic revisions in some cases for URL repositories (<a href="https://issues.apache.org/jira/browse/IVY-1472">IVY-1472</a>)<br class="xooki-br"/>- FIX: ClassCastException in Eclipse 4.4.1 (<a href="https://issues.apache.org/jira/browse/IVY-1487">IVY-1487</a>) (Thanks to Carsten Pfeiffer)<br class="xooki-br"/>- FIX: NullPointerException when accessing charset to invalid URL (<a href="https://issues.apache.org/jira/browse/IVY-1452">IVY-1452</a>) (Thanks to Frédéric Riviere)<br class="xooki-br"/>- FIX: Can't resolve wildcard dependencies when remote artifact server does not set content-type header (<a href="https://issues.apache.org/jira/browse/IVY-1493">IVY-1493</a>) (Thanks to Andrew Bernhagen)<br class="xooki-br"/>- FIX: In IvyDE, Ivy fails to parse ivy-settings.xml file if it contains <pgp> element (thanks to Gregory Amerson) (<a href="https://issues.apache.org/jira/browse/IVY-1441">IVY-1441</a>)<br c
 lass="xooki-br"/>- FIX: ParseException when "Bundle-Description" is present in OSGi MANIFEST.MF (<a href="https://issues.apache.org/jira/browse/IVY-1438">IVY-1438</a>)<br class="xooki-br"/>- FIX: NIO FileLocker released locks too early (<a href="https://issues.apache.org/jira/browse/IVY-1424">IVY-1424</a>) (thanks to Charles Duffy)<br class="xooki-br"/>- FIX: Ssh Resolver doesn't work with Java 7 (<a href="https://issues.apache.org/jira/browse/IVY-1408">IVY-1408</a>) (thanks to Mykhailo Delegan)<br class="xooki-br"/>- FIX: Parsing publication date in Ant tasks not thread-safe (<a href="https://issues.apache.org/jira/browse/IVY-1412">IVY-1412</a>)<br class="xooki-br"/>- FIX: NullPointerException when using httpclient and server doesn't return content-type header (<a href="https://issues.apache.org/jira/browse/IVY-1400">IVY-1400</a>) (thanks to Frederic Riviere)<br class="xooki-br"/>- FIX: Properly handle evicted nodes in ResolveReport<br class="xooki-br"/>- FIX: Artifact repository l
 ocking did not correctly handle threaded use (<a href="https://issues.apache.org/jira/browse/IVY-1454">IVY-1454</a>) (thanks to Carsten Pfeiffer)<br class="xooki-br"/>- FIX: Better support for "Bundle-RequiredExecutionEnvironment" from an OSGi MANIFEST.MF<br class="xooki-br"/>- FIX: When inheriting a module descriptor, also merge the exclude rules<br class="xooki-br"/>- FIX: Correct application of mediators (ie. override) during conflict resolution (<a href="https://issues.apache.org/jira/browse/IVY-1455">IVY-1455</a>)<br class="xooki-br"/>- FIX: Fix revision number mapping across namespaces (<a href="https://issues.apache.org/jira/browse/IVY-1423">IVY-1423</a>)<br class="xooki-br"/>- FIX: fix a NPE when loading a composite P2 repository with no children<br class="xooki-br"/>- FIX: fix missing configuration when fixdeps is used with a partial resolve<br class="xooki-br"/>- FIX: XmlModuleDescriptorWritter doesn't support fully extra infos elements (<a href="https://issues.apache.org/
 jira/browse/IVY-1457">IVY-1457</a>)<br class="xooki-br"/> <br class="xooki-br"/>- DOCUMENTATION: Broken link in <dependency> documentation (<a href="https://issues.apache.org/jira/browse/IVY-1405">IVY-1405</a>)<br class="xooki-br"/>- DOCUMENTATION: Explicitly document that threaded use is not supported.<br class="xooki-br"/><br class="xooki-br"/><h2>Committers and Contributors</h2>
+
+Here is the list of people who have contributed source code and documentation up to this release. Many thanks to all of them, and also to the whole IvyDE community contributing ideas and feedback, and promoting the use of Apache Ivy !<br class="xooki-br"/>
+<ul>Committers
+<li>Matt Benson</li>
+<li>Jean-Louis Boudart</li>
+<li>Maarten Coene</li>
+<li>Charles Duffy</li>
+<li>Xavier Hanin</li>
+<li>Nicolas Lalevee</li>
+<li>Jon Schneider</li>
+<li>Gilles Scokart</li>
+</ul>
+
+<ul>Contributors:
+<li>Ingo Adler</li>
+<li>alex322</li>
+<li>Mathieu Anquetin</li>
+<li>Andreas Axelsson</li>
+<li>Stephane Bailliez</li>
+<li>Karl Baum</li>
+<li>Andrew Bernhagen</li>
+<li>Mikkel Bjerg</li>
+<li>Per Arnold Blaasmo</li>
+<li>Jeffrey Blattman</li>
+<li>Jasper Blues</li>
+<li>Jim Bonanno</li>
+<li>Joseph Boyd</li>
+<li>Dave Brosius</li>
+<li>Matthieu Brouillard</li>
+<li>Carlton Brown</li>
+<li>Mirko Bulovic</li>
+<li>Ed Burcher</li>
+<li>Jamie Burns</li>
+<li>Wei Chen</li>
+<li>Chris Chilvers</li>
+<li>Kristian Cibulskis</li>
+<li>Andrea Bernardo Ciddio</li>
+<li>Archie Cobbs</li>
+<li>Flavio Coutinho da Costa</li>
+<li>Stefan De Boey</li>
+<li>Mykhailo Delegan</li>
+<li>Charles Duffy</li>
+<li>Martin Eigenbrodt</li>
+<li>Stephen Evanchik</li>
+<li>Robin Fernandes</li>
+<li>Gregory Fernandez</li>
+<li>Danno Ferrin</li>
+<li>Benjamin Francisoud</li>
+<li>Wolfgang Frank</li>
+<li>Jacob Grydholt Jensen</li>
+<li>John Gibson</li>
+<li>Mitch Gitman</li>
+<li>Evgeny Goldin</li>
+<li>Scott Goldstein</li>
+<li>Pierre Hägnestrand</li>
+<li>Scott Hebert</li>
+<li>Tobias Himstedt</li>
+<li>Aaron Hachez</li>
+<li>Ben Hale</li>
+<li>Stephen Haberman</li>
+<li>Peter Hayes</li>
+<li>Scott Hebert</li>
+<li>Payam Hekmat</li>
+<li>Achim Huegen</li>
+<li>Matt Inger</li>
+<li>Anders Jacobsson</li>
+<li>Anders Janmyr</li>
+<li>Steve Jones</li>
+<li>Christer Jonsson</li>
+<li>Michael Kebe</li>
+<li>Matthias Kilian</li>
+<li>Alexey Kiselev</li>
+<li>Gregory Kisling</li>
+<li>Stepan Koltsov</li>
+<li>Heschi Kreinick</li>
+<li>Sebastian Krueger</li>
+<li>Thomas Kurpick</li>
+<li>Tat Leung</li>
+<li>Costin Leau</li>
+<li>Antoine Levy-Lambert</li>
+<li>Tony Likhite</li>
+<li>Andrey Lomakin</li>
+<li>William Lyvers</li>
+<li>Sakari Maaranen</li>
+<li>Jan Materne</li>
+<li>Markus M. May</li>
+<li>Abel Muino</li>
+<li>J. Lewis Muir</li>
+<li>Stephen Nesbitt</li>
+<li>Joshua Nichols</li>
+<li>Bernard Niset</li>
+<li>Ales Nosek</li>
+<li>David Maplesden</li>
+<li>Glen Marchesani</li>
+<li>Phil Messenger</li>
+<li>Steve Miller</li>
+<li>Mathias Muller</li>
+<li>Randy Nott</li>
+<li>Peter Oxenham</li>
+<li>Douglas Palmer</li>
+<li>Jesper Pedersen</li>
+<li>Emmanuel Pellereau</li>
+<li>Carsten Pfeiffer</li>
+<li>Yanus Poluektovich</li>
+<li>Roshan Punnoose</li>
+<li>Jean-Baptiste Quenot</li>
+<li>Carl Quinn</li>
+<li>Damon Rand</li>
+<li>Geoff Reedy</li>
+<li>Torkild U. Resheim</li>
+<li>Christian Riege</li>
+<li>Frederic Riviere</li>
+<li>Jens Rohloff</li>
+<li>Andreas Sahlbach</li>
+<li>Brian Sanders</li>
+<li>Adrian Sandor</li>
+<li>Michael Scheetz</li>
+<li>Ben Schmidt</li>
+<li>Ruslan Shevchenko</li>
+<li>John Shields</li>
+<li>Nihal Sinha</li>
+<li>Gene Smith</li>
+<li>Simon Steiner</li>
+<li>Johan Stuyts</li>
+<li>John Tinetti</li>
+<li>Erwin Tratar</li>
+<li>Jason Trump</li>
+<li>David Turner</li>
+<li>Tjeerd Verhagen</li>
+<li>Richard Vowles</li>
+<li>Sven Walter</li>
+<li>James P. White</li>
+<li>Tom Widmer</li>
+<li>John Williams</li>
+<li>Chris Wood</li>
+<li>Patrick Woodworth</li>
+<li>Jaroslaw Wypychowski</li>
+<li>Sven Zethelius</li>
+<li>Aleksey Zhukov</li>
+<li>Zhong Wang</li>
+</ul>
 
-<h2>Release Notes</h2>
-
-CONTENTS<br class="xooki-br"/>1. What is Apache Ivy?<br class="xooki-br"/>2. How to Get Involved<br class="xooki-br"/>3. How to Report Issues<br class="xooki-br"/>4. Committers and Contributors for this release<br class="xooki-br"/>5. List of Changes in this Release   <br class="xooki-br"/>   <br class="xooki-br"/>   <br class="xooki-br"/><h3>1. What is Apache Ivy?</h3>
-
-Apache Ivy is a tool for managing (recording, tracking, resolving and reporting) <br class="xooki-br"/>project dependencies. <br class="xooki-br"/>It is characterized by the following:<br class="xooki-br"/><br class="xooki-br"/>   1. flexibility and configurability <br class="xooki-br"/>        Apache Ivy is essentially process agnostic and is not tied to any <br class="xooki-br"/>        methodology or structure. <br class="xooki-br"/>        Instead it provides the necessary flexibility and configurability <br class="xooki-br"/>        to be adapted to a broad range of dependency management and build <br class="xooki-br"/>        processes.<br class="xooki-br"/>   2. tight integration with Apache Ant<br class="xooki-br"/>        while available as a standalone tool, Apache Ivy works particularly well <br class="xooki-br"/>        with Apache Ant providing a number of powerful Ant tasks ranging <br class="xooki-br"/>        from dependency resolution to dependency reporting and pub
 lication.<br class="xooki-br"/><br class="xooki-br"/><h3>2. How to Get Involved</h3>
-
-The Apache Ivy project really needs and appreciates any contributions, <br class="xooki-br"/>including documentation help, source code and feedback.  If you are interested<br class="xooki-br"/>in contributing, please visit <a href="http://ant.apache.org/ivy/get-involved.html">http://ant.apache.org/ivy/get-involved.html</a>.<br class="xooki-br"/><br class="xooki-br"/><h3>3. How to Report Issues</h3>
-
-The Apache Ivy project uses JIRA for issue tracking.  Please report any <br class="xooki-br"/>issues you find at <a href="http://issues.apache.org/jira/browse/IVY">http://issues.apache.org/jira/browse/IVY</a><br class="xooki-br"/><br class="xooki-br"/><h3>4. Committers and Contributors for this Release</h3>
-
-Here is the list of people who have contributed source code and documentation<br class="xooki-br"/>to this release. Many thanks to all of them, and also to the whole Ivy community<br class="xooki-br"/>contributing ideas and feedback, and promoting the use of Ivy. The list would be too<br class="xooki-br"/>long, but Ivy couldn't be what it is without you!<br class="xooki-br"/><br class="xooki-br"/> Committers<br class="xooki-br"/>    Jean-Louis Boudart<br class="xooki-br"/>    Maarten Coene<br class="xooki-br"/>    Charles Duffy<br class="xooki-br"/>    Nicolas Lalevee<br class="xooki-br"/>    Antoine Levy Lambert<br class="xooki-br"/><br class="xooki-br"/> Contributors<br class="xooki-br"/>    Gregory Amerson<br class="xooki-br"/>    Mykhailo Delegan<br class="xooki-br"/>    Tony Likhite<br class="xooki-br"/>    Carsten Pfeiffer<br class="xooki-br"/>    Yanus Poluektovich<br class="xooki-br"/>    Frederic Riviere<br class="xooki-br"/>    Gene Smith<br class="xooki-br"/>    Erwin Tra
 tar<br class="xooki-br"/><br class="xooki-br"/>For the list of people who have contributed since Ivy inception, see CHANGES.txt file.<br class="xooki-br"/><br class="xooki-br"/><h3>5. List of Changes in this Release</h3>
-
-For a full release history of Ivy see the file CHANGES.txt<br class="xooki-br"/><br class="xooki-br"/>For details about the following changes, check our JIRA install at <br class="xooki-br"/><a href="http://issues.apache.org/jira/browse/ivy">http://issues.apache.org/jira/browse/ivy</a><br class="xooki-br"/><br class="xooki-br"/>List of changes since Ivy 2.3.0:<br class="xooki-br"/><br class="xooki-br"/>- DOCUMENTATION: Broken link in <dependency> documentation (<a href="https://issues.apache.org/jira/browse/IVY-1405">IVY-1405</a>)<br class="xooki-br"/>- DOCUMENTATION: Explicitly document that threaded use is not supported.<br class="xooki-br"/><br class="xooki-br"/>- NEW: the buildobr task can now work a set of resolved artifacts: useful for managing an OSGi target platform<br class="xooki-br"/>- NEW: fixdeps task: serializes transitively resolved dependencies into an ivy.xml file<br class="xooki-br"/>- NEW: IvyDependencyTree task : display a dependency tree on the console<br class=
 "xooki-br"/>- NEW: Support Conditional Setting of a Property (<a href="https://issues.apache.org/jira/browse/IVY-1367">IVY-1367</a>)<br class="xooki-br"/>- NEW: Exposing some parent metadata (organisation, module, revision, branch) as properties (<a href="https://issues.apache.org/jira/browse/IVY-1288">IVY-1288</a>)<br class="xooki-br"/>- NEW: symlinkmass feature based on symlink feature of ivy:retrieve (<a href="https://issues.apache.org/jira/browse/IVY-1252">IVY-1252</a>) (Thanks to Gene Smith)<br class="xooki-br"/>- NEW: Agent authentication for SSH and SFTP transports (<a href="https://issues.apache.org/jira/browse/IVY-1421">IVY-1421</a>)<br class="xooki-br"/>- NEW: New OSGi resolver 'osgi-agg': a chain resolver dedicated to better handle OSGi dependencies<br class="xooki-br"/>- NEW: Add support for "packed" artifacts: .pack.gz bundles in an OSGi P2 repository for instance<br class="xooki-br"/><br class="xooki-br"/>- IMPROVEMENT: New LockStrategy available based on NIO FileLocks
  (<a href="https://issues.apache.org/jira/browse/IVY-1424">IVY-1424</a>)<br class="xooki-br"/>- IMPROVEMENT: Optional <include> ivysettings directives (<a href="https://issues.apache.org/jira/browse/IVY-1392">IVY-1392</a>) (thanks to Yanus Poluektovich)<br class="xooki-br"/>- IMPROVEMENT: add support for source bundles from p2 repositories<br class="xooki-br"/>- IMPROVEMENT: add support for source URI from OBR repositories<br class="xooki-br"/>- IMPROVEMENT: Also copy original metadata artifact (e.g. POM) on ivy:install (<a href="https://issues.apache.org/jira/browse/IVY-1431">IVY-1431</a>) (Thanks to Erwin Tratar)<br class="xooki-br"/>- IMPROVEMENT: useOrigin will do avoid copy with url resolvers configured with a 'file:/' URL<br class="xooki-br"/>- IMPROVEMENT: add support for source artifacts in buildobr task<br class="xooki-br"/>- IMPROVEMENT: add possibility to configure the User-Agent http header by setting a property http.agent (Thanks to Tony Likhite)<br class="xooki-br"/><b
 r class="xooki-br"/>- FIX: In IvyDE, Ivy fails to parse ivy-settings.xml file if it contains <pgp> element (thanks to Gregory Amerson) (<a href="https://issues.apache.org/jira/browse/IVY-1441">IVY-1441</a>)<br class="xooki-br"/>- FIX: ParseException when "Bundle-Description" is present in OSGi MANIFEST.MF (<a href="https://issues.apache.org/jira/browse/IVY-1438">IVY-1438</a>)<br class="xooki-br"/>- FIX: NIO FileLocker released locks too early (<a href="https://issues.apache.org/jira/browse/IVY-1424">IVY-1424</a>) (thanks to Charles Duffy)<br class="xooki-br"/>- FIX: Ssh Resolver doesn't work with Java 7 (<a href="https://issues.apache.org/jira/browse/IVY-1408">IVY-1408</a>) (thanks to Mykhailo Delegan)<br class="xooki-br"/>- FIX: Parsing publication date in Ant tasks not thread-safe (<a href="https://issues.apache.org/jira/browse/IVY-1412">IVY-1412</a>)<br class="xooki-br"/>- FIX: NullPointerException when using httpclient and server doesn't return content-type header (<a href="http
 s://issues.apache.org/jira/browse/IVY-1400">IVY-1400</a>) (thanks to Frederic Riviere)<br class="xooki-br"/>- FIX: Properly handle evicted nodes in ResolveReport<br class="xooki-br"/>- FIX: Artifact repository locking did not correctly handle threaded use (<a href="https://issues.apache.org/jira/browse/IVY-1454">IVY-1454</a>) (thanks to Carsten Pfeiffer)<br class="xooki-br"/>- FIX: Better support for "Bundle-RequiredExecutionEnvironment" from an OSGi MANIFEST.MF<br class="xooki-br"/>- FIX: When inheriting a module descriptor, also merge the exclude rules<br class="xooki-br"/>- FIX: Correct application of mediators (ie. override) during conflict resolution (<a href="https://issues.apache.org/jira/browse/IVY-1455">IVY-1455</a>)<br class="xooki-br"/>- FIX: Fix revision number mapping across namespaces (<a href="https://issues.apache.org/jira/browse/IVY-1423">IVY-1423</a>)<br class="xooki-br"/>- FIX: fix a NPE when loading a composite P2 repository with no children<br class="xooki-br"/>
 - FIX: fix missing configuration when fixdeps is used with a partial resolve<br class="xooki-br"/>- FIX: XmlModuleDescriptorWritter doesn't support fully extra infos elements (<a href="https://issues.apache.org/jira/browse/IVY-1457">IVY-1457</a>)<br class="xooki-br"/><hr/><div class='toc-title toc-title-2'>Tutorials</div><br class="xooki-br"/>The best way to learn is to practice! That's what the Ivy tutorials will help you to do, to discover some of the great Ivy <a href="../../features.html">features</a>.<br class="xooki-br"/><br class="xooki-br"/>For the first tutorial you won't even have to install Ivy (assuming you have Ant and a JDK properly installed), and it shouldn't take more than 30 seconds.<br class="xooki-br"/><br class="xooki-br"/><b>First Tutorial</b><br class="xooki-br"/><ol>
+	<hr/><div class='toc-title toc-title-2'>Tutorials</div><br class="xooki-br"/>The best way to learn is to practice! That's what the Ivy tutorials will help you to do, to discover some of the great Ivy <a href="../../features.html">features</a>.<br class="xooki-br"/><br class="xooki-br"/>For the first tutorial you won't even have to install Ivy (assuming you have Ant and a JDK properly installed), and it shouldn't take more than 30 seconds.<br class="xooki-br"/><br class="xooki-br"/><b>First Tutorial</b><br class="xooki-br"/><ol>
 <li>Make sure you have <a href="http://ant.apache.org/">ant</a> 1.6.0 or greater and a <a href="http://java.sun.com">jdk</a> properly installed</li>
 <li>Copy <a href="samples/build.xml">this build file</a> in an empty directory on your local filesystem (and make sure you name it build.xml)</li>
 <li>Open a console in this directory and run "ant". That's it!</li>
 </ol>
-If you have any trouble, check the <a href="http://ant.apache.org/ivy/faq.html">FAQ</a>. It is most likely related to your internet connection (proxy anyone?).<br class="xooki-br"/><br class="xooki-br"/>OK, you've just seen how easy it is to take your first step with Ivy. Go ahead with the other tutorials, but before you do, make sure you have properly <a href="install.html">installed</a> Ivy and downloaded the tutorials sources (included in all Ivy distributions, in the <tt><a href="https://svn.apache.org/repos/asf/ant/ivy/core/trunk/src/example">src/example</a></tt> directory).<br class="xooki-br"/><br class="xooki-br"/>The following tutorials are available:
+If you have any trouble, check the <a href="http://ant.apache.org/ivy/faq.html">FAQ</a>. It is most likely related to your internet connection (proxy anyone?).<br class="xooki-br"/><br class="xooki-br"/>OK, you've just seen how easy it is to take your first step with Ivy. Go ahead with the other tutorials, but before you do, make sure you have properly <a href="install.html">installed</a> Ivy and downloaded the tutorials sources (included in all Ivy distributions, in the <tt><a href="https://git-wip-us.apache.org/repos/asf?p=ant-ivy.git;a=tree;f=src/example">src/example</a></tt> directory).<br class="xooki-br"/><br class="xooki-br"/>The following tutorials are available:
 <ul>
 <li><a href="tutorial/start.html">Quick Start</a></li> 
 Guides you through your very first steps with ivy.
@@ -448,11 +581,11 @@ For sure this is not aimed to demonstrat
 Modules in yellow are the modules described in this tutorial, and modules in blue are external dependencies (we will see how to generate this graph later in this tutorial).<br class="xooki-br"/><br class="xooki-br"/>As you can see, we have here a pretty interesting set of modules with dependencies between each other, each depending on the latest version of the others.<br class="xooki-br"/><br class="xooki-br"/><h1>The example files</h1>
 The sources for this tutorial can be found in <tt>src/example/multi-project</tt> in the Ivy distribution. In this directory, you will find the following files:
 <ul>
-<li><a href="https://svn.apache.org/repos/asf/ant/ivy/core/trunk/src/example/multi-project/build.xml">build.xml</a></li>This is a root build file which can be used to call targets on all modules, in the order of their dependencies (ensuring that a module is always built before any module depending on it, for instance)
+<li><a href="https://git-wip-us.apache.org/repos/asf?p=ant-ivy.git;a=blob;f=src/example/multi-project/build.xml">build.xml</a></li>This is a root build file which can be used to call targets on all modules, in the order of their dependencies (ensuring that a module is always built before any module depending on it, for instance)
 <li>common
 <ul>
-<li><a href="https://svn.apache.org/repos/asf/ant/ivy/core/trunk/src/example/multi-project/common/common.xml">common.xml</a></li> the common build file imported by all build.xml files for each project. This build defines the targets which can be used in all projects.
-<li><a href="https://svn.apache.org/repos/asf/ant/ivy/core/trunk/src/example/multi-project/common/build.properties">build.properties</a></li>some properties common to all projects
+<li><a href="https://git-wip-us.apache.org/repos/asf?p=ant-ivy.git;a=blob;f=src/example/multi-project/common/common.xml">common.xml</a></li> the common build file imported by all build.xml files for each project. This build defines the targets which can be used in all projects.
+<li><a href="https://git-wip-us.apache.org/repos/asf?p=ant-ivy.git;a=blob;f=src/example/multi-project/common/build.properties">build.properties</a></li>some properties common to all projects
 </ul>
 </li>
 <li>projects</li>
@@ -569,7 +702,7 @@ The project that we will use is pretty s
 Z:\ivy-repository>ant -p<br class="xooki-br"/>Buildfile: build.xml<br class="xooki-br"/><br class="xooki-br"/>Main targets:<br class="xooki-br"/><br class="xooki-br"/> clean-cache            --> clean the cache<br class="xooki-br"/> clean-repo             --> clean the destination repository<br class="xooki-br"/> maven2                 --> install module from maven 2 repository<br class="xooki-br"/> maven2-deps            --> install module from maven 2 repository with dependencies<br class="xooki-br"/> maven2-namespace       --> install module from maven 2 using namespaces<br class="xooki-br"/> maven2-namespace-deps  --> install module with dependencies from maven2 repo using namespaces<br class="xooki-br"/>Default target: basic
 </pre></div>
 <br/><br/>
-This project is accessible in the <a href="https://svn.apache.org/repos/asf/ant/ivy/core/trunk/src/example/build-a-ivy-repository">src/example/build-a-ivy-repository</a><br class="xooki-br"/><br class="xooki-br"/>Next steps:<br class="xooki-br"/><a href="../../history/latest-milestone/tutorial/build-repository/basic.html">Basic repository copy</a><br class="xooki-br"/><a href="../../history/latest-milestone/tutorial/build-repository/advanced.html">Using namespaces</a><br class="xooki-br"/><br class="xooki-br"/><br class="xooki-br"/>	<hr/><div class='toc-title toc-title-4'>Basic repository copy</div><br class="xooki-br"/>In this first step, we use the <a href="use/install.html">install</a> Ant task to install modules from the maven 2 repository to a file system based repository. We first install a module by itself, excluding dependencies, then again with its dependencies.<br class="xooki-br"/><br class="xooki-br"/><h1>Basic: ivysettings.xml file used</h1>
+This project is accessible in the <a href="https://git-wip-us.apache.org/repos/asf?p=ant-ivy.git;a=tree;f=src/example/build-a-ivy-repository">src/example/build-a-ivy-repository</a><br class="xooki-br"/><br class="xooki-br"/>Next steps:<br class="xooki-br"/><a href="../../history/latest-milestone/tutorial/build-repository/basic.html">Basic repository copy</a><br class="xooki-br"/><a href="../../history/latest-milestone/tutorial/build-repository/advanced.html">Using namespaces</a><br class="xooki-br"/><br class="xooki-br"/><br class="xooki-br"/>	<hr/><div class='toc-title toc-title-4'>Basic repository copy</div><br class="xooki-br"/>In this first step, we use the <a href="use/install.html">install</a> Ant task to install modules from the maven 2 repository to a file system based repository. We first install a module by itself, excluding dependencies, then again with its dependencies.<br class="xooki-br"/><br class="xooki-br"/><h1>Basic: ivysettings.xml file used</h1>
 The ivy settings file that we will use is very simple here. It defines two resolvers, <i>libraries</i> and <i>my-repository</i>. The first one is used as the source, the second one as the destination. In a typical setup, the second one would be configured using an <a href="../../history/latest-milestone/settings/include.html">include</a> that included an existing settings file used by the development team.<br class="xooki-br"/>
 <pre>
 &lt;ivysettings&gt;<br class="xooki-br"/>	&lt;settings	defaultResolver="libraries"<br class="xooki-br"/>			defaultConflictManager="all" /&gt;		&lt;!-- in order to get all revisions without any eviction --&gt;<br class="xooki-br"/>	&lt;caches defaultCacheDir="${ivy.cache.dir}/no-namespace" /&gt;<br class="xooki-br"/>	&lt;resolvers&gt;<br class="xooki-br"/>		&lt;ibiblio name="libraries" m2compatible="true" /&gt;<br class="xooki-br"/>  		&lt;filesystem name="my-repository"&gt;<br class="xooki-br"/>  			&lt;ivy pattern="${dest.repo.dir}/no-namespace/[organisation]/[module]/ivys/ivy-[revision].xml"/&gt;<br class="xooki-br"/>  			&lt;artifact pattern="${dest.repo.dir}/no-namespace/[organisation]/[module]/[type]s/[artifact]-[revision].[ext]"/&gt;<br class="xooki-br"/>  		&lt;/filesystem&gt;<br class="xooki-br"/>	&lt;/resolvers&gt;<br class="xooki-br"/>&lt;/ivysettings&gt;
@@ -811,6 +944,7 @@ Most of the artifacts found in a reposit
 <ul>
     <li><tt>zip</tt>, <tt>jar</tt> or <tt>war</tt>: the artifact will be uncompressed as a folder</li>
     <li><tt>pack200</tt>: the artifact will be unpacked to a file via the <a href="http://docs.oracle.com/javase/7/docs/technotes/tools/share/pack200.html">pack200</a> algorithm</li>
+    <li><tt>bundle</tt>: the OSGi artifact will be uncompressed as a folder, and every embedded jar file entry which is packed via the the <a href="http://docs.oracle.com/javase/7/docs/technotes/tools/share/pack200.html">pack200</a> algorithm will be unpacked</li>
 </ul>
 
 So, if in an <tt>ivy.xml</tt>, there would be declared a such artifact:
@@ -889,7 +1023,7 @@ As you can see, using text conventions i
 <hr/><div class='toc-title toc-title-4'>How does it work ?</div><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="http://repo1.maven.org/maven2/">http://repo1.maven.org/maven2/</a> to resolve all modules.<br class="xooki-br"/><h1>Resolve</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>
@@ -944,10 +1078,10 @@ Download the version you want <a href=".
 One of the two binary versions of Ivy doesn't include the optional dependencies. To download them using Ivy, all you need is to run the Ant build file provided in the distribution. This will use Ivy itself to download the dependencies. Then you should see the Ivy optional dependencies in the lib directory, organized per configuration (see the ivy.xml for details about the configurations and their use).<br class="xooki-br"/><br class="xooki-br"/><h1>Automatically</h1>
 If you want to use Ivy only in your ant build scripts, and have an internet connection when you build, you can download Ivy from this site and use the downloaded version automatically, using this simple build snippet:
 <pre>
-    &lt;property name="ivy.install.version" value="2.1.0-rc2" /&gt;<br class="xooki-br"/>    &lt;condition property="ivy.home" value="${env.IVY_HOME}"&gt;<br class="xooki-br"/>      &lt;isset property="env.IVY_HOME" /&gt;<br class="xooki-br"/>    &lt;/condition&gt;<br class="xooki-br"/>    &lt;property name="ivy.home" value="${user.home}/.ant" /&gt;<br class="xooki-br"/>    &lt;property name="ivy.jar.dir" value="${ivy.home}/lib" /&gt;<br class="xooki-br"/>    &lt;property name="ivy.jar.file" value="${ivy.jar.dir}/ivy.jar" /&gt;<br class="xooki-br"/><br class="xooki-br"/>    &lt;target name="download-ivy" unless="offline"&gt;<br class="xooki-br"/><br class="xooki-br"/>        &lt;mkdir dir="${ivy.jar.dir}"/&gt;<br class="xooki-br"/>        &lt;!-- download Ivy from web site so that it can be used even without any special installation --&gt;<br class="xooki-br"/>        &lt;get src="http://repo2.maven.org/maven2/org/apache/ivy/ivy/${ivy.install.version}/ivy-${ivy.install.version}.jar"
  <br class="xooki-br"/>             dest="${ivy.jar.file}" usetimestamp="true"/&gt;<br class="xooki-br"/>    &lt;/target&gt;<br class="xooki-br"/><br class="xooki-br"/>    &lt;target name="init-ivy" depends="download-ivy"&gt;<br class="xooki-br"/>      &lt;!-- try to load ivy here from ivy home, in case the user has not already dropped<br class="xooki-br"/>              it into ant's lib dir (note that the latter copy will always take precedence).<br class="xooki-br"/>              We will not fail as long as local lib dir exists (it may be empty) and<br class="xooki-br"/>              ivy is in at least one of ant's lib dir or the local lib dir. --&gt;<br class="xooki-br"/>        &lt;path id="ivy.lib.path"&gt;<br class="xooki-br"/>            &lt;fileset dir="${ivy.jar.dir}" includes="*.jar"/&gt;<br class="xooki-br"/><br class="xooki-br"/>        &lt;/path&gt;<br class="xooki-br"/>        &lt;taskdef resource="org/apache/ivy/ant/antlib.xml"<br class="xooki-br"/>                 ur
 i="antlib:org.apache.ivy.ant" classpathref="ivy.lib.path"/&gt;<br class="xooki-br"/>    &lt;/target&gt;
+    &lt;property name="ivy.install.version" value="2.1.0-rc2" /&gt;<br class="xooki-br"/>    &lt;condition property="ivy.home" value="${env.IVY_HOME}"&gt;<br class="xooki-br"/>      &lt;isset property="env.IVY_HOME" /&gt;<br class="xooki-br"/>    &lt;/condition&gt;<br class="xooki-br"/>    &lt;property name="ivy.home" value="${user.home}/.ant" /&gt;<br class="xooki-br"/>    &lt;property name="ivy.jar.dir" value="${ivy.home}/lib" /&gt;<br class="xooki-br"/>    &lt;property name="ivy.jar.file" value="${ivy.jar.dir}/ivy.jar" /&gt;<br class="xooki-br"/><br class="xooki-br"/>    &lt;target name="download-ivy" unless="offline"&gt;<br class="xooki-br"/><br class="xooki-br"/>        &lt;mkdir dir="${ivy.jar.dir}"/&gt;<br class="xooki-br"/>        &lt;!-- download Ivy from web site so that it can be used even without any special installation --&gt;<br class="xooki-br"/>        &lt;get src="https://repo1.maven.org/maven2/org/apache/ivy/ivy/${ivy.install.version}/ivy-${ivy.install.version}.jar
 " <br class="xooki-br"/>             dest="${ivy.jar.file}" usetimestamp="true"/&gt;<br class="xooki-br"/>    &lt;/target&gt;<br class="xooki-br"/><br class="xooki-br"/>    &lt;target name="init-ivy" depends="download-ivy"&gt;<br class="xooki-br"/>      &lt;!-- try to load ivy here from ivy home, in case the user has not already dropped<br class="xooki-br"/>              it into ant's lib dir (note that the latter copy will always take precedence).<br class="xooki-br"/>              We will not fail as long as local lib dir exists (it may be empty) and<br class="xooki-br"/>              ivy is in at least one of ant's lib dir or the local lib dir. --&gt;<br class="xooki-br"/>        &lt;path id="ivy.lib.path"&gt;<br class="xooki-br"/>            &lt;fileset dir="${ivy.jar.dir}" includes="*.jar"/&gt;<br class="xooki-br"/><br class="xooki-br"/>        &lt;/path&gt;<br class="xooki-br"/>        &lt;taskdef resource="org/apache/ivy/ant/antlib.xml"<br class="xooki-br"/>                 u
 ri="antlib:org.apache.ivy.ant" classpathref="ivy.lib.path"/&gt;<br class="xooki-br"/>    &lt;/target&gt;
 </pre>
 
-Then the only thing to do is to add the init-ivy target in the depends attribute of your targets using Ivy, and add the ivy namespace to your build script. See the self contained <a href="https://svn.apache.org/repos/asf/ant/ivy/core/trunk/src/example/go-ivy/build.xml">go-ivy</a> example for details about this.<br class="xooki-br"/>	<hr/><div class='toc-title toc-title-3'>Settings Files</div><br class="xooki-br"/>In order to work as you want, ivy sometimes needs some settings. Actually, ivy can work with no specific settings at all, see the <a href="tutorial/defaultconf.html">default settings documentation</a> for details about that. But ivy is able to work in very different contexts. You just have to configure it properly.<br class="xooki-br"/><br class="xooki-br"/>Settings are specified through an xml file, usually called ivysettings.xml. To configure ivy from ant, you just have to use the <a href="use/settings.html">settings</a> datatype with the path of your settings file.<br cl
 ass="xooki-br"/><br class="xooki-br"/>Here is an example of the settings file:
+Then the only thing to do is to add the init-ivy target in the depends attribute of your targets using Ivy, and add the ivy namespace to your build script. See the self contained <a href="https://git-wip-us.apache.org/repos/asf?p=ant-ivy.git;a=blob;f=src/example/go-ivy/build.xml">go-ivy</a> example for details about this.<br class="xooki-br"/>	<hr/><div class='toc-title toc-title-3'>Settings Files</div><br class="xooki-br"/>In order to work as you want, ivy sometimes needs some settings. Actually, ivy can work with no specific settings at all, see the <a href="tutorial/defaultconf.html">default settings documentation</a> for details about that. But ivy is able to work in very different contexts. You just have to configure it properly.<br class="xooki-br"/><br class="xooki-br"/>Settings are specified through an xml file, usually called ivysettings.xml. To configure ivy from ant, you just have to use the <a href="use/settings.html">settings</a> datatype with the path of your settings 
 file.<br class="xooki-br"/><br class="xooki-br"/>Here is an example of the settings file:
 <pre>
 &lt;ivysettings&gt;<br class="xooki-br"/>        &lt;properties file="${ivy.settings.dir}/ivysettings-file.properties" /&gt;<br class="xooki-br"/>        &lt;settings defaultResolver="ibiblio" /&gt;<br class="xooki-br"/>        &lt;caches  defaultCacheDir="${cache.dir}" checkUpToDate="false" /&gt;<br class="xooki-br"/>        &lt;resolvers&gt;<br class="xooki-br"/>                &lt;ibiblio name="ibiblio" /&gt;<br class="xooki-br"/>                &lt;filesystem name="internal"&gt;<br class="xooki-br"/>                        &lt;ivy pattern="${repository.dir}/[module]/ivy-[revision].xml" /&gt;<br class="xooki-br"/>                        &lt;artifact pattern="${repository.dir}/[module]/[artifact]-[revision].[ext]" /&gt;<br class="xooki-br"/>                &lt;/filesystem&gt;<br class="xooki-br"/>        &lt;/resolvers&gt;<br class="xooki-br"/>        &lt;modules&gt;<br class="xooki-br"/>                &lt;module organisation="jayasoft" name=".*" resolver="internal" /&gt;<br clas
 s="xooki-br"/>        &lt;/modules&gt;<br class="xooki-br"/>&lt;/ivysettings&gt;
 </pre>
@@ -1774,7 +1908,7 @@ Looks for ivy files on and ivyrep like w
 
 <span class="since">since 1.3</span> Using the m2compatible attribute, you can benefit from maven 2 repository compatibility (convert dots in organisation into slashes, search for poms, use transitive dependencies of poms). This setting also affects the default place where the resolver looks for its artifacts to point to the maven2 repository. So setting this attribute to true is sufficient to use maven 2 ibiblio repository.<br class="xooki-br"/><br class="xooki-br"/><span class="since">since 1.4</span> When using the m2compatible flag, you can disable the use of poms by setting the usepoms flag to false. It is then roughly equivalent to a url resolver configured like this:
 <pre>
-&lt;url name="test" m2compatible="true"&gt;<br class="xooki-br"/>  &lt;artifact pattern="<a href="http://repo1.maven.org/maven2/[organisation]/[module]/[revision]/[artifact]-[revision].[ext">http://repo1.maven.org/maven2/[organisation]/[module]/[revision]/[artifact]-[revision].[ext</a>]"/&gt;<br class="xooki-br"/>&lt;/url&gt;
+&lt;url name="test" m2compatible="true"&gt;<br class="xooki-br"/>  &lt;artifact pattern="<a href="https://repo1.maven.org/maven2/[organisation]/[module]/[revision]/[artifact]-[revision].[ext">https://repo1.maven.org/maven2/[organisation]/[module]/[revision]/[artifact]-[revision].[ext</a>]"/&gt;<br class="xooki-br"/>&lt;/url&gt;
 </pre>
 
 <span class="since">since 2.0</span> When used in m2compatible mode with the default pattern, this resolver uses maven-metadata.xml files (if present) to list the revisions available on the repository. This is especially useful when using a maven specific proxy, which does not serve directory listing. This can be disabled by using the useMavenMetadata flag.<br class="xooki-br"/><br class="xooki-br"/><strong>Limitation</strong>: in m2compatible mode, this resolver is not able list available organizations. It means some features like <a href="use/repreport.html">repreport</a> are not available.<br class="xooki-br"/><br class="xooki-br"/><h1>Attributes</h1>
@@ -2057,7 +2191,7 @@ The m2resource XML tag supports the foll
   <tr>
     <td>repo</td>
     <td>Maven repository URL</td>
-    <td>No; defaults to <a href="http://repo1.maven.org/maven2/">http://repo1.maven.org/maven2/</a> </td>
+    <td>No; defaults to <a href="https://repo1.maven.org/maven2/">https://repo1.maven.org/maven2/</a> </td>
   </tr>
 </tbody>
 </table>
@@ -2578,7 +2712,7 @@ This resolver shares the <a href="../set
 
 Having the file mavenrepolist.txt content:
 <pre>
-<a href="http://repo1.maven.org/maven2/">http://repo1.maven.org/maven2/</a><br class="xooki-br"/><a href="http://repo2.maven.org/maven2/">http://repo2.maven.org/maven2/</a>
+<a href="https://repo1.maven.org/maven2/">https://repo1.maven.org/maven2/</a><br class="xooki-br"/><a href="http://repo2.maven.org/maven2/">http://repo2.maven.org/maven2/</a>
 </pre>
 And the piece of settings:
 <pre>
@@ -2590,7 +2724,40 @@ The mirror list can be retrieved from a
 <pre>
 &lt;mirroredurl name="mirrored-asf" mirrorListUrl="<a href="http://www.apache.org/dyn/closer.cgi">http://www.apache.org/dyn/closer.cgi</a>"&gt;<br class="xooki-br"/>  &lt;ivy pattern="repo/[organisation]/[module]/[revision]/ivy.xml" /&gt;<br class="xooki-br"/>  &lt;artifact pattern="repo/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" /&gt;<br class="xooki-br"/>&lt;/mirroredurl&gt;
 </pre>
-<hr/><div class='toc-title toc-title-4'>conflict-managers</div><br class="xooki-br"/><b>Tag:</b> conflict-managers<br class="xooki-br"/><br class="xooki-br"/><span class="tagdoc" id="ivysettings.conflict-managers">Defines a list of <a href="../concept.html#conflict">conflicts managers</a> usable in Ivy.</span> Each conflict manager is identified by its name, given as an attribute.<br class="xooki-br"/>The child tag used for the conflict manager must be equal to a name of a conflict manager type (either built-in or added with the typedef tag).<br class="xooki-br"/><br class="xooki-br"/>Here is a list of built-in conflicts managers (which do not require anything in the configuration file):
+<hr/><div class='toc-title toc-title-5'>Bintray Resolver</div>
+<table class="resolver">
+<tr><td class="title">Tag</td><td class="value">bintray</td></tr>
+<tr><td class="title">Handle latest</td><td class="value">yes, at least if the repository server is apache based</td></tr>
+<tr><td class="title">Handle publish</td><td class="value">no</td></tr>
+</table>
+
+<span class="tagdoc" id="ivysettings.resolvers.ibiblio">This resolver uses Bintray DaaS (Distribution as a Service) platform to retrieve artifacts.</span>
+
+<h1>Attributes</h1>
+<table class="ivy-attributes">
+<thead>
+    <tr><th class="ivy-att">Attribute</th><th class="ivy-att-desc">Description</th><th class="ivy-att-req">Required</th></tr>
+</thead>
+<tbody>
+    <tr><td>subject</td><td>Bintray username of a repository owner.</td>
+        <td>No, defaults to JCenter</td></tr>
+    <tr><td>repo</td><td>User's repository name.</td>
+        <td>No, defaults to JCenter</td></tr>
+</tbody>
+</table>
+
+<h1>Examples</h1>
+<pre>
+&lt;bintray /&gt;
+</pre>
+
+A default, defines a <a href="https://bintray.com/bintray/jcenter">JCenter</a> (<a href="http://jcenter.bintray.com/">http://jcenter.bintray.com/</a>) resolver. <br class="xooki-br"/>In most circumstances you won't need any other resolvers as JCenter is already a super-set of many other repositories, including Maven Central.<br class="xooki-br"/><br class="xooki-br"/><hr/>
+
+<pre>
+&lt;bintray subject="dsowerby" repo="maven"/&gt;<br class="xooki-br"/>&lt;bintray subject="igelgrun" repo="batrak"/&gt;
+</pre>
+
+Defines two resolvers to use a <a href="https://bintray.com/dsowerby/maven">repository</a> "maven" of user "dsowerby" (<a href="https://dl.bintray.com/dsowerby/maven/">https://dl.bintray.com/dsowerby/maven/</a>) <br class="xooki-br"/>and <a href="https://bintray.com/igelgrun/batrak">repository</a> "batrak" of user "igelgrun" (<a href="https://dl.bintray.com/igelgrun/batrak/">https://dl.bintray.com/igelgrun/batrak/</a>).<br class="xooki-br"/><hr/><div class='toc-title toc-title-4'>conflict-managers</div><br class="xooki-br"/><b>Tag:</b> conflict-managers<br class="xooki-br"/><br class="xooki-br"/><span class="tagdoc" id="ivysettings.conflict-managers">Defines a list of <a href="../concept.html#conflict">conflicts managers</a> usable in Ivy.</span> Each conflict manager is identified by its name, given as an attribute.<br class="xooki-br"/>The child tag used for the conflict manager must be equal to a name of a conflict manager type (either built-in or added with the typedef tag).<br 
 class="xooki-br"/><br class="xooki-br"/>Here is a list of built-in conflicts managers (which do not require anything in the configuration file):
 <ul>
 <li>all</li> this conflicts manager resolve conflicts by selecting all revisions. Also called the NoConflictManager, it doesn't evict any modules.
 <li>latest-time</li> this conflict manager selects only the 'latest' revision, latest being defined as the latest in time. Note that latest in time is costly to compute, so prefer latest-revision if you can.
@@ -2689,11 +2856,11 @@ Uses 'fix-103' as default branch for all
 
 A report outputter is used at the end of the resolve process to generate a report of how the resolve has been performed.<br class="xooki-br"/><br class="xooki-br"/>Two report outputters are registered by default:
 <ul>
-<li>a log report outputter (<a href="https://svn.apache.org/repos/asf/ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/report/LogReportOutputter.java">LogReportOutputter</a>)</li>which produces the output on the console at the end of the resolve, which looks like this:
+<li>a log report outputter (<a href="https://git-wip-us.apache.org/repos/asf?p=ant-ivy.git;a=blob;f=src/java/org/apache/ivy/plugins/report/LogReportOutputter.java">LogReportOutputter</a>)</li>which produces the output on the console at the end of the resolve, which looks like this:
 <pre>
         ---------------------------------------------------------------------<br class="xooki-br"/>        |                  |            modules            ||   artifacts   |<br class="xooki-br"/>        |       conf       | number| search|dwnlded|evicted|| number|dwnlded|<br class="xooki-br"/>        ---------------------------------------------------------------------<br class="xooki-br"/>        |      default     |   1   |   1   |   0   |   0   ||   1   |   1   |<br class="xooki-br"/>        ---------------------------------------------------------------------
 </pre>
-<li>an xml report outputter (<a href="https://svn.apache.org/repos/asf/ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/report/XmlReportOutputter.java">XmlReportOutputter</a>)</li>which produces an xml report in the cache, which is mandatory for correct Ivy behaviour, since it's that report which is used when you do a post resolve step in a separate build from the resolve itself. It's also this xml report which is processed to generate all the different reports available in the <a href="use/report.html">report</a> task.
+<li>an xml report outputter (<a href="https://git-wip-us.apache.org/repos/asf?p=ant-ivy.git;a=blob;f=src/java/org/apache/ivy/plugins/report/XmlReportOutputter.java">XmlReportOutputter</a>)</li>which produces an xml report in the cache, which is mandatory for correct Ivy behaviour, since it's that report which is used when you do a post resolve step in a separate build from the resolve itself. It's also this xml report which is processed to generate all the different reports available in the <a href="use/report.html">report</a> task.
 </ul>
 
 The child tag used for the parser must be equal to a name of a report outputter type (added with the typedef tag).<br class="xooki-br"/><br class="xooki-br"/>To see how to define your own report outputter see <a href="../extend.html">Extending Ivy documentation</a><br class="xooki-br"/><br class="xooki-br"/><h1>Child elements</h1>
@@ -3888,7 +4055,7 @@ Combined with the antlib definition in t
 <pre>
   &lt;taskdef name="ivy-configure" classname="org.apache.ivy.ant.IvyConfigure"/&gt;<br class="xooki-br"/>  &lt;taskdef name="ivy-resolve" classname="org.apache.ivy.ant.IvyResolve"/&gt;<br class="xooki-br"/>  &lt;taskdef name="ivy-retrieve" classname="org.apache.ivy.ant.IvyRetrieve"/&gt;<br class="xooki-br"/>  &lt;taskdef name="ivy-deliver" classname="org.apache.ivy.ant.IvyDeliver"/&gt; <br class="xooki-br"/>  &lt;taskdef name="ivy-publish" classname="org.apache.ivy.ant.IvyPublish"/&gt;
 </pre>
-<em>Note: the tasks listed above are non exhaustive. For a complete list of tasks with the corresponding classes, see the <a href="https://svn.apache.org/repos/asf/ant/ivy/core/trunk/src/java/org/apache/ivy/ant/antlib.xml">antlib.xml</a> file in svn or the version you use.</em><br class="xooki-br"/><br class="xooki-br"/>Then you can use the tasks, but check their name, following samples assume you use the ivy namespace (ivy:xxx tasks), whereas with ant 1.5 you cannot use namespace, and should therefore use ivy-xxx tasks if you have followed the taskdefs above.<br class="xooki-br"/><br class="xooki-br"/>If you use an ant version lower than 1.5.1, you can not use the ivy tasks... you should then call ivy as any external program.<br class="xooki-br"/><h1>Calling ivy from ant: first steps</h1>
+<em>Note: the tasks listed above are non exhaustive. For a complete list of tasks with the corresponding classes, see the <a href="https://git-wip-us.apache.org/repos/asf?p=ant-ivy.git;a=blob;f=src/java/org/apache/ivy/ant/antlib.xml">antlib.xml</a> file in git or the version you use.</em><br class="xooki-br"/><br class="xooki-br"/>Then you can use the tasks, but check their name, following samples assume you use the ivy namespace (ivy:xxx tasks), whereas with ant 1.5 you cannot use namespace, and should therefore use ivy-xxx tasks if you have followed the taskdefs above.<br class="xooki-br"/><br class="xooki-br"/>If you use an ant version lower than 1.5.1, you can not use the ivy tasks... you should then call ivy as any external program.<br class="xooki-br"/><h1>Calling ivy from ant: first steps</h1>
 Once your build file is ok to call ivy tasks, the simplest way to use ivy is to call the ivy retrieve task with no parameters:
 <pre>
 &lt;ivy:retrieve /&gt;
@@ -3909,7 +4076,7 @@ To understand more accurately the behavi
 <pre>
 ivy.project.dir = ${basedir}<br class="xooki-br"/>ivy.lib.dir = ${ivy.project.dir}/lib<br class="xooki-br"/>ivy.build.artifacts.dir = ${ivy.project.dir}/build/artifacts<br class="xooki-br"/>ivy.distrib.dir = ${ivy.project.dir}/distrib<br class="xooki-br"/>	<br class="xooki-br"/>ivy.resolver.default.check.modified = false<br class="xooki-br"/>ivy.default.always.check.exact.revision = true<br class="xooki-br"/><br class="xooki-br"/>ivy.configurations = *<br class="xooki-br"/>ivy.resolve.default.type.filter = *<br class="xooki-br"/>ivy.status = integration<br class="xooki-br"/>ivy.dep.file = ivy.xml<br class="xooki-br"/>ivy.settings.file = ivysettings.xml<br class="xooki-br"/>ivy.retrieve.pattern = ${ivy.lib.dir}/[artifact]-[revision].[ext]<br class="xooki-br"/>ivy.deliver.ivy.pattern = ${ivy.distrib.dir}/[type]s/[artifact]-[revision].[ext]<br class="xooki-br"/>ivy.publish.src.artifacts.pattern = ${ivy.distrib.dir}/[type]s/[artifact]-[revision].[ext]<br class="xooki-br"/><br class="xoo
 ki-br"/>ivy.report.output.pattern = [organisation]-[module]-[conf].[ext]<br class="xooki-br"/><br class="xooki-br"/>ivy.buildlist.ivyfilepath = ivy.xml<br class="xooki-br"/><br class="xooki-br"/>ivy.checksums=sha1,md5
 </pre>
-<em>For the latest version of these properties, you can check the <a href="https://svn.apache.org/repos/asf/ant/ivy/core/trunk/src/java/org/apache/ivy/core/settings/ivy.properties">svn version</a>.</em><br class="xooki-br"/><br class="xooki-br"/><span class="since">since 2.0</span> After calling the first Ivy task, the property ivy.version will be available and contains the version of the used Ivy library. <br class="xooki-br"/><br class="xooki-br"/><h1>Ivy tasks attributes : generalities</h1>
+<em>For the latest version of these properties, you can check the <a href="https://git-wip-us.apache.org/repos/asf?p=ant-ivy.git;a=blob;f=src/java/org/apache/ivy/core/settings/ivy.properties">git version</a>.</em><br class="xooki-br"/><br class="xooki-br"/><span class="since">since 2.0</span> After calling the first Ivy task, the property ivy.version will be available and contains the version of the used Ivy library. <br class="xooki-br"/><br class="xooki-br"/><h1>Ivy tasks attributes : generalities</h1>
 Some tasks attributes values may be given through different places. The three possible places are :<br class="xooki-br"/><ol>
 <li>task attribute</li>
 <li>ivy instance</li>
@@ -4647,7 +4814,7 @@ The ivy:makepom task defines following p
 </ul>
 Note that each property can be given a value manually in the Ant build file. In that case, Ivy will use the value specified in the build file instead of the default value.<br class="xooki-br"/><br class="xooki-br"/>The default template that ships with Ivy looks like this:
 <pre>
-${ivy.pom.license}<br class="xooki-br"/>${ivy.pom.header}<br class="xooki-br"/>&lt;project xmlns="<a href="http://maven.apache.org/POM/4.0.0">http://maven.apache.org/POM/4.0.0</a>" xmlns:xsi="<a href="http://www.w3.org/2001/XMLSchema-instance">http://www.w3.org/2001/XMLSchema-instance</a>"<br class="xooki-br"/>    xsi:schemaLocation="<a href="http://maven.apache.org/POM/4.0.0">http://maven.apache.org/POM/4.0.0</a> <a href="http://maven.apache.org/maven-v4_0_0.xsd">http://maven.apache.org/maven-v4_0_0.xsd</a>"&gt;<br class="xooki-br"/><br class="xooki-br"/>  &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;<br class="xooki-br"/>  &lt;groupId&gt;${ivy.pom.groupId}&lt;/groupId&gt;<br class="xooki-br"/>  &lt;artifactId&gt;${ivy.pom.artifactId}&lt;/artifactId&gt;<br class="xooki-br"/>  &lt;packaging&gt;${ivy.pom.packaging}&lt;/packaging&gt;<br class="xooki-br"/>  &lt;version&gt;${ivy.pom.version}&lt;/version&gt;<br class="xooki-br"/>  &lt;name&gt;${ivy.pom.name}&lt;/name&gt;<br class="xooki
 -br"/>  &lt;description&gt;${ivy.pom.description}&lt;/description&gt;<br class="xooki-br"/>  &lt;url&gt;${ivy.pom.url}&lt;/url&gt;<br class="xooki-br"/>&lt;/project&gt;
+${ivy.pom.license}<br class="xooki-br"/>${ivy.pom.header}<br class="xooki-br"/>&lt;project xmlns="<a href="http://maven.apache.org/POM/4.0.0">http://maven.apache.org/POM/4.0.0</a>" xmlns:xsi="<a href="http://www.w3.org/2001/XMLSchema-instance">http://www.w3.org/2001/XMLSchema-instance</a>"<br class="xooki-br"/>    xsi:schemaLocation="<a href="http://maven.apache.org/POM/4.0.0">http://maven.apache.org/POM/4.0.0</a> <a href="http://maven.apache.org/xsd/maven-4.0.0.xsd">http://maven.apache.org/xsd/maven-4.0.0.xsd</a>"&gt;<br class="xooki-br"/><br class="xooki-br"/>  &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;<br class="xooki-br"/>  &lt;groupId&gt;${ivy.pom.groupId}&lt;/groupId&gt;<br class="xooki-br"/>  &lt;artifactId&gt;${ivy.pom.artifactId}&lt;/artifactId&gt;<br class="xooki-br"/>  &lt;packaging&gt;${ivy.pom.packaging}&lt;/packaging&gt;<br class="xooki-br"/>  &lt;version&gt;${ivy.pom.version}&lt;/version&gt;<br class="xooki-br"/>  &lt;name&gt;${ivy.pom.name}&lt;/name&gt;<br class=
 "xooki-br"/>  &lt;description&gt;${ivy.pom.description}&lt;/description&gt;<br class="xooki-br"/>  &lt;url&gt;${ivy.pom.url}&lt;/url&gt;<br class="xooki-br"/>&lt;/project&gt;
 </pre>
 
 <h1>Attributes</h1>
@@ -5730,40 +5897,31 @@ The Ivy project comes with settings for
 <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 <a href="../../links.html">contributed ones</a>. Do not hesitate to ask for help on the <a href="../../mailing-lists.html">Mailing lists</a>.<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://svn.apache.org/repos/asf/ant/ivy/core/trunk/src/java/org/apache/ivy/plugins">org.apac
 he.ivy.plugins</a> package. In each package you will find an 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"/>	<hr/><div class='toc-title toc-title-3'>Making a release</div><br class="xooki-br"/><h1>Making a release</h1>
+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 <a href="../../links.html">contributed ones</a>. Do not hesitate to ask for help on the <a href="../../mailing-lists.html">Mailing lists</a>.<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/plugin
 s">org.apache.ivy.plugins</a> package. In each package you will find an 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"/>	<hr/><div class='toc-title toc-title-3'>Making a release</div><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 trunk, check that files which require update for the release are up to date.<br class="xooki-br"/>This includes particularly:<br class="xooki-br"/>RELEASE_NOTES<br class="xooki-br"/>CHANGES<br class="xooki-br"/>README<br class="xooki-br"/><h3>2. Create a release branch</h3>
-This will allow to work separately from other developers, in case you need any last modification. For a release we have 2 branches. For instance, suppose we create a 2.0.0-beta1 release. We have a branch for the code for all 2.0.x releases, this is the '2.0.x' branch. From this branch we will create the release branch which is for a specific release. It is possible that the 2.0.x branch has already been created when releasing a previous version, in that case the creation of this branch can be skipped.
+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>
-svn copy <a href="https://svn.apache.org/repos/asf/ant/ivy/core/trunk">https://svn.apache.org/repos/asf/ant/ivy/core/trunk</a> \<br class="xooki-br"/>           <a href="https://svn.apache.org/repos/asf/ant/ivy/core/branches/2.0.x">https://svn.apache.org/repos/asf/ant/ivy/core/branches/2.0.x</a> \<br class="xooki-br"/>      -m "Creating a 2.0.x branch."<br class="xooki-br"/>svn copy <a href="https://svn.apache.org/repos/asf/ant/ivy/core/branches/2.0.x">https://svn.apache.org/repos/asf/ant/ivy/core/branches/2.0.x</a> \<br class="xooki-br"/>           <a href="https://svn.apache.org/repos/asf/ant/ivy/core/branches/2.0.0-beta1">https://svn.apache.org/repos/asf/ant/ivy/core/branches/2.0.0-beta1</a> \<br class="xooki-br"/>      -m "Creating a release branch for 2.0.0-beta1."
+git checkout 2.0.x<br class="xooki-br"/>git reset --hard<br class="xooki-br"/>git clean -d -x -f
 </pre>
-<h3>3. Check out the branch</h3>
-<pre>
-svn co <a href="https://svn.apache.org/repos/asf/ant/ivy/core/branches/2.0.0-beta1">https://svn.apache.org/repos/asf/ant/ivy/core/branches/2.0.0-beta1</a> ivy-2.0.0-beta1
-</pre>
-<h3>4. Add Ivy xsd file.</h3>
+<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>
 
-<h3>5. Add release note page in the documentation.</h3>
-Open the file doc/index.html with your favorite browser, and click on the plus button in the upper right. Choose "Release Notes" as title, and "release-notes" as page id. <br class="xooki-br"/><br class="xooki-br"/>Then edit the page (hit the first button at the upper right), and copy the content of the RELEASE_NOTES file. You can also add the announcement for the release if it's already ready.<br class="xooki-br"/><br class="xooki-br"/>Move the page up in the TOC using the arrow button in the toolbar at the upper right, so that it's the first child page under the "Documentation" page.<br class="xooki-br"/><br class="xooki-br"/>If you take the time to make the content of the release notes more "xooki compliant" (by removing unnecessary end of lines and adding h2 h3 and h4 tags), the page could then look like something like that:<br class="xooki-br"/><a href="http://ant.apache.org/ivy/history/2.0.0-alpha-1.html">http://ant.apache.org/ivy/history/2.0.0-alpha-1.html</a><br class="xooki
 -br"/><br class="xooki-br"/><h3>6. Commit your changes</h3>
-<pre>
-svn status<br class="xooki-br"/>svn add doc/ivy.xsd<br class="xooki-br"/>svn add doc/release-notes.html<br class="xooki-br"/>svn ci -m "update templates, add release notes and ivy.xsd in documentation."
-</pre>
-<h3>7. Check that you have no pending modifications</h3>
+And commit your changes in the branch:
 <pre>
-svn status
+git add doc/ivy.xsd<br class="xooki-br"/>git commit -m "release the ivy.xsd"
 </pre>
-If your working copy is clean, you can launch the release script. If it isn't, make sure to clean it properly. Sometimes you may need to call ant clean-all if you have started to work with ant builds. If you are confused about your working copy state, delete it and check it out again.<br class="xooki-br"/><h3>8. Launch the release script</h3>
+<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 anything is wrong, fix and go back to step 4.<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>9. 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>10. Sign and upload the artifacts</h3>
+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
@@ -5773,67 +5931,66 @@ Here is a ruby script you can use to sig
 <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>11. Prepare the Eclipse update site</h3>
+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>12. Tag the svn repository</h3>
-As soon as you are happy with the artifacts to be released, it is time to tag the svn repo
+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>
-svn copy <a href="https://svn.apache.org/repos/asf/ant/ivy/core/branches/2.0.0-beta1">https://svn.apache.org/repos/asf/ant/ivy/core/branches/2.0.0-beta1</a> \<br class="xooki-br"/>           <a href="https://svn.apache.org/repos/asf/ant/ivy/core/tags/2.0.0-beta1">https://svn.apache.org/repos/asf/ant/ivy/core/tags/2.0.0-beta1</a> \<br class="xooki-br"/>      -m "Tag release 2.0.0-beta1."
+git tag 2.0.0-beta1
 </pre>
 
-And don't forget to set the svn:external on doc/xooki to a fixed revision. Edit the svn:external property on the folder doc/xooki in the tag and set it to the revision of the commit of the tag. It should look like:
+And push the changes to the ASF repo
 <pre>
-xooki -r790212 <a href="https://svn.apache.org/repos/asf/ant/ivy/site/xooki/">https://svn.apache.org/repos/asf/ant/ivy/site/xooki/</a>
+git push --tags 
 </pre>
 
-And commit that modification.<br class="xooki-br"/><br class="xooki-br"/><h3>Publish the release candidate</h3>
+<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>13. Call for a vote to approve the release</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://svn.apache.org/repos/asf/ant/ivy/core/tags/${version}@${svn-rev-of-the-tag">https://svn.apache.org/repos/asf/ant/ivy/core/tags/${version}@${svn-rev-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
+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>14. Publish the release</h3>
+<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>15. Update the web site</h3>
-Add a link to the released version documentation in the web site. <br class="xooki-br"/><br class="xooki-br"/>To do so, you need to:<br class="xooki-br"/><ol>
-<li>add a svn externals reference to the documentation</li>
-edit the svn properties of site/history, and in the svn:externals property, add a line like this one:
-<pre>
-2.0.0-beta1 <a href="https://svn.apache.org/repos/asf/ant/ivy/core/branches/2.0.0-beta1/doc">https://svn.apache.org/repos/asf/ant/ivy/core/branches/2.0.0-beta1/doc</a>
-</pre>
-You should also change the latest-milestone external link.<br class="xooki-br"/><br class="xooki-br"/>You can use "svn propedit svn:externals path/to/history" to do so.<br class="xooki-br"/><br class="xooki-br"/>Once you've changed the property, use "svn up" to checkout the proper documentation.
+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 something like that:
+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>
-You can also edit the title of the main documentation node pointing to latest-milestone / latest-release if necessary.<br class="xooki-br"/></ol>
-

[... 41 lines stripped ...]


Mime
View raw message