| ---------------------------------------------------------------------------------- |
| Requirements: |
| |
| * Unix System |
| * JDK 1.6 |
| * Maven 3.0 |
| * Forrest 0.8 (if generating docs) |
| * Findbugs 1.3.9 (if running findbugs) |
| * Autotools (if compiling native code) |
| * Internet connection for first build (to fetch all Maven and Hadoop dependencies) |
| |
| ---------------------------------------------------------------------------------- |
| Maven modules: |
| |
| hadoop (Main Hadoop project) |
| - hadoop-project (Parent POM for all Hadoop Maven modules. ) |
| (All plugins & dependencies versions are defined here.) |
| - hadoop-annotations (Generates the Hadoop doclet used to generated the Javadocs) |
| - hadoop-common (Hadoop common) |
| |
| ---------------------------------------------------------------------------------- |
| Where to run Maven from? |
| |
| It can be run from any module. The only catch is that if not run from utrunk |
| all modules that are not part of the build run must be installed in the local |
| Maven cache or available in a Maven repository. |
| |
| ---------------------------------------------------------------------------------- |
| Maven build goals: |
| |
| * Clean : mvn clean |
| * Compile : mvn compile [-Pnative] |
| * Run tests : mvn test [-Pnative] |
| * Create JAR : mvn package |
| * Run findbugs : mvn compile findbugs:findbugs |
| * Run checkstyle : mvn compile checkstyle:checkstyle |
| * Install JAR in M2 cache : mvn install |
| * Deploy JAR to Maven repo : mvn deploy |
| * Run clover : mvn test -Pclover [-DcloverLicenseLocation=${user.name}/.clover.license] |
| * Run Rat : mvn apache-rat:check |
| * Build javadocs : mvn javadoc:javadoc |
| * Build TAR : mvn package [-Ptar][-Pbintar][-Pdocs][-Psrc][-Pnative] |
| |
| Build options: |
| |
| * Use -Pnative to compile/bundle native code |
| * Use -Dsnappy.prefix=(/usr/local) & -Dbundle.snappy=(false) to compile |
| Snappy JNI bindings and to bundle Snappy SO files |
| * Use -Pdocs to generate & bundle the documentation in the TAR (using -Ptar) |
| * Use -Psrc to bundle the source in the TAR (using -Ptar) |
| |
| Tests options: |
| |
| * Use -DskipTests to skip tests when running the following Maven goals: |
| 'package', 'install', 'deploy' or 'verify' |
| * -Dtest=<TESTCLASSNAME>,.... |
| * -Dtest.exclude=<TESTCLASSNAME> |
| * -Dtest.exclude.pattern=**/<TESTCLASSNAME1>.java,**/<TESTCLASSNAME2>.java |
| |
| |
| ---------------------------------------------------------------------------------- |