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