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