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">
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
13 * http://www.apache.org/licenses/LICENSE-2.0
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.
22 <modelVersion>4.0.0</modelVersion>
24 <artifactId>hbase-build-configuration</artifactId>
25 <groupId>org.apache.hbase</groupId>
26 <version>2.4.9-SNAPSHOT</version>
27 <relativePath>../hbase-build-configuration</relativePath>
29 <artifactId>hbase-shell</artifactId>
30 <name>Apache HBase - Shell</name>
31 <description>Shell for HBase</description>
35 <directory>src/main/ruby</directory>
40 <directory>src/test/resources</directory>
42 <include>**/**</include>
48 <groupId>org.apache.maven.plugins</groupId>
49 <artifactId>maven-jar-plugin</artifactId>
53 <mainClass>org.jruby.JarBootstrapMain</mainClass>
58 <!-- Make a jar and put the sources in the jar -->
60 <groupId>org.apache.maven.plugins</groupId>
61 <artifactId>maven-source-plugin</artifactId>
63 <!-- General plugins -->
65 <groupId>net.revelc.code</groupId>
66 <artifactId>warbucks-maven-plugin</artifactId>
69 <!-- General Resources -->
73 <artifactId>maven-surefire-plugin</artifactId>
74 <version>${surefire.version}</version>
76 <!-- Have to set the groups here because we only do
77 split tests in this package, so groups on live in this module -->
78 <groups>${surefire.firstPartGroups}</groups>
85 <!-- Intra-project dependencies -->
87 <groupId>org.apache.hbase</groupId>
88 <artifactId>hbase-logging</artifactId>
93 <groupId>org.apache.hbase</groupId>
94 <artifactId>hbase-common</artifactId>
97 <groupId>org.apache.hbase</groupId>
98 <artifactId>hbase-annotations</artifactId>
103 <groupId>org.apache.hbase</groupId>
104 <artifactId>hbase-client</artifactId>
107 <groupId>org.apache.hbase</groupId>
108 <artifactId>hbase-server</artifactId>
111 <groupId>org.apache.hbase</groupId>
112 <artifactId>hbase-hadoop-compat</artifactId>
115 <groupId>org.apache.hbase</groupId>
116 <artifactId>${compat.module}</artifactId>
117 <version>${project.version}</version>
120 <groupId>org.apache.hbase</groupId>
121 <artifactId>hbase-testing-util</artifactId>
124 <!-- General dependencies -->
126 <groupId>org.slf4j</groupId>
127 <artifactId>slf4j-api</artifactId>
130 <groupId>org.jruby</groupId>
131 <artifactId>jruby-complete</artifactId>
133 <!-- Test Dependencies -->
135 <groupId>junit</groupId>
136 <artifactId>junit</artifactId>
140 <groupId>org.slf4j</groupId>
141 <artifactId>jcl-over-slf4j</artifactId>
145 <groupId>org.slf4j</groupId>
146 <artifactId>jul-to-slf4j</artifactId>
150 <groupId>org.slf4j</groupId>
151 <artifactId>slf4j-log4j12</artifactId>
155 <groupId>log4j</groupId>
156 <artifactId>log4j</artifactId>
165 <name>!skip-rsgroup</name>
170 <groupId>org.apache.hbase</groupId>
171 <artifactId>hbase-rsgroup</artifactId>
177 <groupId>org.codehaus.mojo</groupId>
178 <artifactId>build-helper-maven-plugin</artifactId>
181 <id>add-test-source</id>
183 <goal>add-test-source</goal>
187 <source>src/test/rsgroup</source>
196 <!-- Skip the tests in this module -->
198 <id>skipShellTests</id>
201 <name>skipShellTests</name>
205 <surefire.skipFirstPart>true</surefire.skipFirstPart>
206 <surefire.skipSecondPart>true</surefire.skipSecondPart>
209 <!-- Profiles for building against different hadoop versions -->
210 <!-- There are a lot of common dependencies used here, should investigate
211 if we can combine these profiles somehow -->
213 <!-- profile for building against Hadoop 2.x. This is the default. -->
218 <!--Below formatting for dev-support/generate-hadoopX-poms.sh-->
219 <!--h2--><name>!hadoop.profile</name>
224 <groupId>org.apache.hadoop</groupId>
225 <artifactId>hadoop-common</artifactId>
228 <groupId>org.apache.hadoop</groupId>
229 <artifactId>hadoop-auth</artifactId>
232 <groupId>com.google.guava</groupId>
233 <artifactId>guava</artifactId>
238 <groupId>org.apache.hadoop</groupId>
239 <artifactId>hadoop-client</artifactId>
242 <groupId>com.google.guava</groupId>
243 <artifactId>guava</artifactId>
246 <groupId>javax.xml.bind</groupId>
247 <artifactId>jaxb-api</artifactId>
250 <groupId>javax.ws.rs</groupId>
251 <artifactId>jsr311-api</artifactId>
256 <groupId>org.apache.hadoop</groupId>
257 <artifactId>hadoop-mapreduce-client-core</artifactId>
260 <groupId>com.google.guava</groupId>
261 <artifactId>guava</artifactId>
264 <groupId>javax.xml.bind.</groupId>
265 <artifactId>jaxb-api</artifactId>
268 <groupId>javax.ws.rs</groupId>
269 <artifactId>jsr311-api</artifactId>
274 <groupId>org.apache.hadoop</groupId>
275 <artifactId>hadoop-mapreduce-client-jobclient</artifactId>
276 <type>test-jar</type>
280 <groupId>com.google.guava</groupId>
281 <artifactId>guava</artifactId>
284 <groupId>javax.xml.bind.</groupId>
285 <artifactId>jaxb-api</artifactId>
288 <groupId>javax.ws.rs</groupId>
289 <artifactId>jsr311-api</artifactId>
294 <groupId>org.apache.hadoop</groupId>
295 <artifactId>hadoop-hdfs</artifactId>
298 <groupId>org.apache.hadoop</groupId>
299 <artifactId>hadoop-hdfs</artifactId>
300 <type>test-jar</type>
304 <groupId>org.apache.hadoop</groupId>
305 <artifactId>hadoop-minicluster</artifactId>
309 <groupId>com.google.guava</groupId>
310 <artifactId>guava</artifactId>
313 <groupId>org.apache.zookeeper</groupId>
314 <artifactId>zookeeper</artifactId>
319 <groupId>org.apache.hadoop</groupId>
320 <artifactId>hadoop-minikdc</artifactId>
326 <artifactId>maven-dependency-plugin</artifactId>
329 <id>create-mrapp-generated-classpath</id>
330 <phase>generate-test-resources</phase>
332 <goal>build-classpath</goal>
335 <!-- needed to run the unit test for DS to generate
336 the required classpath that is required in the env
337 of the launch container in the mini mr/yarn cluster
339 <outputFile>${project.build.directory}/test-classes/mrapp-generated-classpath</outputFile>
348 profile for building against Hadoop 3.0.x. Activate using:
349 mvn -Dhadoop.profile=3.0
355 <name>hadoop.profile</name>
361 <groupId>org.apache.hadoop</groupId>
362 <artifactId>hadoop-common</artifactId>
365 <groupId>org.apache.hadoop</groupId>
366 <artifactId>hadoop-minicluster</artifactId>
369 <groupId>com.google.guava</groupId>
370 <artifactId>guava</artifactId>
373 <groupId>javax.ws.rs</groupId>
374 <artifactId>jsr311-api</artifactId>
379 <groupId>org.apache.hadoop</groupId>
380 <artifactId>hadoop-minikdc</artifactId>
386 <artifactId>maven-dependency-plugin</artifactId>
389 <id>create-mrapp-generated-classpath</id>
390 <phase>generate-test-resources</phase>
392 <goal>build-classpath</goal>
395 <!-- needed to run the unit test for DS to generate
396 the required classpath that is required in the env
397 of the launch container in the mini mr/yarn cluster
399 <outputFile>${project.build.directory}/test-classes/mrapp-generated-classpath</outputFile>
408 <id>eclipse-specific</id>
411 <name>m2e.version</name>
417 <!--This plugin's configuration is used to store Eclipse m2e settings
418 only. It has no influence on the Maven build itself.-->
420 <groupId>org.eclipse.m2e</groupId>
421 <artifactId>lifecycle-mapping</artifactId>
423 <lifecycleMappingMetadata>
426 <pluginExecutionFilter>
427 <groupId>org.apache.maven.plugins</groupId>
428 <artifactId>maven-dependency-plugin</artifactId>
429 <versionRange>[2.8,)</versionRange>
431 <goal>build-classpath</goal>
433 </pluginExecutionFilter>
439 </lifecycleMappingMetadata>