Selective add of dependency on hbase-thirdparty jars. Update to READMEs on how protobuf is done (and update to refguide). Removed all checked in generated protobuf files. They are generated on the fly now as part of mainline build.
402 lines
13 KiB
XML
402 lines
13 KiB
XML
<?xml version="1.0"?>
|
|
<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/xsd/maven-4.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>
|
|
<parent>
|
|
<artifactId>hbase</artifactId>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<version>3.0.0-SNAPSHOT</version>
|
|
<relativePath>..</relativePath>
|
|
</parent>
|
|
<artifactId>hbase-rest</artifactId>
|
|
<name>Apache HBase - Rest</name>
|
|
<description>HBase Rest Server</description>
|
|
<build>
|
|
<!-- Makes sure the resources get added before they are processed
|
|
by placing this first -->
|
|
<resources>
|
|
<!-- Add the build webabpps to the classpth -->
|
|
<resource>
|
|
<directory>${project.build.directory}</directory>
|
|
<includes>
|
|
<include>hbase-webapps/**</include>
|
|
</includes>
|
|
</resource>
|
|
</resources>
|
|
<testResources>
|
|
<testResource>
|
|
<directory>src/test/resources</directory>
|
|
<includes>
|
|
<include>**/**</include>
|
|
</includes>
|
|
</testResource>
|
|
</testResources>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-site-plugin</artifactId>
|
|
<configuration>
|
|
<skip>true</skip>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<!--Make it so assembly:single does nothing in here-->
|
|
<artifactId>maven-assembly-plugin</artifactId>
|
|
<configuration>
|
|
<skipAssembly>true</skipAssembly>
|
|
</configuration>
|
|
</plugin>
|
|
<!-- Make a jar and put the sources in the jar -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-source-plugin</artifactId>
|
|
</plugin>
|
|
<!-- General ant tasks, bound to different build phases -->
|
|
<plugin>
|
|
<artifactId>maven-antrun-plugin</artifactId>
|
|
<executions>
|
|
<!-- Generate web app sources -->
|
|
<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}/rest/WEB-INF"/>
|
|
<jspcompiler uriroot="${src.webapps}/rest" outputdir="${generated.sources}/java" package="org.apache.hadoop.hbase.generated.rest" webxml="${build.webapps}/rest/WEB-INF/web.xml"/>
|
|
</target>
|
|
</configuration>
|
|
<goals>
|
|
<goal>run</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>build-helper-maven-plugin</artifactId>
|
|
<executions>
|
|
<!-- Add the generated sources -->
|
|
<execution>
|
|
<id>jspcSource-packageInfo-source</id>
|
|
<phase>generate-sources</phase>
|
|
<goals>
|
|
<goal>add-source</goal>
|
|
</goals>
|
|
<configuration>
|
|
<sources>
|
|
<source>${project.build.directory}/generated-sources/java</source>
|
|
</sources>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<!-- Testing plugins -->
|
|
<plugin>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<configuration>
|
|
<properties>
|
|
<property>
|
|
<name>listener</name>
|
|
<value>org.apache.hadoop.hbase.ServerResourceCheckerJUnitListener</value>
|
|
</property>
|
|
</properties>
|
|
<systemPropertyVariables>
|
|
<test.build.webapps>target/test-classes/webapps</test.build.webapps>
|
|
</systemPropertyVariables>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.xolstice.maven.plugins</groupId>
|
|
<artifactId>protobuf-maven-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>compile-protoc</id>
|
|
<phase>generate-sources</phase>
|
|
<goals>
|
|
<goal>compile</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
<pluginManagement>
|
|
<plugins>
|
|
<!--This plugin's configuration is used to store Eclipse m2e settings
|
|
only. It has no influence on the Maven build itself.-->
|
|
<plugin>
|
|
<groupId>org.eclipse.m2e</groupId>
|
|
<artifactId>lifecycle-mapping</artifactId>
|
|
<configuration>
|
|
<lifecycleMappingMetadata>
|
|
<pluginExecutions>
|
|
<pluginExecution>
|
|
<pluginExecutionFilter>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-antrun-plugin</artifactId>
|
|
<versionRange>[1.6,)</versionRange>
|
|
<goals>
|
|
<goal>run</goal>
|
|
</goals>
|
|
</pluginExecutionFilter>
|
|
<action>
|
|
<ignore/>
|
|
</action>
|
|
</pluginExecution>
|
|
</pluginExecutions>
|
|
</lifecycleMappingMetadata>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</pluginManagement>
|
|
</build>
|
|
<dependencies>
|
|
<!-- Intra-project dependencies -->
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-common</artifactId>
|
|
<type>jar</type>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-protocol</artifactId>
|
|
<type>jar</type>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-annotations</artifactId>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>jdk.tools</groupId>
|
|
<artifactId>jdk.tools</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-client</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-server</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-hadoop-compat</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>${compat.module}</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-server</artifactId>
|
|
<type>test-jar</type>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-testing-util</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-annotations</artifactId>
|
|
<type>test-jar</type>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<!-- REST dependencies -->
|
|
<dependency>
|
|
<groupId>org.apache.hbase.thirdparty</groupId>
|
|
<artifactId>hbase-shaded-miscellaneous</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.google.protobuf</groupId>
|
|
<artifactId>protobuf-java</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>commons-cli</groupId>
|
|
<artifactId>commons-cli</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.httpcomponents</groupId>
|
|
<artifactId>httpclient</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.httpcomponents</groupId>
|
|
<artifactId>httpcore</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>commons-lang</groupId>
|
|
<artifactId>commons-lang</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>commons-logging</groupId>
|
|
<artifactId>commons-logging</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>javax.xml.bind</groupId>
|
|
<artifactId>jaxb-api</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>javax.servlet</groupId>
|
|
<artifactId>javax.servlet-api</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>javax.ws.rs</groupId>
|
|
<artifactId>javax.ws.rs-api</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.eclipse.jetty</groupId>
|
|
<artifactId>jetty-server</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.eclipse.jetty</groupId>
|
|
<artifactId>jetty-servlet</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.eclipse.jetty</groupId>
|
|
<artifactId>jetty-util</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.eclipse.jetty</groupId>
|
|
<artifactId>jetty-http</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.eclipse.jetty</groupId>
|
|
<artifactId>jetty-io</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.eclipse.jetty</groupId>
|
|
<artifactId>jetty-jmx</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.eclipse.jetty</groupId>
|
|
<artifactId>jetty-jsp</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.glassfish.jersey.containers</groupId>
|
|
<artifactId>jersey-container-servlet-core</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.glassfish.jersey.media</groupId>
|
|
<artifactId>jersey-media-json-jackson1</artifactId>
|
|
</dependency>
|
|
</dependencies>
|
|
<profiles>
|
|
<!-- Skip the tests in this module -->
|
|
<profile>
|
|
<id>skipRestTests</id>
|
|
<activation>
|
|
<property>
|
|
<name>skipRestTests</name>
|
|
</property>
|
|
</activation>
|
|
<properties>
|
|
<surefire.skipFirstPart>true</surefire.skipFirstPart>
|
|
<surefire.skipSecondPart>true</surefire.skipSecondPart>
|
|
</properties>
|
|
</profile>
|
|
<!-- Hadoop-specific dependencies -->
|
|
<!-- profile for building against Hadoop 2.0.x
|
|
This is the default.
|
|
-->
|
|
<profile>
|
|
<id>hadoop-2.0</id>
|
|
<activation>
|
|
<property>
|
|
<!--Below formatting for dev-support/generate-hadoopX-poms.sh-->
|
|
<!--h2-->
|
|
<name>!hadoop.profile</name>
|
|
</property>
|
|
</activation>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.apache.hadoop</groupId>
|
|
<artifactId>hadoop-mapreduce-client-core</artifactId>
|
|
<scope>test</scope>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>com.google.guava</groupId>
|
|
<artifactId>guava</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hadoop</groupId>
|
|
<artifactId>hadoop-common</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hadoop</groupId>
|
|
<artifactId>hadoop-auth</artifactId>
|
|
</dependency>
|
|
</dependencies>
|
|
</profile>
|
|
<!--
|
|
profile for building against Hadoop 3.0.0. Activate using:
|
|
mvn -Dhadoop.profile=3.0
|
|
-->
|
|
<profile>
|
|
<id>hadoop-3.0</id>
|
|
<activation>
|
|
<property>
|
|
<name>hadoop.profile</name>
|
|
<value>3.0</value>
|
|
</property>
|
|
</activation>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.apache.hadoop</groupId>
|
|
<artifactId>hadoop-mapreduce-client-core</artifactId>
|
|
<scope>test</scope>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>com.google.guava</groupId>
|
|
<artifactId>guava</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hadoop</groupId>
|
|
<artifactId>hadoop-common</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hadoop</groupId>
|
|
<artifactId>hadoop-auth</artifactId>
|
|
</dependency>
|
|
</dependencies>
|
|
</profile>
|
|
</profiles>
|
|
</project>
|