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