Building Log4j 2
  
To build Log4j 2, you need a JDK implementation version 1.7 or greater, and Apache Maven.
Note that building the site requires Maven 3.0.5, while everything else works
fine with any version of Maven 3.

To perform the license release audit, a.k.a. "RAT check", run.

mvn apache-rat:check

To perform a Clirr check on the API module, run

mvn clirr:check -pl log4j-api

To build the site with Java 7, make sure you give Maven enough memory using 
MAVEN_OPTS with options appropriate for your JVM. Alternatively, you can 
build with Java 8 and not deal with MAVEN_OPTS.

To build the site, from a command line, run:

mvn clean install

Once install is run, you can run the Clirr check on the 1.2 API module:

mvn clirr:check -pl log4j-1.2-api

Next, to build the site:

mvn site

On Windows, use a local staging directory, for example:

mvn site:stage-deploy -DstagingSiteURL=file:///%HOME%/log4j

On UNIX, use a local staging directory, for example:

mvn site:stage-deploy -DstagingSiteURL=file:///$HOME/log4j

To test, run:

mvn test

Then, to test OSGi, you must first create the jars:

mvn install -DskipTests
mvn package -DskipTests

Next, you can run the tests as usual, which will pick up the jar files to use as OSGi bundles from the various target 
directories:

mvn test
