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