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