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