Building HttpComponents AsyncClient 
============================

(1) Requisites
--------------
HttpAsyncClient utilizes Maven 2 as a distribution management and packaging tool. 
Version 2.1.0 or above is required, which requires JDK 1.4 or later.
However, it is recommended that you use Maven 2.2.1 or later, which  
require JDK 1.5 or above, as does HttpAsyncClient itself.

Maven installation and configuration instructions can be found here:

http://maven.apache.org/run-maven/index.html

(2) Executing test cases

Execute the following command in order to compile and test the components

mvn test

(3) Building packages 

Execute the following command in order to build the JAR packages

mvn package

The resultant packages can be found in the target folders of their respective modules

httpasyncclient/target/httpasyncclient-<VERSION>.jar

where <VERSION> is the release version

(4) Building documentation 

Execute the following command in order to generate javadoc:

mvn javadoc:aggregate

Execute the following command in order to generate the tutorial in html and pdf formats

mvn docbkx:generate-pdf docbkx:generate-html

(5) Building distribution assemblies 

Execute the following command in order to build the distribution assemblies

mvn package assembly:assembly

(6) Fix EOL in source files

Fix the archive files so the source files have the correct EOL settings:

mvn antrun:run

(7) Building project web site 

Execute the following command in order to generate the project web site:

mvn site -Dmaven.clover.licenseLocation=<path>/clover.license

where <path> is a full path to Clover license file

ASF committers can obtain a copy of Clover license donated to the ASF from the SVN repository
at the following location:

https://svn.apache.org/repos/private/committers/donated-licenses/clover

