Building HttpComponents Client 
============================

(1) Requisites
--------------
JDK 1.7+ is required in order to compile and run HttpClient.

HttpClient utilizes Maven as a distribution management and packaging tool.
Version 3.3 or later is required.

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 and install 
them to the local repository:

mvn install

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

httpclient5/target/httpclient5-<VERSION>.jar
httpclient5-cache/target/httpclient5-cache-<VERSION>.jar
httpclient5-fluent/target/httpclient5-fluent-<VERSION>.jar
httpclient5-win/target/httpclient5-win-<VERSION>.jar
httpclient5-osgi/target/org.apache.httpcomponents.httpclient_<VERSION>.jar

where <VERSION> is the release version

(4) Validating packages

Check for proper license headers with:

mvn apache-rat:check

