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