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