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