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