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