hbase/pom.xml

1592 lines
54 KiB
XML

<?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">
<modelVersion>4.0.0</modelVersion>
<!--To build a release I do this:
$ mvn clean site install assembly:single
-->
<parent>
<groupId>org.apache</groupId>
<artifactId>apache</artifactId>
<version>8</version>
</parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase</artifactId>
<packaging>jar</packaging>
<version>${hbase.version}</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/trunk</connection>
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/hbase/trunk</developerConnection>
<url>http://svn.apache.org/viewvc/hbase/trunk</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>
<developers>
<developer>
<id>apurtell</id>
<name>Andrew Purtell</name>
<email>apurtell@apache.org</email>
<timezone>-8</timezone>
<organization>Trend Micro</organization>
<organizationUrl>http://www.trendmicro.com</organizationUrl>
</developer>
<developer>
<id>dmeil</id>
<name>Doug Meil</name>
<email>dmeil@apache.org</email>
<timezone>-5</timezone>
<organization>Explorys</organization>
<organizationUrl>http://www.explorys.com</organizationUrl>
</developer>
<developer>
<id>garyh</id>
<name>Gary Helmling</name>
<email>garyh@apache.org</email>
<timezone>-8</timezone>
<organization>Trend Micro</organization>
<organizationUrl>http://www.trendmicro.com</organizationUrl>
</developer>
<developer>
<id>jdcryans</id>
<name>Jean-Daniel Cryans</name>
<email>jdcryans@apache.org</email>
<timezone>-8</timezone>
<organization>StumbleUpon</organization>
<organizationUrl>http://www.stumbleupon.com</organizationUrl>
</developer>
<developer>
<id>jgray</id>
<name>Jonathan Gray</name>
<email>jgray@fb.com</email>
<timezone>-8</timezone>
<organization>Facebook</organization>
<organizationUrl>http://www.facebook.com</organizationUrl>
</developer>
<developer>
<id>larsgeorge</id>
<name>Lars George</name>
<email>larsgeorge@apache.org</email>
<timezone>+1</timezone>
<organization>Cloudera</organization>
<organizationUrl>http://www.cloudera.com/</organizationUrl>
</developer>
<developer>
<id>nspiegelberg</id>
<name>Nicolas Spiegelberg</name>
<email>nspiegelberg@fb.com</email>
<timezone>-8</timezone>
<organization>Facebook</organization>
<organizationUrl>http://www.facebook.com</organizationUrl>
</developer>
<developer>
<id>rawson</id>
<name>Ryan Rawson</name>
<email>rawson@apache.org</email>
<timezone>-8</timezone>
<organization>CX</organization>
<organizationUrl>http://www.cx.com</organizationUrl>
</developer>
<developer>
<id>stack</id>
<name>Michael Stack</name>
<email>stack@apache.org</email>
<timezone>-8</timezone>
<organization>StumbleUpon</organization>
<organizationUrl>http://www.stumbleupon.com/</organizationUrl>
</developer>
<developer>
<id>tedyu</id>
<name>Ted Yu</name>
<email>yuzhihong@gmail.com</email>
<timezone>-8</timezone>
<organization>CarrierIQ</organization>
<organizationUrl>http://www.carrieriq.com</organizationUrl>
</developer>
<developer>
<id>todd</id>
<name>Todd Lipcon</name>
<email>todd@apache.org</email>
<timezone>-8</timezone>
<organization>Cloudera</organization>
<organizationUrl>http://www.cloudera.com</organizationUrl>
</developer>
</developers>
<repositories>
<repository>
<id>apache release</id>
<url>https://repository.apache.org/content/repositories/releases/</url>
</repository>
<repository>
<id>hadoop-non-releases</id>
<name>Hadoop non-releases</name>
<url>http://people.apache.org/~rawson/repo/</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>
</repositories>
<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>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>${compileSource}</source>
<target>${compileSource}</target>
<showWarnings>true</showWarnings>
<showDeprecation>false</showDeprecation>
</configuration>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.9</version>
<configuration>
<forkedProcessTimeoutInSeconds>900</forkedProcessTimeoutInSeconds>
<argLine>-enableassertions -Xmx1400m</argLine>
<redirectTestOutputToFile>true</redirectTestOutputToFile>
</configuration>
</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>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<version>0.6</version>
</plugin>
<plugin>
<artifactId>maven-surefire-report-plugin</artifactId>
<version>2.9</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>
</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>
<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.11</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>
<imgSrcPath>../images/</imgSrcPath>
</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>
</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>
<forkMode>always</forkMode>
<includes>
<include>**/Test*.java</include>
</includes>
<excludes>
<exclude>**/*$*</exclude>
<exclude>${test.exclude.pattern}</exclude>
</excludes>
<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>
</environmentVariables>
</configuration>
</plugin>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.6</version>
<executions>
<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.artifactId}-${project.version}/${project.artifactId}-${project.version}/lib/native/${build.platform}"/>
<!-- Using Unix cp to preserve symlinks, using script to handle wildcards -->
<echo file="${project.build.directory}/copynativelibs.sh">
if [ `ls ${project.build.directory}/nativelib | wc -l` -ne 0 ]; then
cp -PR ${project.build.directory}/nativelib/lib* ${project.build.directory}/${project.artifactId}-${project.version}/${project.artifactId}-${project.version}/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 -->
<exec executable="tar" failonerror="yes"
dir="${project.build.directory}/${project.artifactId}-${project.version}">
<arg value="czf"/>
<arg value="${project.build.directory}/${project.artifactId}-${project.version}.tar.gz"/>
<arg value="."/>
</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>
<compileSource>1.6</compileSource>
<!--HBase Version-->
<hbase.version>0.93-SNAPSHOT</hbase.version>
<!-- 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-lang.version>2.5</commons-lang.version>
<commons-logging.version>1.1.1</commons-logging.version>
<commons-math.version>2.1</commons-math.version>
<guava.version>r09</guava.version>
<jackson.version>1.5.5</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.4</jersey.version>
<jruby.version>1.6.0</jruby.version>
<jsr311.version>1.1.1</jsr311.version>
<junit.version>4.8.2</junit.version>
<log4j.version>1.2.16</log4j.version>
<mockito-all.version>1.8.5</mockito-all.version>
<protobuf.version>2.4.0a</protobuf.version>
<slf4j.version>1.5.8</slf4j.version><!-- newer version available -->
<stax-api.version>1.0.1</stax-api.version>
<thrift.version>0.7.0</thrift.version>
<zookeeper.version>3.3.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>
<!-- For flaky tests exclusion -->
<test.exclude></test.exclude>
<test.exclude.pattern>**/${test.exclude}.java</test.exclude.pattern>
</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.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>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-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.ws.rs</groupId>
<artifactId>jsr311-api</artifactId>
<version>${jsr311.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</scope>
</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>
</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>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 0.20.0 : This is the default. -->
<profile>
<id>hadoop-0.20</id>
<activation>
<property>
<name>!hadoop.profile</name>
</property>
</activation>
<properties>
<!--The below was made by patching branch-0.20-append
at revision 1034499 with this hdfs-895 patch:
https://issues.apache.org/jira/secure/attachment/12459473/hdfs-895-branch-20-append.txt
-->
<hadoop.version>0.20-append-r1057313</hadoop.version>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-core</artifactId>
<version>${hadoop.version}</version>
<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>
<!-- test deps for hadoop-0.20 profile -->
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-test</artifactId>
<version>${hadoop.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
</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-SNAPSHOT</hadoop.version>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>${hadoop.version}</version>
<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>
<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>
<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>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs-test</artifactId>
<version>${hadoop.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-mapred-test</artifactId>
<version>${hadoop.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
</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.0-SNAPSHOT</hadoop.version>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>${hadoop.version}</version>
<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>
<!-- need the annotations to avoid compiler issues. This is
really an upstream issue with Hadoop -->
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-annotations</artifactId>
<version>${hadoop.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<version>${hadoop.version}</version>
<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>
<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.23 profile -->
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common-test</artifactId>
<version>${hadoop.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs-test</artifactId>
<version>${hadoop.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-mapred-test</artifactId>
<version>${hadoop.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
</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.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.6</version>
</plugin>
</plugins>
</reporting>
</project>