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