HBASE-23337 Release scripts should rely on maven for deploy. (#887)
[hbase.git] / hbase-examples / pom.xml
blobf2ff2fd482c95b0e1b4a4bba305b775ec81fcefe
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-examples</artifactId>
30   <name>Apache HBase - Examples</name>
31   <description>Examples of HBase usage</description>
32   <!--REMOVE-->
33   <build>
34     <plugins>
35       <plugin>
36         <!--Make it so assembly:single does nothing in here-->
37         <artifactId>maven-assembly-plugin</artifactId>
38         <configuration>
39           <skipAssembly>true</skipAssembly>
40         </configuration>
41       </plugin>
42       <plugin>
43         <artifactId>maven-surefire-plugin</artifactId>
44         <configuration>
45           <!-- Have to set the groups here because we only do
46                     split tests in this package, so groups on live in this module -->
47           <groups>${surefire.firstPartGroups}</groups>
48         </configuration>
49       </plugin>
50       <!-- Make a jar and put the sources in the jar -->
51       <plugin>
52         <groupId>org.apache.maven.plugins</groupId>
53         <artifactId>maven-source-plugin</artifactId>
54       </plugin>
55       <plugin>
56         <groupId>org.xolstice.maven.plugins</groupId>
57         <artifactId>protobuf-maven-plugin</artifactId>
58         <executions>
59           <execution>
60             <id>compile-protoc</id>
61             <phase>generate-sources</phase>
62             <goals>
63               <goal>compile</goal>
64             </goals>
65           </execution>
66         </executions>
67       </plugin>
68       <plugin>
69         <groupId>net.revelc.code</groupId>
70         <artifactId>warbucks-maven-plugin</artifactId>
71       </plugin>
72       <plugin>
73         <groupId>org.apache.maven.plugins</groupId>
74         <artifactId>maven-checkstyle-plugin</artifactId>
75         <configuration>
76           <failOnViolation>true</failOnViolation>
77         </configuration>
78       </plugin>
79     </plugins>
80   </build>
81   <dependencies>
82     <dependency>
83       <groupId>org.apache.hbase.thirdparty</groupId>
84       <artifactId>hbase-shaded-miscellaneous</artifactId>
85     </dependency>
86     <dependency>
87       <groupId>org.apache.hbase.thirdparty</groupId>
88       <artifactId>hbase-shaded-netty</artifactId>
89     </dependency>
90     <dependency>
91       <groupId>org.apache.hbase</groupId>
92       <artifactId>hbase-common</artifactId>
93     </dependency>
94     <dependency>
95       <groupId>org.apache.hbase</groupId>
96       <artifactId>hbase-protocol</artifactId>
97     </dependency>
98     <dependency>
99       <groupId>org.apache.hbase</groupId>
100       <artifactId>hbase-client</artifactId>
101     </dependency>
102     <dependency>
103       <groupId>org.apache.hbase</groupId>
104       <artifactId>hbase-server</artifactId>
105     </dependency>
106     <dependency>
107       <groupId>org.apache.hbase</groupId>
108       <artifactId>hbase-mapreduce</artifactId>
109     </dependency>
110     <dependency>
111       <groupId>org.apache.hbase</groupId>
112       <artifactId>hbase-endpoint</artifactId>
113     </dependency>
114     <dependency>
115       <groupId>org.apache.hbase</groupId>
116       <artifactId>hbase-thrift</artifactId>
117     </dependency>
118     <dependency>
119       <groupId>org.apache.hbase</groupId>
120       <artifactId>hbase-metrics-api</artifactId>
121     </dependency>
122     <dependency>
123       <groupId>org.apache.hbase</groupId>
124       <artifactId>hbase-testing-util</artifactId>
125       <scope>test</scope>
126     </dependency>
127     <dependency>
128       <groupId>org.apache.thrift</groupId>
129       <artifactId>libthrift</artifactId>
130     </dependency>
131     <dependency>
132       <groupId>commons-io</groupId>
133       <artifactId>commons-io</artifactId>
134     </dependency>
135     <dependency>
136       <groupId>org.slf4j</groupId>
137       <artifactId>slf4j-api</artifactId>
138     </dependency>
139     <dependency>
140       <groupId>org.apache.zookeeper</groupId>
141       <artifactId>zookeeper</artifactId>
142     </dependency>
143     <dependency>
144       <groupId>com.google.protobuf</groupId>
145       <artifactId>protobuf-java</artifactId>
146     </dependency>
147     <dependency>
148       <groupId>org.apache.curator</groupId>
149       <artifactId>curator-framework</artifactId>
150     </dependency>
151     <dependency>
152       <groupId>org.apache.curator</groupId>
153       <artifactId>curator-client</artifactId>
154     </dependency>
155     <dependency>
156       <groupId>org.apache.curator</groupId>
157       <artifactId>curator-recipes</artifactId>
158     </dependency>
159     <dependency>
160       <groupId>com.github.stephenc.findbugs</groupId>
161       <artifactId>findbugs-annotations</artifactId>
162     </dependency>
163     <dependency>
164       <groupId>org.apache.hbase</groupId>
165       <artifactId>hbase-rest</artifactId>
166     </dependency>
167     <dependency>
168       <groupId>junit</groupId>
169       <artifactId>junit</artifactId>
170       <scope>test</scope>
171     </dependency>
172     <dependency>
173       <groupId>org.mockito</groupId>
174       <artifactId>mockito-core</artifactId>
175       <scope>test</scope>
176     </dependency>
177   </dependencies>
178   <profiles>
179     <!-- Skip the tests in this module -->
180     <profile>
181       <id>skipExamplesTests</id>
182       <activation>
183         <property>
184           <name>skipExamplesTests</name>
185         </property>
186       </activation>
187       <properties>
188         <surefire.skipFirstPart>true</surefire.skipFirstPart>
189         <surefire.skipSecondPart>true</surefire.skipSecondPart>
190       </properties>
191     </profile>
192     <!-- Profiles for building against different hadoop versions -->
193     <!-- There are a lot of common dependencies used here, should investigate
194          if we can combine these profiles somehow -->
195     <!-- profile for building against Hadoop 2.x.  This is the default -->
196     <profile>
197       <id>hadoop-2.0</id>
198       <activation>
199         <property>
200           <!--Below formatting for dev-support/generate-hadoopX-poms.sh-->
201           <!--h2-->
202           <name>!hadoop.profile</name>
203         </property>
204       </activation>
205       <dependencies>
206         <dependency>
207           <groupId>org.apache.hadoop</groupId>
208           <artifactId>hadoop-mapreduce-client-core</artifactId>
209         </dependency>
210         <dependency>
211           <groupId>org.apache.hadoop</groupId>
212           <artifactId>hadoop-common</artifactId>
213         </dependency>
214       </dependencies>
215       <build>
216         <plugins>
217           <plugin>
218             <artifactId>maven-dependency-plugin</artifactId>
219             <executions>
220               <execution>
221                 <id>create-mrapp-generated-classpath</id>
222                 <phase>generate-test-resources</phase>
223                 <goals>
224                   <goal>build-classpath</goal>
225                 </goals>
226                 <configuration>
227                   <!-- needed to run the unit test for DS to generate
228                                  the required classpath that is required in the env
229                                  of the launch container in the mini mr/yarn cluster
230                                  -->
231                   <outputFile>${project.build.directory}/test-classes/mrapp-generated-classpath</outputFile>
232                 </configuration>
233               </execution>
234             </executions>
235           </plugin>
236         </plugins>
237       </build>
238     </profile>
239     <!--
240        profile for building against Hadoop 3.0.x. Activate using:
241         mvn -Dhadoop.profile=3.0
242      -->
243     <profile>
244       <id>hadoop-3.0</id>
245       <activation>
246         <property>
247           <name>hadoop.profile</name>
248           <value>3.0</value>
249         </property>
250       </activation>
251       <properties>
252         <hadoop.version>3.0-SNAPSHOT</hadoop.version>
253       </properties>
254       <dependencies>
255         <dependency>
256           <groupId>org.apache.hadoop</groupId>
257           <artifactId>hadoop-common</artifactId>
258         </dependency>
259         <dependency>
260           <groupId>org.apache.hadoop</groupId>
261           <artifactId>hadoop-minicluster</artifactId>
262         </dependency>
263       </dependencies>
264       <build>
265         <plugins>
266           <plugin>
267             <artifactId>maven-dependency-plugin</artifactId>
268             <executions>
269               <execution>
270                 <id>create-mrapp-generated-classpath</id>
271                 <phase>generate-test-resources</phase>
272                 <goals>
273                   <goal>build-classpath</goal>
274                 </goals>
275                 <configuration>
276                   <!-- needed to run the unit test for DS to generate
277                                  the required classpath that is required in the env
278                                  of the launch container in the mini mr/yarn cluster
279                                  -->
280                   <outputFile>${project.build.directory}/test-classes/mrapp-generated-classpath</outputFile>
281                 </configuration>
282               </execution>
283             </executions>
284           </plugin>
285         </plugins>
286       </build>
287     </profile>
288     <profile>
289       <id>eclipse-specific</id>
290       <activation>
291         <property>
292           <name>m2e.version</name>
293         </property>
294       </activation>
295       <build>
296         <pluginManagement>
297           <plugins>
298             <!--This plugin's configuration is used to store Eclipse m2e settings
299                  only. It has no influence on the Maven build itself.-->
300             <plugin>
301               <groupId>org.eclipse.m2e</groupId>
302               <artifactId>lifecycle-mapping</artifactId>
303               <configuration>
304                 <lifecycleMappingMetadata>
305                   <pluginExecutions>
306                     <pluginExecution>
307                       <pluginExecutionFilter>
308                         <groupId>org.apache.maven.plugins</groupId>
309                         <artifactId>maven-dependency-plugin</artifactId>
310                         <versionRange>[2.8,)</versionRange>
311                         <goals>
312                           <goal>build-classpath</goal>
313                         </goals>
314                       </pluginExecutionFilter>
315                       <action>
316                         <ignore/>
317                       </action>
318                     </pluginExecution>
319                   </pluginExecutions>
320                 </lifecycleMappingMetadata>
321               </configuration>
322             </plugin>
323           </plugins>
324         </pluginManagement>
325       </build>
326     </profile>
327   </profiles>
328 </project>