Maven Repository - POM file for Document Database hbase 0.94.3 0.94.3

Summary

HBase.

HBase is the &lt;a href="http://hadoop.apache.org"&rt;Hadoop</a&rt; database. Use it when you need random, realtime read/write access to your Big Data. This project's goal is the hosting of very large tables -- billions of rows X millions of columns -- atop clusters of commodity hardwar....

Declaration

Here is the list of declaration for hbase. If you use Maven you can use the following code to add the dependency for this POM file.

<dependency>
   <groupId>org.apache.hbase</groupId>
   <artifactId>hbase</artifactId>
   <version>0.94.3</version>
</dependency>

If you think this Maven repository POM file listing for hbase is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.





License

Apache License.

Depends on

The hbase-0.94.3 has 39 dependencies.The most popular ones are listed in the following table along with their categories and number of artifacts depending on them.

CategoryArtifactDepended By Count
Developmentguava 11.0.2
Guava is a suite of core and expanded libraries that include utility classes, google's collections, io classes, and much much more. This project is a complete packaging of all the Guava libraries into a single jar. Individual portions of Guava can be used by downloading the ap...
158
Consolecommons-cli 1.2
Commons CLI provides a simple API for presenting, processing and validating a command line interface.
305
Data Structurecommons-configuration 1.6
Tools to assist in the reading of configuration/preferences files in various formats
156
Data Structurecommons-codec 1.4
The codec package contains simple encoder and decoders for various formats such as Base64 and Hexadecimal. In addition to these widely used encoders and decoders, the codec package also maintains a collection of phonetic encoding utilities.
248
Httpcommons-httpclient 3.1
The HttpClient component supports the client-side of RFC 1945 (HTTP/1.0) and RFC 2616 (HTTP/1.1) , several related specifications (RFC 2109 (Cookies) , RFC 2617 (HTTP Authentication) , etc.), and provides a framework by which new request types (methods) or HTTP extensions can be created easily.
430
Filecommons-io 2.1
The Commons IO library contains utility classes, stream implementations, file filters, file comparators and endian classes.
128
Data Structurecommons-lang 2.5
Commons Lang, a package of Java utility classes for the classes that are in java.lang's hierarchy, or are considered to be so standard as to justify existence in java.lang.
208
Logcommons-logging 1.1.1
Commons Logging is a thin adapter allowing configurable bridging to other, well known logging systems.
1143
Loglog4j 1.2.16
Apache Log4j 1.2
683
Dataavro 1.5.3
Avro core components
20
Dataavro-ipc 1.5.3
Avro inter-process communication components
18
JEElibthrift 0.8.0
Thrift is a software framework for scalable cross-language services development.
23
Jettyjetty 6.1.26
Jetty server core
111
Jettyjetty-util 6.1.26
Utility classes for Jetty
82
JSPjsp-2.1 6.1.14
JSP2.1 Jasper implementation from Glassfish
49
JSPjsp-api-2.1 6.1.14
JSP2.1 API
48
Servletservlet-api-2.5 6.1.14
Servlet Specification 2.5 API
37
JSONjackson-core-asl 1.8.8
Jackson is a high-performance JSON processor (parser, generator)
26
JSONjackson-mapper-asl 1.8.8
Data Mapper package is a high-performance data binding package built on Jackson JSON processor
36
Web Servicejackson-jaxrs 1.8.8
Jax-RS provider for JSON content type, based on Jackson JSON processor's data binding functionality.
21
Networkprotobuf-java 2.4.0a
Protocol Buffers are a way of encoding structured data in an efficient yet extensible format.
18
XML Parserstax-api 1.0.1
StAX API is the standard java XML processing API defined by JSR-173
254
Testing Mockmockito-all 1.8.5
Mock objects library for java
434
Data Structurecommons-math 2.1
The Math project is a library of lightweight, self-contained mathematics and statistics components addressing the most common practical problems not immediately available in the Java programming language or commons-lang.
95




Plugin

The following plugins are used in the hbase-0.94.3.jar

  1. apache-rat-plugin
  2. avro-maven-plugin
  3. build-helper-maven-plugin
  4. docbkx-maven-plugin
  5. jamon-maven-plugin
  6. maven-antrun-plugin
  7. maven-assembly-plugin
  8. maven-eclipse-plugin
  9. maven-failsafe-plugin
  10. maven-jar-plugin
  11. maven-javadoc-plugin
  12. maven-jxr-plugin
  13. maven-project-info-reports-plugin
  14. maven-site-plugin
  15. maven-source-plugin
  16. maven-surefire-plugin
  17. maven-surefire-report-plugin
  18. xml-maven-plugin




Packages

The following packages are defined in the hbase-0.94.3.jar

org.apache.hadoop.hbase
org.apache.hadoop.hbase.avro
org.apache.hadoop.hbase.avro.generated
org.apache.hadoop.hbase.backup
org.apache.hadoop.hbase.catalog
org.apache.hadoop.hbase.client
org.apache.hadoop.hbase.client.coprocessor
org.apache.hadoop.hbase.client.metrics
org.apache.hadoop.hbase.client.replication
org.apache.hadoop.hbase.constraint
org.apache.hadoop.hbase.coprocessor
org.apache.hadoop.hbase.coprocessor.example
org.apache.hadoop.hbase.executor
org.apache.hadoop.hbase.filter
org.apache.hadoop.hbase.fs
org.apache.hadoop.hbase.generated.master
org.apache.hadoop.hbase.generated.regionserver
org.apache.hadoop.hbase.io
org.apache.hadoop.hbase.io.encoding
org.apache.hadoop.hbase.io.hfile
org.apache.hadoop.hbase.io.hfile.slab
org.apache.hadoop.hbase.ipc
org.apache.hadoop.hbase.mapred
org.apache.hadoop.hbase.mapreduce
org.apache.hadoop.hbase.mapreduce.hadoopbackport
org.apache.hadoop.hbase.mapreduce.replication
org.apache.hadoop.hbase.master
org.apache.hadoop.hbase.master.cleaner
org.apache.hadoop.hbase.master.handler
org.apache.hadoop.hbase.master.metrics
org.apache.hadoop.hbase.metrics
org.apache.hadoop.hbase.metrics.file
org.apache.hadoop.hbase.metrics.histogram
org.apache.hadoop.hbase.migration
org.apache.hadoop.hbase.monitoring
org.apache.hadoop.hbase.regionserver
org.apache.hadoop.hbase.regionserver.compactions
org.apache.hadoop.hbase.regionserver.handler
org.apache.hadoop.hbase.regionserver.metrics
org.apache.hadoop.hbase.regionserver.wal
org.apache.hadoop.hbase.replication
org.apache.hadoop.hbase.replication.master
org.apache.hadoop.hbase.replication.regionserver
org.apache.hadoop.hbase.rest
org.apache.hadoop.hbase.rest.client
org.apache.hadoop.hbase.rest.filter
org.apache.hadoop.hbase.rest.metrics
org.apache.hadoop.hbase.rest.model
org.apache.hadoop.hbase.rest.protobuf.generated
org.apache.hadoop.hbase.rest.provider
org.apache.hadoop.hbase.rest.provider.consumer
org.apache.hadoop.hbase.rest.provider.producer
org.apache.hadoop.hbase.security
org.apache.hadoop.hbase.thrift
org.apache.hadoop.hbase.thrift.generated
org.apache.hadoop.hbase.thrift2
org.apache.hadoop.hbase.thrift2.generated
org.apache.hadoop.hbase.tmpl.common
org.apache.hadoop.hbase.tmpl.master
org.apache.hadoop.hbase.tmpl.regionserver
org.apache.hadoop.hbase.tool
org.apache.hadoop.hbase.util
org.apache.hadoop.hbase.util.hbck
org.apache.hadoop.hbase.zookeeper

POM File Source

Here is the content of the POM file.

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<!--
/**
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
-->
  <modelVersion>4.0.0</modelVersion>
  <!--To build a release I do this:

    $ mvn clean site install assembly:single -Prelease
   -->

  <parent>
    <groupId>org.apache</groupId>
    <artifactId>apache</artifactId>
    <version>8</version>
    <relativePath /><!-- no parent resolution -->
  </parent>

  <groupId>org.apache.hbase</groupId>
  <artifactId>hbase</artifactId>
  <packaging>jar</packaging>
  <version>0.94.3</version>
  <name>HBase</name>
  <description>
    HBase is the &amp;lt;a href="http://hadoop.apache.org"&amp;rt;Hadoop&lt;/a&amp;rt; database. Use it when you need
    random, realtime read/write access to your Big Data.
    This project's goal is the hosting of very large tables -- billions of rows X millions of columns -- atop clusters
    of commodity hardware.
  </description>
  <url>http://hbase.apache.org</url>

  <scm>
    <connection>scm:svn:http://svn.apache.org/repos/asf/hbase/tags/0.94.3mvn_release</connection>
    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/hbase/tags/0.94.3mvn_release</developerConnection>
    <url>http://svn.apache.org/viewvc/hbase/tags/0.94.3mvn_release</url>
  </scm>

  <issueManagement>
    <system>JIRA</system>
    <url>http://issues.apache.org/jira/browse/HBASE</url>
  </issueManagement>

  <ciManagement>
    <system>hudson</system>
    <url>http://hudson.zones.apache.org/hudson/view/HBase/job/HBase-TRUNK/</url>
  </ciManagement>

  <mailingLists>
    <mailingList>
      <name>User List</name>
      <subscribe>user-subscribe@hbase.apache.org</subscribe>
      <unsubscribe>user-unsubscribe@hbase.apache.org</unsubscribe>
      <post>user@hbase.apache.org</post>
      <archive>http://mail-archives.apache.org/mod_mbox/hbase-user/</archive>
      <otherArchives>
          <otherArchive>http://hbase.apache.org/mail/user/</otherArchive>
        <otherArchive>http://dir.gmane.org/gmane.comp.java.hadoop.hbase.user</otherArchive>
        <otherArchive>http://search-hadoop.com/?q=&amp;fc_project=HBase</otherArchive>
      </otherArchives>
    </mailingList>
    <mailingList>
      <name>Developer List</name>
      <subscribe>dev-subscribe@hbase.apache.org</subscribe>
      <unsubscribe>dev-unsubscribe@hbase.apache.org</unsubscribe>
      <post>dev@hbase.apache.org</post>
      <archive>http://mail-archives.apache.org/mod_mbox/hbase-dev/</archive>
      <otherArchives>
          <otherArchive>http://hbase.apache.org/mail/dev/</otherArchive>
        <otherArchive>http://dir.gmane.org/gmane.comp.java.hadoop.hbase.devel</otherArchive>
        <otherArchive>http://search-hadoop.com/?q=&amp;fc_project=HBase</otherArchive>
      </otherArchives>
    </mailingList>
    <mailingList>
      <name>Commits List</name>
      <subscribe>commits-subscribe@hbase.apache.org</subscribe>
      <unsubscribe>commits-unsubscribe@hbase.apache.org</unsubscribe>
      <archive>http://mail-archives.apache.org/mod_mbox/hbase-commits/</archive>
      <otherArchives>
          <otherArchive>http://hbase.apache.org/mail/commits/</otherArchive>
      </otherArchives>
    </mailingList>
    <mailingList>
      <name>Issues List</name>
      <subscribe>issues-subscribe@hbase.apache.org</subscribe>
      <unsubscribe>issues-unsubscribe@hbase.apache.org</unsubscribe>
      <archive>http://mail-archives.apache.org/mod_mbox/hbase-issues/</archive>
      <otherArchives>
          <otherArchive>http://hbase.apache.org/mail/issues/</otherArchive>
      </otherArchives>
    </mailingList>
  </mailingLists>

  

  <repositories>
    <repository>
      <id>apache release</id>
      <url>https://repository.apache.org/content/repositories/releases/</url>
    </repository>
    <repository>
      <id>apache non-releases</id>
      <name>Apache non-releases</name>
      <url>http://people.apache.org/~stack/m2/repository</url>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <releases>
        <enabled>true</enabled>
      </releases>
    </repository>
    <repository>
      <id>java.net</id>
      <name>Java.Net</name>
      <url>http://download.java.net/maven/2/</url>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <releases>
        <enabled>true</enabled>
      </releases>
    </repository>
    <repository>
      <id>codehaus</id>
      <name>Codehaus Public</name>
      <url>http://repository.codehaus.org/</url>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <releases>
        <enabled>true</enabled>
      </releases>
    </repository>
    <repository>
      <id>repository.jboss.org</id>
      <url>http://repository.jboss.org/nexus/content/groups/public-jboss/</url>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
    <repository>
      <id>ghelmling.testing</id>
      <name>Gary Helmling test repo</name>
      <url>http://people.apache.org/~garyh/mvn/</url>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
      <releases>
        <enabled>true</enabled>
      </releases>
    </repository>
  </repositories>

  <pluginRepositories>
    <pluginRepository>
      <id>ghelmling.testing</id>
      <name>Gary Helmling test repo</name>
      <url>http://people.apache.org/~garyh/mvn/</url>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
      <releases>
        <enabled>true</enabled>
      </releases>
    </pluginRepository>
  </pluginRepositories>

  <build>
    <!-- Some plugins (javadoc for example) can be used in the normal build- and the site phase.
         These plugins inherit their options from the <reporting> section below. These settings
         can be overwritten here. -->
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-release-plugin</artifactId>
          <!--Making a release I've been using mvn 3.0 and specifying the apache-release
              profile on the command line as follows:

              $ ~/bin/mvn/bin/mvn  -Papache-release release:perform

              I've also been kiling the release:prepare step mid-way to check the
              release.properties it generates at the top-level.  Sometimes it refers
              to HEAD rather than to the svn branch.
           -->
          <configuration>
            <!--You need this profile. It'll sign your artifacts.
                I'm not sure if this config. actually works though.
                I've been specifying -Papache-release on the command-line
             -->
            <releaseProfiles>apache-release</releaseProfiles>
            <!--This stops our running tests for each stage of maven release.
                But it builds the test jar.  From SUREFIRE-172.
              -->
            <arguments>-Dmaven.test.skip.exec</arguments>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>2.5.1</version>
          <configuration>
            <source>${compileSource}</source>
            <target>${compileSource}</target>
            <showWarnings>true</showWarnings>
            <showDeprecation>false</showDeprecation>
            <compilerArgument>-Xlint:-options</compilerArgument>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>${surefire.version}</version>
          <dependencies>
            <!-- by default surefire selects dynamically the connector to the unit tests tool.
              We want to use always the same as the different connectors
               can have different bugs and behaviour.
            -->
            <dependency>
              <groupId>org.apache.maven.surefire</groupId>
              <artifactId>${surefire.provider}</artifactId>
              <version>${surefire.version}</version>
            </dependency>
          </dependencies>

          <configuration>
            <forkedProcessTimeoutInSeconds>900</forkedProcessTimeoutInSeconds>
            <argLine>-enableassertions -Xmx1900m -Djava.security.egd=file:/dev/./urandom</argLine>
            <redirectTestOutputToFile>${test.output.tofile}</redirectTestOutputToFile>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-site-plugin</artifactId>
          <version>2.0.1</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-failsafe-plugin</artifactId>
          <version>${surefire.version}</version>
          <dependencies>
            <dependency>
              <groupId>org.apache.maven.surefire</groupId>
              <artifactId>${surefire.provider}</artifactId>
              <version>${surefire.version}</version>
            </dependency>
          </dependencies>
          <configuration>
            <includes>
              <include>${integrationtest.include}</include>
            </includes>
            <excludes>
              <exlude>${unittest.include}</exlude>
              <exclude>**/*$*</exclude>
              <exclude>${test.exclude.pattern}</exclude>
            </excludes>
            <redirectTestOutputToFile>${test.output.tofile}</redirectTestOutputToFile>
            <environmentVariables>
              <LD_LIBRARY_PATH>${env.LD_LIBRARY_PATH}:${project.build.directory}/nativelib</LD_LIBRARY_PATH>
              <DYLD_LIBRARY_PATH>${env.DYLD_LIBRARY_PATH}:${project.build.directory}/nativelib</DYLD_LIBRARY_PATH>
              <MALLOC_ARENA_MAX>4</MALLOC_ARENA_MAX>
            </environmentVariables>
          </configuration>
          <executions>
            <execution>
              <id>integration-test</id>
              <goals>
                <goal>integration-test</goal>
              </goals>
            </execution>
            <execution>
              <id>verify</id>
              <goals>
                <goal>verify</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <artifactId>maven-clean-plugin</artifactId>
          <configuration>
            <filesets>
              <fileset>
                <!--dfs tests have build dir hardcoded. Clean it as part of
               clean target-->
                <directory>build</directory>
              </fileset>
            </filesets>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-surefire-report-plugin</artifactId>
          <version>${surefire.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.avro</groupId>
          <artifactId>avro-maven-plugin</artifactId>
          <version>${avro.version}</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>build-helper-maven-plugin</artifactId>
          <version>1.5</version>
        </plugin>
        <!--This plugin's configuration is used to store Eclipse m2e settings only. It
          has no influence on the Maven build itself. m2e does not provide any safeguards against
          rogue maven plugins that leak classloaders, modify random files inside workspace
          or throw nasty exceptions to fail the build -->
        <plugin>
          <groupId>org.eclipse.m2e</groupId>
          <artifactId>lifecycle-mapping</artifactId>
          <version>1.0.0</version>
          <configuration>
            <lifecycleMappingMetadata>
              <pluginExecutions>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.apache.avro</groupId>
                    <artifactId>avro-maven-plugin</artifactId>
                    <versionRange>[1.5.3,)</versionRange>
                    <goals>
                      <goal>protocol</goal>
                      <goal>schema</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <execute />
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-antrun-plugin</artifactId>
                    <versionRange>[1.3,)</versionRange>
                    <goals>
                      <goal>run</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <execute />
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.jamon</groupId>
                    <artifactId>jamon-maven-plugin</artifactId>
                    <versionRange>[2.3.4,)</versionRange>
                    <goals>
                      <goal>translate</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <execute />
                  </action>
                </pluginExecution>
              </pluginExecutions>
            </lifecycleMappingMetadata>
          </configuration>
        </plugin>
  <plugin> <!-- in plugin management section so excludes can be inherited -->
    <groupId>org.apache.rat</groupId>
          <artifactId>apache-rat-plugin</artifactId>
          <version>0.8</version>
          <configuration>
            <excludes>
              <exclude>**/*.log</exclude>
              <exclude>**/.*</exclude>
              <exclude>**/*.tgz</exclude>
              <exclude>**/*.orig</exclude>
              <exclude>**/test/**</exclude>
              <exclude>**/8e8ab58dcf39412da19833fcd8f687ac</exclude>
              <exclude>**/.git/**</exclude>
              <exclude>**/target/**</exclude>
              <exclude>**/CHANGES.txt</exclude>
              <exclude>**/generated/**</exclude>
              <exclude>**/conf/*</exclude>
              <exclude>**/*.avpr</exclude>
              <exclude>**/*.svg</exclude> <!-- vector graphics -->
              <exclude>**/*.vm</exclude> <!-- apache doxia generated -->
              <exclude>**/control</exclude>
              <exclude>**/conffile</exclude>
        <exclude>docs/*</exclude> <!-- auto-gen docs -->
              <!--It don't like freebsd license-->
              <exclude>**/src/site/resources/css/freebsd_docbook.css</exclude>
              <!--  exclude source control files -->
              <exclude>.git/**</exclude>
              <exclude>.svn/**</exclude>
            </excludes>
          </configuration>
  </plugin>

      </plugins>
    </pluginManagement>

    <resources>
      <resource>
        <directory>src/main/resources/</directory>
        <includes>
          <include>hbase-default.xml</include>
        </includes>
      </resource>
      <resource>
        <directory>${project.build.directory}</directory>
        <includes>
          <include>hbase-webapps/**</include>
        </includes>
      </resource>
    </resources>
    <testResources>
      <testResource>
        <directory>src/test/resources</directory>
        <excludes>
          <exclude>hbase-site.xml</exclude>
        </excludes>
      </testResource>
    </testResources>

    <plugins>
      <plugin>
        <groupId>org.apache.avro</groupId>
        <artifactId>avro-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>generate-avro-sources</id>
            <phase>generate-sources</phase>
            <goals>
              <goal>schema</goal>
              <goal>protocol</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <outputDirectory>${project.build.directory}/generated-sources/java</outputDirectory>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>xml-maven-plugin</artifactId>
        <version>1.0-beta-3</version>
        <executions>
          <execution>
            <goals>
              <goal>transform</goal>
            </goals>
            <phase>pre-site</phase>
          </execution>
        </executions>
        <configuration>
          <transformationSets>
            <transformationSet>
              <dir>${basedir}/src/main/resources/</dir>
              <includes>
                <include>hbase-default.xml</include>
              </includes>
              <stylesheet>${basedir}/src/main/xslt/configuration_to_docbook_section.xsl</stylesheet>
              <outputDir>${basedir}/target/site/</outputDir>
            </transformationSet>
          </transformationSets>
        </configuration>
      </plugin>
      <plugin>
        <groupId>com.agilejava.docbkx</groupId>
        <artifactId>docbkx-maven-plugin</artifactId>
        <version>2.0.13</version>
        <executions>
          <execution>
              <id>multipage</id>
              <phase>pre-site</phase>
        <configuration>
          <xincludeSupported>true</xincludeSupported>
          <navigShowtitles>true</navigShowtitles>
          <chunkedOutput>true</chunkedOutput>
          <useIdAsFilename>true</useIdAsFilename>
          <sectionAutolabelMaxDepth>100</sectionAutolabelMaxDepth>
          <sectionAutolabel>true</sectionAutolabel>
          <sectionLabelIncludesComponentLabel>true</sectionLabelIncludesComponentLabel>
          <targetDirectory>${basedir}/target/site/book/</targetDirectory>
          <htmlStylesheet>../css/freebsd_docbook.css</htmlStylesheet>
          <htmlCustomization>src/docbkx/customization.xsl</htmlCustomization>
          <imgSrcPath>../images/</imgSrcPath>
          <tocMaxDepth>2</tocMaxDepth>
          <insertXrefPageNumber>yes</insertXrefPageNumber>
        </configuration>
            <goals>
              <goal>generate-html</goal>
            </goals>
          </execution>
          <execution>
              <id>onepage</id>
            <phase>pre-site</phase>
        <configuration>
          <xincludeSupported>true</xincludeSupported>
          <useIdAsFilename>true</useIdAsFilename>
          <sectionAutolabelMaxDepth>100</sectionAutolabelMaxDepth>
          <sectionAutolabel>true</sectionAutolabel>
          <sectionLabelIncludesComponentLabel>true</sectionLabelIncludesComponentLabel>
          <targetDirectory>${basedir}/target/site/</targetDirectory>
          <htmlStylesheet>css/freebsd_docbook.css</htmlStylesheet>
          <imgSrcPath>images/</imgSrcPath>
          <tocMaxDepth>2</tocMaxDepth>
          <insertXrefPageNumber>yes</insertXrefPageNumber>
        </configuration>
            <goals>
              <goal>generate-html</goal>
            </goals>
          </execution>
        </executions>
        <dependencies>
          <dependency>
            <groupId>org.docbook</groupId>
            <artifactId>docbook-xml</artifactId>
            <version>4.4</version>
            <scope>runtime</scope>
          </dependency>
        </dependencies>
      </plugin>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <tarLongFileMode>gnu</tarLongFileMode>
          <appendAssemblyId>false</appendAssemblyId>
          <descriptors>
            <descriptor>src/assembly/all.xml</descriptor>
          </descriptors>
        </configuration>
        <executions>
          <execution>
            <id>tarball</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

      <!-- Run with -Dmaven.test.skip.exec=true to build -tests.jar without running tests (this is needed for upstream projects whose tests need this jar simply for compilation)-->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <executions>
          <execution>
            <phase>prepare-package</phase>
            <goals>
              <goal>test-jar</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <archive>
            <manifest>
              <mainClass>org/apache/hadoop/hbase/mapreduce/Driver</mainClass>
            </manifest>
          </archive>
          <!-- Exclude these 2 packages, because their dependency _binary_ files include the sources, and Maven 2.2 appears to add them to the sources to compile, weird-->
          <excludes>
            <exclude>org/apache/jute/**</exclude>
            <exclude>org/apache/zookeeper/**</exclude>
            <exclude>**/*.jsp</exclude>
            <exclude>hbase-site.xml</exclude>
            <exclude>log4j.properties</exclude>
            <exclude>mapred-queues.xml</exclude>
          </excludes>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-source-plugin</artifactId>
        <executions>
          <execution>
            <id>attach-sources</id>
            <phase>prepare-package</phase>
            <goals>
              <goal>jar-no-fork</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
                <skip>${surefire.skipFirstPart}</skip>
                <forkMode>${surefire.firstPartForkMode}</forkMode>
                <parallel>${surefire.firstPartParallel}</parallel>
                <perCoreThreadCount>false</perCoreThreadCount>
                <threadCount>${surefire.firstPartThreadCount}</threadCount>
                <parallel>classes</parallel><!-- surefire hack, if not we're using method parallelisation class !-->
                <groups>${surefire.firstPartGroups}</groups>
                <testFailureIgnore>false</testFailureIgnore>
        </configuration>
        <executions>
          <execution>
            <id>secondPartTestsExecution</id>
            <phase>test</phase>
            <goals><goal>test</goal></goals>
            <configuration>
              <skip>${surefire.skipSecondPart}</skip>
              <testFailureIgnore>false</testFailureIgnore>
              <forkMode>perThread</forkMode>
              <perCoreThreadCount>false</perCoreThreadCount>
              <threadCount>${surefire.secondPartThreadCount}</threadCount>
              <parallel>classes</parallel><!-- surefire hack, if not we're using method parallelisation class !-->
              <groups>${surefire.secondPartGroups}</groups>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <!--  Run integration tests with mvn verify -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-failsafe-plugin</artifactId>
          <configuration>
            <skip>false</skip>
            <forkMode>always</forkMode>
          </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-antrun-plugin</artifactId>
        <version>1.6</version>
        <executions>
          <execution>
            <id>arc-setup</id>
            <phase>initialize</phase>
            <configuration>
              <tasks if="arc">
                <get dest="${project.build.directory}/arc-jira.tar.gz" src="https://github.com/facebook/arc-jira/tarball/master" />
                <untar src="${project.build.directory}/arc-jira.tar.gz" compression="gzip" dest="${project.build.directory}">
                  <patternset>
                    <include name="facebook-arc-jira-*/arc_jira_lib/**" />
                  </patternset>
                </untar>
                <move todir="${basedir}">
                  <fileset dir="${project.build.directory}">
                    <include name="facebook-arc-jira-*/arc_jira_lib/**" />
                   </fileset>
                  <mapper type="regexp" from="^facebook-arc-jira-([^/])*/(.*)" to="\.\2" />
                </move>
                <delete includeemptydirs="true">
                  <fileset dir="${project.build.directory}">
                    <include name="facebook-arc-jira-*" />
                    <include name="arc-jira.tar.gz" />
                  </fileset>
                </delete>
              </tasks>
            </configuration>
            <goals>
              <goal>run</goal>
            </goals>
          </execution>
          <execution>
            <id>generate</id>
            <phase>generate-sources</phase>
            <configuration>
              <target>
                <property name="build.webapps" location="${project.build.directory}/hbase-webapps" />
                <property name="src.webapps" location="${basedir}/src/main/resources/hbase-webapps" />
                <property name="generated.sources" location="${project.build.directory}/generated-sources" />

                <mkdir dir="${build.webapps}" />
                <copy todir="${build.webapps}">
                  <fileset dir="${src.webapps}">
                    <exclude name="**/*.jsp" />
                    <exclude name="**/.*" />
                    <exclude name="**/*~" />
                  </fileset>
                </copy>

                <!--The compile.classpath is passed in by maven-->
                <taskdef classname="org.apache.jasper.JspC" name="jspcompiler" classpathref="maven.compile.classpath" />

                <mkdir dir="${build.webapps}/master/WEB-INF" />
                <jspcompiler uriroot="${src.webapps}/master" outputdir="${generated.sources}/java" package="org.apache.hadoop.hbase.generated.master" webxml="${build.webapps}/master/WEB-INF/web.xml" />

                <mkdir dir="${build.webapps}/regionserver/WEB-INF" />
                <jspcompiler uriroot="${src.webapps}/regionserver" outputdir="${generated.sources}/java" package="org.apache.hadoop.hbase.generated.regionserver" webxml="${build.webapps}/regionserver/WEB-INF/web.xml" />

                <exec executable="sh">
                  <arg line="${basedir}/src/saveVersion.sh ${project.version} ${generated.sources}/java" />
                </exec>
              </target>
            </configuration>
            <goals>
              <goal>run</goal>
            </goals>
          </execution>
          <execution>
            <phase>process-resources</phase>
            <configuration>
              <target>
                <replace file="${project.build.outputDirectory}/hbase-default.xml" token="@@@VERSION@@@" value="${project.version}" />
                <mkdir dir="${project.build.directory}/nativelib" />
                <exec executable="tar" dir="${project.build.directory}/nativelib" failonerror="false">
                  <arg value="xf" />
                  <arg value="hadoop-snappy-nativelibs.tar" />
                </exec>
              </target>
            </configuration>
            <goals>
              <goal>run</goal>
            </goals>
          </execution>
          <execution>
            <id>package</id>
            <phase>package</phase>
            <configuration>
              <target>
                <!-- Complements the assembly -->

                <mkdir dir="${project.build.directory}/${project.build.finalName}/${project.build.finalName}/lib/native/${build.platform}" />

                <!-- Using Unix cp to preserve symlinks, using script to handle wildcards -->
                <echo file="${project.build.directory}/copynativelibs.sh">
          which cygpath 2&gt; /dev/null
          if [ $? = 1 ]; then
            BUILD_DIR="${project.build.directory}"
          else
            BUILD_DIR=`cygpath --unix '${project.build.directory}'`
          fi
                    if [ `ls $BUILD_DIR/nativelib | wc -l` -ne 0 ]; then
                      cp -PR $BUILD_DIR/nativelib/lib* $BUILD_DIR/${project.build.finalName}/${project.build.finalName}/lib/native/${build.platform}
                    fi
                </echo>
                <exec executable="sh" dir="${project.build.directory}" failonerror="true">
                    <arg line="./copynativelibs.sh" />
                </exec>

                <!-- Using Unix tar to preserve symlinks -->
        <echo file="${project.build.directory}/maketar.sh">
          which cygpath 2&gt; /dev/null
          if [ $? = 1 ]; then
            BUILD_DIR="${project.build.directory}"
          else
            BUILD_DIR=`cygpath --unix '${project.build.directory}'`
          fi

          cd $BUILD_DIR/${project.build.finalName}
          tar czf $BUILD_DIR/${project.build.finalName}.tar.gz ${project.build.finalName}
        </echo>
                <exec executable="sh" dir="${project.build.directory}" failonerror="yes">
                    <arg line="./maketar.sh" />
                </exec>

              </target>
            </configuration>
            <goals>
              <goal>run</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <version>1.5</version>
        <executions>
          <execution>
            <id>jspcSource-packageInfo-Avro-source</id>
            <phase>generate-sources</phase>
            <goals>
              <goal>add-source</goal>
            </goals>
            <configuration>
              <sources>
                <source>${project.build.directory}/generated-jamon</source>
                <source>${project.build.directory}/generated-sources/java</source>
              </sources>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.jamon</groupId>
        <artifactId>jamon-maven-plugin</artifactId>
        <version>2.3.4</version>
        <executions>
          <execution>
            <phase>generate-sources</phase>
            <goals>
              <goal>translate</goal>
            </goals>
            <configuration>
              <templateSourceDir>src/main/jamon</templateSourceDir>
              <templateOutputDir>target/generated-jamon</templateOutputDir>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-eclipse-plugin</artifactId>
        <version>2.8</version>
        <configuration>
          <additionalProjectnatures>
            <projectnature>org.jamon.project.jamonnature</projectnature>
          </additionalProjectnatures>
          <buildcommands>
            <buildcommand>org.jamon.project.templateBuilder</buildcommand>
            <buildcommand>org.eclipse.jdt.core.javabuilder</buildcommand>
            <buildcommand>org.jamon.project.markerUpdater</buildcommand>
          </buildcommands>
          <additionalConfig>
             <file>
                 <name>.settings/org.jamon.prefs</name>
                 <content># now
    eclipse.preferences.version=1
    templateSourceDir=src/main/jamon
    templateOutputDir=target/generated-jamon
    </content>
            </file>
          </additionalConfig>
        </configuration>
      </plugin>
    </plugins>
  </build>

  <properties>
    <maven.build.timestamp.format>
      yyyy-MM-dd'T'HH:mm
    </maven.build.timestamp.format>
    <buildDate>
      ${maven.build.timestamp}
    </buildDate>
    <compileSource>1.6</compileSource>

    <!-- Dependencies -->
    <avro.version>1.5.3</avro.version>
    <commons-cli.version>1.2</commons-cli.version>
    <commons-codec.version>1.4</commons-codec.version>
    <commons-httpclient.version>3.1</commons-httpclient.version><!-- pretty outdated -->
    <commons-io.version>2.1</commons-io.version>
    <commons-lang.version>2.5</commons-lang.version>
    <commons-logging.version>1.1.1</commons-logging.version>
    <commons-math.version>2.1</commons-math.version>
    <commons-configuration.version>1.6</commons-configuration.version>
    <metrics-core.version>2.1.2</metrics-core.version>
    <guava.version>11.0.2</guava.version>
    <jackson.version>1.8.8</jackson.version>
    <jasper.version>5.5.23</jasper.version>
    <jaxb-api.version>2.1</jaxb-api.version>
    <jetty.version>6.1.26</jetty.version>
    <jetty.jspapi.version>6.1.14</jetty.jspapi.version>
    <jersey.version>1.8</jersey.version>
    <jruby.version>1.6.5</jruby.version>
    <junit.version>4.10-HBASE-1</junit.version>
    <slf4j.version>1.4.3</slf4j.version>
    <log4j.version>1.2.16</log4j.version>
    <mockito-all.version>1.8.5</mockito-all.version>
    <protobuf.version>2.4.0a</protobuf.version>
    <stax-api.version>1.0.1</stax-api.version>
    <thrift.version>0.8.0</thrift.version>
    <zookeeper.version>3.4.3</zookeeper.version>
    <hadoop-snappy.version>0.0.1-SNAPSHOT</hadoop-snappy.version>

    <package.prefix>/usr</package.prefix>
    <package.conf.dir>/etc/hbase</package.conf.dir>
    <package.log.dir>/var/log/hbase</package.log.dir>
    <package.pid.dir>/var/run/hbase</package.pid.dir>
    <package.release>1</package.release>
    <!-- also must update this when we bump version -->
    <package.version>0.91.0</package.version>
    <final.name>${project.artifactId}-${project.version}</final.name>

    <!-- Test inclusion patterns used by failsafe configuration -->
    <unittest.include>**/Test*.java</unittest.include>
    <integrationtest.include>**/IntegrationTest*.java</integrationtest.include>

    <surefire.version>2.12-TRUNK-HBASE-2</surefire.version>
    <surefire.provider>surefire-junit47</surefire.provider>

    <!-- default: run small & medium, medium with 2 threads -->
    <surefire.skipFirstPart>false</surefire.skipFirstPart>
    <surefire.skipSecondPart>false</surefire.skipSecondPart>

    <surefire.firstPartForkMode>once</surefire.firstPartForkMode>
    <surefire.firstPartParallel>classes</surefire.firstPartParallel>
    <surefire.firstPartThreadCount>1</surefire.firstPartThreadCount>
    <surefire.secondPartThreadCount>2</surefire.secondPartThreadCount>

    <surefire.firstPartGroups>org.apache.hadoop.hbase.SmallTests</surefire.firstPartGroups>
    <surefire.secondPartGroups>org.apache.hadoop.hbase.MediumTests</surefire.secondPartGroups>
    <test.output.tofile>true</test.output.tofile>
  </properties>

  <!-- Sorted by groups of dependencies then groupId and artifactId -->
  <dependencies>
    <!--
      Note: There are a few exclusions to prevent duplicate code in different jars to be included:
        * org.mortbay.jetty:servlet-api, javax.servlet:servlet-api: These are excluded because they are
          the same implementations. I chose org.mortbay.jetty:servlet-api-2.5 instead, which is a third
          implementation of the same, because Hadoop also uses this version
        * javax.servlet:jsp-api in favour of org.mortbay.jetty:jsp-api-2.1
        * javax.xml.stream:stax-api in favour of stax:stax-api
    -->


    <!-- General dependencies -->
    <dependency>
      <groupId>com.yammer.metrics</groupId>
      <artifactId>metrics-core</artifactId>
      <version>${metrics-core.version}</version>
    </dependency>
    <dependency>
      <groupId>com.google.guava</groupId>
      <artifactId>guava</artifactId>
      <version>${guava.version}</version>
    </dependency>
    <dependency>
      <groupId>commons-cli</groupId>
      <artifactId>commons-cli</artifactId>
      <version>${commons-cli.version}</version>
    </dependency>
    <dependency>
      <groupId>commons-configuration</groupId>
      <artifactId>commons-configuration</artifactId>
      <version>${commons-configuration.version}</version>
    </dependency>
    <dependency>
     <groupId>com.github.stephenc.high-scale-lib</groupId>
     <artifactId>high-scale-lib</artifactId>
     <version>1.1.1</version>
    </dependency>
    <dependency>
      <groupId>commons-codec</groupId>
      <artifactId>commons-codec</artifactId>
      <version>${commons-codec.version}</version>
    </dependency>
    <dependency>
      <groupId>commons-httpclient</groupId>
      <artifactId>commons-httpclient</artifactId>
      <version>${commons-httpclient.version}</version>
    </dependency>
    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
      <version>${commons-io.version}</version>
    </dependency>
    <dependency>
      <groupId>commons-lang</groupId>
      <artifactId>commons-lang</artifactId>
      <version>${commons-lang.version}</version>
    </dependency>
    <dependency>
      <groupId>commons-logging</groupId>
      <artifactId>commons-logging</artifactId>
      <version>${commons-logging.version}</version>
    </dependency>
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>${log4j.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.avro</groupId>
      <artifactId>avro</artifactId>
      <version>${avro.version}</version>
      <exclusions>
        <exclusion>
          <groupId>com.thoughtworks.paranamer</groupId>
          <artifactId>paranamer</artifactId>
        </exclusion>
        <exclusion>
          <groupId>com.thoughtworks.paranamer</groupId>
          <artifactId>paranamer-ant</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.avro</groupId>
      <artifactId>avro-ipc</artifactId>
      <version>${avro.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.zookeeper</groupId>
      <artifactId>zookeeper</artifactId>
      <version>${zookeeper.version}</version>
      <exclusions>
        <exclusion>
          <groupId>jline</groupId>
          <artifactId>jline</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.thrift</groupId>
      <artifactId>libthrift</artifactId>
      <version>${thrift.version}</version>
      <exclusions>
        <exclusion>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-simple</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.jruby</groupId>
      <artifactId>jruby-complete</artifactId>
      <version>${jruby.version}</version>
    </dependency>
    <dependency>
      <groupId>org.mortbay.jetty</groupId>
      <artifactId>jetty</artifactId>
      <version>${jetty.version}</version>
      <exclusions>
        <exclusion>
          <groupId>org.mortbay.jetty</groupId>
          <artifactId>servlet-api</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.mortbay.jetty</groupId>
      <artifactId>jetty-util</artifactId>
      <version>${jetty.version}</version>
    </dependency>
    <dependency>
      <groupId>org.mortbay.jetty</groupId>
      <artifactId>jsp-2.1</artifactId>
      <version>${jetty.jspapi.version}</version>
      <exclusions>
        <exclusion>
          <groupId>ant</groupId>
          <artifactId>ant</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.mortbay.jetty</groupId>
      <artifactId>jsp-api-2.1</artifactId>
      <version>${jetty.jspapi.version}</version>
    </dependency>
    <dependency>
      <groupId>org.mortbay.jetty</groupId>
      <artifactId>servlet-api-2.5</artifactId>
      <version>${jetty.jspapi.version}</version>
    </dependency>
    <!-- While jackson is also a dependency of both jersey and avro, these
         can bring in jars from different, incompatible versions. We force
         the same version with these dependencies -->
    <dependency>
      <groupId>org.codehaus.jackson</groupId>
      <artifactId>jackson-core-asl</artifactId>
      <version>${jackson.version}</version>
    </dependency>
    <dependency>
      <groupId>org.codehaus.jackson</groupId>
      <artifactId>jackson-mapper-asl</artifactId>
      <version>${jackson.version}</version>
    </dependency>
    <dependency>
      <groupId>org.codehaus.jackson</groupId>
      <artifactId>jackson-jaxrs</artifactId>
      <version>${jackson.version}</version>
    </dependency>
    <dependency>
      <groupId>org.codehaus.jackson</groupId>
      <artifactId>jackson-xc</artifactId>
      <version>${jackson.version}</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>${slf4j.version}</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>${slf4j.version}</version>
    </dependency>
    <dependency>
      <!--If this is not in the runtime lib, we get odd
      "2009-02-27 11:38:39.504::WARN:  failed jsp
       java.lang.NoSuchFieldError: IS_SECURITY_ENABLED"
       exceptions out of jetty deploying webapps.
       St.Ack Thu May 20 01:04:41 PDT 2010
      -->
      <groupId>tomcat</groupId>
      <artifactId>jasper-compiler</artifactId>
      <version>${jasper.version}</version>
      <scope>runtime</scope>
      <exclusions>
        <exclusion>
          <groupId>javax.servlet</groupId>
          <artifactId>jsp-api</artifactId>
        </exclusion>
        <exclusion>
          <groupId>javax.servlet</groupId>
          <artifactId>servlet-api</artifactId>
        </exclusion>
        <exclusion>
          <groupId>ant</groupId>
          <artifactId>ant</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>tomcat</groupId>
      <artifactId>jasper-runtime</artifactId>
      <version>${jasper.version}</version>
      <scope>runtime</scope>
      <exclusions>
        <exclusion>
          <groupId>javax.servlet</groupId>
          <artifactId>servlet-api</artifactId>
        </exclusion>
      </exclusions>
    </dependency>

    <dependency>
      <groupId>org.jamon</groupId>
      <artifactId>jamon-runtime</artifactId>
      <version>2.3.1</version>
    </dependency>

    <!-- REST dependencies -->
    <dependency>
      <groupId>com.google.protobuf</groupId>
      <artifactId>protobuf-java</artifactId>
      <version>${protobuf.version}</version>
    </dependency>
    <dependency>
      <groupId>com.sun.jersey</groupId>
      <artifactId>jersey-core</artifactId>
      <version>${jersey.version}</version>
    </dependency>
    <dependency>
      <groupId>com.sun.jersey</groupId>
      <artifactId>jersey-json</artifactId>
      <version>${jersey.version}</version>
    </dependency>
    <dependency>
      <groupId>com.sun.jersey</groupId>
      <artifactId>jersey-server</artifactId>
      <version>${jersey.version}</version>
    </dependency>
    <dependency>
      <groupId>javax.xml.bind</groupId>
      <artifactId>jaxb-api</artifactId>
      <version>${jaxb-api.version}</version>
      <exclusions>
        <exclusion>
          <groupId>javax.xml.stream</groupId>
          <artifactId>stax-api</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>stax</groupId>
      <artifactId>stax-api</artifactId>
      <version>${stax-api.version}</version>
    </dependency>

    <!-- Test dependencies -->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>${junit.version}</version>
      <scope>test,runtime</scope>
      <!-- FIXME: the following needs to go away once HBASE-4955 is fixed -->
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-all</artifactId>
      <version>${mockito-all.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-math</artifactId>
      <version>${commons-math.version}</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <!--
  To publish, use the following settings.xml file ( placed in ~/.m2/settings.xml )

 <settings>
  <servers>
    <server>
      <id>apache.releases.https</id>
      <username>hbase_committer</username>
      <password>********</password>
    </server>

    <server>
      <id>apache.snapshots.https</id>
      <username>hbase_committer</username>
      <password>********</password>
    </server>

  </servers>
 </settings>

  $ mvn deploy
(or)
  $ mvn -s /my/path/settings.xml deploy

  -->
  <profiles>
    <profile>
      <id>rpm</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-antrun-plugin</artifactId>
            <version>1.6</version>
            <executions>
              <execution>
                <id>build-rpm</id>
                <phase>package</phase>
                <configuration>
                <target>
                  <ant antfile="${basedir}/src/packages/build.xml">
                    <target name="package-rpm" />
                    <target name="package-conf-pseudo-rpm" />
                  </ant>
                  </target>
                </configuration>
                <goals>
                  <goal>run</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
    <plugin>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>2.6.1</version>
            <configuration>
              <docfilessubdirs>true</docfilessubdirs>
            </configuration>
            <executions>
              <execution>
                <phase>prepare-package</phase>
                <goals>
                  <goal>javadoc</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>deb</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-antrun-plugin</artifactId>
            <version>1.6</version>
            <executions>
              <execution>
                <id>build-deb</id>
                <phase>package</phase>
                <configuration>
                  <target>
                    <property name="artifactId" value="${project.artifactId}" />
                    <ant antfile="${basedir}/src/packages/build.xml">
                      <target name="package-deb" />
                      <target name="package-conf-pseudo-deb" />
                    </ant>
                  </target>
                </configuration>
                <goals>
                  <goal>run</goal>
                </goals>
              </execution>
            </executions>
            <dependencies>
              <dependency>
                <groupId>org.vafer</groupId>
                <artifactId>jdeb</artifactId>
                <version>0.8</version>
              </dependency>
            </dependencies>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>os.linux</id>
      <activation>
        <activeByDefault>false</activeByDefault>
        <os>
          <family>Linux</family>
        </os>
      </activation>
      <properties>
        <build.platform>${os.name}-${os.arch}-${sun.arch.data.model}</build.platform>
      </properties>
    </profile>
    <profile>
        <id>os.mac</id>
        <activation>
            <os>
                <family>Mac</family>
            </os>
        </activation>
        <properties>
            <build.platform>Mac_OS_X-${sun.arch.data.model}</build.platform>
        </properties>
    </profile>
  <profile>
    <id>os.windows</id>
    <activation>
      <os>
        <family>Windows</family>
      </os>
    </activation>
    <properties>
      <build.platform>cygwin</build.platform>
    </properties>
  </profile>

    <!-- this profile should be activated for release builds -->
    <profile>
      <id>release</id>
      <build>
  <plugins>
    <plugin>
      <groupId>org.apache.rat</groupId>
            <artifactId>apache-rat-plugin</artifactId>
      <executions>
              <execution>
                <phase>package</phase>
                <goals>
                  <goal>check</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>2.6.1</version>
            <configuration>
              <docfilessubdirs>true</docfilessubdirs>
            </configuration>
            <executions>
              <execution>
                <phase>prepare-package</phase>
                <goals>
                  <goal>javadoc</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>hadoop-snappy</id>
      <activation>
        <activeByDefault>false</activeByDefault>
        <property>
          <name>snappy</name>
        </property>
      </activation>
      <dependencies>
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-snappy</artifactId>
          <version>${hadoop-snappy.version}</version>
        </dependency>
      </dependencies>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <executions>
              <execution>
                <id>get-hadoop-snappy-native</id>
                <phase>generate-resources</phase>
                <goals>
                  <goal>copy</goal>
                </goals>
                <configuration>
                  <artifactItems>
                    <artifactItem>
                      <groupId>org.apache.hadoop</groupId>
                      <artifactId>hadoop-snappy</artifactId>
                      <version>${hadoop-snappy.version}</version>
                      <classifier>${build.platform}</classifier>
                      <type>tar</type>
                      <overWrite>false</overWrite>
                      <outputDirectory>${project.build.directory}/nativelib</outputDirectory>
                      <destFileName>hadoop-snappy-nativelibs.tar</destFileName>
                    </artifactItem>
                  </artifactItems>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

    <!-- profile for building against Hadoop 1.0.x: This is the default. -->
    <profile>
      <id>hadoop-1.0</id>
      <activation>
        <property>
          <name>!hadoop.profile</name>
        </property>
      </activation>
      <properties>
        <hadoop.version>1.0.4</hadoop.version>
        <slf4j.version>1.4.3</slf4j.version>
      </properties>
      <dependencies>
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-core</artifactId>
          <version>${hadoop.version}</version>
          <optional>true</optional>
          <exclusions>
            <exclusion>
              <groupId>hsqldb</groupId>
              <artifactId>hsqldb</artifactId>
            </exclusion>
            <exclusion>
              <groupId>net.sf.kosmosfs</groupId>
              <artifactId>kfs</artifactId>
            </exclusion>
            <exclusion>
              <groupId>org.eclipse.jdt</groupId>
              <artifactId>core</artifactId>
            </exclusion>
            <exclusion>
              <groupId>net.java.dev.jets3t</groupId>
              <artifactId>jets3t</artifactId>
            </exclusion>
            <exclusion>
              <groupId>oro</groupId>
              <artifactId>oro</artifactId>
            </exclusion>
          </exclusions>
        </dependency>
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-test</artifactId>
          <version>${hadoop.version}</version>
          <optional>true</optional>
          <scope>test</scope>
        </dependency>
      </dependencies>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>build-helper-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>add-test-resource</id>
                <goals>
                  <goal>add-test-resource</goal>
                </goals>
                <configuration>
                  <resources>
                    <resource>
                      <directory>src/test/resources</directory>
                      <includes>
                        <include>hbase-site.xml</include>
                      </includes>
                    </resource>
                  </resources>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

    <!-- profile for building against Hadoop 0.20+security-->
    <profile>
      <id>security</id>
      <properties>
        <hadoop.version>1.0.4</hadoop.version>
      </properties>
      <build>
        <finalName>${project.artifactId}-${project.version}-security</finalName>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>build-helper-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>add-source</id>
                <goals>
                  <goal>add-source</goal>
                </goals>
                <configuration>
                  <sources>
                    <source>${project.basedir}/security/src/main/java</source>
                  </sources>
                </configuration>
              </execution>
              <execution>
                <id>add-test-source</id>
                <goals>
                  <goal>add-test-source</goal>
                </goals>
                <configuration>
                  <sources>
                    <source>${project.basedir}/security/src/test/java</source>
                  </sources>
                </configuration>
              </execution>
              <execution>
                <id>add-test-resource</id>
                <goals>
                  <goal>add-test-resource</goal>
                </goals>
                <configuration>
                  <resources>
                    <resource>
                      <directory>${project.basedir}/security/src/test/resources</directory>
                      <includes>
                        <include>hbase-site.xml</include>
                      </includes>
                    </resource>
                  </resources>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>


    <!--
      profile for building against Hadoop 1.1. Activate using:
       mvn -Dhadoop.profile=1.1
    -->
    <profile>
      <id>hadoop-1.1</id>
      <activation>
        <property>
          <name>hadoop.profile</name>
          <value>1.1</value>
        </property>
      </activation>
      <properties>
        <hadoop.version>1.1.0</hadoop.version>
        <slf4j.version>1.4.3</slf4j.version>
      </properties>
      <dependencies>
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-core</artifactId>
          <version>${hadoop.version}</version>
          <optional>true</optional>
          <exclusions>
            <exclusion>
              <groupId>hsqldb</groupId>
              <artifactId>hsqldb</artifactId>
            </exclusion>
            <exclusion>
              <groupId>net.sf.kosmosfs</groupId>
              <artifactId>kfs</artifactId>
            </exclusion>
            <exclusion>
              <groupId>org.eclipse.jdt</groupId>
              <artifactId>core</artifactId>
            </exclusion>
            <exclusion>
              <groupId>net.java.dev.jets3t</groupId>
              <artifactId>jets3t</artifactId>
            </exclusion>
            <exclusion>
              <groupId>oro</groupId>
              <artifactId>oro</artifactId>
            </exclusion>
          </exclusions>
        </dependency>
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-test</artifactId>
          <version>${hadoop.version}</version>
          <optional>true</optional>
          <scope>test</scope>
        </dependency>
      </dependencies>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>build-helper-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>add-test-resource</id>
                <goals>
                  <goal>add-test-resource</goal>
                </goals>
                <configuration>
                  <resources>
                    <resource>
                      <directory>src/test/resources</directory>
                      <includes>
                        <include>hbase-site.xml</include>
                      </includes>
                    </resource>
                  </resources>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

    <!--
      profile for building against Hadoop 0.22.0. Activate using:
       mvn -Dhadoop.profile=22
    -->
    <profile>
      <id>hadoop-0.22</id>
      <activation>
        <property>
          <name>hadoop.profile</name>
          <value>22</value>
        </property>
      </activation>
      <properties>
        <hadoop.version>0.22.0</hadoop.version>
        <slf4j.version>1.6.1</slf4j.version>
      </properties>
      <dependencies>
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-common</artifactId>
          <version>${hadoop.version}</version>
          <optional>true</optional>
          <exclusions>
            <!--Needs more work, tightening-->
            <exclusion>
              <groupId>hsqldb</groupId>
              <artifactId>hsqldb</artifactId>
            </exclusion>
            <exclusion>
              <groupId>net.sf.kosmosfs</groupId>
              <artifactId>kfs</artifactId>
            </exclusion>
            <exclusion>
              <groupId>org.eclipse.jdt</groupId>
              <artifactId>core</artifactId>
            </exclusion>
            <exclusion>
              <groupId>net.java.dev.jets3t</groupId>
              <artifactId>jets3t</artifactId>
            </exclusion>
            <exclusion>
              <groupId>oro</groupId>
              <artifactId>oro</artifactId>
            </exclusion>
            <exclusion>
              <groupId>jdiff</groupId>
              <artifactId>jdiff</artifactId>
            </exclusion>
            <exclusion>
              <groupId>org.apache.lucene</groupId>
              <artifactId>lucene-core</artifactId>
            </exclusion>
          </exclusions>
        </dependency>
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-hdfs</artifactId>
          <version>${hadoop.version}</version>
          <optional>true</optional>
          <exclusions>
            <!--Needs more work, tightening-->
            <exclusion>
              <groupId>hsqldb</groupId>
              <artifactId>hsqldb</artifactId>
            </exclusion>
            <exclusion>
              <groupId>net.sf.kosmosfs</groupId>
              <artifactId>kfs</artifactId>
            </exclusion>
            <exclusion>
              <groupId>org.eclipse.jdt</groupId>
              <artifactId>core</artifactId>
            </exclusion>
            <exclusion>
              <groupId>net.java.dev.jets3t</groupId>
              <artifactId>jets3t</artifactId>
            </exclusion>
            <exclusion>
              <groupId>oro</groupId>
              <artifactId>oro</artifactId>
            </exclusion>
            <exclusion>
              <groupId>jdiff</groupId>
              <artifactId>jdiff</artifactId>
            </exclusion>
            <exclusion>
              <groupId>org.apache.lucene</groupId>
              <artifactId>lucene-core</artifactId>
            </exclusion>
          </exclusions>
        </dependency>
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-mapred</artifactId>
          <version>${hadoop.version}</version>
          <optional>true</optional>
          <exclusions>
            <!--Needs more work, tightening-->
            <exclusion>
              <groupId>hsqldb</groupId>
              <artifactId>hsqldb</artifactId>
            </exclusion>
            <exclusion>
              <groupId>net.sf.kosmosfs</groupId>
              <artifactId>kfs</artifactId>
            </exclusion>
            <exclusion>
              <groupId>org.eclipse.jdt</groupId>
              <artifactId>core</artifactId>
            </exclusion>
            <exclusion>
              <groupId>net.java.dev.jets3t</groupId>
              <artifactId>jets3t</artifactId>
            </exclusion>
            <exclusion>
              <groupId>oro</groupId>
              <artifactId>oro</artifactId>
            </exclusion>
            <exclusion>
              <groupId>jdiff</groupId>
              <artifactId>jdiff</artifactId>
            </exclusion>
            <exclusion>
              <groupId>org.apache.lucene</groupId>
              <artifactId>lucene-core</artifactId>
            </exclusion>
          </exclusions>
        </dependency>
        <!-- test deps for hadoop-0.22 profile -->
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-common-test</artifactId>
          <version>${hadoop.version}</version>
          <optional>true</optional>
          <scope>test</scope>
        </dependency>
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-hdfs-test</artifactId>
          <version>${hadoop.version}</version>
          <optional>true</optional>
          <scope>test</scope>
        </dependency>
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-mapred-test</artifactId>
          <version>${hadoop.version}</version>
          <optional>true</optional>
          <scope>test</scope>
        </dependency>
      </dependencies>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>build-helper-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>add-test-resource</id>
                <goals>
                  <goal>add-test-resource</goal>
                </goals>
                <configuration>
                  <resources>
                    <resource>
                      <directory>src/test/resources</directory>
                      <includes>
                        <include>hbase-site.xml</include>
                      </includes>
                    </resource>
                  </resources>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

    <!--
      profile for building against Hadoop 0.23.0. Activate using:
       mvn -Dhadoop.profile=23
    -->
    <profile>
      <id>hadoop-0.23</id>
      <activation>
        <property>
          <name>hadoop.profile</name>
          <value>23</value>
        </property>
      </activation>
      <properties>
        <hadoop.version>0.23.3</hadoop.version>
        <slf4j.version>1.6.1</slf4j.version>
      </properties>
      <dependencies>
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-client</artifactId>
          <version>${hadoop.version}</version>
        </dependency>
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-annotations</artifactId>
          <version>${hadoop.version}</version>
        </dependency>
        <!-- test deps for hadoop-0.23 profile -->
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-minicluster</artifactId>
          <version>${hadoop.version}</version>
          <scope>compile</scope>
        </dependency>
      </dependencies>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>build-helper-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>add-test-resource</id>
                <goals>
                  <goal>add-test-resource</goal>
                </goals>
                <configuration>
                  <resources>
                    <resource>
                      <directory>src/test/resources</directory>
                      <includes>
                        <include>hbase-site.xml</include>
                      </includes>
                    </resource>
                  </resources>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <artifactId>maven-dependency-plugin</artifactId>
            <executions>
              <execution>
                <id>create-mrapp-generated-classpath</id>
                <phase>generate-test-resources</phase>
                <goals>
                  <goal>build-classpath</goal>
                </goals>
                <configuration>
                  <!-- needed to run the unit test for DS to generate
                  the required classpath that is required in the env
                  of the launch container in the mini mr/yarn cluster
                  -->
                  <outputFile>${project.build.directory}/test-classes/mrapp-generated-classpath</outputFile>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

    <!--
      profile for building against Hadoop 0.24.0. Activate using:
       mvn -Dhadoop.profile=24
    -->
    <profile>
      <id>hadoop-0.24</id>
      <activation>
        <property>
          <name>hadoop.profile</name>
          <value>24</value>
        </property>
      </activation>
      <properties>
        <hadoop.version>0.24.0-SNAPSHOT</hadoop.version>
        <slf4j.version>1.6.1</slf4j.version>
      </properties>
      <dependencies>
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-common</artifactId>
          <version>${hadoop.version}</version>
        </dependency>
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-annotations</artifactId>
          <version>${hadoop.version}</version>
        </dependency>
        <!-- test deps for hadoop-0.24 profile -->
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-minicluster</artifactId>
          <version>${hadoop.version}</version>
          <scope>compile</scope>
        </dependency>
      </dependencies>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>build-helper-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>add-test-resource</id>
                <goals>
                  <goal>add-test-resource</goal>
                </goals>
                <configuration>
                  <resources>
                    <resource>
                      <directory>src/test/resources</directory>
                      <includes>
                        <include>hbase-site.xml</include>
                      </includes>
                    </resource>
                  </resources>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <artifactId>maven-dependency-plugin</artifactId>
            <executions>
              <execution>
                <id>create-mrapp-generated-classpath</id>
                <phase>generate-test-resources</phase>
                <goals>
                  <goal>build-classpath</goal>
                </goals>
                <configuration>
                  <!-- needed to run the unit test for DS to generate
                  the required classpath that is required in the env
                  of the launch container in the mini mr/yarn cluster
                  -->
                  <outputFile>${project.build.directory}/test-classes/mrapp-generated-classpath</outputFile>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

    <!--
      profile for building against Hadoop 2.0.0-alpha. Activate using:
       mvn -Dhadoop.profile=2.0
    -->
    <profile>
      <id>hadoop-2.0</id>
      <activation>
        <property>
          <name>hadoop.profile</name>
          <value>2.0</value>
        </property>
      </activation>
      <properties>
        <hadoop.version>2.0.0-alpha</hadoop.version>
        <slf4j.version>1.6.1</slf4j.version>
      </properties>
      <dependencies>
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-common</artifactId>
          <version>${hadoop.version}</version>
        </dependency>
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-annotations</artifactId>
          <version>${hadoop.version}</version>
        </dependency>
        <!-- test deps for hadoop-2.0 profile -->
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-minicluster</artifactId>
          <version>${hadoop.version}</version>
          <scope>compile</scope>
        </dependency>
      </dependencies>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>build-helper-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>add-test-resource</id>
                <goals>
                  <goal>add-test-resource</goal>
                </goals>
                <configuration>
                  <resources>
                    <resource>
                      <directory>src/test/resources</directory>
                      <includes>
                        <include>hbase-site.xml</include>
                      </includes>
                    </resource>
                  </resources>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <artifactId>maven-dependency-plugin</artifactId>
            <executions>
              <execution>
                <id>create-mrapp-generated-classpath</id>
                <phase>generate-test-resources</phase>
                <goals>
                  <goal>build-classpath</goal>
                </goals>
                <configuration>
                  <!-- needed to run the unit test for DS to generate
                  the required classpath that is required in the env
                  of the launch container in the mini mr/yarn cluster
                  -->
                  <outputFile>${project.build.directory}/test-classes/mrapp-generated-classpath</outputFile>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>


    <!-- profiles for the tests
         See as well the properties of the project for the values
         when no profile is active.     -->
    <profile> <!-- Use it to launch the tests without parallelisation -->
      <id>nonParallelTests</id>
      <activation>
          <activeByDefault>false</activeByDefault>
      </activation>
      <properties>
        <surefire.firstPartForkMode>always</surefire.firstPartForkMode>
        <surefire.firstPartParallel>none</surefire.firstPartParallel>
        <surefire.firstPartThreadCount>1</surefire.firstPartThreadCount>
      </properties>
    </profile>

    <profile> <!-- Use it to launch the tests in parallel in the same JVM  -->
      <id>parallelTests</id>
        <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <properties>
        <surefire.firstPartForkMode>once</surefire.firstPartForkMode>
        <surefire.firstPartParallel>classes</surefire.firstPartParallel>
        <surefire.firstPartThreadCount>1</surefire.firstPartThreadCount>
      </properties>
    </profile>

    <profile> <!-- Use it to launch the tests in the same JVM  -->
      <id>singleJVMTests</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <properties>
        <surefire.firstPartForkMode>once</surefire.firstPartForkMode>
        <surefire.firstPartParallel>none</surefire.firstPartParallel>
        <surefire.firstPartThreadCount>1</surefire.firstPartThreadCount>

        <surefire.skipFirstPart>false</surefire.skipFirstPart>
        <surefire.skipSecondPart>true</surefire.skipSecondPart>
        <surefire.firstPartGroups />
      </properties>
    </profile>

    <profile> <!-- Use it to launch small tests only -->
      <id>runSmallTests</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <properties>
        <surefire.firstPartForkMode>once</surefire.firstPartForkMode>
        <surefire.firstPartParallel>none</surefire.firstPartParallel>
        <surefire.firstPartThreadCount>1</surefire.firstPartThreadCount>

        <surefire.skipFirstPart>false</surefire.skipFirstPart>
        <surefire.skipSecondPart>true</surefire.skipSecondPart>
        <surefire.firstPartGroups>org.apache.hadoop.hbase.SmallTests</surefire.firstPartGroups>
        <surefire.secondPartGroups />
      </properties>
    </profile>

    <profile> <!-- Use it to launch medium tests only -->
      <id>runMediumTests</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <properties>
        <surefire.firstPartForkMode>always</surefire.firstPartForkMode>
        <surefire.skipFirstPart>false</surefire.skipFirstPart>
        <surefire.skipSecondPart>true</surefire.skipSecondPart>
        <surefire.firstPartGroups>org.apache.hadoop.hbase.MediumTests</surefire.firstPartGroups>
        <surefire.secondPartGroups />
      </properties>
    </profile>

    <profile> <!-- Use it to launch large tests only -->
      <id>runLargeTests</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <properties>
        <surefire.firstPartForkMode>always</surefire.firstPartForkMode>
        <surefire.skipFirstPart>false</surefire.skipFirstPart>
        <surefire.skipSecondPart>true</surefire.skipSecondPart>
        <surefire.firstPartGroups>org.apache.hadoop.hbase.LargeTests</surefire.firstPartGroups>
        <surefire.secondPartGroups />
      </properties>
    </profile>

    <profile> <!-- Use it to launch small & medium tests -->
      <id>runDevTests</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <properties>
        <surefire.firstPartForkMode>once</surefire.firstPartForkMode>
        <surefire.firstPartParallel>none</surefire.firstPartParallel>
        <surefire.firstPartThreadCount>1</surefire.firstPartThreadCount>

        <surefire.skipFirstPart>false</surefire.skipFirstPart>
        <surefire.skipSecondPart>false</surefire.skipSecondPart>
        <surefire.firstPartGroups>org.apache.hadoop.hbase.SmallTests</surefire.firstPartGroups>
        <surefire.secondPartGroups>org.apache.hadoop.hbase.MediumTests</surefire.secondPartGroups>
      </properties>
    </profile>

    <profile> <!-- Use it to launch all tests -->
      <id>runAllTests</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <properties>
        <surefire.firstPartForkMode>once</surefire.firstPartForkMode>
        <surefire.firstPartParallel>none</surefire.firstPartParallel>
        <surefire.firstPartThreadCount>1</surefire.firstPartThreadCount>
        <surefire.secondPartThreadCount>4</surefire.secondPartThreadCount>

        <surefire.skipFirstPart>false</surefire.skipFirstPart>
        <surefire.skipSecondPart>false</surefire.skipSecondPart>
        <surefire.firstPartGroups>org.apache.hadoop.hbase.SmallTests</surefire.firstPartGroups>
        <surefire.secondPartGroups>org.apache.hadoop.hbase.MediumTests,org.apache.hadoop.hbase.LargeTests</surefire.secondPartGroups>
      </properties>
    </profile>

    <profile> <!-- Use it skip the surefire tests but no the failsafe tests -->
      <id>skipSurefireTests</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <properties>
        <surefire.skipFirstPart>true</surefire.skipFirstPart>
        <surefire.skipSecondPart>true</surefire.skipSecondPart>
      </properties>
    </profile>

    <profile> <!-- Use it to launch tests locally-->
      <id>localTests</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <properties>
        <surefire.provider>surefire-junit4</surefire.provider>
        <surefire.version>2.10</surefire.version>

        <surefire.firstPartForkMode>always</surefire.firstPartForkMode>
        <surefire.skipFirstPart>false</surefire.skipFirstPart>
        <surefire.skipSecondPart>true</surefire.skipSecondPart>
        <surefire.firstPartGroups />
      </properties>
    </profile>
  </profiles>

  <!-- See http://jira.codehaus.org/browse/MSITE-443 why the settings need to be here and not in pluginManagement. -->
  <reporting>
    <plugins>
      <plugin>
        <artifactId>maven-project-info-reports-plugin</artifactId>
        <version>2.1.2</version>
        <reportSets>
          <reportSet>
            <reports>
              <report>project-team</report>
              <report>mailing-list</report>
              <report>cim</report>
              <report>issue-tracking</report>
              <report>license</report>
              <report>scm</report>
              <report>index</report>
            </reports>
          </reportSet>
        </reportSets>

      </plugin>
      <plugin>
        <artifactId>maven-site-plugin</artifactId>
        <version>2.0.1</version>
        <configuration>
          <inputEncoding>UTF-8</inputEncoding>
          <outputEncoding>UTF-8</outputEncoding>
          <templateFile>src/site/site.vm</templateFile>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>2.6.1</version>
        <configuration>
          <docfilessubdirs>true</docfilessubdirs>
        </configuration>
        <reportSets>
          <reportSet>
            <id>default</id>
            <reports>
              <report>javadoc</report>
            </reports>
          </reportSet>
        </reportSets>
        <!--
          This is probably not needed, given the smallness of the HBase source code, but left here in case
          <minmemory>128m</minmemory>
          <maxmemory>1024m</maxmemory>
        -->
      </plugin>
      <!--Disabled for now.
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>cobertura-maven-plugin</artifactId>
        <version>2.3</version>
      </plugin>
      -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jxr-plugin</artifactId>
        <version>2.1</version>
      </plugin>
      <!-- Disabled for now
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>jdepend-maven-plugin</artifactId>
        <version>2.0-beta-2</version>
      </plugin>
      <plugin>
        <artifactId>maven-changes-plugin</artifactId>
        <version>2.3</version>
        <configuration>
          <issueLinkTemplate>%URL%/browse/%ISSUE%</issueLinkTemplate>
        </configuration>
        <reportSets>
          <reportSet>
            <reports>
              <report>changes-report</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>
      <plugin>
        <groupId>com.atlassian.maven.plugins</groupId>
        <artifactId>maven-clover2-plugin</artifactId>
        <version>2.6.3</version>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>taglist-maven-plugin</artifactId>
        <version>2.4</version>
      </plugin>
      <plugin>
        <artifactId>maven-surefire-report-plugin</artifactId>
        <version>2.5</version>
      </plugin>
      <plugin>
        <artifactId>maven-dependency-plugin</artifactId>
        <version>2.1</version>
      </plugin>
      -->
      <plugin>
        <groupId>org.apache.rat</groupId>
        <artifactId>apache-rat-plugin</artifactId>
        <version>0.8</version>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-report-plugin</artifactId>
        <version>2.7.2</version>
        <reportSets>
          <reportSet>
            <id>integration-tests</id>
            <reports>
              <report>report-only</report>
            </reports>
            <configuration>
              <outputName>failsafe-report</outputName>
              <reportsDirectories>
                <reportsDirectory>${project.build.directory}/failsafe-reports</reportsDirectory>
              </reportsDirectories>
            </configuration>
          </reportSet>
        </reportSets>
      </plugin>
    </plugins>
  </reporting>
</project>