HBASE-23198 Update ref guide for distributed MOB compaction.
[hbase.git] / hbase-shell / pom.xml
bloba6b62ad5895d8fa390bb1ae128ca732e9a346c61
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       <!-- Run findbugs -->
115       <plugin>
116         <groupId>org.codehaus.mojo</groupId>
117         <artifactId>findbugs-maven-plugin</artifactId>
118       </plugin>
119       <plugin>
120         <groupId>net.revelc.code</groupId>
121         <artifactId>warbucks-maven-plugin</artifactId>
122       </plugin>
123     </plugins>
124     <!-- General Resources -->
125     <pluginManagement>
126        <plugins>
127         <plugin>
128           <artifactId>maven-surefire-plugin</artifactId>
129           <version>${surefire.version}</version>
130           <configuration>
131             <!-- Have to set the groups here because we only do
132             split tests in this package, so groups on live in this module -->
133             <groups>${surefire.firstPartGroups}</groups>
134           </configuration>
135         </plugin>
136        </plugins>
137     </pluginManagement>
138   </build>
139   <dependencies>
140     <!-- Intra-project dependencies -->
141     <dependency>
142       <groupId>org.apache.hbase</groupId>
143       <artifactId>hbase-common</artifactId>
144     </dependency>
145     <dependency>
146       <groupId>org.apache.hbase</groupId>
147       <artifactId>hbase-annotations</artifactId>
148       <type>test-jar</type>
149       <scope>test</scope>
150     </dependency>
151     <dependency>
152       <groupId>org.apache.hbase</groupId>
153       <artifactId>hbase-client</artifactId>
154     </dependency>
155     <dependency>
156       <groupId>org.apache.hbase</groupId>
157       <artifactId>hbase-server</artifactId>
158     </dependency>
159     <dependency>
160       <groupId>org.apache.hbase</groupId>
161       <artifactId>hbase-hadoop-compat</artifactId>
162     </dependency>
163     <dependency>
164       <groupId>org.apache.hbase</groupId>
165       <artifactId>${compat.module}</artifactId>
166       <version>${project.version}</version>
167     </dependency>
168     <dependency>
169       <groupId>org.apache.hbase</groupId>
170       <artifactId>hbase-testing-util</artifactId>
171       <scope>test</scope>
172     </dependency>
173     <!-- General dependencies -->
174     <dependency>
175       <groupId>org.slf4j</groupId>
176       <artifactId>slf4j-api</artifactId>
177     </dependency>
178     <dependency>
179       <groupId>org.jruby</groupId>
180       <artifactId>jruby-complete</artifactId>
181     </dependency>
182     <!-- Test Dependencies -->
183     <dependency>
184       <groupId>junit</groupId>
185       <artifactId>junit</artifactId>
186       <scope>test</scope>
187     </dependency>
188   </dependencies>
189   <profiles>
190     <!-- Skip the tests in this module -->
191     <profile>
192       <id>skipShellTests</id>
193       <activation>
194         <property>
195           <name>skipShellTests</name>
196         </property>
197       </activation>
198       <properties>
199         <surefire.skipFirstPart>true</surefire.skipFirstPart>
200         <surefire.skipSecondPart>true</surefire.skipSecondPart>
201       </properties>
202     </profile>
203     <!-- Profiles for building against different hadoop versions -->
204     <!-- There are a lot of common dependencies used here, should investigate
205     if we can combine these profiles somehow -->
207     <!-- profile for building against Hadoop 2.x. This is the default. -->
208     <profile>
209       <id>hadoop-2.0</id>
210       <activation>
211         <property>
212             <!--Below formatting for dev-support/generate-hadoopX-poms.sh-->
213             <!--h2--><name>!hadoop.profile</name>
214         </property>
215       </activation>
216       <dependencies>
217         <dependency>
218           <groupId>org.apache.hadoop</groupId>
219           <artifactId>hadoop-common</artifactId>
220         </dependency>
221         <dependency>
222           <groupId>org.apache.hadoop</groupId>
223           <artifactId>hadoop-auth</artifactId>
224           <exclusions>
225             <exclusion>
226               <groupId>com.google.guava</groupId>
227               <artifactId>guava</artifactId>
228             </exclusion>
229           </exclusions>
230         </dependency>
231         <dependency>
232           <groupId>org.apache.hadoop</groupId>
233           <artifactId>hadoop-client</artifactId>
234           <exclusions>
235             <exclusion>
236               <groupId>com.google.guava</groupId>
237               <artifactId>guava</artifactId>
238             </exclusion>
239           </exclusions>
240         </dependency>
241         <dependency>
242           <groupId>org.apache.hadoop</groupId>
243           <artifactId>hadoop-mapreduce-client-core</artifactId>
244           <exclusions>
245             <exclusion>
246               <groupId>com.google.guava</groupId>
247               <artifactId>guava</artifactId>
248             </exclusion>
249           </exclusions>
250         </dependency>
251         <dependency>
252           <groupId>org.apache.hadoop</groupId>
253           <artifactId>hadoop-mapreduce-client-jobclient</artifactId>
254           <type>test-jar</type>
255           <scope>test</scope>
256           <exclusions>
257             <exclusion>
258               <groupId>com.google.guava</groupId>
259               <artifactId>guava</artifactId>
260             </exclusion>
261           </exclusions>
262         </dependency>
263         <dependency>
264           <groupId>org.apache.hadoop</groupId>
265           <artifactId>hadoop-hdfs</artifactId>
266         </dependency>
267         <dependency>
268           <groupId>org.apache.hadoop</groupId>
269           <artifactId>hadoop-hdfs</artifactId>
270           <type>test-jar</type>
271           <scope>test</scope>
272         </dependency>
273         <dependency>
274           <groupId>org.apache.hadoop</groupId>
275           <artifactId>hadoop-minicluster</artifactId>
276           <scope>test</scope>
277           <exclusions>
278             <exclusion>
279               <groupId>com.google.guava</groupId>
280               <artifactId>guava</artifactId>
281             </exclusion>
282             <exclusion>
283               <groupId>org.apache.zookeeper</groupId>
284               <artifactId>zookeeper</artifactId>
285             </exclusion>
286           </exclusions>
287         </dependency>
288         <dependency>
289           <groupId>org.apache.hadoop</groupId>
290           <artifactId>hadoop-minikdc</artifactId>
291         </dependency>
292       </dependencies>
293       <build>
294         <plugins>
295           <plugin>
296             <artifactId>maven-dependency-plugin</artifactId>
297             <executions>
298               <execution>
299                 <id>create-mrapp-generated-classpath</id>
300                 <phase>generate-test-resources</phase>
301                 <goals>
302                   <goal>build-classpath</goal>
303                 </goals>
304                 <configuration>
305                   <!-- needed to run the unit test for DS to generate
306                   the required classpath that is required in the env
307                   of the launch container in the mini mr/yarn cluster
308                   -->
309                   <outputFile>${project.build.directory}/test-classes/mrapp-generated-classpath</outputFile>
310                 </configuration>
311               </execution>
312             </executions>
313           </plugin>
314         </plugins>
315       </build>
316     </profile>
317     <!--
318       profile for building against Hadoop 3.0.x. Activate using:
319        mvn -Dhadoop.profile=3.0
320     -->
321     <profile>
322       <id>hadoop-3.0</id>
323       <activation>
324         <property>
325           <name>hadoop.profile</name>
326           <value>3.0</value>
327         </property>
328       </activation>
329       <properties>
330         <hadoop.version>3.0-SNAPSHOT</hadoop.version>
331       </properties>
332       <dependencies>
333         <dependency>
334           <groupId>org.apache.hadoop</groupId>
335           <artifactId>hadoop-common</artifactId>
336         </dependency>
337         <dependency>
338           <groupId>org.apache.hadoop</groupId>
339           <artifactId>hadoop-minicluster</artifactId>
340           <exclusions>
341             <exclusion>
342               <groupId>com.google.guava</groupId>
343               <artifactId>guava</artifactId>
344             </exclusion>
345           </exclusions>
346         </dependency>
347         <dependency>
348           <groupId>org.apache.hadoop</groupId>
349           <artifactId>hadoop-minikdc</artifactId>
350         </dependency>
351       </dependencies>
352       <build>
353         <plugins>
354           <plugin>
355             <artifactId>maven-dependency-plugin</artifactId>
356             <executions>
357               <execution>
358                 <id>create-mrapp-generated-classpath</id>
359                 <phase>generate-test-resources</phase>
360                 <goals>
361                   <goal>build-classpath</goal>
362                 </goals>
363                 <configuration>
364                   <!-- needed to run the unit test for DS to generate
365                   the required classpath that is required in the env
366                   of the launch container in the mini mr/yarn cluster
367                   -->
368                   <outputFile>${project.build.directory}/test-classes/mrapp-generated-classpath</outputFile>
369                 </configuration>
370               </execution>
371             </executions>
372           </plugin>
373         </plugins>
374       </build>
375     </profile>
376     <profile>
377       <id>eclipse-specific</id>
378       <activation>
379         <property>
380           <name>m2e.version</name>
381         </property>
382       </activation>
383       <build>
384         <pluginManagement>
385           <plugins>
386             <!--This plugin's configuration is used to store Eclipse m2e settings
387                  only. It has no influence on the Maven build itself.-->
388             <plugin>
389               <groupId>org.eclipse.m2e</groupId>
390               <artifactId>lifecycle-mapping</artifactId>
391               <configuration>
392                 <lifecycleMappingMetadata>
393                   <pluginExecutions>
394                     <pluginExecution>
395                       <pluginExecutionFilter>
396                         <groupId>org.apache.maven.plugins</groupId>
397                         <artifactId>maven-dependency-plugin</artifactId>
398                         <versionRange>[2.8,)</versionRange>
399                         <goals>
400                           <goal>build-classpath</goal>
401                         </goals>
402                       </pluginExecutionFilter>
403                       <action>
404                         <ignore></ignore>
405                       </action>
406                     </pluginExecution>
407                   </pluginExecutions>
408                 </lifecycleMappingMetadata>
409               </configuration>
410             </plugin>
411           </plugins>
412         </pluginManagement>
413       </build>
414     </profile>
415   </profiles>
416 </project>