HBASE-23007 UnsatisfiedLinkError when using hbase-shaded packages under linux (#604)
[hbase.git] / pom.xml
blob014d31d912abca04f1404f1aafbc4483da3d7188
1 <?xml version="1.0" encoding="UTF-8"?>
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/maven-v4_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  */
23   ON MVN COMPILE NOT WORKING
25   If you wondering why 'mvn compile' does not work building HBase
26   (in particular, if you are doing it for the first time), instead do
27   'mvn package'.  If you are interested in the full story, see
28   https://issues.apache.org/jira/browse/HBASE-6795.
30 -->
31   <modelVersion>4.0.0</modelVersion>
32   <parent>
33     <groupId>org.apache</groupId>
34     <artifactId>apache</artifactId>
35     <version>21</version>
36     <relativePath/>
37     <!-- no parent resolution -->
38   </parent>
39   <groupId>org.apache.hbase</groupId>
40   <artifactId>hbase</artifactId>
41   <packaging>pom</packaging>
42   <version>3.0.0-SNAPSHOT</version>
43   <name>Apache HBase</name>
44   <description>
45     Apache HBase™ is the Hadoop database. Use it when you need
46     random, realtime read/write access to your Big Data.
47     This project's goal is the hosting of very large tables -- billions of rows X millions of columns -- atop clusters
48     of commodity hardware.
49   </description>
50   <url>https://hbase.apache.org</url>
51   <inceptionYear>2007</inceptionYear>
52   <!-- Set here so we can consistently use the correct name, even on branches with
53        an ASF parent pom older than v15. Also uses the url from v18.
54     -->
55   <licenses>
56     <license>
57       <name>Apache License, Version 2.0</name>
58       <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
59       <distribution>repo</distribution>
60     </license>
61   </licenses>
63   <modules>
64     <module>hbase-build-configuration</module>
65     <module>hbase-replication</module>
66     <module>hbase-mapreduce</module>
67     <module>hbase-resource-bundle</module>
68     <module>hbase-http</module>
69     <module>hbase-server</module>
70     <module>hbase-thrift</module>
71     <module>hbase-shell</module>
72     <module>hbase-protocol-shaded</module>
73     <module>hbase-protocol</module>
74     <module>hbase-client</module>
75     <module>hbase-hadoop-compat</module>
76     <module>hbase-common</module>
77     <module>hbase-procedure</module>
78     <module>hbase-endpoint</module>
79     <module>hbase-it</module>
80     <module>hbase-examples</module>
81     <module>hbase-assembly</module>
82     <module>hbase-testing-util</module>
83     <module>hbase-annotations</module>
84     <module>hbase-rest</module>
85     <module>hbase-checkstyle</module>
86     <module>hbase-external-blockcache</module>
87     <module>hbase-shaded</module>
88     <module>hbase-archetypes</module>
89     <module>hbase-metrics-api</module>
90     <module>hbase-metrics</module>
91     <module>hbase-backup</module>
92     <module>hbase-zookeeper</module>
93     <module>hbase-hbtop</module>
94   </modules>
95   <scm>
96     <connection>scm:git:git://gitbox.apache.org/repos/asf/hbase.git</connection>
97     <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/hbase.git</developerConnection>
98     <url>https://gitbox.apache.org/repos/asf?p=hbase.git</url>
99   </scm>
100   <issueManagement>
101     <system>JIRA</system>
102     <url>https://issues.apache.org/jira/browse/HBASE</url>
103   </issueManagement>
104   <mailingLists>
105     <mailingList>
106       <name>User List</name>
107       <subscribe>user-subscribe@hbase.apache.org</subscribe>
108       <unsubscribe>user-unsubscribe@hbase.apache.org</unsubscribe>
109       <post>user@hbase.apache.org</post>
110       <archive>https://lists.apache.org/list.html?user@hbase.apache.org</archive>
111       <otherArchives>
112         <otherArchive>https://dir.gmane.org/gmane.comp.java.hadoop.hbase.user</otherArchive>
113         <otherArchive>https://search-hadoop.com/?q=&amp;fc_project=HBase</otherArchive>
114       </otherArchives>
115     </mailingList>
116     <mailingList>
117       <name>Developer List</name>
118       <subscribe>dev-subscribe@hbase.apache.org</subscribe>
119       <unsubscribe>dev-unsubscribe@hbase.apache.org</unsubscribe>
120       <post>dev@hbase.apache.org</post>
121       <archive>https://lists.apache.org/list.html?dev@hbase.apache.org</archive>
122       <otherArchives>
123         <otherArchive>https://dir.gmane.org/gmane.comp.java.hadoop.hbase.devel</otherArchive>
124         <otherArchive>https://search-hadoop.com/?q=&amp;fc_project=HBase</otherArchive>
125       </otherArchives>
126     </mailingList>
127     <mailingList>
128       <name>Commits List</name>
129       <subscribe>commits-subscribe@hbase.apache.org</subscribe>
130       <unsubscribe>commits-unsubscribe@hbase.apache.org</unsubscribe>
131       <archive>https://lists.apache.org/list.html?commits@hbase.apache.org</archive>
132     </mailingList>
133     <mailingList>
134       <name>Issues List</name>
135       <subscribe>issues-subscribe@hbase.apache.org</subscribe>
136       <unsubscribe>issues-unsubscribe@hbase.apache.org</unsubscribe>
137       <archive>https://lists.apache.org/list.html?issues@hbase.apache.org</archive>
138     </mailingList>
139     <mailingList>
140       <name>Builds List</name>
141       <subscribe>builds-subscribe@hbase.apache.org</subscribe>
142       <unsubscribe>builds-unsubscribe@hbase.apache.org</unsubscribe>
143       <archive>https://lists.apache.org/list.html?builds@hbase.apache.org</archive>
144     </mailingList>
145   </mailingLists>
146   <developers>
147     <developer>
148       <id>achouhan</id>
149       <name>Abhishek Singh Chouhan</name>
150       <email>achouhan@apache.org</email>
151       <timezone>+5</timezone>
152     </developer>
153     <developer>
154       <id>acube123</id>
155       <name>Amitanand S. Aiyer</name>
156       <email>acube123@apache.org</email>
157       <timezone>-8</timezone>
158     </developer>
159     <developer>
160       <id>allan163</id>
161       <name>Allan Yang</name>
162       <email>allan163@apache.org</email>
163       <timezone>+8</timezone>
164     </developer>
165     <developer>
166       <id>appy</id>
167       <name>Apekshit Sharma</name>
168       <email>appy@apache.org</email>
169       <timezone>-8</timezone>
170     </developer>
171     <developer>
172       <id>anastasia</id>
173       <name>Anastasia Braginsky</name>
174       <email>anastasia@apache.org</email>
175       <timezone>+2</timezone>
176     </developer>
177     <developer>
178       <id>apurtell</id>
179       <name>Andrew Purtell</name>
180       <email>apurtell@apache.org</email>
181       <timezone>-8</timezone>
182     </developer>
183     <developer>
184       <id>anoopsamjohn</id>
185       <name>Anoop Sam John</name>
186       <email>anoopsamjohn@apache.org</email>
187       <timezone>+5</timezone>
188     </developer>
189     <developer>
190       <id>antonov</id>
191       <name>Mikhail Antonov</name>
192       <email>antonov@apache.org</email>
193       <timezone>-8</timezone>
194     </developer>
195     <developer>
196       <id>ashishsinghi</id>
197       <name>Ashish Singhi</name>
198       <email>ashishsinghi@apache.org</email>
199       <timezone>+5</timezone>
200     </developer>
201     <developer>
202       <id>ashu</id>
203       <name>Ashu Pachauri</name>
204       <email>ashu@apache.org</email>
205       <timezone>+5</timezone>
206     </developer>
207     <developer>
208       <id>binlijin</id>
209       <name>Lijin Bin</name>
210       <email>binlijin@apache.org</email>
211       <timezone>+8</timezone>
212     </developer>
213     <developer>
214       <id>brfrn169</id>
215       <name>Toshihiro Suzuki</name>
216       <email>brfrn169@apache.org</email>
217       <timezone>+9</timezone>
218     </developer>
219     <developer>
220       <id>busbey</id>
221       <name>Sean Busbey</name>
222       <email>busbey@apache.org</email>
223       <timezone>-6</timezone>
224     </developer>
225     <developer>
226       <id>chenheng</id>
227       <name>Heng Chen</name>
228       <email>chenheng@apache.org</email>
229       <timezone>+8</timezone>
230     </developer>
231     <developer>
232       <id>chia7712</id>
233       <name>Chia-Ping Tsai</name>
234       <email>chia7712@apache.org</email>
235       <timezone>+8</timezone>
236     </developer>
237     <developer>
238       <id>ddas</id>
239       <name>Devaraj Das</name>
240       <email>ddas@apache.org</email>
241       <timezone>-8</timezone>
242     </developer>
243     <developer>
244       <id>dimaspivak</id>
245       <name>Dima Spivak</name>
246       <email>dimaspivak@apache.org</email>
247       <timezone>-8</timezone>
248     </developer>
249     <developer>
250       <id>dmeil</id>
251       <name>Doug Meil</name>
252       <email>dmeil@apache.org</email>
253       <timezone>-5</timezone>
254     </developer>
255     <developer>
256       <id>eclark</id>
257       <name>Elliott Clark</name>
258       <email>eclark@apache.org</email>
259       <timezone>-8</timezone>
260     </developer>
261     <developer>
262       <id>elserj</id>
263       <name>Josh Elser</name>
264       <email>elserj@apache.org</email>
265       <timezone>-5</timezone>
266     </developer>
267     <developer>
268       <id>enis</id>
269       <name>Enis Soztutar</name>
270       <email>enis@apache.org</email>
271       <timezone>-8</timezone>
272     </developer>
273     <developer>
274       <id>eshcar</id>
275       <name>Eshcar Hillel</name>
276       <email>eshcar@apache.org</email>
277       <timezone>+2</timezone>
278     </developer>
279     <developer>
280       <id>fenghh</id>
281       <name>Honghua Feng</name>
282       <email>fenghh@apache.org</email>
283       <timezone>+8</timezone>
284     </developer>
285     <developer>
286       <id>garyh</id>
287       <name>Gary Helmling</name>
288       <email>garyh@apache.org</email>
289       <timezone>-8</timezone>
290     </developer>
291     <developer>
292       <id>gchanan</id>
293       <name>Gregory Chanan</name>
294       <email>gchanan@apache.org</email>
295       <timezone>-8</timezone>
296     </developer>
297     <developer>
298         <id>gxcheng</id>
299         <name>Guangxu Cheng</name>
300         <email>gxcheng@apache.org</email>
301         <timezone>+8</timezone>
302     </developer>
303     <developer>
304       <id>huaxiangsun</id>
305       <name>Huaxiang Sun</name>
306       <email>huaxiangsun@apache.org</email>
307       <timezone>-8</timezone>
308     </developer>
309     <developer>
310       <id>jdcryans</id>
311       <name>Jean-Daniel Cryans</name>
312       <email>jdcryans@apache.org</email>
313       <timezone>-8</timezone>
314     </developer>
315     <developer>
316       <id>jeffreyz</id>
317       <name>Jeffrey Zhong</name>
318       <email>jeffreyz@apache.org</email>
319       <timezone>-8</timezone>
320     </developer>
321     <developer>
322       <id>jerryjch</id>
323       <name>Jing Chen (Jerry) He</name>
324       <email>jerryjch@apache.org</email>
325       <timezone>-8</timezone>
326     </developer>
327     <developer>
328       <id>jyates</id>
329       <name>Jesse Yates</name>
330       <email>jyates@apache.org</email>
331       <timezone>-8</timezone>
332     </developer>
333     <developer>
334       <id>jgray</id>
335       <name>Jonathan Gray</name>
336       <email>jgray@fb.com</email>
337       <timezone>-8</timezone>
338     </developer>
339     <developer>
340       <id>jingchengdu</id>
341       <name>Jingcheng Du</name>
342       <email>jingchengdu@apache.org</email>
343       <timezone>+8</timezone>
344     </developer>
345     <developer>
346       <id>esteban</id>
347       <name>Esteban Gutierrez</name>
348       <email>esteban@apache.org</email>
349       <timezone>-8</timezone>
350     </developer>
351     <developer>
352       <id>janh</id>
353       <name>Jan Hentschel</name>
354       <email>janh@apache.org</email>
355       <timezone>+1</timezone>
356     </developer>
357     <developer>
358       <id>jmhsieh</id>
359       <name>Jonathan Hsieh</name>
360       <email>jmhsieh@apache.org</email>
361       <timezone>-8</timezone>
362     </developer>
363     <developer>
364       <id>jxiang</id>
365       <name>Jimmy Xiang</name>
366       <email>jxiang@apache.org</email>
367       <timezone>-8</timezone>
368     </developer>
369     <developer>
370       <id>kannan</id>
371       <name>Kannan Muthukkaruppan</name>
372       <email>kannan@fb.com</email>
373       <timezone>-8</timezone>
374     </developer>
375     <developer>
376       <id>karthik</id>
377       <name>Karthik Ranganathan</name>
378       <email>kranganathan@fb.com</email>
379       <timezone>-8</timezone>
380     </developer>
381     <developer>
382       <id>larsfrancke</id>
383       <name>Lars Francke</name>
384       <email>larsfrancke@apache.org</email>
385       <timezone>Europe/Berlin</timezone>
386     </developer>
387     <developer>
388       <id>larsgeorge</id>
389       <name>Lars George</name>
390       <email>larsgeorge@apache.org</email>
391       <timezone>+1</timezone>
392     </developer>
393     <developer>
394       <id>larsh</id>
395       <name>Lars Hofhansl</name>
396       <email>larsh@apache.org</email>
397       <timezone>-8</timezone>
398     </developer>
399     <developer>
400       <id>liangxie</id>
401       <name>Liang Xie</name>
402       <email>liangxie@apache.org</email>
403       <timezone>+8</timezone>
404     </developer>
405     <developer>
406       <id>liushaohui</id>
407       <name>Shaohui Liu</name>
408       <email>liushaohui@apache.org</email>
409       <timezone>+8</timezone>
410     </developer>
411     <developer>
412       <id>liyin</id>
413       <name>Liyin Tang</name>
414       <email>liyin.tang@fb.com</email>
415       <timezone>-8</timezone>
416     </developer>
417     <developer>
418       <id>liyu</id>
419       <name>Yu Li</name>
420       <email>liyu@apache.org</email>
421       <timezone>+8</timezone>
422     </developer>
423     <developer>
424       <id>mbautin</id>
425       <name>Mikhail Bautin</name>
426       <email>mbautin@apache.org</email>
427       <timezone>-8</timezone>
428     </developer>
429     <developer>
430       <id>mbertozzi</id>
431       <name>Matteo Bertozzi</name>
432       <email>mbertozzi@apache.org</email>
433       <timezone>0</timezone>
434     </developer>
435     <developer>
436       <id>mdrob</id>
437       <name>Mike Drob</name>
438       <email>mdrob@apache.org</email>
439       <timezone>-5</timezone>
440     </developer>
441     <developer>
442       <id>meszibalu</id>
443       <name>Balazs Meszaros</name>
444       <email>meszibalu@apache.org</email>
445       <timezone>+1</timezone>
446     </developer>
447     <developer>
448       <id>misty</id>
449       <name>Misty Stanley-Jones</name>
450       <email>misty@apache.org</email>
451       <timezone>-8</timezone>
452     </developer>
453     <developer>
454       <id>ndimiduk</id>
455       <name>Nick Dimiduk</name>
456       <email>ndimiduk@apache.org</email>
457       <timezone>-8</timezone>
458     </developer>
459     <developer>
460       <id>nkeywal</id>
461       <name>Nicolas Liochon</name>
462       <email>nkeywal@apache.org</email>
463       <timezone>+1</timezone>
464     </developer>
465     <developer>
466       <id>nspiegelberg</id>
467       <name>Nicolas Spiegelberg</name>
468       <email>nspiegelberg@fb.com</email>
469       <timezone>-8</timezone>
470     </developer>
471     <developer>
472       <id>octo47</id>
473       <name>Andrey Stepachev</name>
474       <email>octo47@gmail.com</email>
475       <timezone>0</timezone>
476     </developer>
477     <developer>
478       <id>openinx</id>
479       <name>Zheng Hu</name>
480       <email>openinx@apache.org</email>
481       <timezone>+8</timezone>
482     </developer>
483     <developer>
484       <id>psomogyi</id>
485       <name>Peter Somogyi</name>
486       <email>psomogyi@apache.org</email>
487       <timezone>+1</timezone>
488     </developer>
489     <developer>
490       <id>rajeshbabu</id>
491       <name>Rajeshbabu Chintaguntla</name>
492       <email>rajeshbabu@apache.org</email>
493       <timezone>+5</timezone>
494     </developer>
495     <developer>
496       <id>ramkrishna</id>
497       <name>Ramkrishna S Vasudevan</name>
498       <email>ramkrishna@apache.org</email>
499       <timezone>+5</timezone>
500     </developer>
501     <developer>
502       <id>rawson</id>
503       <name>Ryan Rawson</name>
504       <email>rawson@apache.org</email>
505       <timezone>-8</timezone>
506     </developer>
507     <developer>
508       <id>reidchan</id>
509       <name>Reid Chan</name>
510       <email>reidchan@apache.org</email>
511       <timezone>+8</timezone>
512     </developer>
513     <developer>
514       <id>sakthi</id>
515       <name>Sakthi Vel</name>
516       <email>sakthi@apache.org</email>
517       <timezone>-8</timezone>
518     </developer>
519     <developer>
520       <id>sershe</id>
521       <name>Sergey Shelukhin</name>
522       <email>sershe@apache.org</email>
523       <timezone>-8</timezone>
524     </developer>
525     <developer>
526       <id>ssrungarapu</id>
527       <name>Srikanth Srungarapu</name>
528       <email>ssrungarapu@apache.org</email>
529       <timezone>-8</timezone>
530     </developer>
531     <developer>
532       <id>stack</id>
533       <name>Michael Stack</name>
534       <email>stack@apache.org</email>
535       <timezone>-8</timezone>
536     </developer>
537     <developer>
538       <id>syuanjiang</id>
539       <name>Stephen Yuan Jiang</name>
540       <email>syuanjiang@apache.org</email>
541       <timezone>-8</timezone>
542     </developer>
543     <developer>
544       <id>taklwu</id>
545       <name>Tak-Lon (Stephen) Wu</name>
546       <email>taklwu@apache.org</email>
547       <timezone>-8</timezone>
548     </developer>          
549     <developer>
550       <id>tedyu</id>
551       <name>Ted Yu</name>
552       <email>yuzhihong@gmail.com</email>
553       <timezone>-8</timezone>
554     </developer>
555         <developer>
556           <id>tianjy</id>
557           <email>tianjy@apache.org</email>
558           <timezone>+8</timezone>
559     </developer>
560     <developer>
561       <id>todd</id>
562       <name>Todd Lipcon</name>
563       <email>todd@apache.org</email>
564       <timezone>-8</timezone>
565     </developer>
566     <developer>
567       <id>toffer</id>
568       <name>Francis Liu</name>
569       <email>toffer@apache.org</email>
570       <timezone>-8</timezone>
571     </developer>
572     <developer>
573       <id>vikasv</id>
574       <name>Vikas Vishwakarma</name>
575       <email>vikasv@apache.org</email>
576       <timezone>+5</timezone>
577     </developer>
578     <developer>
579       <id>virag</id>
580       <name>Virag Kothari</name>
581       <email>virag@yahoo-inc.com</email>
582       <timezone>-8</timezone>
583     </developer>
584     <developer>
585       <id>water</id>
586       <name>Xiang Li</name>
587       <email>xiangli@apache.org</email>
588       <timezone>+8</timezone>
589     </developer>
590     <developer>
591       <id>wchevreuil</id>
592       <name>Wellington Chevreuil</name>
593       <email>wchevreuil@apache.org</email>
594       <timezone>0</timezone>
595     </developer>
596     <developer>
597       <id>xucang</id>
598       <name>Xu Cang</name>
599       <email>xucang@apache.org</email>
600       <timezone>-8</timezone>
601     </developer>
602     <developer>
603       <id>yangzhe1991</id>
604       <name>Phil Yang</name>
605       <email>yangzhe1991@apache.org</email>
606       <timezone>+8</timezone>
607     </developer>
608     <developer>
609       <id>zghao</id>
610       <name>Guanghao Zhang</name>
611       <email>zghao@apache.org</email>
612       <timezone>+8</timezone>
613     </developer>
614     <developer>
615       <id>zhangduo</id>
616       <name>Duo Zhang</name>
617       <email>zhangduo@apache.org</email>
618       <timezone>+8</timezone>
619     </developer>
620     <developer>
621       <id>zjushch</id>
622       <name>Chunhui Shen</name>
623       <email>zjushch@apache.org</email>
624       <timezone>+8</timezone>
625     </developer>
626     <developer>
627       <id>churro</id>
628       <name>Rahul Gidwani</name>
629       <email>churro@apache.org</email>
630       <timezone>-8</timezone>
631     </developer>
632     <developer>
633       <id>yiliang</id>
634       <name>Yi Liang</name>
635       <email>yiliang@apache.org</email>
636       <timezone>-8</timezone>
637     </developer>
638     <developer>
639       <id>zyork</id>
640       <name>Zach York</name>
641       <email>zyork@apache.org</email>
642       <timezone>-8</timezone>
643     </developer>
644     <developer>
645       <id>meiyi</id>
646       <name>Yi Mei</name>
647       <email>meiyi@apache.org</email>
648       <timezone>+8</timezone>
649     </developer>
650   </developers>
651   <build>
652     <extensions>
653       <extension>
654         <groupId>kr.motd.maven</groupId>
655         <artifactId>os-maven-plugin</artifactId>
656         <version>${os.maven.version}</version>
657       </extension>
658     </extensions>
659     <!-- Plugin versions are inherited from ASF parent pom: https://maven.apache.org/pom/asf/
660          For specific version use a property and define it in the parent pom.
661      -->
662     <pluginManagement>
663       <plugins>
664         <plugin>
665           <groupId>org.apache.maven.plugins</groupId>
666           <artifactId>maven-remote-resources-plugin</artifactId>
667         </plugin>
668         <plugin>
669           <groupId>org.apache.maven.plugins</groupId>
670           <artifactId>maven-release-plugin</artifactId>
671           <configuration>
672             <!--You need this profile. It'll sign your artifacts.
673                 I'm not sure if this config. actually works though.
674                 I've been specifying -Papache-release on the command-line
675              -->
676             <releaseProfiles>apache-release</releaseProfiles>
677             <!--This stops our running tests for each stage of maven release.
678                 But it builds the test jar.  From SUREFIRE-172.
679               -->
680             <arguments>-Dmaven.test.skip.exec ${arguments}</arguments>
681             <goals>${goals}</goals>
682             <pomFileName>pom.xml</pomFileName>
683           </configuration>
684         </plugin>
685         <plugin>
686           <groupId>org.apache.maven.plugins</groupId>
687           <artifactId>maven-compiler-plugin</artifactId>
688           <version>${maven.compiler.version}</version>
689           <configuration>
690             <source>${compileSource}</source>
691             <target>${compileSource}</target>
692             <showWarnings>true</showWarnings>
693             <showDeprecation>false</showDeprecation>
694             <useIncrementalCompilation>false</useIncrementalCompilation>
695             <compilerArgument>-Xlint:-options</compilerArgument>
696           </configuration>
697         </plugin>
698         <!-- Test oriented plugins -->
699         <plugin>
700           <groupId>org.apache.maven.plugins</groupId>
701           <artifactId>maven-surefire-plugin</artifactId>
702           <version>${surefire.version}</version>
703           <dependencies>
704             <!-- by default surefire selects dynamically the connector to the unit tests
705               tool. We want to use always the same as the different connectors can have different
706               bugs and behaviour. -->
707             <dependency>
708               <groupId>org.apache.maven.surefire</groupId>
709               <artifactId>${surefire.provider}</artifactId>
710               <version>${surefire.version}</version>
711             </dependency>
712           </dependencies>
713           <!-- Generic testing configuration for all packages -->
714           <configuration>
715             <groups>${surefire.firstPartGroups}</groups>
716             <failIfNoTests>false</failIfNoTests>
717             <skip>${surefire.skipFirstPart}</skip>
718             <forkCount>${surefire.firstPartForkCount}</forkCount>
719             <reuseForks>false</reuseForks>
720             <testFailureIgnore>${surefire.testFailureIgnore}</testFailureIgnore>
721             <forkedProcessTimeoutInSeconds>${surefire.timeout}</forkedProcessTimeoutInSeconds>
722             <redirectTestOutputToFile>${test.output.tofile}</redirectTestOutputToFile>
723             <systemPropertyVariables>
724               <test.build.classes>${test.build.classes}</test.build.classes>
725             </systemPropertyVariables>
726             <excludes>
727               <!-- users can add -D option to skip particular test classes
728              ex: mvn test -Dtest.exclude.pattern=**/TestFoo.java,**/TestBar.java
729               -->
730               <exclude>${test.exclude.pattern}</exclude>
731             </excludes>
732             <properties>
733               <property>
734                 <name>listener</name>
735                 <value>org.apache.hadoop.hbase.TimedOutTestsListener,org.apache.hadoop.hbase.HBaseClassTestRuleChecker,org.apache.hadoop.hbase.ResourceCheckerJUnitListener</value>
736               </property>
737             </properties>
738           </configuration>
739           <executions>
740             <execution>
741               <id>secondPartTestsExecution</id>
742               <phase>test</phase>
743               <goals>
744                 <goal>test</goal>
745               </goals>
746               <configuration>
747                 <skip>${surefire.skipSecondPart}</skip>
748                 <testFailureIgnore>${surefire.testFailureIgnore}</testFailureIgnore>
749                 <reuseForks>false</reuseForks>
750                 <forkCount>${surefire.secondPartForkCount}</forkCount>
751                 <groups>${surefire.secondPartGroups}</groups>
752                 <forkedProcessTimeoutInSeconds>${surefire.timeout}</forkedProcessTimeoutInSeconds>
753               </configuration>
754             </execution>
755           </executions>
756         </plugin>
757         <plugin>
758           <groupId>org.apache.maven.plugins</groupId>
759           <artifactId>maven-surefire-report-plugin</artifactId>
760           <version>${surefire.version}</version>
761         </plugin>
762         <plugin>
763           <groupId>org.codehaus.mojo</groupId>
764           <artifactId>buildnumber-maven-plugin</artifactId>
765           <version>${buildnumber.maven.version}</version>
766         </plugin>
767         <plugin>
768           <groupId>org.codehaus.mojo</groupId>
769           <artifactId>findbugs-maven-plugin</artifactId>
770           <version>${findbugs.maven.version}</version>
771           <!--NOTE: Findbugs 3.0.0 requires jdk7-->
772           <configuration>
773             <excludeFilterFile>${project.basedir}/../dev-support/findbugs-exclude.xml</excludeFilterFile>
774             <findbugsXmlOutput>true</findbugsXmlOutput>
775             <xmlOutput>true</xmlOutput>
776             <effort>Max</effort>
777           </configuration>
778         </plugin>
779         <plugin>
780           <groupId>org.codehaus.mojo</groupId>
781           <artifactId>build-helper-maven-plugin</artifactId>
782           <version>${build.helper.maven.version}</version>
783         </plugin>
784         <plugin>
785           <artifactId>maven-antrun-plugin</artifactId>
786           <version>${maven.antrun.version}</version>
787         </plugin>
788         <plugin>
789           <groupId>org.jamon</groupId>
790           <artifactId>jamon-maven-plugin</artifactId>
791           <version>${jamon.plugin.version}</version>
792         </plugin>
793         <!-- Make a jar and put the sources in the jar.
794         In the parent pom, so submodules will do the right thing. -->
795         <plugin>
796           <groupId>org.apache.maven.plugins</groupId>
797           <artifactId>maven-source-plugin</artifactId>
798           <executions>
799             <execution>
800               <id>attach-sources</id>
801               <phase>prepare-package</phase>
802               <goals>
803                 <goal>jar-no-fork</goal>
804                 <goal>test-jar-no-fork</goal>
805               </goals>
806             </execution>
807           </executions>
808         </plugin>
809         <!-- General configuration for submodules who want to build a test jar -->
810         <plugin>
811           <groupId>org.apache.maven.plugins</groupId>
812           <artifactId>maven-jar-plugin</artifactId>
813           <executions>
814             <execution>
815               <phase>prepare-package</phase>
816               <goals>
817                   <!--This goal will install a -test.jar when we do install
818                       See https://maven.apache.org/guides/mini/guide-attached-tests.html
819                    -->
820                 <goal>test-jar</goal>
821               </goals>
822             </execution>
823           </executions>
824           <configuration>
825             <skipIfEmpty>true</skipIfEmpty>
826             <excludes>
827               <exclude>hbase-site.xml</exclude>
828               <exclude>hdfs-site.xml</exclude>
829               <exclude>log4j.properties</exclude>
830               <exclude>mapred-queues.xml</exclude>
831               <exclude>mapred-site.xml</exclude>
832             </excludes>
833           </configuration>
834         </plugin>
835         <plugin>
836           <!-- excludes are inherited -->
837           <groupId>org.apache.rat</groupId>
838           <artifactId>apache-rat-plugin</artifactId>
839           <version>${apache.rat.version}</version>
840           <configuration>
841             <excludes>
842               <exclude>**/*.versionsBackup</exclude>
843               <exclude>**/*.log</exclude>
844               <exclude>**/.*</exclude>
845               <exclude>**/*.tgz</exclude>
846               <exclude>**/*.orig</exclude>
847               <exclude>**/0000000000000016310</exclude>
848               <exclude>**/a6a6562b777440fd9c34885428f5cb61.21e75333ada3d5bafb34bb918f29576c</exclude>
849               <exclude>**/8e8ab58dcf39412da19833fcd8f687ac</exclude>
850               <exclude>**/.idea/**</exclude>
851               <exclude>**/*.iml</exclude>
852               <exclude>**/CHANGES.txt</exclude>
853               <exclude>**/generated/**</exclude>
854               <exclude>**/gen-*/**</exclude>
855               <!-- No material contents -->
856               <exclude>conf/regionservers</exclude>
857               <exclude>**/*.avpr</exclude>
858               <exclude>**/*.svg</exclude>
859               <!-- non-standard notice file from jruby included by reference -->
860               <exclude>**/src/main/resources/META-INF/LEGAL</exclude>
861               <!-- MIT: https://github.com/asciidoctor/asciidoctor/blob/master/LICENSE.adoc -->
862               <exclude>**/src/main/asciidoc/hbase.css</exclude>
863               <!-- MIT https://jquery.org/license -->
864               <exclude>**/jquery.min.js</exclude>
865               <exclude>**/jquery.tablesorter.min.js</exclude>
866               <!-- vector graphics -->
867               <exclude>**/*.vm</exclude>
868               <!-- apache doxia generated -->
869               <exclude>**/control</exclude>
870               <exclude>**/conffile</exclude>
871               <!-- auto-gen docs -->
872               <exclude>docs/*</exclude>
873               <exclude>logs/*</exclude>
874               <!--  exclude source control files -->
875               <exclude>.git/**</exclude>
876               <exclude>.svn/**</exclude>
877               <exclude>**/.settings/**</exclude>
878               <exclude>**/patchprocess/**</exclude>
879               <exclude>src/site/resources/repo/**</exclude>
880               <exclude>**/dependency-reduced-pom.xml</exclude>
881               <exclude>**/rat.txt</exclude>
882               <!-- exclude the shaded protobuf files -->
883               <exclude>**/shaded/com/google/protobuf/**</exclude>
884               <exclude>**/src/main/patches/**</exclude>
885               <exclude>**/vote.tmpl</exclude>
886             </excludes>
887           </configuration>
888         </plugin>
889         <plugin>
890           <artifactId>maven-assembly-plugin</artifactId>
891           <configuration>
892             <!--Defer to the hbase-assembly sub-module.  It
893              does all assembly-->
894             <skipAssembly>true</skipAssembly>
895           </configuration>
896         </plugin>
897         <plugin>
898           <groupId>org.xolstice.maven.plugins</groupId>
899           <artifactId>protobuf-maven-plugin</artifactId>
900           <version>${protobuf.plugin.version}</version>
901           <configuration>
902             <protocArtifact>com.google.protobuf:protoc:${external.protobuf.version}:exe:${os.detected.classifier}</protocArtifact>
903             <protoSourceRoot>${basedir}/src/main/protobuf/</protoSourceRoot>
904             <clearOutputDirectory>false</clearOutputDirectory>
905             <checkStaleness>true</checkStaleness>
906           </configuration>
907         </plugin>
908         <plugin>
909           <!-- Approach followed here is roughly the same as mentioned here:
910           https://maven.apache.org/plugins/maven-checkstyle-plugin/examples/multi-module-config.html
911           -->
912           <groupId>org.apache.maven.plugins</groupId>
913           <artifactId>maven-checkstyle-plugin</artifactId>
914           <version>${maven.checkstyle.version}</version>
915           <dependencies>
916             <dependency>
917               <groupId>org.apache.hbase</groupId>
918               <artifactId>hbase-checkstyle</artifactId>
919               <version>${project.version}</version>
920             </dependency>
921             <dependency>
922               <groupId>com.puppycrawl.tools</groupId>
923               <artifactId>checkstyle</artifactId>
924               <version>${checkstyle.version}</version>
925             </dependency>
926           </dependencies>
927           <configuration>
928             <configLocation>hbase/checkstyle.xml</configLocation>
929             <suppressionsLocation>hbase/checkstyle-suppressions.xml</suppressionsLocation>
930             <includeTestSourceDirectory>true</includeTestSourceDirectory>
931           </configuration>
932         </plugin>
933         <plugin>
934           <groupId>net.revelc.code</groupId>
935           <artifactId>warbucks-maven-plugin</artifactId>
936           <version>${maven.warbucks.version}</version>
937           <configuration>
938             <ignoreRuleFailures>false</ignoreRuleFailures>
939             <rules>
940               <rule>
941                 <!-- exclude the generated java files -->
942                 <classPattern>(?!.*(.generated.|.tmpl.|\$)).*</classPattern>
943                 <includeTestClasses>false</includeTestClasses>
944                 <includePublicClasses>true</includePublicClasses>
945                 <includePackagePrivateClasses>false</includePackagePrivateClasses>
946                 <includeProtectedClasses>false</includeProtectedClasses>
947                 <includePrivateClasses>false</includePrivateClasses>
948                 <classAnnotationPattern>org[.]apache[.]yetus[.]audience[.]InterfaceAudience.*</classAnnotationPattern>
949               </rule>
950             </rules>
951           </configuration>
952           <executions>
953             <execution>
954               <id>run-warbucks</id>
955               <goals>
956                 <goal>check</goal><!-- runs at process-test-classes phase -->
957               </goals>
958             </execution>
959           </executions>
960         </plugin>
961       </plugins>
962     </pluginManagement>
963     <plugins>
964       <plugin>
965         <groupId>org.codehaus.mojo</groupId>
966         <artifactId>build-helper-maven-plugin</artifactId>
967         <executions>
968           <execution>
969             <id>negate-license-bundles-property</id>
970             <goals>
971               <goal>bsh-property</goal>
972             </goals>
973             <configuration>
974               <source>skip.license.check = !${license.bundles.dependencies};</source>
975               <properties>
976                 <property>skip.license.check</property>
977               </properties>
978             </configuration>
979           </execution>
980           <!-- sets where to find the generated LICENSE files -->
981           <execution>
982             <id>create-license-file-path-property</id>
983             <goals>
984               <goal>regex-property</goal>
985             </goals>
986             <configuration>
987               <name>license.aggregate.path</name>
988               <value>${project.build.directory}/maven-shared-archive-resources/META-INF/LICENSE</value>
989               <regex>\\</regex>
990               <replacement>/</replacement>
991               <failIfNoMatch>false</failIfNoMatch>
992             </configuration>
993           </execution>
994         </executions>
995       </plugin>
996       <plugin>
997         <groupId>org.apache.maven.plugins</groupId>
998         <artifactId>maven-enforcer-plugin</artifactId>
999         <version>${enforcer.version}</version>
1000         <dependencies>
1001           <dependency>
1002             <groupId>org.codehaus.mojo</groupId>
1003             <artifactId>extra-enforcer-rules</artifactId>
1004             <version>${extra.enforcer.version}</version>
1005           </dependency>
1006           <dependency>
1007             <groupId>de.skuzzle.enforcer</groupId>
1008             <artifactId>restrict-imports-enforcer-rule</artifactId>
1009             <version>${restrict-imports.enforcer.version}</version>
1010           </dependency>
1011         </dependencies>
1012         <!-- version set by parent -->
1013         <executions>
1014           <execution>
1015             <id>hadoop-profile-min-maven-min-java-banned-xerces</id>
1016             <goals>
1017               <goal>enforce</goal>
1018             </goals>
1019             <configuration>
1020               <rules>
1021                 <!-- Help people activate profiles correctly -->
1022                 <evaluateBeanshell>
1023                   <condition>System.getProperty("hadoop-profile", "").isEmpty()</condition>
1024                   <message>The hadoop-profile property is unused, did you mean to set hadoop.profile instead?</message>
1025                 </evaluateBeanshell>
1026                 <!-- The earliest maven version we verify builds for via ASF Jenkins -->
1027                 <requireMavenVersion>
1028                   <version>[${maven.min.version},)</version>
1029                   <message>Maven is out of date.
1030   HBase requires at least version ${maven.min.version} of Maven to properly build from source.
1031   You appear to be using an older version. You can use either "mvn -version" or
1032   "mvn enforcer:display-info" to verify what version is active.
1033   See the reference guide on building for more information: https://hbase.apache.org/book.html#build
1034                   </message>
1035                 </requireMavenVersion>
1036                 <!-- The earliest JVM version we verify builds for via ASF Jenkins -->
1037                 <requireJavaVersion>
1038                   <version>[${java.min.version},)</version>
1039                   <message>Java is out of date.
1040   HBase requires at least version ${java.min.version} of the JDK to properly build from source.
1041   You appear to be using an older version. You can use either "mvn -version" or
1042   "mvn enforcer:display-info" to verify what version is active.
1043   See the reference guide on building for more information: https://hbase.apache.org/book.html#build
1044                   </message>
1045                 </requireJavaVersion>
1046                 <bannedDependencies>
1047                   <excludes>
1048                     <exclude>xerces:xercesImpl</exclude>
1049                   </excludes>
1050                   <message>We avoid adding our own Xerces jars to the classpath, see HBASE-16340.</message>
1051                 </bannedDependencies>
1052               </rules>
1053             </configuration>
1054           </execution>
1055           <execution>
1056             <id>banned-jsr305</id>
1057             <goals>
1058               <goal>enforce</goal>
1059             </goals>
1060             <configuration>
1061               <rules>
1062                 <bannedDependencies>
1063                   <excludes>
1064                     <exclude>com.google.code.findbugs:jsr305</exclude>
1065                   </excludes>
1066                   <message>We don't allow the JSR305 jar from the Findbugs project, see HBASE-16321.</message>
1067                 </bannedDependencies>
1068               </rules>
1069             </configuration>
1070           </execution>
1071           <execution>
1072             <id>banned-scala</id>
1073             <goals>
1074               <goal>enforce</goal>
1075             </goals>
1076             <configuration>
1077               <rules>
1078                 <bannedDependencies>
1079                   <excludes>
1080                     <exclude>org.scala-lang:scala-library</exclude>
1081                   </excludes>
1082                   <message>We don't allow Scala, see HBASE-13992.</message>
1083                 </bannedDependencies>
1084               </rules>
1085             </configuration>
1086           </execution>
1087           <execution>
1088             <id>check-aggregate-license</id>
1089             <!-- must check after LICENSE is built at 'generate-resources' -->
1090             <phase>process-resources</phase>
1091             <goals>
1092               <goal>enforce</goal>
1093             </goals>
1094             <configuration>
1095               <rules>
1096                 <evaluateBeanshell>
1097                   <condition>
1098                     File license = new File("${license.aggregate.path}");
1100                     // Beanshell does not support try-with-resources,
1101                     // so we must close this scanner manually
1102                     Scanner scanner = new Scanner(license);
1104                     while (scanner.hasNextLine()) {
1105                       if (scanner.nextLine().startsWith("ERROR:")) {
1106                         scanner.close();
1107                         return false;
1108                       }
1109                     }
1110                     scanner.close();
1111                     return true;
1112                   </condition>
1113                   <message>
1114                     License errors detected, for more detail find ERROR in
1115                     ${license.aggregate.path}
1116                   </message>
1117                 </evaluateBeanshell>
1118               </rules>
1119               <skip>${skip.license.check}</skip>
1120             </configuration>
1121           </execution>
1122           <execution>
1123             <id>banned-illegal-imports</id>
1124             <phase>process-sources</phase>
1125             <goals>
1126               <goal>enforce</goal>
1127             </goals>
1128             <configuration>
1129               <rules>
1130                 <restrictImports implementation="de.skuzzle.enforcer.restrictimports.rule.RestrictImports">
1131                   <includeTestCode>true</includeTestCode>
1132                   <commentLineBufferSize>512</commentLineBufferSize>
1133                   <reason>Use SLF4j for logging</reason>
1134                   <bannedImports>
1135                     <bannedImport>org.apache.commons.logging.Log</bannedImport>
1136                     <bannedImport>org.apache.commons.logging.LogFactory</bannedImport>
1137                   </bannedImports>
1138                 </restrictImports>
1139                 <restrictImports implementation="de.skuzzle.enforcer.restrictimports.rule.RestrictImports">
1140                   <includeTestCode>true</includeTestCode>
1141                   <commentLineBufferSize>512</commentLineBufferSize>
1142                   <reason>Use shaded version in hbase-thirdparty</reason>
1143                   <bannedImports>
1144                     <bannedImport>com.google.common.**</bannedImport>
1145                     <bannedImport>io.netty.**</bannedImport>
1146                     <bannedImport>org.apache.commons.cli.**</bannedImport>
1147                     <bannedImport>org.apache.commons.collections.**</bannedImport>
1148                     <bannedImport>org.apache.commons.collections4.**</bannedImport>
1149                   </bannedImports>
1150                 </restrictImports>
1151                 <restrictImports implementation="de.skuzzle.enforcer.restrictimports.rule.RestrictImports">
1152                   <includeTestCode>true</includeTestCode>
1153                   <commentLineBufferSize>512</commentLineBufferSize>
1154                   <reason>Do not use shaded classes from other dependencies</reason>
1155                   <bannedImports>
1156                     <bannedImport>org.apache.curator.shaded.**</bannedImport>
1157                     <bannedImport>org.apache.htrace.shaded.**</bannedImport>
1158                   </bannedImports>
1159                 </restrictImports>
1160                 <restrictImports implementation="de.skuzzle.enforcer.restrictimports.rule.RestrictImports">
1161                   <includeTestCode>true</includeTestCode>
1162                   <commentLineBufferSize>512</commentLineBufferSize>
1163                   <reason>Use shaded gson in hbase-thirdparty</reason>
1164                   <bannedImports>
1165                     <bannedImport>org.codehaus.jackson.**</bannedImport>
1166                   </bannedImports>
1167                 </restrictImports>
1168                 <restrictImports implementation="de.skuzzle.enforcer.restrictimports.rule.RestrictImports">
1169                   <includeTestCode>true</includeTestCode>
1170                   <commentLineBufferSize>512</commentLineBufferSize>
1171                   <reason>Use commons lang 3</reason>
1172                   <bannedImports>
1173                     <bannedImport>org.apache.commons.lang.**</bannedImport>
1174                   </bannedImports>
1175                 </restrictImports>
1176                 <restrictImports implementation="de.skuzzle.enforcer.restrictimports.rule.RestrictImports">
1177                   <includeTestCode>true</includeTestCode>
1178                   <commentLineBufferSize>512</commentLineBufferSize>
1179                   <reason>Use yetus IA and IS annotations</reason>
1180                   <bannedImports>
1181                     <bannedImport>org.apache.hadoop.classificatio.**</bannedImport>
1182                   </bannedImports>
1183                 </restrictImports>
1184                 <restrictImports implementation="de.skuzzle.enforcer.restrictimports.rule.RestrictImports">
1185                   <includeTestCode>true</includeTestCode>
1186                   <commentLineBufferSize>512</commentLineBufferSize>
1187                   <reason>Do not use htrace v3</reason>
1188                   <bannedImports>
1189                     <bannedImport>org.htrace.**</bannedImport>
1190                   </bannedImports>
1191                 </restrictImports>
1192               </rules>
1193             </configuration>
1194           </execution>
1195         </executions>
1196       </plugin>
1197       <!-- parent-module only plugins -->
1198       <plugin>
1199         <groupId>org.codehaus.mojo</groupId>
1200         <artifactId>xml-maven-plugin</artifactId>
1201         <version>${xml.maven.version}</version>
1202         <inherited>false</inherited>
1203         <executions>
1204           <execution>
1205             <!-- Run the hbase-default.xml through a stylesheet so can show it in doc-->
1206             <goals>
1207               <goal>transform</goal>
1208             </goals>
1209             <phase>site</phase>
1210           </execution>
1211         </executions>
1212         <configuration>
1213           <transformationSets>
1214             <!-- For asciidoc -->
1215             <transformationSet>
1216               <!--Reaching up and over into common sub-module for hbase-default.xml-->
1217               <dir>${basedir}/hbase-common/src/main/resources/</dir>
1218               <includes>
1219                 <include>hbase-default.xml</include>
1220               </includes>
1221               <stylesheet>${basedir}/src/main/xslt/configuration_to_asciidoc_chapter.xsl</stylesheet>
1222               <fileMappers>
1223                 <fileMapper implementation="org.codehaus.plexus.components.io.filemappers.RegExpFileMapper">
1224                   <pattern>^(.*)\.xml$</pattern>
1225                   <replacement>$1.adoc</replacement>
1226                 </fileMapper>
1227               </fileMappers>
1228               <outputDir>${basedir}/target/asciidoc</outputDir>
1229             </transformationSet>
1230           </transformationSets>
1231         </configuration>
1232       </plugin>
1233       <!-- Special configuration for findbugs just in the parent so
1234       the filter file location can be more general (see definition in pluginManagement) -->
1235       <plugin>
1236         <groupId>org.codehaus.mojo</groupId>
1237         <artifactId>findbugs-maven-plugin</artifactId>
1238         <executions>
1239           <execution>
1240             <inherited>false</inherited>
1241             <goals>
1242               <goal>findbugs</goal>
1243             </goals>
1244             <configuration>
1245               <excludeFilterFile>${basedir}/dev-support/findbugs-exclude.xml</excludeFilterFile>
1246             </configuration>
1247           </execution>
1248         </executions>
1249       </plugin>
1250       <plugin>
1251         <groupId>org.apache.maven.plugins</groupId>
1252         <artifactId>maven-checkstyle-plugin</artifactId>
1253       </plugin>
1254       <plugin>
1255         <groupId>org.apache.maven.plugins</groupId>
1256         <artifactId>maven-site-plugin</artifactId>
1257         <dependencies>
1258           <dependency>
1259             <!-- add support for ssh/scp -->
1260             <groupId>org.apache.maven.wagon</groupId>
1261             <artifactId>wagon-ssh</artifactId>
1262             <version>${wagon.ssh.version}</version>
1263           </dependency>
1264         </dependencies>
1265         <configuration>
1266           <siteDirectory>${basedir}/src/site</siteDirectory>
1267           <customBundle>${basedir}/src/site/custom/project-info-report.properties</customBundle>
1268           <inputEncoding>UTF-8</inputEncoding>
1269           <outputEncoding>UTF-8</outputEncoding>
1270         </configuration>
1271       </plugin>
1272       <!-- For AsciiDoc docs building -->
1273       <plugin>
1274         <groupId>org.asciidoctor</groupId>
1275         <artifactId>asciidoctor-maven-plugin</artifactId>
1276         <version>${asciidoctor.plugin.version}</version>
1277         <inherited>false</inherited>
1278         <dependencies>
1279           <dependency>
1280             <groupId>org.asciidoctor</groupId>
1281             <artifactId>asciidoctorj-pdf</artifactId>
1282             <version>${asciidoctorj.pdf.version}</version>
1283           </dependency>
1284           <dependency>
1285             <groupId>org.jruby</groupId>
1286             <artifactId>jruby-complete</artifactId>
1287             <version>${jruby.version}</version>
1288           </dependency>
1289         </dependencies>
1290         <configuration>
1291           <outputDirectory>${project.reporting.outputDirectory}/</outputDirectory>
1292           <doctype>book</doctype>
1293           <imagesDir>images</imagesDir>
1294           <sourceHighlighter>coderay</sourceHighlighter>
1295           <attributes>
1296             <docVersion>${project.version}</docVersion>
1297           </attributes>
1298         </configuration>
1299         <executions>
1300           <execution>
1301             <id>output-html</id>
1302             <phase>site</phase>
1303             <goals>
1304               <goal>process-asciidoc</goal>
1305             </goals>
1306             <configuration>
1307               <attributes>
1308                 <stylesheet>hbase.css</stylesheet>
1309               </attributes>
1310               <backend>html5</backend>
1311             </configuration>
1312           </execution>
1313           <execution>
1314             <id>output-pdf</id>
1315             <phase>site</phase>
1316             <goals>
1317               <goal>process-asciidoc</goal>
1318             </goals>
1319             <configuration>
1320               <backend>pdf</backend>
1321               <attributes>
1322                 <pagenums/>
1323                 <toc/>
1324                 <idprefix/>
1325                 <idseparator>-</idseparator>
1326               </attributes>
1327             </configuration>
1328           </execution>
1329         </executions>
1330       </plugin>
1331       <plugin>
1332         <groupId>org.apache.maven.plugins</groupId>
1333         <artifactId>maven-resources-plugin</artifactId>
1334         <!--$NO-MVN-MAN-VER$ -->
1335         <inherited>false</inherited>
1336         <executions>
1337           <execution>
1338             <id>copy-htaccess</id>
1339             <goals>
1340               <goal>copy-resources</goal>
1341             </goals>
1342             <phase>site</phase>
1343             <configuration>
1344               <outputDirectory>${project.reporting.outputDirectory}/</outputDirectory>
1345               <resources>
1346                 <resource>
1347                   <directory>${basedir}/src/site/resources/</directory>
1348                   <includes>
1349                     <include>.htaccess</include>
1350                   </includes>
1351                 </resource>
1352               </resources>
1353             </configuration>
1354           </execution>
1355           <!-- needed to make the redirect above work -->
1356           <execution>
1357             <id>copy-empty-book-dir</id>
1358             <goals>
1359               <goal>copy-resources</goal>
1360             </goals>
1361             <phase>site</phase>
1362             <configuration>
1363               <outputDirectory>${project.reporting.outputDirectory}/</outputDirectory>
1364               <resources>
1365                 <resource>
1366                   <directory>${basedir}/src/site/resources/</directory>
1367                   <includes>
1368                     <include>book/**</include>
1369                   </includes>
1370                 </resource>
1371               </resources>
1372             </configuration>
1373           </execution>
1374         </executions>
1375         <configuration>
1376           <escapeString>\</escapeString>
1377         </configuration>
1378       </plugin>
1379       <plugin>
1380         <groupId>org.apache.maven.plugins</groupId>
1381         <artifactId>maven-antrun-plugin</artifactId>
1382         <version>${maven.antrun.version}</version>
1383         <inherited>false</inherited>
1384         <!-- Rename the book.pdf generated by asciidoctor -->
1385         <executions>
1386           <execution>
1387             <id>rename-pdf</id>
1388             <phase>site</phase>
1389             <configuration>
1390               <target name="rename file">
1391                 <move file="${project.reporting.outputDirectory}/book.pdf" tofile="${project.reporting.outputDirectory}/apache_hbase_reference_guide.pdf" />
1392               </target>
1393             </configuration>
1394             <goals>
1395               <goal>run</goal>
1396             </goals>
1397           </execution>
1398         </executions>
1399       </plugin>
1400       <plugin>
1401         <groupId>org.codehaus.mojo</groupId>
1402         <artifactId>buildnumber-maven-plugin</artifactId>
1403         <executions>
1404           <execution>
1405             <phase>validate</phase>
1406             <goals>
1407               <goal>create-timestamp</goal>
1408             </goals>
1409           </execution>
1410         </executions>
1411         <configuration>
1412           <timestampFormat>yyyy</timestampFormat>
1413           <timestampPropertyName>build.year</timestampPropertyName>
1414         </configuration>
1415       </plugin>
1416       <plugin>
1417         <groupId>org.apache.felix</groupId>
1418         <artifactId>maven-bundle-plugin</artifactId>
1419         <version>${maven.bundle.version}</version>
1420         <inherited>true</inherited>
1421         <extensions>true</extensions>
1422       </plugin>
1423     </plugins>
1424   </build>
1425   <properties>
1426     <!-- override on command line to have generated LICENSE files include
1427          diagnostic info for verifying notice requirements -->
1428     <license.debug.print.included>false</license.debug.print.included>
1429     <!-- When a particular module bundles its depenendencies, should be true -->
1430     <license.bundles.dependencies>false</license.bundles.dependencies>
1431     <!-- modules that include a the logo in their source tree should set true -->
1432     <license.bundles.logo>false</license.bundles.logo>
1433     <!-- modules that include bootstrap in their source tree should set true -->
1434     <license.bundles.bootstrap>false</license.bundles.bootstrap>
1435     <!-- modules that include jquery in their source tree should set true -->
1436     <license.bundles.jquery>false</license.bundles.jquery>
1437     <tar.name>${project.build.finalName}.tar.gz</tar.name>
1438     <maven.build.timestamp.format>
1439       yyyy-MM-dd'T'HH:mm
1440     </maven.build.timestamp.format>
1441     <buildDate>${maven.build.timestamp}</buildDate>
1442     <compileSource>1.8</compileSource>
1443     <!-- Build dependencies -->
1444     <maven.min.version>3.0.4</maven.min.version>
1445     <java.min.version>${compileSource}</java.min.version>
1446     <!-- Dependencies -->
1447     <hadoop-two.version>2.8.5</hadoop-two.version>
1448     <hadoop-three.version>3.1.2</hadoop-three.version>
1449     <!-- These must be defined here for downstream build tools that don't look at profiles.
1450          They ought to match the values found in our default hadoop profile, which is
1451          currently "hadoop-2.0". See HBASE-15925 for more info. -->
1452     <hadoop.version>${hadoop-two.version}</hadoop.version>
1453     <hadoop.guava.version>11.0.2</hadoop.guava.version>
1454     <compat.module>hbase-hadoop2-compat</compat.module>
1455     <assembly.file>src/main/assembly/hadoop-two-compat.xml</assembly.file>
1456     <!--This property is for hadoops netty. HBase netty
1457          comes in via hbase-thirdparty hbase-shaded-netty-->
1458     <netty.hadoop.version>3.6.2.Final</netty.hadoop.version>
1459     <!-- end HBASE-15925 default hadoop compatibility values -->
1460     <audience-annotations.version>0.5.0</audience-annotations.version>
1461     <avro.version>1.7.7</avro.version>
1462     <caffeine.version>2.6.2</caffeine.version>
1463     <commons-codec.version>1.10</commons-codec.version>
1464     <commons-validator.version>1.6</commons-validator.version>
1465     <!-- pretty outdated -->
1466     <commons-io.version>2.5</commons-io.version>
1467     <commons-lang3.version>3.9</commons-lang3.version>
1468     <commons-math.version>3.6.1</commons-math.version>
1469     <disruptor.version>3.3.6</disruptor.version>
1470     <httpclient.version>4.5.3</httpclient.version>
1471     <httpcore.version>4.4.6</httpcore.version>
1472     <metrics-core.version>3.2.6</metrics-core.version>
1473     <jackson.version>2.9.9</jackson.version>
1474     <jackson.databind.version>2.9.9.2</jackson.databind.version>
1475     <jaxb-api.version>2.2.12</jaxb-api.version>
1476     <jetty.version>9.3.27.v20190418</jetty.version>
1477     <servlet.api.version>3.1.0</servlet.api.version>
1478     <wx.rs.api.version>2.0.1</wx.rs.api.version>
1479     <!-- Jersey 2.26 requires jetty 9.4 which breaks hadoop. Tread lightly. -->
1480     <jersey.version>2.25.1</jersey.version>
1481     <glassfish.jsp.version>2.3.2</glassfish.jsp.version>
1482     <glassfish.el.version>3.0.1-b08</glassfish.el.version>
1483     <jruby.version>9.1.17.0</jruby.version>
1484     <junit.version>4.12</junit.version>
1485     <hamcrest.version>1.3</hamcrest.version>
1486     <htrace.version>4.2.0-incubating</htrace.version>
1487     <log4j.version>1.2.17</log4j.version>
1488     <mockito-core.version>2.1.0</mockito-core.version>
1489     <!--Internally we use a different version of protobuf. See hbase-protocol-shaded-->
1490     <external.protobuf.version>2.5.0</external.protobuf.version>
1491     <protobuf.plugin.version>0.5.0</protobuf.plugin.version>
1492     <thrift.path>thrift</thrift.path>
1493     <thrift.version>0.12.0</thrift.version>
1494     <zookeeper.version>3.4.10</zookeeper.version>
1495     <!-- What ZooKeeper 3.4.x depends on and nothing more -->
1496     <jline.version>0.9.94</jline.version>
1497     <slf4j.version>1.7.25</slf4j.version>
1498     <clover.version>4.0.3</clover.version>
1499     <jamon-runtime.version>2.4.1</jamon-runtime.version>
1500     <jettison.version>1.3.8</jettison.version>
1501     <!--Make sure these joni/jcodings are compatible with the versions used by jruby-->
1502     <joni.version>2.1.11</joni.version>
1503     <jcodings.version>1.0.18</jcodings.version>
1504     <spy.version>2.12.2</spy.version>
1505     <bouncycastle.version>1.60</bouncycastle.version>
1506     <kerby.version>1.0.1</kerby.version>
1507     <commons-crypto.version>1.0.0</commons-crypto.version>
1508     <curator.version>4.0.0</curator.version>
1509     <!-- Plugin Dependencies -->
1510     <apache.rat.version>0.12</apache.rat.version>
1511     <asciidoctor.plugin.version>1.5.5</asciidoctor.plugin.version>
1512     <asciidoctorj.pdf.version>1.5.0-alpha.15</asciidoctorj.pdf.version>
1513     <build.helper.maven.version>3.0.0</build.helper.maven.version>
1514     <buildnumber.maven.version>1.4</buildnumber.maven.version>
1515     <checkstyle.version>8.11</checkstyle.version>
1516     <exec.maven.version>1.6.0</exec.maven.version>
1517     <error-prone.version>2.3.3</error-prone.version>
1518     <findbugs-annotations>1.3.9-1</findbugs-annotations>
1519     <findbugs.maven.version>3.0.4</findbugs.maven.version>
1520     <jamon.plugin.version>2.4.2</jamon.plugin.version>
1521     <lifecycle.mapping.version>1.0.0</lifecycle.mapping.version>
1522     <maven.antrun.version>1.8</maven.antrun.version>
1523     <maven.bundle.version>3.3.0</maven.bundle.version>
1524     <maven.checkstyle.version>3.0.0</maven.checkstyle.version>
1525     <maven.compiler.version>3.8.0</maven.compiler.version>
1526     <maven.eclipse.version>2.10</maven.eclipse.version>
1527     <maven.warbucks.version>1.1.0</maven.warbucks.version>
1528     <maven.project.info.report.version>2.9</maven.project.info.report.version>
1529     <os.maven.version>1.5.0.Final</os.maven.version>
1530     <spotbugs.version>3.1.11</spotbugs.version>
1531     <surefire.version>2.22.2</surefire.version>
1532     <wagon.ssh.version>2.12</wagon.ssh.version>
1533     <xml.maven.version>1.0.1</xml.maven.version>
1534     <hbase-thirdparty.version>2.2.1</hbase-thirdparty.version>
1535     <!-- Intraproject jar naming properties -->
1536     <!-- TODO this is pretty ugly, but works for the moment.
1537       Modules are pretty heavy-weight things, so doing this work isn't too bad. -->
1538     <server.test.jar>hbase-server-${project.version}-tests.jar</server.test.jar>
1539     <common.test.jar>hbase-common-${project.version}-tests.jar</common.test.jar>
1540     <procedure.test.jar>hbase-procedure-${project.version}-tests.jar</procedure.test.jar>
1541     <it.test.jar>hbase-it-${project.version}-tests.jar</it.test.jar>
1542     <annotations.test.jar>hbase-annotations-${project.version}-tests.jar</annotations.test.jar>
1543     <rsgroup.test.jar>hbase-rsgroup-${project.version}-tests.jar</rsgroup.test.jar>
1544     <mapreduce.test.jar>hbase-mapreduce-${project.version}-tests.jar</mapreduce.test.jar>
1545     <zookeeper.test.jar>hbase-zookeeper-${project.version}-tests.jar</zookeeper.test.jar>
1546     <shell-executable>bash</shell-executable>
1547     <surefire.provider>surefire-junit47</surefire.provider>
1548     <!-- default: run small & medium, medium with 2 threads -->
1549     <surefire.skipFirstPart>false</surefire.skipFirstPart>
1550     <surefire.skipSecondPart>false</surefire.skipSecondPart>
1551     <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
1552     <surefire.secondPartForkCount>2</surefire.secondPartForkCount>
1553     <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.SmallTests</surefire.firstPartGroups>
1554     <surefire.secondPartGroups>org.apache.hadoop.hbase.testclassification.MediumTests</surefire.secondPartGroups>
1555     <surefire.testFailureIgnore>false</surefire.testFailureIgnore>
1556     <test.output.tofile>true</test.output.tofile>
1557     <surefire.timeout>900</surefire.timeout>
1558     <test.exclude.pattern></test.exclude.pattern>
1559     <!-- default Xmx value is 2800m. Use -Dsurefire.Xmx=xxg to run tests with different JVM Xmx value -->
1560     <surefire.Xmx>2800m</surefire.Xmx>
1561     <surefire.cygwinXmx>2800m</surefire.cygwinXmx>
1562     <!--Mark our test runs with '-Dhbase.build.id' so we can identify a surefire test as ours in a process listing
1563      -->
1564     <hbase-surefire.argLine>-enableassertions -Dhbase.build.id=${build.id} -Xmx${surefire.Xmx}
1565       -Djava.security.egd=file:/dev/./urandom -Djava.net.preferIPv4Stack=true
1566       -Djava.awt.headless=true -Djdk.net.URLClassPath.disableClassPathURLCheck=true
1567       -Dorg.apache.hbase.thirdparty.io.netty.leakDetection.level=paranoid
1568     </hbase-surefire.argLine>
1569     <hbase-surefire.cygwin-argLine>-enableassertions -Xmx${surefire.cygwinXmx}
1570       -Djava.security.egd=file:/dev/./urandom -Djava.net.preferIPv4Stack=true
1571       "-Djava.library.path=${hadoop.library.path};${java.library.path}"
1572       -Dorg.apache.hbase.thirdparty.io.netty.leakDetection.level=paranoid
1573     </hbase-surefire.cygwin-argLine>
1574     <!-- Surefire argLine defaults to Linux, cygwin argLine is used in the os.windows profile -->
1575     <argLine>${hbase-surefire.argLine}</argLine>
1576     <jacoco.version>0.7.5.201505241946</jacoco.version>
1577     <extra.enforcer.version>1.0-beta-9</extra.enforcer.version>
1578     <enforcer.version>3.0.0-M2</enforcer.version>
1579     <restrict-imports.enforcer.version>0.14.0</restrict-imports.enforcer.version>
1580     <!-- Location of test resources -->
1581     <test.build.classes>${project.build.directory}/test-classes</test.build.classes>
1582     <maven.build.timestamp.format>yyyy-MM-dd'T'HH:mm:ss'Z'</maven.build.timestamp.format>
1583     <!--This build.id we'll add as flag so can identify which forked processes belong to our build.
1584         Default is the build start timestamp. Up on jenkins pass in the jenkins build id by setting
1585         this parameter by invoking mvn with -Dbuild.id=$BUILD_ID-->
1586     <build.id>${maven.build.timestamp}</build.id>
1587     <shell-executable>bash</shell-executable>
1588     <!-- TODO HBASE-15041 clean up our javadocs so jdk8 linter can be used.
1589          property as of javadoc-plugin 3.0.0 -->
1590     <doclint>none</doclint>
1591   </properties>
1592   <!-- Sorted by groups of dependencies then groupId and artifactId -->
1593   <dependencyManagement>
1594     <dependencies>
1595       <!--
1596       Note: There are a few exclusions to prevent duplicate code in different jars to be included:
1597           org.mortbay.jetty:servlet-api, javax.servlet:servlet-api: These are excluded because they are
1598           the same implementations. I chose org.mortbay.jetty:servlet-api-2.5 instead, which is a third
1599           implementation of the same, because Hadoop also uses this version
1600           javax.servlet:jsp-api in favour of javax.servlet.jsp:javax.servlet.jsp-api:2.3.1 since it
1601           is what glassfish's jspC jar uses and that's where we get our own need for a jsp-api.
1602         -->
1603       <!-- Intra-module dependencies -->
1604       <dependency>
1605         <groupId>org.apache.hbase</groupId>
1606         <artifactId>hbase-annotations</artifactId>
1607         <version>${project.version}</version>
1608         <type>test-jar</type>
1609         <!--Was test scope only but if we want to run hbase-it tests, need the annotations test jar-->
1610       </dependency>
1611       <dependency>
1612         <artifactId>hbase-backup</artifactId>
1613         <groupId>org.apache.hbase</groupId>
1614         <version>${project.version}</version>
1615       </dependency>
1616       <dependency>
1617         <groupId>org.apache.hbase</groupId>
1618         <artifactId>hbase-common</artifactId>
1619         <version>${project.version}</version>
1620       </dependency>
1621       <dependency>
1622         <groupId>org.apache.hbase</groupId>
1623         <artifactId>hbase-common</artifactId>
1624         <version>${project.version}</version>
1625         <type>test-jar</type>
1626         <scope>test</scope>
1627       </dependency>
1628       <dependency>
1629         <groupId>org.apache.hbase</groupId>
1630         <artifactId>hbase-protocol-shaded</artifactId>
1631         <version>${project.version}</version>
1632       </dependency>
1633       <dependency>
1634         <groupId>org.apache.hbase</groupId>
1635         <artifactId>hbase-protocol</artifactId>
1636         <version>${project.version}</version>
1637       </dependency>
1638       <dependency>
1639         <groupId>org.apache.hbase</groupId>
1640         <artifactId>hbase-procedure</artifactId>
1641         <version>${project.version}</version>
1642       </dependency>
1643       <dependency>
1644         <groupId>org.apache.hbase</groupId>
1645         <artifactId>hbase-procedure</artifactId>
1646         <version>${project.version}</version>
1647         <type>test-jar</type>
1648       </dependency>
1649       <dependency>
1650         <groupId>org.apache.hbase</groupId>
1651         <artifactId>hbase-hadoop-compat</artifactId>
1652         <version>${project.version}</version>
1653       </dependency>
1654       <dependency>
1655         <groupId>org.apache.hbase</groupId>
1656         <artifactId>hbase-hadoop-compat</artifactId>
1657         <version>${project.version}</version>
1658         <type>test-jar</type>
1659         <scope>test</scope>
1660       </dependency>
1661       <dependency>
1662         <groupId>org.apache.hbase</groupId>
1663         <artifactId>${compat.module}</artifactId>
1664         <version>${project.version}</version>
1665       </dependency>
1666       <dependency>
1667         <groupId>org.apache.hbase</groupId>
1668         <artifactId>${compat.module}</artifactId>
1669         <version>${project.version}</version>
1670         <type>test-jar</type>
1671         <scope>test</scope>
1672       </dependency>
1673       <dependency>
1674         <artifactId>hbase-rsgroup</artifactId>
1675         <groupId>org.apache.hbase</groupId>
1676         <version>${project.version}</version>
1677       </dependency>
1678       <dependency>
1679         <artifactId>hbase-rsgroup</artifactId>
1680         <groupId>org.apache.hbase</groupId>
1681         <version>${project.version}</version>
1682         <type>test-jar</type>
1683         <scope>test</scope>
1684       </dependency>
1685       <dependency>
1686         <artifactId>hbase-replication</artifactId>
1687         <groupId>org.apache.hbase</groupId>
1688         <version>${project.version}</version>
1689       </dependency>
1690       <dependency>
1691         <artifactId>hbase-http</artifactId>
1692         <groupId>org.apache.hbase</groupId>
1693         <version>${project.version}</version>
1694       </dependency>
1695       <dependency>
1696         <artifactId>hbase-http</artifactId>
1697         <groupId>org.apache.hbase</groupId>
1698         <version>${project.version}</version>
1699         <type>test-jar</type>
1700         <scope>test</scope>
1701       </dependency>
1702       <dependency>
1703         <artifactId>hbase-server</artifactId>
1704         <groupId>org.apache.hbase</groupId>
1705         <version>${project.version}</version>
1706       </dependency>
1707       <dependency>
1708         <artifactId>hbase-server</artifactId>
1709         <groupId>org.apache.hbase</groupId>
1710         <version>${project.version}</version>
1711         <type>test-jar</type>
1712         <scope>test</scope>
1713       </dependency>
1714       <dependency>
1715         <artifactId>hbase-mapreduce</artifactId>
1716         <groupId>org.apache.hbase</groupId>
1717         <version>${project.version}</version>
1718       </dependency>
1719       <dependency>
1720         <artifactId>hbase-mapreduce</artifactId>
1721         <groupId>org.apache.hbase</groupId>
1722         <version>${project.version}</version>
1723         <type>test-jar</type>
1724         <scope>test</scope>
1725       </dependency>
1726       <dependency>
1727         <artifactId>hbase-endpoint</artifactId>
1728         <groupId>org.apache.hbase</groupId>
1729         <version>${project.version}</version>
1730       </dependency>
1731       <dependency>
1732         <artifactId>hbase-shell</artifactId>
1733         <groupId>org.apache.hbase</groupId>
1734         <version>${project.version}</version>
1735       </dependency>
1736       <dependency>
1737         <artifactId>hbase-shell</artifactId>
1738         <groupId>org.apache.hbase</groupId>
1739         <version>${project.version}</version>
1740         <type>test-jar</type>
1741         <scope>test</scope>
1742       </dependency>
1743       <dependency>
1744         <artifactId>hbase-thrift</artifactId>
1745         <groupId>org.apache.hbase</groupId>
1746         <version>${project.version}</version>
1747       </dependency>
1748       <dependency>
1749         <artifactId>hbase-thrift</artifactId>
1750         <groupId>org.apache.hbase</groupId>
1751         <version>${project.version}</version>
1752         <type>test-jar</type>
1753         <scope>test</scope>
1754       </dependency>
1755       <dependency>
1756         <groupId>org.apache.hbase</groupId>
1757         <artifactId>hbase-testing-util</artifactId>
1758         <version>${project.version}</version>
1759         <scope>test</scope>
1760       </dependency>
1761       <dependency>
1762         <artifactId>hbase-examples</artifactId>
1763         <groupId>org.apache.hbase</groupId>
1764         <version>${project.version}</version>
1765       </dependency>
1766       <dependency>
1767         <groupId>org.apache.hbase</groupId>
1768         <artifactId>hbase-external-blockcache</artifactId>
1769         <version>${project.version}</version>
1770       </dependency>
1771       <dependency>
1772         <artifactId>hbase-it</artifactId>
1773         <groupId>org.apache.hbase</groupId>
1774         <version>${project.version}</version>
1775         <type>test-jar</type>
1776         <scope>test</scope>
1777       </dependency>
1778       <dependency>
1779         <artifactId>hbase-client</artifactId>
1780         <groupId>org.apache.hbase</groupId>
1781         <version>${project.version}</version>
1782       </dependency>
1783       <dependency>
1784         <artifactId>hbase-metrics-api</artifactId>
1785         <groupId>org.apache.hbase</groupId>
1786         <version>${project.version}</version>
1787       </dependency>
1788       <dependency>
1789         <artifactId>hbase-metrics-api</artifactId>
1790         <groupId>org.apache.hbase</groupId>
1791         <version>${project.version}</version>
1792         <type>test-jar</type>
1793         <scope>test</scope>
1794       </dependency>
1795       <dependency>
1796         <artifactId>hbase-metrics</artifactId>
1797         <groupId>org.apache.hbase</groupId>
1798         <version>${project.version}</version>
1799       </dependency>
1800       <dependency>
1801         <artifactId>hbase-metrics</artifactId>
1802         <groupId>org.apache.hbase</groupId>
1803         <version>${project.version}</version>
1804         <type>test-jar</type>
1805         <scope>test</scope>
1806       </dependency>
1807       <dependency>
1808         <artifactId>hbase-rest</artifactId>
1809         <groupId>org.apache.hbase</groupId>
1810         <version>${project.version}</version>
1811       </dependency>
1812       <dependency>
1813         <artifactId>hbase-resource-bundle</artifactId>
1814         <groupId>org.apache.hbase</groupId>
1815         <version>${project.version}</version>
1816       </dependency>
1817       <dependency>
1818         <artifactId>hbase-zookeeper</artifactId>
1819         <groupId>org.apache.hbase</groupId>
1820         <version>${project.version}</version>
1821       </dependency>
1822       <dependency>
1823         <artifactId>hbase-zookeeper</artifactId>
1824         <groupId>org.apache.hbase</groupId>
1825         <version>${project.version}</version>
1826         <type>test-jar</type>
1827         <scope>test</scope>
1828       </dependency>
1829       <dependency>
1830         <artifactId>hbase-hbtop</artifactId>
1831         <groupId>org.apache.hbase</groupId>
1832         <version>${project.version}</version>
1833       </dependency>
1834       <dependency>
1835         <groupId>org.apache.hbase</groupId>
1836         <artifactId>hbase-shaded-client</artifactId>
1837         <version>${project.version}</version>
1838       </dependency>
1839       <dependency>
1840         <groupId>org.apache.hbase</groupId>
1841         <artifactId>hbase-shaded-client-byo-hadoop</artifactId>
1842         <version>${project.version}</version>
1843       </dependency>
1844       <dependency>
1845         <groupId>org.apache.hbase</groupId>
1846         <artifactId>hbase-shaded-mapreduce</artifactId>
1847         <version>${project.version}</version>
1848       </dependency>
1849       <!-- General dependencies -->
1850       <dependency>
1851         <groupId>com.github.stephenc.findbugs</groupId>
1852         <artifactId>findbugs-annotations</artifactId>
1853         <version>${findbugs-annotations}</version>
1854       </dependency>
1855       <!-- General dependencies -->
1856       <dependency>
1857         <groupId>org.codehaus.jettison</groupId>
1858         <artifactId>jettison</artifactId>
1859         <version>${jettison.version}</version>
1860       </dependency>
1861       <dependency>
1862         <groupId>org.slf4j</groupId>
1863         <artifactId>slf4j-log4j12</artifactId>
1864         <version>${slf4j.version}</version>
1865       </dependency>
1866       <dependency>
1867         <groupId>log4j</groupId>
1868         <artifactId>log4j</artifactId>
1869         <version>${log4j.version}</version>
1870       </dependency>
1871       <!-- Avro dependencies we mostly get transitively, manual version coallescing -->
1872       <dependency>
1873         <groupId>org.apache.avro</groupId>
1874         <artifactId>avro</artifactId>
1875         <version>${avro.version}</version>
1876       </dependency>
1877       <!--This is not used by hbase directly.  Used by thrift,
1878           dropwizard and zk.-->
1879       <dependency>
1880         <groupId>org.slf4j</groupId>
1881         <artifactId>slf4j-api</artifactId>
1882         <version>${slf4j.version}</version>
1883       </dependency>
1884       <dependency>
1885         <groupId>com.github.ben-manes.caffeine</groupId>
1886         <artifactId>caffeine</artifactId>
1887         <version>${caffeine.version}</version>
1888       </dependency>
1889       <dependency>
1890         <groupId>io.dropwizard.metrics</groupId>
1891         <artifactId>metrics-core</artifactId>
1892         <version>${metrics-core.version}</version>
1893       </dependency>
1894       <dependency>
1895         <groupId>org.apache.httpcomponents</groupId>
1896         <artifactId>httpclient</artifactId>
1897         <version>${httpclient.version}</version>
1898       </dependency>
1899       <dependency>
1900         <groupId>org.apache.httpcomponents</groupId>
1901         <artifactId>httpcore</artifactId>
1902         <version>${httpcore.version}</version>
1903       </dependency>
1904       <dependency>
1905         <groupId>commons-codec</groupId>
1906         <artifactId>commons-codec</artifactId>
1907         <version>${commons-codec.version}</version>
1908       </dependency>
1909       <dependency>
1910         <groupId>commons-validator</groupId>
1911         <artifactId>commons-validator</artifactId>
1912         <version>${commons-validator.version}</version>
1913       </dependency>
1914       <dependency>
1915         <groupId>commons-io</groupId>
1916         <artifactId>commons-io</artifactId>
1917         <version>${commons-io.version}</version>
1918       </dependency>
1919       <dependency>
1920         <groupId>org.apache.commons</groupId>
1921         <artifactId>commons-lang3</artifactId>
1922         <version>${commons-lang3.version}</version>
1923       </dependency>
1924       <dependency>
1925         <groupId>org.apache.commons</groupId>
1926         <artifactId>commons-math3</artifactId>
1927         <version>${commons-math.version}</version>
1928       </dependency>
1929       <dependency>
1930         <!-- commons-logging is only used by hbase-http's HttpRequestLog and hbase-server's
1931              HBaseTestingUtil.
1932           -->
1933         <groupId>commons-logging</groupId>
1934         <artifactId>commons-logging</artifactId>
1935         <version>1.2</version>
1936       </dependency>
1937       <dependency>
1938         <groupId>org.apache.zookeeper</groupId>
1939         <artifactId>zookeeper</artifactId>
1940         <version>${zookeeper.version}</version>
1941         <exclusions>
1942           <exclusion>
1943             <groupId>jline</groupId>
1944             <artifactId>jline</artifactId>
1945           </exclusion>
1946           <exclusion>
1947             <groupId>com.sun.jmx</groupId>
1948             <artifactId>jmxri</artifactId>
1949           </exclusion>
1950           <exclusion>
1951             <groupId>com.sun.jdmk</groupId>
1952             <artifactId>jmxtools</artifactId>
1953           </exclusion>
1954           <exclusion>
1955             <groupId>javax.jms</groupId>
1956             <artifactId>jms</artifactId>
1957           </exclusion>
1958           <exclusion>
1959             <groupId>io.netty</groupId>
1960             <artifactId>netty</artifactId>
1961           </exclusion>
1962         </exclusions>
1963       </dependency>
1964       <dependency>
1965         <groupId>jline</groupId>
1966         <artifactId>jline</artifactId>
1967         <version>${jline.version}</version>
1968       </dependency>
1969       <dependency>
1970         <groupId>org.apache.thrift</groupId>
1971         <artifactId>libthrift</artifactId>
1972         <version>${thrift.version}</version>
1973         <exclusions>
1974           <exclusion>
1975             <groupId>org.slf4j</groupId>
1976             <artifactId>slf4j-simple</artifactId>
1977           </exclusion>
1978         </exclusions>
1979       </dependency>
1980       <dependency>
1981         <groupId>org.jruby</groupId>
1982         <artifactId>jruby-complete</artifactId>
1983         <version>${jruby.version}</version>
1984       </dependency>
1985       <dependency>
1986         <groupId>org.jruby.jcodings</groupId>
1987         <artifactId>jcodings</artifactId>
1988         <version>${jcodings.version}</version>
1989       </dependency>
1990       <dependency>
1991         <groupId>org.jruby.joni</groupId>
1992         <artifactId>joni</artifactId>
1993         <version>${joni.version}</version>
1994       </dependency>
1995       <dependency>
1996         <groupId>com.fasterxml.jackson.jaxrs</groupId>
1997         <artifactId>jackson-jaxrs-json-provider</artifactId>
1998         <version>${jackson.version}</version>
1999       </dependency>
2000       <dependency>
2001         <groupId>com.fasterxml.jackson.core</groupId>
2002         <artifactId>jackson-annotations</artifactId>
2003         <version>${jackson.version}</version>
2004       </dependency>
2005       <dependency>
2006         <groupId>com.fasterxml.jackson.core</groupId>
2007         <artifactId>jackson-core</artifactId>
2008         <version>${jackson.version}</version>
2009       </dependency>
2010       <dependency>
2011         <groupId>com.fasterxml.jackson.core</groupId>
2012         <artifactId>jackson-databind</artifactId>
2013         <version>${jackson.databind.version}</version>
2014       </dependency>
2015       <dependency>
2016         <groupId>org.jamon</groupId>
2017         <artifactId>jamon-runtime</artifactId>
2018         <version>${jamon-runtime.version}</version>
2019       </dependency>
2020       <!-- REST dependencies -->
2021       <dependency>
2022         <groupId>javax.servlet</groupId>
2023         <artifactId>javax.servlet-api</artifactId>
2024         <version>${servlet.api.version}</version>
2025       </dependency>
2026       <dependency>
2027         <groupId>javax.ws.rs</groupId>
2028         <artifactId>javax.ws.rs-api</artifactId>
2029         <version>${wx.rs.api.version}</version>
2030       </dependency>
2031       <dependency>
2032         <groupId>com.sun.activation</groupId>
2033         <artifactId>javax.activation</artifactId>
2034         <version>1.2.0</version>
2035       </dependency>
2036       <dependency>
2037         <groupId>javax.annotation</groupId>
2038         <artifactId>javax.annotation-api</artifactId>
2039         <version>1.2</version>
2040       </dependency>
2041       <dependency>
2042         <groupId>org.eclipse.jetty</groupId>
2043         <artifactId>jetty-server</artifactId>
2044         <version>${jetty.version}</version>
2045       </dependency>
2046       <dependency>
2047         <groupId>org.eclipse.jetty</groupId>
2048         <artifactId>jetty-servlet</artifactId>
2049         <version>${jetty.version}</version>
2050         <exclusions>
2051           <exclusion>
2052             <groupId>org.eclipse.jetty</groupId>
2053             <artifactId>servlet-api</artifactId>
2054           </exclusion>
2055         </exclusions>
2056       </dependency>
2057       <dependency>
2058         <groupId>org.eclipse.jetty</groupId>
2059         <artifactId>jetty-security</artifactId>
2060         <version>${jetty.version}</version>
2061       </dependency>
2062       <dependency>
2063         <groupId>org.eclipse.jetty</groupId>
2064         <artifactId>jetty-http</artifactId>
2065         <version>${jetty.version}</version>
2066       </dependency>
2067       <dependency>
2068         <groupId>org.eclipse.jetty</groupId>
2069         <artifactId>jetty-util</artifactId>
2070         <version>${jetty.version}</version>
2071       </dependency>
2072       <dependency>
2073         <groupId>org.eclipse.jetty</groupId>
2074         <artifactId>jetty-io</artifactId>
2075         <version>${jetty.version}</version>
2076       </dependency>
2077       <dependency>
2078         <groupId>org.eclipse.jetty</groupId>
2079         <artifactId>jetty-jmx</artifactId>
2080         <version>${jetty.version}</version>
2081       </dependency>
2082       <dependency>
2083         <groupId>org.eclipse.jetty</groupId>
2084         <artifactId>jetty-webapp</artifactId>
2085         <version>${jetty.version}</version>
2086       </dependency>
2087       <dependency>
2088         <groupId>org.eclipse.jetty</groupId>
2089         <artifactId>jetty-util-ajax</artifactId>
2090         <version>${jetty.version}</version>
2091       </dependency>
2092       <dependency>
2093         <groupId>com.google.protobuf</groupId>
2094         <artifactId>protobuf-java</artifactId>
2095         <version>${external.protobuf.version}</version>
2096       </dependency>
2097       <dependency>
2098         <groupId>org.glassfish.jersey.containers</groupId>
2099         <artifactId>jersey-container-servlet-core</artifactId>
2100         <version>${jersey.version}</version>
2101       </dependency>
2102       <dependency>
2103         <groupId>org.glassfish.jersey.core</groupId>
2104         <artifactId>jersey-client</artifactId>
2105         <version>${jersey.version}</version>
2106       </dependency>
2107       <dependency>
2108         <groupId>org.glassfish.jersey.core</groupId>
2109         <artifactId>jersey-server</artifactId>
2110         <version>${jersey.version}</version>
2111       </dependency>
2112       <dependency>
2113         <!--This lib has JspC in it. Needed precompiling jsps in hbase-rest, etc.-->
2114         <groupId>org.glassfish.web</groupId>
2115         <artifactId>javax.servlet.jsp</artifactId>
2116         <version>${glassfish.jsp.version}</version>
2117       </dependency>
2118       <dependency>
2119         <!-- this lib is used by the compiled Jsp from the above JspC -->
2120         <groupId>javax.servlet.jsp</groupId>
2121         <artifactId>javax.servlet.jsp-api</artifactId>
2122         <version>2.3.1</version>
2123       </dependency>
2124       <dependency>
2125         <groupId>org.glassfish</groupId>
2126         <artifactId>javax.el</artifactId>
2127         <version>${glassfish.el.version}</version>
2128       </dependency>
2129       <dependency>
2130         <groupId>javax.xml.bind</groupId>
2131         <artifactId>jaxb-api</artifactId>
2132         <version>${jaxb-api.version}</version>
2133         <exclusions>
2134           <exclusion>
2135             <groupId>javax.xml.stream</groupId>
2136             <artifactId>stax-api</artifactId>
2137           </exclusion>
2138         </exclusions>
2139       </dependency>
2140       <dependency>
2141         <groupId>junit</groupId>
2142         <artifactId>junit</artifactId>
2143         <version>${junit.version}</version>
2144       </dependency>
2145       <dependency>
2146         <groupId>org.hamcrest</groupId>
2147         <artifactId>hamcrest-core</artifactId>
2148         <version>${hamcrest.version}</version>
2149         <scope>test</scope>
2150       </dependency>
2151       <dependency>
2152         <groupId>org.mockito</groupId>
2153         <artifactId>mockito-core</artifactId>
2154         <version>${mockito-core.version}</version>
2155         <scope>test</scope>
2156       </dependency>
2157       <dependency>
2158         <groupId>org.apache.htrace</groupId>
2159         <artifactId>htrace-core4</artifactId>
2160         <version>${htrace.version}</version>
2161       </dependency>
2162       <dependency>
2163         <groupId>com.lmax</groupId>
2164         <artifactId>disruptor</artifactId>
2165         <version>${disruptor.version}</version>
2166       </dependency>
2167       <dependency>
2168         <groupId>net.spy</groupId>
2169         <artifactId>spymemcached</artifactId>
2170         <version>${spy.version}</version>
2171         <optional>true</optional>
2172       </dependency>
2173       <dependency>
2174         <groupId>org.bouncycastle</groupId>
2175         <artifactId>bcprov-jdk15on</artifactId>
2176         <version>${bouncycastle.version}</version>
2177         <scope>test</scope>
2178       </dependency>
2179       <dependency>
2180         <groupId>org.apache.kerby</groupId>
2181         <artifactId>kerb-core</artifactId>
2182         <version>${kerby.version}</version>
2183       </dependency>
2184       <dependency>
2185         <groupId>org.apache.kerby</groupId>
2186         <artifactId>kerb-client</artifactId>
2187         <version>${kerby.version}</version>
2188       </dependency>
2189       <dependency>
2190         <groupId>org.apache.kerby</groupId>
2191         <artifactId>kerb-simplekdc</artifactId>
2192         <version>${kerby.version}</version>
2193       </dependency>
2194       <dependency>
2195         <groupId>org.apache.commons</groupId>
2196         <artifactId>commons-crypto</artifactId>
2197         <version>${commons-crypto.version}</version>
2198         <exclusions>
2199           <exclusion>
2200             <groupId>net.java.dev.jna</groupId>
2201             <artifactId>jna</artifactId>
2202           </exclusion>
2203         </exclusions>
2204       </dependency>
2205       <dependency>
2206         <groupId>org.apache.curator</groupId>
2207         <artifactId>curator-framework</artifactId>
2208         <version>${curator.version}</version>
2209         <exclusions>
2210           <exclusion>
2211             <groupId>org.apache.zookeeper</groupId>
2212             <artifactId>zookeeper</artifactId>
2213           </exclusion>
2214         </exclusions>
2215       </dependency>
2216       <dependency>
2217         <groupId>org.apache.curator</groupId>
2218         <artifactId>curator-client</artifactId>
2219         <version>${curator.version}</version>
2220         <exclusions>
2221           <exclusion>
2222             <groupId>com.google.guava</groupId>
2223             <artifactId>guava</artifactId>
2224           </exclusion>
2225           <exclusion>
2226             <groupId>org.apache.zookeeper</groupId>
2227             <artifactId>zookeeper</artifactId>
2228           </exclusion>
2229         </exclusions>
2230       </dependency>
2231       <dependency>
2232         <groupId>org.apache.curator</groupId>
2233         <artifactId>curator-recipes</artifactId>
2234         <version>${curator.version}</version>
2235         <exclusions>
2236           <exclusion>
2237             <groupId>com.google.guava</groupId>
2238             <artifactId>guava</artifactId>
2239           </exclusion>
2240           <exclusion>
2241             <groupId>org.apache.zookeeper</groupId>
2242             <artifactId>zookeeper</artifactId>
2243           </exclusion>
2244         </exclusions>
2245       </dependency>
2246       <dependency>
2247         <groupId>org.apache.yetus</groupId>
2248         <artifactId>audience-annotations</artifactId>
2249         <version>${audience-annotations.version}</version>
2250       </dependency>
2251       <dependency>
2252         <groupId>org.apache.hbase.thirdparty</groupId>
2253         <artifactId>hbase-shaded-miscellaneous</artifactId>
2254         <version>${hbase-thirdparty.version}</version>
2255       </dependency>
2256       <dependency>
2257         <groupId>org.apache.hbase.thirdparty</groupId>
2258         <artifactId>hbase-shaded-netty</artifactId>
2259         <version>${hbase-thirdparty.version}</version>
2260       </dependency>
2261       <dependency>
2262         <groupId>org.apache.hbase.thirdparty</groupId>
2263         <artifactId>hbase-shaded-protobuf</artifactId>
2264         <version>${hbase-thirdparty.version}</version>
2265       </dependency>
2266       <dependency>
2267         <groupId>com.sun.xml.ws</groupId>
2268           <artifactId>jaxws-ri</artifactId>
2269         <version>2.3.2</version>
2270         <type>pom</type>
2271         <exclusions>
2272           <exclusion>
2273             <groupId>javax.activation</groupId>
2274             <artifactId>javax.activation-api</artifactId>
2275           </exclusion>
2276         </exclusions>
2277       </dependency>
2278     </dependencies>
2279   </dependencyManagement>
2280   <dependencies>
2281     <!--REMOVE THIS. HERE TEMPORARILY.
2282          Implication is that every module needs junit which is not so.
2283          Cannot undo though because build runs test on each module and
2284          it fails if no junit. TODO. -->
2285     <dependency>
2286       <groupId>junit</groupId>
2287       <artifactId>junit</artifactId>
2288       <scope>test</scope>
2289     </dependency>
2290   </dependencies>
2292   <!--
2293   To publish, use the following settings.xml file ( placed in ~/.m2/settings.xml )
2295  <settings>
2296   <servers>
2297     <server>
2298       <id>apache.releases.https</id>
2299       <username>hbase_committer</username>
2300       <password>********</password>
2301     </server>
2303     <server>
2304       <id>apache.snapshots.https</id>
2305       <username>hbase_committer</username>
2306       <password>********</password>
2307     </server>
2309   </servers>
2310  </settings>
2312   $ mvn deploy
2313 (or)
2314   $ mvn -s /my/path/settings.xml deploy
2316   -->
2317   <profiles>
2318     <profile>
2319       <id>rsgroup</id>
2320       <activation>
2321         <property>
2322             <name>!skip-rsgroup</name>
2323         </property>
2324       </activation>
2325       <modules>
2326         <module>hbase-rsgroup</module>
2327       </modules>
2328     </profile>
2329     <profile>
2330       <id>build-with-jdk8</id>
2331       <activation>
2332         <jdk>[1.8,)</jdk>
2333       </activation>
2334       <build>
2335         <pluginManagement>
2336           <plugins>
2337             <plugin>
2338               <groupId>org.codehaus.mojo</groupId>
2339               <artifactId>findbugs-maven-plugin</artifactId>
2340               <version>${findbugs.maven.version}</version>
2341               <!--NOTE: Findbugs 3.0.0 requires jdk7-->
2342               <configuration>
2343                 <excludeFilterFile>${project.basedir}/../dev-support/findbugs-exclude.xml</excludeFilterFile>
2344                 <findbugsXmlOutput>true</findbugsXmlOutput>
2345                 <xmlOutput>true</xmlOutput>
2346                 <effort>Max</effort>
2347               </configuration>
2348               <dependencies>
2349                 <dependency>
2350                   <groupId>com.github.spotbugs</groupId>
2351                   <artifactId>spotbugs</artifactId>
2352                   <version>${spotbugs.version}</version>
2353                 </dependency>
2354               </dependencies>
2355             </plugin>
2356           </plugins>
2357         </pluginManagement>
2358       </build>
2359     </profile>
2360     <profile>
2361       <id>build-with-jdk11</id>
2362       <activation>
2363         <jdk>[1.11,)</jdk>
2364       </activation>
2365       <dependencyManagement>
2366         <dependencies>
2367         </dependencies>
2368       </dependencyManagement>
2369     </profile>
2370     <!-- profile activated by the Jenkins patch testing job -->
2371     <profile>
2372       <id>jenkins.patch</id>
2373       <activation>
2374         <activeByDefault>false</activeByDefault>
2375         <property>
2376             <name>HBasePatchProcess</name>
2377         </property>
2378       </activation>
2379       <properties>
2380         <surefire.rerunFailingTestsCount>2</surefire.rerunFailingTestsCount>
2381       </properties>
2382       <build>
2383         <plugins>
2384           <plugin>
2385             <groupId>org.apache.maven.plugins</groupId>
2386             <artifactId>maven-antrun-plugin</artifactId>
2387             <inherited>false</inherited>
2388             <executions>
2389               <execution>
2390                 <phase>validate</phase>
2391                 <goals>
2392                   <goal>run</goal>
2393                 </goals>
2394                 <configuration>
2395                   <tasks>
2396                     <echo>Maven Execution Environment</echo>
2397                     <echo>MAVEN_OPTS="${env.MAVEN_OPTS}"</echo>
2398                   </tasks>
2399                 </configuration>
2400               </execution>
2401             </executions>
2402           </plugin>
2403         </plugins>
2404       </build>
2405     </profile>
2406     <profile>
2407       <id>jacoco</id>
2408       <activation>
2409         <activeByDefault>false</activeByDefault>
2410       </activation>
2411       <build>
2412         <plugins>
2413           <plugin>
2414             <groupId>org.jacoco</groupId>
2415             <artifactId>jacoco-maven-plugin</artifactId>
2416             <version>${jacoco.version}</version>
2417             <executions>
2418               <execution>
2419                 <id>prepare-agent</id>
2420                 <goals>
2421                   <goal>prepare-agent</goal>
2422                 </goals>
2423               </execution>
2424               <execution>
2425                 <id>report</id>
2426                 <phase>prepare-package</phase>
2427                 <goals>
2428                   <goal>report</goal>
2429                 </goals>
2430               </execution>
2431             </executions>
2432             <configuration>
2433               <systemPropertyVariables>
2434                 <jacoco-agent.destfile>target/jacoco.exec</jacoco-agent.destfile>
2435               </systemPropertyVariables>
2436               <excludes>
2437                 <exclude>**/generated/**/*.class</exclude>
2438               </excludes>
2439             </configuration>
2440           </plugin>
2441         </plugins>
2442       </build>
2443     </profile>
2444     <profile>
2445       <id>os.linux</id>
2446       <activation>
2447         <activeByDefault>false</activeByDefault>
2448         <os>
2449           <family>Linux</family>
2450         </os>
2451       </activation>
2452       <properties>
2453         <build.platform>${os.name}-${os.arch}-${sun.arch.data.model}</build.platform>
2454       </properties>
2455     </profile>
2456     <profile>
2457       <id>os.mac</id>
2458       <activation>
2459         <os>
2460           <family>Mac</family>
2461         </os>
2462       </activation>
2463       <properties>
2464         <build.platform>Mac_OS_X-${sun.arch.data.model}</build.platform>
2465       </properties>
2466     </profile>
2467     <profile>
2468       <id>os.windows</id>
2469       <activation>
2470         <os>
2471           <family>Windows</family>
2472         </os>
2473       </activation>
2474       <properties>
2475         <build.platform>cygwin</build.platform>
2476         <argLine>${hbase-surefire.cygwin-argLine}</argLine>
2477       </properties>
2478     </profile>
2479     <!-- this profile should be activated for release builds -->
2480     <profile>
2481       <id>release</id>
2482       <build>
2483         <plugins>
2484           <plugin>
2485             <groupId>org.apache.rat</groupId>
2486             <artifactId>apache-rat-plugin</artifactId>
2487             <executions>
2488               <execution>
2489                 <phase>package</phase>
2490                 <goals>
2491                   <goal>check</goal>
2492                 </goals>
2493               </execution>
2494             </executions>
2495           </plugin>
2496           <plugin>
2497             <groupId>org.apache.maven.plugins</groupId>
2498             <artifactId>maven-enforcer-plugin</artifactId>
2499             <version>${enforcer.version}</version>
2500             <configuration>
2501               <rules>
2502                 <enforceBytecodeVersion>
2503                 <maxJdkVersion>${compileSource}</maxJdkVersion>
2504                 <message>HBase has unsupported dependencies.
2505   HBase requires that all dependencies be compiled with version ${compileSource} or earlier
2506   of the JDK to properly build from source.  You appear to be using a newer dependency. You can use
2507   either "mvn -version" or "mvn enforcer:display-info" to verify what version is active.
2508   Non-release builds can temporarily build with a newer JDK version by setting the
2509   'compileSource' property (eg. mvn -DcompileSource=1.8 clean package).
2510                 </message>
2511               </enforceBytecodeVersion>
2512             </rules>
2513           </configuration>
2514           </plugin>
2515         </plugins>
2516       </build>
2517     </profile>
2518     <!-- Dependency management profiles for submodules when building against specific hadoop branches.-->
2519     <!-- Submodules that need hadoop dependencies should declare
2520     profiles with activation properties matching the profile here.
2521     Generally, it should be sufficient to copy the first
2522     few lines of the profile you want to match.  -->
2523     <!-- profile for building against Hadoop 2.0.x
2524          This is the default.
2525          -->
2526     <profile>
2527       <id>hadoop-2.0</id>
2528       <activation>
2529         <property>
2530           <!--Below formatting for dev-support/generate-hadoopX-poms.sh-->
2531           <!--h2--><name>!hadoop.profile</name>
2532         </property>
2533       </activation>
2534       <modules>
2535         <module>hbase-hadoop2-compat</module>
2536       </modules>
2537       <properties>
2538         <hadoop.version>${hadoop-two.version}</hadoop.version>
2539         <compat.module>hbase-hadoop2-compat</compat.module>
2540         <assembly.file>src/main/assembly/hadoop-two-compat.xml</assembly.file>
2541         <!--This property is for hadoops netty. HBase netty
2542              comes in via hbase-thirdparty hbase-shaded-netty-->
2543         <netty.hadoop.version>3.6.2.Final</netty.hadoop.version>
2544       </properties>
2545       <dependencyManagement>
2546         <dependencies>
2547           <dependency>
2548             <groupId>org.apache.hadoop</groupId>
2549             <artifactId>hadoop-mapreduce-client-core</artifactId>
2550             <version>${hadoop-two.version}</version>
2551             <exclusions>
2552               <exclusion>
2553                 <groupId>com.sun.jersey</groupId>
2554                 <artifactId>jersey-core</artifactId>
2555               </exclusion>
2556               <exclusion>
2557                 <groupId>org.codehaus.jackson</groupId>
2558                 <artifactId>jackson-jaxrs</artifactId>
2559               </exclusion>
2560               <exclusion>
2561                 <groupId>org.codehaus.jackson</groupId>
2562                 <artifactId>jackson-xc</artifactId>
2563               </exclusion>
2564               <exclusion>
2565                 <groupId>io.netty</groupId>
2566                 <artifactId>netty</artifactId>
2567               </exclusion>
2568               <exclusion>
2569                 <groupId>javax.servlet</groupId>
2570                 <artifactId>servlet-api</artifactId>
2571               </exclusion>
2572               <exclusion>
2573                 <groupId>javax.inject</groupId>
2574                 <artifactId>javax.inject</artifactId>
2575               </exclusion>
2576               <exclusion>
2577                 <groupId>org.codehaus.jackson</groupId>
2578                 <artifactId>jackson-core-asl</artifactId>
2579               </exclusion>
2580               <exclusion>
2581                 <groupId>org.codehaus.jackson</groupId>
2582                 <artifactId>jackson-mapper-asl</artifactId>
2583               </exclusion>
2584             </exclusions>
2585           </dependency>
2586           <dependency>
2587             <groupId>org.apache.hadoop</groupId>
2588             <artifactId>hadoop-mapreduce-client-jobclient</artifactId>
2589             <version>${hadoop-two.version}</version>
2590             <exclusions>
2591               <exclusion>
2592                 <groupId>com.sun.jersey</groupId>
2593                 <artifactId>jersey-core</artifactId>
2594               </exclusion>
2595               <exclusion>
2596                 <groupId>io.netty</groupId>
2597                 <artifactId>netty</artifactId>
2598               </exclusion>
2599               <exclusion>
2600                 <groupId>javax.servlet</groupId>
2601                 <artifactId>servlet-api</artifactId>
2602               </exclusion>
2603             </exclusions>
2604           </dependency>
2605           <dependency>
2606             <groupId>org.apache.hadoop</groupId>
2607             <artifactId>hadoop-mapreduce-client-jobclient</artifactId>
2608             <version>${hadoop-two.version}</version>
2609             <type>test-jar</type>
2610             <scope>test</scope>
2611             <exclusions>
2612               <exclusion>
2613                 <groupId>com.sun.jersey</groupId>
2614                 <artifactId>jersey-core</artifactId>
2615               </exclusion>
2616               <exclusion>
2617                 <groupId>io.netty</groupId>
2618                 <artifactId>netty</artifactId>
2619               </exclusion>
2620               <exclusion>
2621                 <groupId>javax.servlet</groupId>
2622                 <artifactId>servlet-api</artifactId>
2623               </exclusion>
2624             </exclusions>
2625           </dependency>
2626           <dependency>
2627             <groupId>org.apache.hadoop</groupId>
2628             <artifactId>hadoop-hdfs</artifactId>
2629             <version>${hadoop-two.version}</version>
2630             <exclusions>
2631               <exclusion>
2632                 <groupId>com.sun.jersey</groupId>
2633                 <artifactId>jersey-core</artifactId>
2634               </exclusion>
2635               <exclusion>
2636                 <groupId>javax.servlet.jsp</groupId>
2637                 <artifactId>jsp-api</artifactId>
2638               </exclusion>
2639               <exclusion>
2640                 <groupId>javax.servlet</groupId>
2641                 <artifactId>servlet-api</artifactId>
2642               </exclusion>
2643               <exclusion>
2644                 <groupId>io.netty</groupId>
2645                 <artifactId>netty</artifactId>
2646               </exclusion>
2647               <exclusion>
2648                 <groupId>stax</groupId>
2649                 <artifactId>stax-api</artifactId>
2650               </exclusion>
2651               <exclusion>
2652                 <groupId>xerces</groupId>
2653                 <artifactId>xercesImpl</artifactId>
2654               </exclusion>
2655               <exclusion>
2656                 <groupId>org.codehaus.jackson</groupId>
2657                 <artifactId>jackson-core-asl</artifactId>
2658               </exclusion>
2659               <exclusion>
2660                 <groupId>org.codehaus.jackson</groupId>
2661                 <artifactId>jackson-mapper-asl</artifactId>
2662               </exclusion>
2663               <exclusion>
2664                 <groupId>com.google.guava</groupId>
2665                 <artifactId>guava</artifactId>
2666               </exclusion>
2667             </exclusions>
2668           </dependency>
2669           <dependency>
2670             <groupId>org.apache.hadoop</groupId>
2671             <artifactId>hadoop-hdfs</artifactId>
2672             <version>${hadoop-two.version}</version>
2673             <type>test-jar</type>
2674             <scope>test</scope>
2675             <exclusions>
2676               <exclusion>
2677                 <groupId>javax.servlet.jsp</groupId>
2678                 <artifactId>jsp-api</artifactId>
2679               </exclusion>
2680               <exclusion>
2681                 <groupId>javax.servlet</groupId>
2682                 <artifactId>servlet-api</artifactId>
2683               </exclusion>
2684               <exclusion>
2685                 <groupId>io.netty</groupId>
2686                 <artifactId>netty</artifactId>
2687               </exclusion>
2688               <exclusion>
2689                 <groupId>stax</groupId>
2690                 <artifactId>stax-api</artifactId>
2691               </exclusion>
2692               <exclusion>
2693                 <groupId>xerces</groupId>
2694                 <artifactId>xercesImpl</artifactId>
2695               </exclusion>
2696               <exclusion>
2697                 <groupId>org.codehaus.jackson</groupId>
2698                 <artifactId>jackson-core-asl</artifactId>
2699               </exclusion>
2700               <exclusion>
2701                 <groupId>org.codehaus.jackson</groupId>
2702                 <artifactId>jackson-mapper-asl</artifactId>
2703               </exclusion>
2704               <exclusion>
2705                 <groupId>com.google.guava</groupId>
2706                 <artifactId>guava</artifactId>
2707               </exclusion>
2708               <exclusion>
2709                 <groupId>com.sun.jersey</groupId>
2710                 <artifactId>jersey-core</artifactId>
2711               </exclusion>
2712             </exclusions>
2713           </dependency>
2714           <dependency>
2715             <groupId>org.apache.hadoop</groupId>
2716             <artifactId>hadoop-auth</artifactId>
2717             <version>${hadoop-two.version}</version>
2718             <exclusions>
2719               <exclusion>
2720                 <groupId>com.google.guava</groupId>
2721                 <artifactId>guava</artifactId>
2722               </exclusion>
2723               <exclusion>
2724                 <groupId>net.minidev</groupId>
2725                 <artifactId>json-smart</artifactId>
2726               </exclusion>
2727             </exclusions>
2728           </dependency>
2729           <dependency>
2730             <groupId>org.apache.hadoop</groupId>
2731             <artifactId>hadoop-common</artifactId>
2732             <version>${hadoop-two.version}</version>
2733             <exclusions>
2734               <exclusion>
2735                 <groupId>com.sun.jersey</groupId>
2736                 <artifactId>jersey-core</artifactId>
2737               </exclusion>
2738               <exclusion>
2739                 <groupId>org.codehaus.jackson</groupId>
2740                 <artifactId>jackson-jaxrs</artifactId>
2741               </exclusion>
2742               <exclusion>
2743                 <groupId>org.codehaus.jackson</groupId>
2744                 <artifactId>jackson-xc</artifactId>
2745               </exclusion>
2746               <exclusion>
2747                 <groupId>commons-beanutils</groupId>
2748                 <artifactId>commons-beanutils</artifactId>
2749               </exclusion>
2750               <exclusion>
2751                 <groupId>javax.servlet.jsp</groupId>
2752                 <artifactId>jsp-api</artifactId>
2753               </exclusion>
2754               <exclusion>
2755                 <groupId>javax.servlet</groupId>
2756                 <artifactId>servlet-api</artifactId>
2757               </exclusion>
2758               <exclusion>
2759                 <groupId>stax</groupId>
2760                 <artifactId>stax-api</artifactId>
2761               </exclusion>
2762               <exclusion>
2763                 <groupId>io.netty</groupId>
2764                 <artifactId>netty</artifactId>
2765               </exclusion>
2766               <exclusion>
2767                 <groupId>com.google.code.findbugs</groupId>
2768                 <artifactId>jsr305</artifactId>
2769               </exclusion>
2770               <exclusion>
2771                 <groupId>junit</groupId>
2772                 <artifactId>junit</artifactId>
2773               </exclusion>
2774              <exclusion>
2775                <groupId>org.codehaus.jackson</groupId>
2776                <artifactId>jackson-core-asl</artifactId>
2777              </exclusion>
2778              <exclusion>
2779                <groupId>org.codehaus.jackson</groupId>
2780                <artifactId>jackson-mapper-asl</artifactId>
2781              </exclusion>
2782             </exclusions>
2783           </dependency>
2784           <dependency>
2785             <groupId>org.apache.hadoop</groupId>
2786             <artifactId>hadoop-common</artifactId>
2787             <version>${hadoop-two.version}</version>
2788             <type>test-jar</type>
2789             <scope>test</scope>
2790             <exclusions>
2791               <exclusion>
2792                 <groupId>com.sun.jersey</groupId>
2793                 <artifactId>jersey-core</artifactId>
2794               </exclusion>
2795               <exclusion>
2796                 <groupId>com.google.code.findbugs</groupId>
2797                 <artifactId>jsr305</artifactId>
2798               </exclusion>
2799               <exclusion>
2800                 <groupId>org.codehaus.jackson</groupId>
2801                 <artifactId>jackson-jaxrs</artifactId>
2802               </exclusion>
2803               <exclusion>
2804                 <groupId>org.codehaus.jackson</groupId>
2805                 <artifactId>jackson-xc</artifactId>
2806               </exclusion>
2807             </exclusions>
2808           </dependency>
2809           <dependency>
2810             <groupId>org.apache.hadoop</groupId>
2811             <artifactId>hadoop-client</artifactId>
2812             <version>${hadoop-two.version}</version>
2813           </dependency>
2814           <!-- This was marked as test dep in earlier pom, but was scoped compile.
2815             Where do we actually need it? -->
2816           <dependency>
2817             <groupId>org.apache.hadoop</groupId>
2818             <artifactId>hadoop-minicluster</artifactId>
2819             <version>${hadoop-two.version}</version>
2820             <exclusions>
2821               <!--If we comment this in, a few tests in hbase-mapreduce
2822                    fail. They depend on jersey-core somehow. But excluding
2823                    jersey-core here messes up hbase-it because jersey-core
2824                    implements a 1.x jaxrs Response Interface when we depend
2825                    on the 2.x Interface... . Letting this jar come in
2826                    transitively here but will exclude it down in hbase-it.
2827                    See HBASE-22029.
2828               <exclusion>
2829                 <groupId>com.sun.jersey</groupId>
2830                 <artifactId>jersey-core</artifactId>
2831               </exclusion>
2832               -->
2833               <exclusion>
2834                 <groupId>commons-httpclient</groupId>
2835                 <artifactId>commons-httpclient</artifactId>
2836               </exclusion>
2837               <exclusion>
2838                 <groupId>javax.servlet.jsp</groupId>
2839                 <artifactId>jsp-api</artifactId>
2840               </exclusion>
2841               <exclusion>
2842                 <groupId>javax.servlet</groupId>
2843                 <artifactId>servlet-api</artifactId>
2844               </exclusion>
2845               <exclusion>
2846                 <groupId>stax</groupId>
2847                 <artifactId>stax-api</artifactId>
2848               </exclusion>
2849               <exclusion>
2850                 <groupId>io.netty</groupId>
2851                 <artifactId>netty</artifactId>
2852               </exclusion>
2853               <exclusion>
2854                 <groupId>com.google.code.findbugs</groupId>
2855                 <artifactId>jsr305</artifactId>
2856               </exclusion>
2857             </exclusions>
2858           </dependency>
2859           <dependency>
2860             <groupId>org.apache.hadoop</groupId>
2861             <artifactId>hadoop-minikdc</artifactId>
2862             <version>${hadoop-two.version}</version>
2863             <scope>test</scope>
2864           </dependency>
2865          <dependency>
2866            <groupId>org.apache.hadoop</groupId>
2867            <artifactId>hadoop-annotations</artifactId>
2868            <version>${hadoop-two.version}</version>
2869          </dependency>
2870         </dependencies>
2871       </dependencyManagement>
2872     </profile>
2873     <!--
2874       profile for building against Hadoop 3.0.0. Activate using:
2875        mvn -Dhadoop.profile=3.0
2876     -->
2877     <profile>
2878       <id>hadoop-3.0</id>
2879       <activation>
2880         <property>
2881           <name>hadoop.profile</name>
2882           <value>3.0</value>
2883         </property>
2884       </activation>
2885       <modules>
2886         <!--For now, use hadoop2 compat module-->
2887         <module>hbase-hadoop2-compat</module>
2888       </modules>
2889       <properties>
2890         <hadoop.version>${hadoop-three.version}</hadoop.version>
2891         <!--Use this compat module for now. TODO: Make h3 one if we need one-->
2892         <compat.module>hbase-hadoop2-compat</compat.module>
2893         <assembly.file>src/main/assembly/hadoop-two-compat.xml</assembly.file>
2894         <!--This property is for hadoops netty. HBase netty
2895              comes in via hbase-thirdparty hbase-shaded-netty-->
2896         <netty.hadoop.version>3.10.5.Final</netty.hadoop.version>
2897       </properties>
2898      <dependencyManagement>
2899        <dependencies>
2900          <dependency>
2901            <groupId>org.apache.hadoop</groupId>
2902            <artifactId>hadoop-mapreduce-client-core</artifactId>
2903            <version>${hadoop-three.version}</version>
2904            <exclusions>
2905              <exclusion>
2906                <groupId>com.sun.jersey</groupId>
2907                <artifactId>jersey-core</artifactId>
2908              </exclusion>
2909              <exclusion>
2910                <groupId>org.codehaus.jackson</groupId>
2911                <artifactId>jackson-jaxrs</artifactId>
2912              </exclusion>
2913              <exclusion>
2914                <groupId>org.codehaus.jackson</groupId>
2915                <artifactId>jackson-xc</artifactId>
2916              </exclusion>
2917              <exclusion>
2918                <groupId>io.netty</groupId>
2919                <artifactId>netty</artifactId>
2920              </exclusion>
2921               <exclusion>
2922                 <groupId>javax.inject</groupId>
2923                 <artifactId>javax.inject</artifactId>
2924               </exclusion>
2925               <exclusion>
2926                 <groupId>org.codehaus.jackson</groupId>
2927                 <artifactId>jackson-core-asl</artifactId>
2928               </exclusion>
2929               <exclusion>
2930                 <groupId>org.codehaus.jackson</groupId>
2931                 <artifactId>jackson-mapper-asl</artifactId>
2932               </exclusion>
2933              <exclusion>
2934                <groupId>com.google.guava</groupId>
2935                <artifactId>guava</artifactId>
2936              </exclusion>
2937            </exclusions>
2938          </dependency>
2939          <dependency>
2940            <groupId>org.apache.hadoop</groupId>
2941            <artifactId>hadoop-mapreduce-client-jobclient</artifactId>
2942            <version>${hadoop-three.version}</version>
2943            <exclusions>
2944              <exclusion>
2945                <groupId>com.sun.jersey</groupId>
2946                <artifactId>jersey-core</artifactId>
2947              </exclusion>
2948              <exclusion>
2949                <groupId>io.netty</groupId>
2950                <artifactId>netty</artifactId>
2951              </exclusion>
2952            </exclusions>
2953          </dependency>
2954          <dependency>
2955            <groupId>org.apache.hadoop</groupId>
2956            <artifactId>hadoop-mapreduce-client-jobclient</artifactId>
2957            <version>${hadoop-three.version}</version>
2958            <type>test-jar</type>
2959            <scope>test</scope>
2960            <exclusions>
2961              <exclusion>
2962                <groupId>com.sun.jersey</groupId>
2963                <artifactId>jersey-core</artifactId>
2964              </exclusion>
2965              <exclusion>
2966                <groupId>io.netty</groupId>
2967                <artifactId>netty</artifactId>
2968              </exclusion>
2969            </exclusions>
2970          </dependency>
2971          <dependency>
2972            <groupId>org.apache.hadoop</groupId>
2973            <artifactId>hadoop-hdfs</artifactId>
2974            <version>${hadoop-three.version}</version>
2975            <exclusions>
2976              <exclusion>
2977                <groupId>com.sun.jersey</groupId>
2978                <artifactId>jersey-core</artifactId>
2979              </exclusion>
2980              <exclusion>
2981                <groupId>com.sun.jersey</groupId>
2982                <artifactId>jersey-server</artifactId>
2983              </exclusion>
2984              <exclusion>
2985                <groupId>javax.servlet.jsp</groupId>
2986                <artifactId>jsp-api</artifactId>
2987              </exclusion>
2988              <exclusion>
2989                <groupId>javax.servlet</groupId>
2990                <artifactId>servlet-api</artifactId>
2991              </exclusion>
2992              <exclusion>
2993                <groupId>stax</groupId>
2994                <artifactId>stax-api</artifactId>
2995              </exclusion>
2996              <exclusion>
2997                <groupId>xerces</groupId>
2998                <artifactId>xercesImpl</artifactId>
2999              </exclusion>
3000              <exclusion>
3001                <groupId>org.codehaus.jackson</groupId>
3002                <artifactId>jackson-core-asl</artifactId>
3003              </exclusion>
3004              <exclusion>
3005                <groupId>org.codehaus.jackson</groupId>
3006                <artifactId>jackson-mapper-asl</artifactId>
3007              </exclusion>
3008               <exclusion>
3009                 <groupId>com.google.guava</groupId>
3010                 <artifactId>guava</artifactId>
3011               </exclusion>
3012            </exclusions>
3013          </dependency>
3014          <dependency>
3015            <groupId>org.apache.hadoop</groupId>
3016            <artifactId>hadoop-hdfs</artifactId>
3017            <version>${hadoop-three.version}</version>
3018            <type>test-jar</type>
3019            <scope>test</scope>
3020            <exclusions>
3021              <exclusion>
3022                <groupId>javax.servlet.jsp</groupId>
3023                <artifactId>jsp-api</artifactId>
3024              </exclusion>
3025              <exclusion>
3026                <groupId>javax.servlet</groupId>
3027                <artifactId>servlet-api</artifactId>
3028              </exclusion>
3029              <exclusion>
3030                <groupId>stax</groupId>
3031                <artifactId>stax-api</artifactId>
3032              </exclusion>
3033              <exclusion>
3034                <groupId>xerces</groupId>
3035                <artifactId>xercesImpl</artifactId>
3036              </exclusion>
3037              <exclusion>
3038                <groupId>org.codehaus.jackson</groupId>
3039                <artifactId>jackson-core-asl</artifactId>
3040              </exclusion>
3041              <exclusion>
3042                <groupId>org.codehaus.jackson</groupId>
3043                <artifactId>jackson-mapper-asl</artifactId>
3044              </exclusion>
3045              <exclusion>
3046                <groupId>com.google.guava</groupId>
3047                <artifactId>guava</artifactId>
3048              </exclusion>
3049              <exclusion>
3050                <groupId>com.sun.jersey</groupId>
3051                <artifactId>jersey-core</artifactId>
3052              </exclusion>
3053            </exclusions>
3054          </dependency>
3055          <dependency>
3056            <groupId>org.apache.hadoop</groupId>
3057            <artifactId>hadoop-hdfs</artifactId>
3058            <version>${hadoop-three.version}</version>
3059            <type>test-jar</type>
3060            <classifier>tests</classifier>
3061            <scope>test</scope>
3062            <exclusions>
3063              <exclusion>
3064                <groupId>com.sun.jersey</groupId>
3065                <artifactId>jersey-core</artifactId>
3066              </exclusion>
3067            </exclusions>
3068          </dependency>
3069          <dependency>
3070            <groupId>org.apache.hadoop</groupId>
3071            <artifactId>hadoop-auth</artifactId>
3072            <version>${hadoop-three.version}</version>
3073            <exclusions>
3074              <exclusion>
3075                <groupId>com.google.guava</groupId>
3076                <artifactId>guava</artifactId>
3077              </exclusion>
3078              <exclusion>
3079                <groupId>net.minidev</groupId>
3080                <artifactId>json-smart</artifactId>
3081              </exclusion>
3082            </exclusions>
3083          </dependency>
3084          <dependency>
3085            <groupId>org.apache.hadoop</groupId>
3086            <artifactId>hadoop-common</artifactId>
3087            <version>${hadoop-three.version}</version>
3088            <exclusions>
3089              <exclusion>
3090                <groupId>com.sun.jersey</groupId>
3091                <artifactId>jersey-core</artifactId>
3092              </exclusion>
3093              <exclusion>
3094                <groupId>com.sun.jersey</groupId>
3095                <artifactId>jersey-json</artifactId>
3096              </exclusion>
3097              <exclusion>
3098                <groupId>com.sun.jersey</groupId>
3099                <artifactId>jersey-servlet</artifactId>
3100              </exclusion>
3101              <exclusion>
3102               <groupId>com.sun.jersey</groupId>
3103                <artifactId>jersey-server</artifactId>
3104              </exclusion>
3105              <exclusion>
3106                <groupId>javax.servlet.jsp</groupId>
3107                <artifactId>jsp-api</artifactId>
3108              </exclusion>
3109              <exclusion>
3110                <groupId>javax.servlet</groupId>
3111                <artifactId>javax.servlet-api</artifactId>
3112              </exclusion>
3113              <exclusion>
3114                <groupId>stax</groupId>
3115                <artifactId>stax-api</artifactId>
3116              </exclusion>
3117              <exclusion>
3118                <groupId>io.netty</groupId>
3119                <artifactId>netty</artifactId>
3120              </exclusion>
3121              <exclusion>
3122                <groupId>com.google.code.findbugs</groupId>
3123                <artifactId>jsr305</artifactId>
3124              </exclusion>
3125              <exclusion>
3126                <groupId>junit</groupId>
3127                <artifactId>junit</artifactId>
3128              </exclusion>
3129              <exclusion>
3130                <groupId>org.codehause.jackson</groupId>
3131                <artifactId>jackson-core-asl</artifactId>
3132              </exclusion>
3133              <exclusion>
3134                <groupId>org.codehause.jackson</groupId>
3135                <artifactId>jackson-mapper-asl</artifactId>
3136              </exclusion>
3137            </exclusions>
3138          </dependency>
3139          <dependency>
3140            <groupId>org.apache.hadoop</groupId>
3141            <artifactId>hadoop-common</artifactId>
3142            <type>test-jar</type>
3143            <classifier>tests</classifier>
3144            <version>${hadoop-three.version}</version>
3145            <exclusions>
3146              <exclusion>
3147                <groupId>com.sun.jersey</groupId>
3148                <artifactId>jersey-core</artifactId>
3149              </exclusion>
3150              <exclusion>
3151                <groupId>com.google.code.findbugs</groupId>
3152                <artifactId>jsr305</artifactId>
3153              </exclusion>
3154            </exclusions>
3155          </dependency>
3156          <dependency>
3157            <groupId>org.apache.hadoop</groupId>
3158            <artifactId>hadoop-client</artifactId>
3159            <version>${hadoop-three.version}</version>
3160          </dependency>
3161          <dependency>
3162            <groupId>org.apache.hadoop</groupId>
3163            <artifactId>hadoop-annotations</artifactId>
3164            <version>${hadoop-three.version}</version>
3165          </dependency>
3166          <!-- This was marked as test dep in earlier pom, but was scoped compile.
3167            Where do we actually need it? -->
3168          <dependency>
3169            <groupId>org.apache.hadoop</groupId>
3170            <artifactId>hadoop-minicluster</artifactId>
3171            <version>${hadoop-three.version}</version>
3172            <exclusions>
3173               <!--If we comment this in, a few tests in hbase-mapreduce
3174                    fail. They depend on jersey-core somehow. But excluding
3175                    jersey-core here messes up hbase-it because jersey-core
3176                    implements a 1.x jaxrs Response Interface when we depend
3177                    on the 2.x Interface... . Letting this jar come in
3178                    transitively here but will exclude it down in hbase-it.
3179                    See HBASE-22029.
3180              <exclusion>
3181                <groupId>com.sun.jersey</groupId>
3182                <artifactId>jersey-core</artifactId>
3183              </exclusion>
3184              -->
3185              <exclusion>
3186                <groupId>commons-httpclient</groupId>
3187                <artifactId>commons-httpclient</artifactId>
3188              </exclusion>
3189              <exclusion>
3190                <groupId>javax.servlet.jsp</groupId>
3191                <artifactId>jsp-api</artifactId>
3192              </exclusion>
3193              <exclusion>
3194                <groupId>javax.servlet</groupId>
3195                <artifactId>servlet-api</artifactId>
3196              </exclusion>
3197              <exclusion>
3198                <groupId>stax</groupId>
3199                <artifactId>stax-api</artifactId>
3200              </exclusion>
3201              <exclusion>
3202                <groupId>io.netty</groupId>
3203                <artifactId>netty</artifactId>
3204              </exclusion>
3205              <exclusion>
3206                <groupId>com.google.code.findbugs</groupId>
3207                <artifactId>jsr305</artifactId>
3208              </exclusion>
3209            </exclusions>
3210          </dependency>
3211          <dependency>
3212             <groupId>org.apache.hadoop</groupId>
3213             <artifactId>hadoop-minikdc</artifactId>
3214             <version>${hadoop-three.version}</version>
3215             <scope>test</scope>
3216           </dependency>
3217        </dependencies>
3218      </dependencyManagement>
3220     </profile>
3221     <!-- profiles for the tests
3222          See as well the properties of the project for the values
3223          when no profile is active.     -->
3224     <profile>
3225       <!-- Use it to launch all tests in the same JVM  -->
3226       <id>singleJVMTests</id>
3227       <activation>
3228         <activeByDefault>false</activeByDefault>
3229       </activation>
3230       <properties>
3231         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
3232         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3233         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3234         <surefire.firstPartGroups/>
3235       </properties>
3236     </profile>
3237     <profile>
3238       <!-- Use it to launch small tests only -->
3239       <id>runSmallTests</id>
3240       <activation>
3241         <activeByDefault>false</activeByDefault>
3242       </activation>
3243       <properties>
3244         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
3245         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3246         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3247         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.SmallTests</surefire.firstPartGroups>
3248         <surefire.secondPartGroups/>
3249       </properties>
3250     </profile>
3251     <profile>
3252       <!-- Use it to launch medium tests only -->
3253       <id>runMediumTests</id>
3254       <activation>
3255         <activeByDefault>false</activeByDefault>
3256       </activation>
3257       <properties>
3258         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3259         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3260         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.MediumTests</surefire.firstPartGroups>
3261         <surefire.secondPartGroups/>
3262       </properties>
3263     </profile>
3264     <profile>
3265       <!-- Use it to launch large tests only -->
3266       <id>runLargeTests</id>
3267       <activation>
3268         <activeByDefault>false</activeByDefault>
3269       </activation>
3270       <properties>
3271         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3272         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3273         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.LargeTests</surefire.firstPartGroups>
3274         <surefire.secondPartGroups/>
3275       </properties>
3276     </profile>
3277     <profile>
3278       <!-- Use it to launch small & medium tests -->
3279       <id>runDevTests</id>
3280       <activation>
3281         <activeByDefault>false</activeByDefault>
3282       </activation>
3283       <properties>
3284         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
3285         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3286         <surefire.skipSecondPart>false</surefire.skipSecondPart>
3287         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.SmallTests</surefire.firstPartGroups>
3288         <surefire.secondPartGroups>org.apache.hadoop.hbase.testclassification.MediumTests</surefire.secondPartGroups>
3289       </properties>
3290     </profile>
3291     <profile>
3292       <!-- Use it to launch all tests -->
3293       <id>runAllTests</id>
3294       <activation>
3295         <activeByDefault>false</activeByDefault>
3296       </activation>
3297       <properties>
3298         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
3299         <surefire.secondPartForkCount>5</surefire.secondPartForkCount>
3300         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3301         <surefire.skipSecondPart>false</surefire.skipSecondPart>
3302         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.SmallTests</surefire.firstPartGroups>
3303         <surefire.secondPartGroups>org.apache.hadoop.hbase.testclassification.MediumTests,org.apache.hadoop.hbase.testclassification.LargeTests</surefire.secondPartGroups>
3304       </properties>
3305     </profile>
3306     <profile>
3307       <id>runMiscTests</id>
3308       <activation>
3309         <activeByDefault>false</activeByDefault>
3310       </activation>
3311       <properties>
3312         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
3313         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
3314         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3315         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3316         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.MiscTests
3317         </surefire.firstPartGroups>
3318         <surefire.secondPartGroups></surefire.secondPartGroups>
3319       </properties>
3320     </profile>
3321     <profile>
3322       <id>runCoprocessorTests</id>
3323       <activation>
3324         <activeByDefault>false</activeByDefault>
3325       </activation>
3326       <properties>
3327         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
3328         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
3329         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3330         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3331         <surefire.firstPartGroups>
3332           org.apache.hadoop.hbase.testclassification.CoprocessorTests
3333         </surefire.firstPartGroups>
3334         <surefire.secondPartGroups></surefire.secondPartGroups>
3335       </properties>
3336     </profile>
3337     <profile>
3338       <id>runClientTests</id>
3339       <activation>
3340         <activeByDefault>false</activeByDefault>
3341       </activation>
3342       <properties>
3343         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
3344         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
3345         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3346         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3347         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.ClientTests
3348         </surefire.firstPartGroups>
3349         <surefire.secondPartGroups></surefire.secondPartGroups>
3350       </properties>
3351     </profile>
3352     <profile>
3353       <id>runMasterTests</id>
3354       <activation>
3355         <activeByDefault>false</activeByDefault>
3356       </activation>
3357       <properties>
3358         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
3359         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
3360         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3361         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3362         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.MasterTests
3363         </surefire.firstPartGroups>
3364         <surefire.secondPartGroups></surefire.secondPartGroups>
3365       </properties>
3366     </profile>
3367     <profile>
3368       <id>runMapredTests</id>
3369       <activation>
3370         <activeByDefault>false</activeByDefault>
3371       </activation>
3372       <properties>
3373         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
3374         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
3375         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3376         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3377         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.MapredTests
3378         </surefire.firstPartGroups>
3379         <surefire.secondPartGroups></surefire.secondPartGroups>
3380       </properties>
3381     </profile>
3382     <profile>
3383       <id>runMapreduceTests</id>
3384       <activation>
3385         <activeByDefault>false</activeByDefault>
3386       </activation>
3387       <properties>
3388         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
3389         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
3390         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3391         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3392         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.MapReduceTests
3393         </surefire.firstPartGroups>
3394         <surefire.secondPartGroups></surefire.secondPartGroups>
3395       </properties>
3396     </profile>
3397     <profile>
3398       <id>runRegionServerTests</id>
3399       <activation>
3400         <activeByDefault>false</activeByDefault>
3401       </activation>
3402       <properties>
3403         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
3404         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
3405         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3406         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3407         <surefire.firstPartGroups>
3408           org.apache.hadoop.hbase.testclassification.RegionServerTests
3409         </surefire.firstPartGroups>
3410         <surefire.secondPartGroups></surefire.secondPartGroups>
3411       </properties>
3412     </profile>
3413     <profile>
3414       <id>runVerySlowMapReduceTests</id>
3415       <activation>
3416         <activeByDefault>false</activeByDefault>
3417       </activation>
3418       <properties>
3419         <surefire.firstPartForkCount>2</surefire.firstPartForkCount>
3420         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
3421         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3422         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3423         <surefire.firstPartGroups>
3424           org.apache.hadoop.hbase.testclassification.VerySlowMapReduceTests
3425         </surefire.firstPartGroups>
3426         <surefire.secondPartGroups></surefire.secondPartGroups>
3427       </properties>
3428     </profile>
3430     <profile>
3431       <id>runVerySlowRegionServerTests</id>
3432       <activation>
3433         <activeByDefault>false</activeByDefault>
3434       </activation>
3435       <properties>
3436         <surefire.firstPartForkCount>2</surefire.firstPartForkCount>
3437         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
3438         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3439         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3440         <surefire.firstPartGroups>
3441           org.apache.hadoop.hbase.testclassification.VerySlowRegionServerTests
3442         </surefire.firstPartGroups>
3443         <surefire.secondPartGroups></surefire.secondPartGroups>
3444       </properties>
3445     </profile>
3447     <profile>
3448       <id>runFilterTests</id>
3449       <activation>
3450         <activeByDefault>false</activeByDefault>
3451       </activation>
3452       <properties>
3453         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
3454         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
3455         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3456         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3457         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.FilterTests
3458         </surefire.firstPartGroups>
3459         <surefire.secondPartGroups></surefire.secondPartGroups>
3460       </properties>
3461     </profile>
3462     <profile>
3463       <id>runIOTests</id>
3464       <activation>
3465         <activeByDefault>false</activeByDefault>
3466       </activation>
3467       <properties>
3468         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
3469         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
3470         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3471         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3472         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.IOTests
3473         </surefire.firstPartGroups>
3474         <surefire.secondPartGroups></surefire.secondPartGroups>
3475       </properties>
3476     </profile>
3477     <profile>
3478       <id>runRestTests</id>
3479       <activation>
3480         <activeByDefault>false</activeByDefault>
3481       </activation>
3482       <properties>
3483         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
3484         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
3485         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3486         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3487         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.RestTests
3488         </surefire.firstPartGroups>
3489         <surefire.secondPartGroups></surefire.secondPartGroups>
3490       </properties>
3491     </profile>
3492     <profile>
3493       <id>runRPCTests</id>
3494       <activation>
3495         <activeByDefault>false</activeByDefault>
3496       </activation>
3497       <properties>
3498         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
3499         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
3500         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3501         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3502         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.RPCTests
3503         </surefire.firstPartGroups>
3504         <surefire.secondPartGroups></surefire.secondPartGroups>
3505       </properties>
3506     </profile>
3507     <profile>
3508       <id>runReplicationTests</id>
3509       <activation>
3510         <activeByDefault>false</activeByDefault>
3511       </activation>
3512       <properties>
3513         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
3514         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
3515         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3516         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3517         <surefire.firstPartGroups>
3518           org.apache.hadoop.hbase.testclassification.ReplicationTests
3519         </surefire.firstPartGroups>
3520         <surefire.secondPartGroups></surefire.secondPartGroups>
3521       </properties>
3522     </profile>
3523     <profile>
3524       <id>runSecurityTests</id>
3525       <activation>
3526         <activeByDefault>false</activeByDefault>
3527       </activation>
3528       <properties>
3529         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
3530         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
3531         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3532         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3533         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.SecurityTests
3534         </surefire.firstPartGroups>
3535         <surefire.secondPartGroups></surefire.secondPartGroups>
3536       </properties>
3537     </profile>
3538     <profile>
3539       <id>runFlakeyTests</id>
3540       <activation>
3541         <activeByDefault>false</activeByDefault>
3542       </activation>
3543       <properties>
3544         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
3545         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
3546         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3547         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3548         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.FlakeyTests
3549         </surefire.firstPartGroups>
3550         <surefire.secondPartGroups></surefire.secondPartGroups>
3551       </properties>
3552     </profile>
3553     <profile>
3554       <id>runZKTests</id>
3555       <activation>
3556         <activeByDefault>false</activeByDefault>
3557       </activation>
3558       <properties>
3559         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
3560         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
3561         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3562         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3563         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.ZKTests
3564         </surefire.firstPartGroups>
3565         <surefire.secondPartGroups></surefire.secondPartGroups>
3566       </properties>
3567     </profile>
3569     <profile>
3570       <!-- Use it to launch tests locally-->
3571       <id>localTests</id>
3572       <activation>
3573         <property>
3574           <name>test</name>
3575         </property>
3576       </activation>
3577       <properties>
3578         <surefire.provider>surefire-junit4</surefire.provider>
3579         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3580         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3581         <surefire.firstPartGroups/>
3582       </properties>
3583     </profile>
3584     <!-- Profile for running clover. You need to have a clover license under ~/.clover.license for ${clover.version}
3585          or you can provide the license with -Dmaven.clover.licenseLocation=/path/to/license. Committers can find
3586          the license under https://svn.apache.org/repos/private/committers/donated-licenses/clover/
3587          The report will be generated under target/site/clover/index.html when you run
3588          MAVEN_OPTS="-Xmx2048m" mvn clean package -Pclover site -->
3589     <profile>
3590       <id>clover</id>
3591       <activation>
3592         <activeByDefault>false</activeByDefault>
3593         <property>
3594           <name>clover</name>
3595         </property>
3596       </activation>
3597       <properties>
3598         <maven.clover.licenseLocation>${user.home}/.clover.license</maven.clover.licenseLocation>
3599       </properties>
3600       <build>
3601         <plugins>
3602         <!-- When Clover is active, we need to add it as a dependency for the javadoc plugin, or
3603              our instrumented classes for the doclet will fail
3604           -->
3605           <plugin>
3606             <groupId>org.apache.maven.plugins</groupId>
3607             <artifactId>maven-javadoc-plugin</artifactId>
3608             <dependencies>
3609               <dependency>
3610                 <groupId>com.atlassian.maven.plugins</groupId>
3611                 <artifactId>maven-clover2-plugin</artifactId>
3612                 <version>${clover.version}</version>
3613               </dependency>
3614             </dependencies>
3615           </plugin>
3616           <plugin>
3617             <groupId>com.atlassian.maven.plugins</groupId>
3618             <artifactId>maven-clover2-plugin</artifactId>
3619             <version>${clover.version}</version>
3620             <configuration>
3621               <includesAllSourceRoots>true</includesAllSourceRoots>
3622               <includesTestSourceRoots>true</includesTestSourceRoots>
3623               <targetPercentage>50%</targetPercentage>
3624               <generateHtml>true</generateHtml>
3625               <generateXml>true</generateXml>
3626               <excludes>
3627                 <exclude>**/generated/**</exclude>
3628               </excludes>
3629             </configuration>
3630             <executions>
3631               <execution>
3632                 <id>clover-setup</id>
3633                 <phase>process-sources</phase>
3634                 <goals>
3635                   <goal>setup</goal>
3636                 </goals>
3637               </execution>
3638               <execution>
3639                 <id>clover</id>
3640                 <phase>site</phase>
3641                 <goals>
3642                   <goal>clover</goal>
3643                 </goals>
3644               </execution>
3645             </executions>
3646           </plugin>
3647         </plugins>
3648       </build>
3649     </profile>
3650     <profile>
3651       <!-- Used by the website generation script on jenkins to
3652            do a local install of the jars we need to run a normal
3653            site build w/o forking.
3654         -->
3655       <id>site-install-step</id>
3656       <properties>
3657         <skipTests>true</skipTests>
3658         <maven.javadoc.skip>true</maven.javadoc.skip>
3659         <enforcer.skip>true</enforcer.skip>
3660         <checkstyle.skip>true</checkstyle.skip>
3661         <findbugs.skip>true</findbugs.skip>
3662         <warbucks.skip>true</warbucks.skip>
3663       </properties>
3664     </profile>
3665     <profile>
3666       <!-- Used by the website generation script on jenkins to
3667            mitigate the impact of unneeded build forks while building
3668            our javadocs.
3669         -->
3670       <id>site-build-step</id>
3671       <properties>
3672         <skipTests>true</skipTests>
3673         <enforcer.skip>true</enforcer.skip>
3674         <maven.main.skip>true</maven.main.skip>
3675         <maven.test.skip>true</maven.test.skip>
3676         <warbucks.skip>true</warbucks.skip>
3677         <protoc.skip>true</protoc.skip>
3678         <remoteresources.skip>true</remoteresources.skip>
3679       </properties>
3680     </profile>
3681     <profile>
3682       <id>eclipse-specific</id>
3683       <activation>
3684         <property>
3685           <name>m2e.version</name>
3686         </property>
3687       </activation>
3688       <build>
3689         <pluginManagement>
3690           <plugins>
3691             <!-- General config for eclipse classpath/settings -->
3692             <plugin>
3693               <groupId>org.apache.maven.plugins</groupId>
3694               <artifactId>maven-eclipse-plugin</artifactId>
3695               <version>${maven.eclipse.version}</version>
3696             </plugin>
3697             <!--This plugin's configuration is used to store Eclipse m2e settings
3698                 only. It has no influence on the Maven build itself. m2e does not
3699                 provide any safeguards against rogue maven plugins that leak
3700                 classloaders, modify random files inside workspace or throw nasty
3701                 exceptions to fail the build.
3702                 Top level doesn't do any specific configuration currently - left
3703                 to modules to decide what they want to bind, sans those plugins
3704                 defined in this pom. -->
3705             <plugin>
3706               <groupId>org.eclipse.m2e</groupId>
3707               <artifactId>lifecycle-mapping</artifactId>
3708               <version>${lifecycle.mapping.version}</version>
3709               <configuration>
3710                 <lifecycleMappingMetadata>
3711                   <pluginExecutions>
3712                     <pluginExecution>
3713                       <pluginExecutionFilter>
3714                         <groupId>org.jacoco</groupId>
3715                         <artifactId>jacoco-maven-plugin</artifactId>
3716                         <versionRange>[0.6.2.201302030002,)</versionRange>
3717                         <goals>
3718                           <goal>prepare-agent</goal>
3719                         </goals>
3720                       </pluginExecutionFilter>
3721                       <action>
3722                         <ignore></ignore>
3723                       </action>
3724                     </pluginExecution>
3725                     <pluginExecution>
3726                       <pluginExecutionFilter>
3727                         <groupId>org.apache.maven.plugins</groupId>
3728                         <artifactId>maven-enforcer-plugin</artifactId>
3729                         <versionRange>${enforcer.version}</versionRange>
3730                         <goals>
3731                           <goal>enforce</goal>
3732                         </goals>
3733                       </pluginExecutionFilter>
3734                       <action>
3735                         <ignore />
3736                       </action>
3737                     </pluginExecution>
3738                     <pluginExecution>
3739                       <pluginExecutionFilter>
3740                         <groupId>org.apache.maven.plugins</groupId>
3741                         <artifactId>maven-remote-resources-plugin</artifactId>
3742                         <versionRange>[1.5,)</versionRange>
3743                         <goals>
3744                           <goal>process</goal>
3745                           <goal>bundle</goal>
3746                         </goals>
3747                       </pluginExecutionFilter>
3748                       <action>
3749                         <ignore />
3750                       </action>
3751                     </pluginExecution>
3752                       <pluginExecution>
3753                         <pluginExecutionFilter>
3754                           <groupId>org.codehaus.mojo</groupId>
3755                           <artifactId>buildnumber-maven-plugin</artifactId>
3756                           <versionRange>[1.3,)</versionRange>
3757                           <goals>
3758                             <goal>create-timestamp</goal>
3759                           </goals>
3760                         </pluginExecutionFilter>
3761                         <action>
3762                           <execute>
3763                             <runOnConfiguration>true</runOnConfiguration>
3764                             <runOnIncremental>true</runOnIncremental>
3765                           </execute>
3766                         </action>
3767                       </pluginExecution>
3768                   </pluginExecutions>
3769                 </lifecycleMappingMetadata>
3770               </configuration>
3771             </plugin>
3772           </plugins>
3773         </pluginManagement>
3774       </build>
3775     </profile>
3776   </profiles>
3777   <!-- See https://jira.codehaus.org/browse/MSITE-443 why the settings need to be here and not in pluginManagement. -->
3778   <reporting>
3779     <plugins>
3780       <plugin>
3781         <artifactId>maven-project-info-reports-plugin</artifactId>
3782         <version>${maven.project.info.report.version}</version>
3783         <reportSets>
3784           <reportSet>
3785             <reports>
3786               <report>dependencies</report>
3787               <report>dependency-convergence</report>
3788               <report>dependency-info</report>
3789               <report>dependency-management</report>
3790               <report>index</report>
3791               <report>issue-tracking</report>
3792               <report>mailing-list</report>
3793               <report>plugin-management</report>
3794               <report>plugins</report>
3795               <report>project-team</report>
3796               <report>scm</report>
3797               <report>summary</report>
3798             </reports>
3799           </reportSet>
3800         </reportSets>
3801         <!-- see src/site/site.xml for selected reports -->
3802         <configuration>
3803           <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
3804         </configuration>
3805       </plugin>
3807       <plugin>
3808         <groupId>org.apache.maven.plugins</groupId>
3809         <artifactId>maven-javadoc-plugin</artifactId>
3810         <configuration>
3811           <tags>
3812             <tag>
3813               <name>apiNote</name>
3814               <placement>a</placement>
3815               <head>API Note:</head>
3816             </tag>
3817           </tags>
3818         </configuration>
3819         <reportSets>
3820           <!-- Dev API -->
3821           <reportSet>
3822             <id>devapi</id>
3823             <reports>
3824               <report>aggregate</report>
3825             </reports>
3826             <configuration>
3827               <destDir>devapidocs</destDir>
3828               <name>Developer API</name>
3829               <description>The full HBase API, including private and unstable APIs</description>
3830               <sourceFileExcludes>
3831                 <exclude>**/generated/*</exclude>
3832                 <exclude>**/protobuf/*</exclude>
3833               </sourceFileExcludes>
3834               <excludePackageNames>org.apache.hadoop.hbase.tmpl.common:com.google.protobuf:org.apache.hadoop.hbase.generated*</excludePackageNames>
3835               <show>private</show> <!-- (shows all classes and members) -->
3836               <quiet>true</quiet>
3837               <linksource>true</linksource>
3838               <sourcetab>2</sourcetab>
3839               <validateLinks>true</validateLinks>
3840               <fixClassComment>true</fixClassComment>
3841               <fixFieldComment>true</fixFieldComment>
3842               <fixMethodComment>true</fixMethodComment>
3843               <fixTags>all</fixTags>
3844               <notimestamp>true</notimestamp>
3845               <locale>en_US</locale>
3846               <!-- Pass some options straight to the javadoc executable since it is easier -->
3847               <additionalJOption>-J-Xmx2G</additionalJOption>
3848               <!-- JDK8 javadoc requires test scope transitive dependencies due to our custom doclet -->
3849               <additionalDependencies>
3850                 <additionalDependency>
3851                   <groupId>org.mockito</groupId>
3852                   <artifactId>mockito-core</artifactId>
3853                   <version>${mockito-core.version}</version>
3854                 </additionalDependency>
3855                 <additionalDependency>
3856                   <groupId>org.hamcrest</groupId>
3857                   <artifactId>hamcrest-core</artifactId>
3858                   <version>${hamcrest.version}</version>
3859                 </additionalDependency>
3860               </additionalDependencies>
3861               <inherited>false</inherited>
3862             </configuration>
3863           </reportSet>
3864           <reportSet>
3865             <id>testdevapi</id>
3866             <reports>
3867               <report>test-aggregate</report>
3868             </reports>
3869             <configuration>
3870               <destDir>testdevapidocs</destDir>
3871               <name>Developer API</name>
3872               <description>The full HBase API test code, including private and unstable APIs</description>
3873               <sourceFileExcludes>
3874                 <exclude>**/generated/*</exclude>
3875                 <exclude>**/protobuf/*</exclude>
3876               </sourceFileExcludes>
3877               <excludePackageNames>org.apache.hadoop.hbase.tmpl.common:com.google.protobuf:org.apache.hadoop.hbase.generated*</excludePackageNames>
3878               <show>private</show> <!-- (shows all classes and members) -->
3879               <quiet>true</quiet>
3880               <linksource>true</linksource>
3881               <sourcetab>2</sourcetab>
3882               <validateLinks>true</validateLinks>
3883               <fixClassComment>true</fixClassComment>
3884               <fixFieldComment>true</fixFieldComment>
3885               <fixMethodComment>true</fixMethodComment>
3886               <fixTags>all</fixTags>
3887               <notimestamp>true</notimestamp>
3888               <locale>en_US</locale>
3889               <!-- Pass some options straight to the javadoc executable since it is easier -->
3890               <additionalJOption>-J-Xmx2G</additionalJOption>
3891               <!-- JDK8 javadoc requires test scope transitive dependencies due to our custom doclet -->
3892               <additionalDependencies>
3893                 <additionalDependency>
3894                   <groupId>org.mockito</groupId>
3895                   <artifactId>mockito-core</artifactId>
3896                   <version>${mockito-core.version}</version>
3897                 </additionalDependency>
3898                 <additionalDependency>
3899                   <groupId>org.hamcrest</groupId>
3900                   <artifactId>hamcrest-core</artifactId>
3901                   <version>${hamcrest.version}</version>
3902                 </additionalDependency>
3903               </additionalDependencies>
3904               <inherited>false</inherited>
3905             </configuration>
3906           </reportSet>
3908           <!-- User API -->
3909           <reportSet>
3910             <id>userapi</id>
3911             <reports>
3912               <report>aggregate</report>
3913             </reports>
3914             <configuration>
3915               <doclet>
3916                 org.apache.yetus.audience.tools.IncludePublicAnnotationsStandardDoclet
3917               </doclet>
3918               <docletArtifact>
3919                 <groupId>org.apache.yetus</groupId>
3920                 <artifactId>audience-annotations</artifactId>
3921                 <version>${audience-annotations.version}</version>
3922               </docletArtifact>
3923               <useStandardDocletOptions>true</useStandardDocletOptions>
3924               <destDir>apidocs</destDir>
3925               <name>User API</name>
3926               <description>The HBase Application Programmer's API</description>
3927               <excludePackageNames>
3928                 org.apache.hadoop.hbase.backup*:org.apache.hadoop.hbase.catalog:org.apache.hadoop.hbase.client.coprocessor:org.apache.hadoop.hbase.client.metrics:org.apache.hadoop.hbase.codec*:org.apache.hadoop.hbase.constraint:org.apache.hadoop.hbase.coprocessor.*:org.apache.hadoop.hbase.executor:org.apache.hadoop.hbase.fs:*.generated.*:org.apache.hadoop.hbase.io.hfile.*:org.apache.hadoop.hbase.mapreduce.hadoopbackport:org.apache.hadoop.hbase.mapreduce.replication:org.apache.hadoop.hbase.master.*:org.apache.hadoop.hbase.metrics*:org.apache.hadoop.hbase.migration:org.apache.hadoop.hbase.monitoring:org.apache.hadoop.hbase.p*:org.apache.hadoop.hbase.regionserver.compactions:org.apache.hadoop.hbase.regionserver.handler:org.apache.hadoop.hbase.regionserver.snapshot:org.apache.hadoop.hbase.replication.*:org.apache.hadoop.hbase.rest.filter:org.apache.hadoop.hbase.rest.model:org.apache.hadoop.hbase.rest.p*:org.apache.hadoop.hbase.security.*:org.apache.hadoop.hbase.thrift*:org.apache.hadoop.hbase.tmpl.*:org.apache.hadoop.hbase.tool:org.apache.hadoop.hbase.trace:org.apache.hadoop.hbase.util.byterange*:org.apache.hadoop.hbase.util.test:org.apache.hadoop.hbase.util.vint:org.apache.hadoop.metrics2*:org.apache.hadoop.hbase.io.compress*
3929               </excludePackageNames>
3930               <!-- switch on dependency-driven aggregation -->
3931               <includeDependencySources>false</includeDependencySources>
3932               <sourceFilesExclude>**/generated/*</sourceFilesExclude>
3933               <show>protected</show> <!-- (shows only public and protected classes and members) -->
3934               <quiet>true</quiet>
3935               <linksource>true</linksource>
3936               <sourcetab>2</sourcetab>
3937               <validateLinks>true</validateLinks>
3938               <fixClassComment>true</fixClassComment>
3939               <fixFieldComment>true</fixFieldComment>
3940               <fixMethodComment>true</fixMethodComment>
3941               <fixTags>all</fixTags>
3942               <notimestamp>true</notimestamp>
3943               <locale>en_US</locale>
3944               <!-- Pass some options straight to the javadoc executable since it is easier -->
3945               <additionalJOption>-J-Xmx2G</additionalJOption>
3946               <!-- JDK8 javadoc requires test scope transitive dependencies due to our custom doclet -->
3947               <additionalDependencies>
3948                 <additionalDependency>
3949                   <groupId>org.mockito</groupId>
3950                   <artifactId>mockito-core</artifactId>
3951                   <version>${mockito-core.version}</version>
3952                 </additionalDependency>
3953                 <additionalDependency>
3954                   <groupId>org.hamcrest</groupId>
3955                   <artifactId>hamcrest-core</artifactId>
3956                   <version>${hamcrest.version}</version>
3957                 </additionalDependency>
3958               </additionalDependencies>
3959               <inherited>false</inherited>
3960             </configuration>
3961           </reportSet>
3962           <!-- User Test API -->
3963           <reportSet>
3964             <id>testuserapi</id>
3965             <reports>
3966               <report>test-aggregate</report>
3967             </reports>
3968             <configuration>
3969               <doclet>
3970                 org.apache.yetus.audience.tools.IncludePublicAnnotationsStandardDoclet
3971               </doclet>
3972               <docletArtifact>
3973                 <groupId>org.apache.yetus</groupId>
3974                 <artifactId>audience-annotations</artifactId>
3975                 <version>${audience-annotations.version}</version>
3976               </docletArtifact>
3977               <useStandardDocletOptions>true</useStandardDocletOptions>
3978               <destDir>testapidocs</destDir>
3979               <name>User API</name>
3980               <description>The HBase Application Programmer's API</description>
3981               <excludePackageNames>
3982                 org.apache.hadoop.hbase.backup*:org.apache.hadoop.hbase.catalog:org.apache.hadoop.hbase.client.coprocessor:org.apache.hadoop.hbase.client.metrics:org.apache.hadoop.hbase.codec*:org.apache.hadoop.hbase.constraint:org.apache.hadoop.hbase.coprocessor.*:org.apache.hadoop.hbase.executor:org.apache.hadoop.hbase.fs:*.generated.*:org.apache.hadoop.hbase.io.hfile.*:org.apache.hadoop.hbase.mapreduce.hadoopbackport:org.apache.hadoop.hbase.mapreduce.replication:org.apache.hadoop.hbase.master.*:org.apache.hadoop.hbase.metrics*:org.apache.hadoop.hbase.migration:org.apache.hadoop.hbase.monitoring:org.apache.hadoop.hbase.p*:org.apache.hadoop.hbase.regionserver.compactions:org.apache.hadoop.hbase.regionserver.handler:org.apache.hadoop.hbase.regionserver.snapshot:org.apache.hadoop.hbase.replication.*:org.apache.hadoop.hbase.rest.filter:org.apache.hadoop.hbase.rest.model:org.apache.hadoop.hbase.rest.p*:org.apache.hadoop.hbase.security.*:org.apache.hadoop.hbase.thrift*:org.apache.hadoop.hbase.tmpl.*:org.apache.hadoop.hbase.tool:org.apache.hadoop.hbase.trace:org.apache.hadoop.hbase.util.byterange*:org.apache.hadoop.hbase.util.test:org.apache.hadoop.hbase.util.vint:org.apache.hadoop.metrics2*:org.apache.hadoop.hbase.io.compress*
3983               </excludePackageNames>
3984               <!-- switch on dependency-driven aggregation -->
3985               <includeDependencySources>false</includeDependencySources>
3986               <sourceFilesExclude>**/generated/*</sourceFilesExclude>
3987               <show>protected</show> <!-- (shows only public and protected classes and members) -->
3988               <quiet>true</quiet>
3989               <linksource>true</linksource>
3990               <sourcetab>2</sourcetab>
3991               <validateLinks>true</validateLinks>
3992               <fixClassComment>true</fixClassComment>
3993               <fixFieldComment>true</fixFieldComment>
3994               <fixMethodComment>true</fixMethodComment>
3995               <fixTags>all</fixTags>
3996               <notimestamp>true</notimestamp>
3997               <locale>en_US</locale>
3998               <!-- Pass some options straight to the javadoc executable since it is easier -->
3999               <additionalJOption>-J-Xmx2G</additionalJOption>
4000               <!-- JDK8 javadoc requires test scope transitive dependencies due to our custom doclet -->
4001               <additionalDependencies>
4002                 <additionalDependency>
4003                   <groupId>org.mockito</groupId>
4004                   <artifactId>mockito-core</artifactId>
4005                   <version>${mockito-core.version}</version>
4006                 </additionalDependency>
4007                 <additionalDependency>
4008                   <groupId>org.hamcrest</groupId>
4009                   <artifactId>hamcrest-core</artifactId>
4010                   <version>${hamcrest.version}</version>
4011                 </additionalDependency>
4012               </additionalDependencies>
4013               <inherited>false</inherited>
4014             </configuration>
4015           </reportSet>
4016         </reportSets>
4017       </plugin>
4019       <plugin>
4020         <groupId>org.apache.maven.plugins</groupId>
4021         <artifactId>maven-checkstyle-plugin</artifactId>
4022         <version>${maven.checkstyle.version}</version>
4023         <configuration>
4024           <excludes>target/**</excludes>
4025         </configuration>
4026       </plugin>
4028     </plugins>
4029   </reporting>
4030   <distributionManagement>
4031     <site>
4032       <id>hbase.apache.org</id>
4033       <name>HBase Website at hbase.apache.org</name>
4034       <!-- On why this is the tmp dir and not hbase.apache.org, see
4035                https://issues.apache.org/jira/browse/HBASE-7593?focusedCommentId=13555866&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13555866
4036                -->
4037       <url>file:///tmp</url>
4038     </site>
4039   </distributionManagement>
4040 </project>