HBASE-25508 Add an example of using the thrift proxy in thrift-over-http mode
[hbase.git] / hbase-shell / pom.xml
blob63db97719c67f431e4316416f1e772eaef75099c
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     <resources>
34       <resource>
35         <directory>src/main/ruby</directory>
36       </resource>
37     </resources>
38     <testResources>
39       <testResource>
40         <directory>src/test/resources</directory>
41         <includes>
42           <include>**/**</include>
43         </includes>
44       </testResource>
45     </testResources>
46     <plugins>
47       <plugin>
48         <groupId>org.apache.maven.plugins</groupId>
49         <artifactId>maven-jar-plugin</artifactId>
50         <configuration>
51           <archive>
52             <manifest>
53               <mainClass>org.jruby.JarBootstrapMain</mainClass>
54             </manifest>
55           </archive>
56         </configuration>
57       </plugin>
58       <!-- Make a jar and put the sources in the jar -->
59       <plugin>
60         <groupId>org.apache.maven.plugins</groupId>
61         <artifactId>maven-source-plugin</artifactId>
62       </plugin>
63       <!-- General plugins -->
64       <plugin>
65         <groupId>net.revelc.code</groupId>
66         <artifactId>warbucks-maven-plugin</artifactId>
67       </plugin>
68     </plugins>
69     <!-- General Resources -->
70     <pluginManagement>
71        <plugins>
72         <plugin>
73           <artifactId>maven-surefire-plugin</artifactId>
74           <version>${surefire.version}</version>
75           <configuration>
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>
79           </configuration>
80         </plugin>
81        </plugins>
82     </pluginManagement>
83   </build>
84   <dependencies>
85     <!-- Intra-project dependencies -->
86     <dependency>
87       <groupId>org.apache.hbase</groupId>
88       <artifactId>hbase-logging</artifactId>
89       <type>test-jar</type>
90       <scope>test</scope>
91     </dependency>
92     <dependency>
93       <groupId>org.apache.hbase</groupId>
94       <artifactId>hbase-common</artifactId>
95     </dependency>
96     <dependency>
97       <groupId>org.apache.hbase</groupId>
98       <artifactId>hbase-annotations</artifactId>
99       <type>test-jar</type>
100       <scope>test</scope>
101     </dependency>
102     <dependency>
103       <groupId>org.apache.hbase</groupId>
104       <artifactId>hbase-client</artifactId>
105     </dependency>
106     <dependency>
107       <groupId>org.apache.hbase</groupId>
108       <artifactId>hbase-server</artifactId>
109     </dependency>
110     <dependency>
111       <groupId>org.apache.hbase</groupId>
112       <artifactId>hbase-hadoop-compat</artifactId>
113     </dependency>
114     <dependency>
115       <groupId>org.apache.hbase</groupId>
116       <artifactId>hbase-testing-util</artifactId>
117       <scope>test</scope>
118     </dependency>
119     <!-- General dependencies -->
120     <dependency>
121       <groupId>org.slf4j</groupId>
122       <artifactId>slf4j-api</artifactId>
123     </dependency>
124     <dependency>
125       <groupId>org.jruby</groupId>
126       <artifactId>jruby-complete</artifactId>
127     </dependency>
128     <!-- Test Dependencies -->
129     <dependency>
130       <groupId>junit</groupId>
131       <artifactId>junit</artifactId>
132       <scope>test</scope>
133     </dependency>
134     <dependency>
135       <groupId>org.slf4j</groupId>
136       <artifactId>jcl-over-slf4j</artifactId>
137       <scope>test</scope>
138     </dependency>
139     <dependency>
140       <groupId>org.slf4j</groupId>
141       <artifactId>jul-to-slf4j</artifactId>
142       <scope>test</scope>
143     </dependency>
144     <dependency>
145       <groupId>org.slf4j</groupId>
146       <artifactId>slf4j-log4j12</artifactId>
147       <scope>test</scope>
148     </dependency>
149     <dependency>
150       <groupId>log4j</groupId>
151       <artifactId>log4j</artifactId>
152       <scope>test</scope>
153     </dependency>
154   </dependencies>
155   <profiles>
156     <!-- Skip the tests in this module -->
157     <profile>
158       <id>skipShellTests</id>
159       <activation>
160         <property>
161           <name>skipShellTests</name>
162         </property>
163       </activation>
164       <properties>
165         <surefire.skipFirstPart>true</surefire.skipFirstPart>
166         <surefire.skipSecondPart>true</surefire.skipSecondPart>
167       </properties>
168     </profile>
169     <!-- Profiles for building against different hadoop versions -->
170     <!-- There are a lot of common dependencies used here, should investigate
171     if we can combine these profiles somehow -->
172     <!-- Profile for building against Hadoop 3.0.0. Activate by default -->
173     <profile>
174       <id>hadoop-3.0</id>
175       <activation>
176         <property><name>!hadoop.profile</name></property>
177       </activation>
178       <dependencies>
179         <dependency>
180           <groupId>org.apache.hadoop</groupId>
181           <artifactId>hadoop-common</artifactId>
182         </dependency>
183         <dependency>
184           <groupId>org.apache.hadoop</groupId>
185           <artifactId>hadoop-minicluster</artifactId>
186           <exclusions>
187             <exclusion>
188               <groupId>com.google.guava</groupId>
189               <artifactId>guava</artifactId>
190             </exclusion>
191             <exclusion>
192               <groupId>javax.ws.rs</groupId>
193               <artifactId>jsr311-api</artifactId>
194             </exclusion>
195           </exclusions>
196         </dependency>
197         <dependency>
198           <groupId>org.apache.hadoop</groupId>
199           <artifactId>hadoop-minikdc</artifactId>
200         </dependency>
201       </dependencies>
202       <build>
203         <plugins>
204           <plugin>
205             <artifactId>maven-dependency-plugin</artifactId>
206             <executions>
207               <execution>
208                 <id>create-mrapp-generated-classpath</id>
209                 <phase>generate-test-resources</phase>
210                 <goals>
211                   <goal>build-classpath</goal>
212                 </goals>
213                 <configuration>
214                   <!-- needed to run the unit test for DS to generate
215                   the required classpath that is required in the env
216                   of the launch container in the mini mr/yarn cluster
217                   -->
218                   <outputFile>${project.build.directory}/test-classes/mrapp-generated-classpath</outputFile>
219                 </configuration>
220               </execution>
221             </executions>
222           </plugin>
223         </plugins>
224       </build>
225     </profile>
226     <profile>
227       <id>eclipse-specific</id>
228       <activation>
229         <property>
230           <name>m2e.version</name>
231         </property>
232       </activation>
233       <build>
234         <pluginManagement>
235           <plugins>
236             <!--This plugin's configuration is used to store Eclipse m2e settings
237                  only. It has no influence on the Maven build itself.-->
238             <plugin>
239               <groupId>org.eclipse.m2e</groupId>
240               <artifactId>lifecycle-mapping</artifactId>
241               <configuration>
242                 <lifecycleMappingMetadata>
243                   <pluginExecutions>
244                     <pluginExecution>
245                       <pluginExecutionFilter>
246                         <groupId>org.apache.maven.plugins</groupId>
247                         <artifactId>maven-dependency-plugin</artifactId>
248                         <versionRange>[2.8,)</versionRange>
249                         <goals>
250                           <goal>build-classpath</goal>
251                         </goals>
252                       </pluginExecutionFilter>
253                       <action>
254                         <ignore></ignore>
255                       </action>
256                     </pluginExecution>
257                   </pluginExecutions>
258                 </lifecycleMappingMetadata>
259               </configuration>
260             </plugin>
261           </plugins>
262         </pluginManagement>
263       </build>
264     </profile>
265   </profiles>
266 </project>