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