HBASE-23742 Document that with split-to-hfile data over the MOB threshold will be...
[hbase.git] / hbase-shell / pom.xml
blobb6d2e30388a832259b2454010805336135b3e4e2
1 <?xml version="1.0"?>
2 <project xmlns="https://maven.apache.org/POM/4.0.0" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/POM/4.0.0 https://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-shell</artifactId>
30   <name>Apache HBase - Shell</name>
31   <description>Shell for HBase</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       <!-- Run with -Dmaven.test.skip.exec=true to build -tests.jar without running
54         tests (this is needed for upstream projects whose tests need this jar simply for
55         compilation) -->
56       <plugin>
57         <!--Make it so assembly:single does nothing in here-->
58         <artifactId>maven-assembly-plugin</artifactId>
59         <configuration>
60           <skipAssembly>true</skipAssembly>
61         </configuration>
62       </plugin>
63       <plugin>
64         <groupId>org.apache.maven.plugins</groupId>
65         <artifactId>maven-jar-plugin</artifactId>
66         <configuration>
67           <archive>
68             <manifest>
69               <mainClass>org/apache/hadoop/hbase/mapreduce/Driver</mainClass>
70             </manifest>
71           </archive>
72           <!-- Exclude these 2 packages, because their dependency _binary_ files
73             include the sources, and Maven 2.2 appears to add them to the sources to compile,
74             weird -->
75           <excludes>
76             <exclude>org/apache/jute/**</exclude>
77             <exclude>org/apache/zookeeper/**</exclude>
78             <exclude>**/*.jsp</exclude>
79             <exclude>hbase-site.xml</exclude>
80             <exclude>hdfs-site.xml</exclude>
81             <exclude>log4j.properties</exclude>
82             <exclude>mapred-queues.xml</exclude>
83             <exclude>mapred-site.xml</exclude>
84           </excludes>
85         </configuration>
86       </plugin>
87       <!-- Make a jar and put the sources in the jar -->
88       <plugin>
89         <groupId>org.apache.maven.plugins</groupId>
90         <artifactId>maven-source-plugin</artifactId>
91       </plugin>
92       <!-- General ant tasks, bound to different build phases -->
93       <plugin>
94         <groupId>org.codehaus.mojo</groupId>
95         <artifactId>build-helper-maven-plugin</artifactId>
96         <executions>
97           <!-- Add the generated sources -->
98           <execution>
99             <id>jspcSource-packageInfo-source</id>
100             <phase>generate-sources</phase>
101             <goals>
102               <goal>add-source</goal>
103             </goals>
104             <configuration>
105               <sources>
106                 <source>${project.build.directory}/generated-jamon</source>
107                 <source>${project.build.directory}/generated-sources/java</source>
108               </sources>
109             </configuration>
110           </execution>
111         </executions>
112       </plugin>
113       <!-- General plugins -->
114       <plugin>
115         <groupId>net.revelc.code</groupId>
116         <artifactId>warbucks-maven-plugin</artifactId>
117       </plugin>
118     </plugins>
119     <!-- General Resources -->
120     <pluginManagement>
121        <plugins>
122         <plugin>
123           <artifactId>maven-surefire-plugin</artifactId>
124           <version>${surefire.version}</version>
125           <configuration>
126             <!-- Have to set the groups here because we only do
127             split tests in this package, so groups on live in this module -->
128             <groups>${surefire.firstPartGroups}</groups>
129           </configuration>
130         </plugin>
131        </plugins>
132     </pluginManagement>
133   </build>
134   <dependencies>
135     <!-- Intra-project dependencies -->
136     <dependency>
137       <groupId>org.apache.hbase</groupId>
138       <artifactId>hbase-logging</artifactId>
139       <type>test-jar</type>
140       <scope>test</scope>
141     </dependency>
142     <dependency>
143       <groupId>org.apache.hbase</groupId>
144       <artifactId>hbase-common</artifactId>
145     </dependency>
146     <dependency>
147       <groupId>org.apache.hbase</groupId>
148       <artifactId>hbase-annotations</artifactId>
149       <type>test-jar</type>
150       <scope>test</scope>
151     </dependency>
152     <dependency>
153       <groupId>org.apache.hbase</groupId>
154       <artifactId>hbase-client</artifactId>
155     </dependency>
156     <dependency>
157       <groupId>org.apache.hbase</groupId>
158       <artifactId>hbase-server</artifactId>
159     </dependency>
160     <dependency>
161       <groupId>org.apache.hbase</groupId>
162       <artifactId>hbase-hadoop-compat</artifactId>
163     </dependency>
164     <dependency>
165       <groupId>org.apache.hbase</groupId>
166       <artifactId>hbase-testing-util</artifactId>
167       <scope>test</scope>
168     </dependency>
169     <!-- General dependencies -->
170     <dependency>
171       <groupId>org.slf4j</groupId>
172       <artifactId>slf4j-api</artifactId>
173     </dependency>
174     <dependency>
175       <groupId>org.jruby</groupId>
176       <artifactId>jruby-complete</artifactId>
177     </dependency>
178     <!-- Test Dependencies -->
179     <dependency>
180       <groupId>junit</groupId>
181       <artifactId>junit</artifactId>
182       <scope>test</scope>
183     </dependency>
184     <dependency>
185       <groupId>org.slf4j</groupId>
186       <artifactId>jcl-over-slf4j</artifactId>
187       <scope>test</scope>
188     </dependency>
189     <dependency>
190       <groupId>org.slf4j</groupId>
191       <artifactId>jul-to-slf4j</artifactId>
192       <scope>test</scope>
193     </dependency>
194     <dependency>
195       <groupId>org.slf4j</groupId>
196       <artifactId>slf4j-log4j12</artifactId>
197       <scope>test</scope>
198     </dependency>
199     <dependency>
200       <groupId>log4j</groupId>
201       <artifactId>log4j</artifactId>
202       <scope>test</scope>
203     </dependency>
204   </dependencies>
205   <profiles>
206     <!-- Skip the tests in this module -->
207     <profile>
208       <id>skipShellTests</id>
209       <activation>
210         <property>
211           <name>skipShellTests</name>
212         </property>
213       </activation>
214       <properties>
215         <surefire.skipFirstPart>true</surefire.skipFirstPart>
216         <surefire.skipSecondPart>true</surefire.skipSecondPart>
217       </properties>
218     </profile>
219     <!-- Profiles for building against different hadoop versions -->
220     <!-- There are a lot of common dependencies used here, should investigate
221     if we can combine these profiles somehow -->
222     <!-- Profile for building against Hadoop 3.0.0. Activate by default -->
223     <profile>
224       <id>hadoop-3.0</id>
225       <activation>
226         <property><name>!hadoop.profile</name></property>
227       </activation>
228       <dependencies>
229         <dependency>
230           <groupId>org.apache.hadoop</groupId>
231           <artifactId>hadoop-common</artifactId>
232         </dependency>
233         <dependency>
234           <groupId>org.apache.hadoop</groupId>
235           <artifactId>hadoop-minicluster</artifactId>
236           <exclusions>
237             <exclusion>
238               <groupId>com.google.guava</groupId>
239               <artifactId>guava</artifactId>
240             </exclusion>
241             <exclusion>
242               <groupId>javax.ws.rs</groupId>
243               <artifactId>jsr311-api</artifactId>
244             </exclusion>
245           </exclusions>
246         </dependency>
247         <dependency>
248           <groupId>org.apache.hadoop</groupId>
249           <artifactId>hadoop-minikdc</artifactId>
250         </dependency>
251       </dependencies>
252       <build>
253         <plugins>
254           <plugin>
255             <artifactId>maven-dependency-plugin</artifactId>
256             <executions>
257               <execution>
258                 <id>create-mrapp-generated-classpath</id>
259                 <phase>generate-test-resources</phase>
260                 <goals>
261                   <goal>build-classpath</goal>
262                 </goals>
263                 <configuration>
264                   <!-- needed to run the unit test for DS to generate
265                   the required classpath that is required in the env
266                   of the launch container in the mini mr/yarn cluster
267                   -->
268                   <outputFile>${project.build.directory}/test-classes/mrapp-generated-classpath</outputFile>
269                 </configuration>
270               </execution>
271             </executions>
272           </plugin>
273         </plugins>
274       </build>
275     </profile>
276     <profile>
277       <id>eclipse-specific</id>
278       <activation>
279         <property>
280           <name>m2e.version</name>
281         </property>
282       </activation>
283       <build>
284         <pluginManagement>
285           <plugins>
286             <!--This plugin's configuration is used to store Eclipse m2e settings
287                  only. It has no influence on the Maven build itself.-->
288             <plugin>
289               <groupId>org.eclipse.m2e</groupId>
290               <artifactId>lifecycle-mapping</artifactId>
291               <configuration>
292                 <lifecycleMappingMetadata>
293                   <pluginExecutions>
294                     <pluginExecution>
295                       <pluginExecutionFilter>
296                         <groupId>org.apache.maven.plugins</groupId>
297                         <artifactId>maven-dependency-plugin</artifactId>
298                         <versionRange>[2.8,)</versionRange>
299                         <goals>
300                           <goal>build-classpath</goal>
301                         </goals>
302                       </pluginExecutionFilter>
303                       <action>
304                         <ignore></ignore>
305                       </action>
306                     </pluginExecution>
307                   </pluginExecutions>
308                 </lifecycleMappingMetadata>
309               </configuration>
310             </plugin>
311           </plugins>
312         </pluginManagement>
313       </build>
314     </profile>
315   </profiles>
316 </project>