HBASE-21843 RegionGroupingProvider breaks the meta wal file name pattern which may...
[hbase.git] / hbase-rest / pom.xml
blobd06feec2837658c5dda03268d14dd160d10fa93f
1 <?xml version="1.0"?>
2 <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">
3   <!--
4 /**
5  * Licensed to the Apache Software Foundation (ASF) under one
6  * or more contributor license agreements.  See the NOTICE file
7  * distributed with this work for additional information
8  * regarding copyright ownership.  The ASF licenses this file
9  * to you under the Apache License, Version 2.0 (the
10  * "License"); you may not use this file except in compliance
11  * with the License.  You may obtain a copy of the License at
12  *
13  *     http://www.apache.org/licenses/LICENSE-2.0
14  *
15  * Unless required by applicable law or agreed to in writing, software
16  * distributed under the License is distributed on an "AS IS" BASIS,
17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18  * See the License for the specific language governing permissions and
19  * limitations under the License.
20  */
21 -->
22   <modelVersion>4.0.0</modelVersion>
23   <parent>
24     <artifactId>hbase-build-configuration</artifactId>
25     <groupId>org.apache.hbase</groupId>
26     <version>3.0.0-SNAPSHOT</version>
27     <relativePath>../hbase-build-configuration</relativePath>
28   </parent>
29   <artifactId>hbase-rest</artifactId>
30   <name>Apache HBase - Rest</name>
31   <description>HBase Rest Server</description>
32   <build>
33     <!-- Makes sure the resources get added before they are processed
34       by placing this first -->
35     <resources>
36       <!-- Add the build webabpps to the classpth -->
37       <resource>
38         <directory>${project.build.directory}</directory>
39         <includes>
40           <include>hbase-webapps/**</include>
41         </includes>
42       </resource>
43     </resources>
44     <testResources>
45       <testResource>
46         <directory>src/test/resources</directory>
47         <includes>
48           <include>**/**</include>
49         </includes>
50       </testResource>
51     </testResources>
52     <plugins>
53       <plugin>
54         <!--Make it so assembly:single does nothing in here-->
55         <artifactId>maven-assembly-plugin</artifactId>
56         <configuration>
57           <skipAssembly>true</skipAssembly>
58         </configuration>
59       </plugin>
60       <!-- Make a jar and put the sources in the jar -->
61       <plugin>
62         <groupId>org.apache.maven.plugins</groupId>
63         <artifactId>maven-source-plugin</artifactId>
64       </plugin>
65       <!-- General ant tasks, bound to different build phases -->
66       <plugin>
67         <artifactId>maven-antrun-plugin</artifactId>
68         <executions>
69           <!-- Generate web app sources -->
70           <execution>
71             <id>generate</id>
72             <phase>generate-sources</phase>
73             <configuration>
74               <target>
75                 <property name="build.webapps" location="${project.build.directory}/hbase-webapps"/>
76                 <property name="src.webapps" location="${basedir}/src/main/resources/hbase-webapps"/>
77                 <property name="generated.sources" location="${project.build.directory}/generated-sources"/>
78                 <mkdir dir="${build.webapps}"/>
79                 <copy todir="${build.webapps}">
80                   <fileset dir="${src.webapps}">
81                     <exclude name="**/*.jsp"/>
82                     <exclude name="**/.*"/>
83                     <exclude name="**/*~"/>
84                   </fileset>
85                 </copy>
86                 <!--The compile.classpath is passed in by maven -->
87                 <taskdef classname="org.apache.jasper.JspC" name="jspcompiler" classpathref="maven.compile.classpath"/>
88                 <mkdir dir="${build.webapps}/rest/WEB-INF"/>
89                 <jspcompiler uriroot="${src.webapps}/rest" outputdir="${generated.sources}/java" package="org.apache.hadoop.hbase.generated.rest" webxml="${build.webapps}/rest/WEB-INF/web.xml"/>
90               </target>
91             </configuration>
92             <goals>
93               <goal>run</goal>
94             </goals>
95           </execution>
96         </executions>
97       </plugin>
98       <plugin>
99         <groupId>org.codehaus.mojo</groupId>
100         <artifactId>build-helper-maven-plugin</artifactId>
101         <executions>
102           <!-- Add the generated sources -->
103           <execution>
104             <id>jspcSource-packageInfo-source</id>
105             <phase>generate-sources</phase>
106             <goals>
107               <goal>add-source</goal>
108             </goals>
109             <configuration>
110               <sources>
111                 <source>${project.build.directory}/generated-sources/java</source>
112               </sources>
113             </configuration>
114           </execution>
115         </executions>
116       </plugin>
117       <!-- Testing plugins -->
118       <plugin>
119         <artifactId>maven-surefire-plugin</artifactId>
120         <configuration>
121           <systemPropertyVariables>
122             <test.build.webapps>target/test-classes/webapps</test.build.webapps>
123           </systemPropertyVariables>
124         </configuration>
125       </plugin>
126       <plugin>
127         <groupId>org.xolstice.maven.plugins</groupId>
128         <artifactId>protobuf-maven-plugin</artifactId>
129         <executions>
130           <execution>
131             <id>compile-protoc</id>
132             <phase>generate-sources</phase>
133             <goals>
134               <goal>compile</goal>
135             </goals>
136           </execution>
137         </executions>
138       </plugin>
139       <plugin>
140         <groupId>net.revelc.code</groupId>
141         <artifactId>warbucks-maven-plugin</artifactId>
142       </plugin>
143     </plugins>
144     <pluginManagement>
145       <plugins>
146         <!--This plugin's configuration is used to store Eclipse m2e settings
147              only. It has no influence on the Maven build itself.-->
148         <plugin>
149           <groupId>org.eclipse.m2e</groupId>
150           <artifactId>lifecycle-mapping</artifactId>
151           <configuration>
152             <lifecycleMappingMetadata>
153               <pluginExecutions>
154                 <pluginExecution>
155                   <pluginExecutionFilter>
156                     <groupId>org.apache.maven.plugins</groupId>
157                     <artifactId>maven-antrun-plugin</artifactId>
158                     <versionRange>[1.6,)</versionRange>
159                     <goals>
160                       <goal>run</goal>
161                     </goals>
162                   </pluginExecutionFilter>
163                   <action>
164                     <ignore/>
165                   </action>
166                 </pluginExecution>
167               </pluginExecutions>
168             </lifecycleMappingMetadata>
169           </configuration>
170         </plugin>
171       </plugins>
172     </pluginManagement>
173   </build>
174   <dependencies>
175     <!-- Intra-project dependencies -->
176     <dependency>
177       <groupId>org.apache.hbase</groupId>
178       <artifactId>hbase-common</artifactId>
179       <type>jar</type>
180     </dependency>
181     <dependency>
182       <groupId>org.apache.hbase</groupId>
183       <artifactId>hbase-common</artifactId>
184       <type>test-jar</type>
185       <scope>test</scope>
186     </dependency>
187     <dependency>
188       <groupId>org.apache.hbase</groupId>
189       <artifactId>hbase-protocol</artifactId>
190       <type>jar</type>
191     </dependency>
192     <dependency>
193       <groupId>org.apache.hbase</groupId>
194       <artifactId>hbase-client</artifactId>
195     </dependency>
196     <dependency>
197       <groupId>org.apache.hbase</groupId>
198       <artifactId>hbase-server</artifactId>
199     </dependency>
200     <dependency>
201       <groupId>org.apache.hbase</groupId>
202       <artifactId>hbase-hadoop-compat</artifactId>
203     </dependency>
204     <dependency>
205       <groupId>org.apache.hbase</groupId>
206       <artifactId>${compat.module}</artifactId>
207       <version>${project.version}</version>
208     </dependency>
209     <!--Below MR wanted by PE-->
210     <dependency>
211       <groupId>org.apache.hbase</groupId>
212       <artifactId>hbase-mapreduce</artifactId>
213     </dependency>
214     <dependency>
215       <groupId>org.apache.hbase</groupId>
216       <artifactId>hbase-mapreduce</artifactId>
217       <type>test-jar</type>
218       <scope>test</scope>
219     </dependency>
220     <dependency>
221       <groupId>org.apache.hbase</groupId>
222       <artifactId>hbase-server</artifactId>
223       <type>test-jar</type>
224       <scope>test</scope>
225     </dependency>
226     <dependency>
227       <groupId>org.apache.hbase</groupId>
228       <artifactId>hbase-testing-util</artifactId>
229       <scope>test</scope>
230     </dependency>
231     <dependency>
232       <groupId>org.apache.hbase</groupId>
233       <artifactId>hbase-annotations</artifactId>
234       <type>test-jar</type>
235       <scope>test</scope>
236     </dependency>
237     <!-- REST dependencies -->
238     <dependency>
239       <groupId>org.apache.hbase.thirdparty</groupId>
240       <artifactId>hbase-shaded-miscellaneous</artifactId>
241     </dependency>
242     <dependency>
243       <groupId>com.google.protobuf</groupId>
244       <artifactId>protobuf-java</artifactId>
245     </dependency>
246     <dependency>
247       <groupId>org.apache.httpcomponents</groupId>
248       <artifactId>httpclient</artifactId>
249     </dependency>
250     <dependency>
251       <groupId>org.apache.httpcomponents</groupId>
252       <artifactId>httpcore</artifactId>
253     </dependency>
254     <dependency>
255       <groupId>org.apache.commons</groupId>
256       <artifactId>commons-lang3</artifactId>
257     </dependency>
258     <dependency>
259       <groupId>org.slf4j</groupId>
260       <artifactId>slf4j-api</artifactId>
261     </dependency>
262     <dependency>
263       <groupId>javax.xml.bind</groupId>
264       <artifactId>jaxb-api</artifactId>
265     </dependency>
266     <dependency>
267       <groupId>javax.servlet</groupId>
268       <artifactId>javax.servlet-api</artifactId>
269     </dependency>
270     <dependency>
271       <groupId>javax.ws.rs</groupId>
272       <artifactId>javax.ws.rs-api</artifactId>
273     </dependency>
274     <dependency>
275       <groupId>org.eclipse.jetty</groupId>
276       <artifactId>jetty-server</artifactId>
277     </dependency>
278     <dependency>
279       <groupId>org.eclipse.jetty</groupId>
280       <artifactId>jetty-servlet</artifactId>
281     </dependency>
282     <dependency>
283       <groupId>org.eclipse.jetty</groupId>
284       <artifactId>jetty-util</artifactId>
285     </dependency>
286     <dependency>
287       <groupId>org.eclipse.jetty</groupId>
288       <artifactId>jetty-http</artifactId>
289     </dependency>
290     <dependency>
291       <groupId>org.eclipse.jetty</groupId>
292       <artifactId>jetty-jmx</artifactId>
293     </dependency>
294     <dependency>
295       <groupId>org.glassfish.jersey.containers</groupId>
296       <artifactId>jersey-container-servlet-core</artifactId>
297     </dependency>
298     <dependency>
299       <groupId>com.fasterxml.jackson.jaxrs</groupId>
300       <artifactId>jackson-jaxrs-json-provider</artifactId>
301     </dependency>
302     <dependency>
303       <!-- We *might* need this for XMLStreamReader use in RemoteAdmin
304            TODO figure out if we can remove it.
305         -->
306       <groupId>org.codehaus.jettison</groupId>
307       <artifactId>jettison</artifactId>
308         <exclusions>
309           <exclusion>
310             <groupId>stax</groupId>
311             <artifactId>stax-api</artifactId>
312           </exclusion>
313         </exclusions>
314     </dependency>
315     <dependency>
316       <!--For JspC used in ant task-->
317       <groupId>org.glassfish.web</groupId>
318       <artifactId>javax.servlet.jsp</artifactId>
319     </dependency>
320     <!-- Specifically needed for jetty-jsp, included
321          to bypass version scanning that hits a bad repo
322          see HBASE-18831 -->
323     <dependency>
324       <groupId>org.glassfish</groupId>
325       <artifactId>javax.el</artifactId>
326     </dependency>
327     <dependency>
328       <groupId>junit</groupId>
329       <artifactId>junit</artifactId>
330       <scope>test</scope>
331     </dependency>
332     <dependency>
333       <groupId>org.mockito</groupId>
334       <artifactId>mockito-core</artifactId>
335       <scope>test</scope>
336     </dependency>
337     <dependency>
338        <groupId>com.github.stephenc.findbugs</groupId>
339        <artifactId>findbugs-annotations</artifactId>
340        <optional>true</optional>
341     </dependency>
342   </dependencies>
343   <profiles>
344     <!-- Skip the tests in this module -->
345     <profile>
346       <id>skipRestTests</id>
347       <activation>
348         <property>
349           <name>skipRestTests</name>
350         </property>
351       </activation>
352       <properties>
353         <surefire.skipFirstPart>true</surefire.skipFirstPart>
354         <surefire.skipSecondPart>true</surefire.skipSecondPart>
355       </properties>
356     </profile>
357     <!-- Hadoop-specific dependencies -->
358     <!-- profile for building against Hadoop 2.0.x
359          This is the default.
360          -->
361     <profile>
362       <id>hadoop-2.0</id>
363       <activation>
364         <property>
365           <!--Below formatting for dev-support/generate-hadoopX-poms.sh-->
366           <!--h2-->
367           <name>!hadoop.profile</name>
368         </property>
369       </activation>
370       <dependencies>
371         <dependency>
372           <groupId>org.apache.hadoop</groupId>
373           <artifactId>hadoop-mapreduce-client-core</artifactId>
374           <scope>test</scope>
375           <exclusions>
376             <exclusion>
377               <groupId>com.google.guava</groupId>
378               <artifactId>guava</artifactId>
379             </exclusion>
380           </exclusions>
381         </dependency>
382         <dependency>
383           <groupId>org.apache.hadoop</groupId>
384           <artifactId>hadoop-annotations</artifactId>
385           <version>${hadoop-two.version}</version>
386         </dependency>
387         <dependency>
388           <groupId>org.apache.hadoop</groupId>
389           <artifactId>hadoop-common</artifactId>
390         </dependency>
391         <dependency>
392           <groupId>org.apache.hadoop</groupId>
393           <artifactId>hadoop-auth</artifactId>
394         </dependency>
395       </dependencies>
396     </profile>
397     <!--
398       profile for building against Hadoop 3.0.0. Activate using:
399        mvn -Dhadoop.profile=3.0
400     -->
401     <profile>
402       <id>hadoop-3.0</id>
403       <activation>
404         <property>
405           <name>hadoop.profile</name>
406           <value>3.0</value>
407         </property>
408       </activation>
409       <dependencyManagement>
410         <dependencies>
411           <dependency>
412             <groupId>org.apache.hadoop</groupId>
413             <artifactId>hadoop-yarn-server-nodemanager</artifactId>
414             <version>${hadoop-three.version}</version>
415             <exclusions>
416               <exclusion>
417                 <groupId>com.sun.jersey</groupId>
418                 <artifactId>jersey-core</artifactId>
419               </exclusion>
420             </exclusions>
421           </dependency>
422           <dependency>
423             <groupId>org.apache.hadoop</groupId>
424             <artifactId>hadoop-yarn-server-resourcemanager</artifactId>
425             <version>${hadoop-three.version}</version>
426             <exclusions>
427               <exclusion>
428                 <groupId>com.sun.jersey</groupId>
429                 <artifactId>jersey-core</artifactId>
430               </exclusion>
431             </exclusions>
432           </dependency>
433           <dependency>
434             <groupId>org.apache.hadoop</groupId>
435             <artifactId>hadoop-yarn-server-timelineservice</artifactId>
436             <version>${hadoop-three.version}</version>
437             <exclusions>
438               <exclusion>
439                 <groupId>javax.ws.rs</groupId>
440                 <artifactId>jsr311-api</artifactId>
441               </exclusion>
442             </exclusions>
443           </dependency>
444           <dependency>
445             <groupId>org.apache.hadoop</groupId>
446             <artifactId>hadoop-yarn-common</artifactId>
447             <version>${hadoop-three.version}</version>
448             <exclusions>
449               <exclusion>
450                 <groupId>com.sun.jersey</groupId>
451                 <artifactId>jersey-core</artifactId>
452               </exclusion>
453             </exclusions>
454           </dependency>
455         </dependencies>
456       </dependencyManagement>
457       <dependencies>
458         <dependency>
459           <groupId>org.apache.hadoop</groupId>
460           <artifactId>hadoop-mapreduce-client-core</artifactId>
461           <scope>test</scope>
462         </dependency>
463         <dependency>
464           <groupId>org.apache.hadoop</groupId>
465           <artifactId>hadoop-annotations</artifactId>
466           <version>${hadoop-three.version}</version>
467         </dependency>
468         <dependency>
469           <groupId>org.apache.hadoop</groupId>
470           <artifactId>hadoop-common</artifactId>
471         </dependency>
472         <dependency>
473           <groupId>org.apache.hadoop</groupId>
474           <artifactId>hadoop-auth</artifactId>
475         </dependency>
476       </dependencies>
477     </profile>
478   </profiles>
479 </project>