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