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