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