HBASE-17271 Fixed test runs in hbase-thrift
[hbase.git] / pom.xml
blob637b2364ced0136954c4e3d920af08b534aab1a9
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>2.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-resource-bundle</module>
65     <module>hbase-server</module>
66     <module>hbase-thrift</module>
67     <module>hbase-shell</module>
68     <module>hbase-protocol-shaded</module>
69     <module>hbase-protocol</module>
70     <module>hbase-client</module>
71     <module>hbase-hadoop-compat</module>
72     <module>hbase-common</module>
73     <module>hbase-procedure</module>
74     <module>hbase-endpoint</module>
75     <module>hbase-it</module>
76     <module>hbase-examples</module>
77     <module>hbase-prefix-tree</module>
78     <module>hbase-assembly</module>
79     <module>hbase-testing-util</module>
80     <module>hbase-annotations</module>
81     <module>hbase-rest</module>
82     <module>hbase-checkstyle</module>
83     <module>hbase-external-blockcache</module>
84     <module>hbase-shaded</module>
85     <module>hbase-spark</module>
86     <module>hbase-archetypes</module>
87     <module>hbase-metrics-api</module>
88     <module>hbase-metrics</module>
89   </modules>
90   <!--Add apache snapshots in case we want to use unreleased versions of plugins:
91       e.g. surefire 2.18-SNAPSHOT-->
92   <pluginRepositories>
93     <pluginRepository>
94       <id>apache.snapshots</id>
95       <url>http://repository.apache.org/snapshots/</url>
96     </pluginRepository>
97   </pluginRepositories>
98   <scm>
99     <connection>scm:git:git://git.apache.org/hbase.git</connection>
100     <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/hbase.git</developerConnection>
101     <url>https://git-wip-us.apache.org/repos/asf?p=hbase.git</url>
102   </scm>
103   <issueManagement>
104     <system>JIRA</system>
105     <url>http://issues.apache.org/jira/browse/HBASE</url>
106   </issueManagement>
107   <ciManagement>
108     <system>hudson</system>
109     <url>http://hudson.zones.apache.org/hudson/view/HBase/job/HBase-TRUNK/</url>
110   </ciManagement>
111   <mailingLists>
112     <mailingList>
113       <name>User List</name>
114       <subscribe>user-subscribe@hbase.apache.org</subscribe>
115       <unsubscribe>user-unsubscribe@hbase.apache.org</unsubscribe>
116       <post>user@hbase.apache.org</post>
117       <archive>http://mail-archives.apache.org/mod_mbox/hbase-user/</archive>
118       <otherArchives>
119         <otherArchive>http://dir.gmane.org/gmane.comp.java.hadoop.hbase.user</otherArchive>
120         <otherArchive>http://search-hadoop.com/?q=&amp;fc_project=HBase</otherArchive>
121       </otherArchives>
122     </mailingList>
123     <mailingList>
124       <name>Developer List</name>
125       <subscribe>dev-subscribe@hbase.apache.org</subscribe>
126       <unsubscribe>dev-unsubscribe@hbase.apache.org</unsubscribe>
127       <post>dev@hbase.apache.org</post>
128       <archive>http://mail-archives.apache.org/mod_mbox/hbase-dev/</archive>
129       <otherArchives>
130         <otherArchive>http://dir.gmane.org/gmane.comp.java.hadoop.hbase.devel</otherArchive>
131         <otherArchive>http://search-hadoop.com/?q=&amp;fc_project=HBase</otherArchive>
132       </otherArchives>
133     </mailingList>
134     <mailingList>
135       <name>Commits List</name>
136       <subscribe>commits-subscribe@hbase.apache.org</subscribe>
137       <unsubscribe>commits-unsubscribe@hbase.apache.org</unsubscribe>
138       <archive>http://mail-archives.apache.org/mod_mbox/hbase-commits/</archive>
139     </mailingList>
140     <mailingList>
141       <name>Issues List</name>
142       <subscribe>issues-subscribe@hbase.apache.org</subscribe>
143       <unsubscribe>issues-unsubscribe@hbase.apache.org</unsubscribe>
144       <archive>http://mail-archives.apache.org/mod_mbox/hbase-issues/</archive>
145     </mailingList>
146     <mailingList>
147       <name>Builds List</name>
148       <subscribe>builds-subscribe@hbase.apache.org</subscribe>
149       <unsubscribe>builds-unsubscribe@hbase.apache.org</unsubscribe>
150       <archive>http://mail-archives.apache.org/mod_mbox/hbase-builds/</archive>
151     </mailingList>
152   </mailingLists>
153   <developers>
154     <developer>
155       <id>acube123</id>
156       <name>Amitanand S. Aiyer</name>
157       <email>acube123@apache.org</email>
158       <timezone>-8</timezone>
159     </developer>
160     <developer>
161       <id>appy</id>
162       <name>Apekshit Sharma</name>
163       <email>appy@apache.org</email>
164       <timezone>-8</timezone>
165     </developer>
166     <developer>
167       <id>apurtell</id>
168       <name>Andrew Purtell</name>
169       <email>apurtell@apache.org</email>
170       <timezone>-8</timezone>
171     </developer>
172     <developer>
173       <id>anoopsamjohn</id>
174       <name>Anoop Sam John</name>
175       <email>anoopsamjohn@apache.org</email>
176       <timezone>+5</timezone>
177     </developer>
178     <developer>
179       <id>antonov</id>
180       <name>Mikhail Antonov</name>
181       <email>antonov@apache.org</email>
182       <timezone>-8</timezone>
183     </developer>
184     <developer>
185       <id>ashishsinghi</id>
186       <name>Ashish Singhi</name>
187       <email>ashishsinghi@apache.org</email>
188       <timezone>+5</timezone>
189     </developer>
190     <developer>
191       <id>binlijin</id>
192       <name>Lijin Bin</name>
193       <email>binlijin@apache.org</email>
194       <timezone>+8</timezone>
195     </developer>
196     <developer>
197       <id>busbey</id>
198       <name>Sean Busbey</name>
199       <email>busbey@apache.org</email>
200       <timezone>-6</timezone>
201     </developer>
202     <developer>
203       <id>chenheng</id>
204       <name>Heng Chen</name>
205       <email>chenheng@apache.org</email>
206       <timezone>+8</timezone>
207     </developer>
208     <developer>
209       <id>ddas</id>
210       <name>Devaraj Das</name>
211       <email>ddas@apache.org</email>
212       <timezone>-8</timezone>
213     </developer>
214     <developer>
215       <id>dimaspivak</id>
216       <name>Dima Spivak</name>
217       <email>dimaspivak@apache.org</email>
218       <timezone>-8</timezone>
219     </developer>
220     <developer>
221       <id>dmeil</id>
222       <name>Doug Meil</name>
223       <email>dmeil@apache.org</email>
224       <timezone>-5</timezone>
225     </developer>
226     <developer>
227       <id>eclark</id>
228       <name>Elliott Clark</name>
229       <email>eclark@apache.org</email>
230       <timezone>-8</timezone>
231     </developer>
232     <developer>
233       <id>elserj</id>
234       <name>Josh Elser</name>
235       <email>elserj@apache.org</email>
236       <timezone>-5</timezone>
237     </developer>
238     <developer>
239       <id>enis</id>
240       <name>Enis Soztutar</name>
241       <email>enis@apache.org</email>
242       <timezone>-8</timezone>
243     </developer>
244     <developer>
245       <id>fenghh</id>
246       <name>Honghua Feng</name>
247       <email>fenghh@apache.org</email>
248       <timezone>+8</timezone>
249     </developer>
250     <developer>
251       <id>garyh</id>
252       <name>Gary Helmling</name>
253       <email>garyh@apache.org</email>
254       <timezone>-8</timezone>
255     </developer>
256     <developer>
257       <id>gchanan</id>
258       <name>Gregory Chanan</name>
259       <email>gchanan@apache.org</email>
260       <timezone>-8</timezone>
261     </developer>
262     <developer>
263       <id>jdcryans</id>
264       <name>Jean-Daniel Cryans</name>
265       <email>jdcryans@apache.org</email>
266       <timezone>-8</timezone>
267     </developer>
268     <developer>
269       <id>jeffreyz</id>
270       <name>Jeffrey Zhong</name>
271       <email>jeffreyz@apache.org</email>
272       <timezone>-8</timezone>
273     </developer>
274     <developer>
275       <id>jerryjch</id>
276       <name>Jing Chen (Jerry) He</name>
277       <email>jerryjch@apache.org</email>
278       <timezone>-8</timezone>
279     </developer>
280     <developer>
281       <id>jyates</id>
282       <name>Jesse Yates</name>
283       <email>jyates@apache.org</email>
284       <timezone>-8</timezone>
285     </developer>
286     <developer>
287       <id>jgray</id>
288       <name>Jonathan Gray</name>
289       <email>jgray@fb.com</email>
290       <timezone>-8</timezone>
291     </developer>
292     <developer>
293       <id>jingchengdu</id>
294       <name>Jingcheng Du</name>
295       <email>jingchengdu@apache.org</email>
296       <timezone>+8</timezone>
297     </developer>
298     <developer>
299       <id>esteban</id>
300       <name>Esteban Gutierrez</name>
301       <email>esteban@apache.org</email>
302       <timezone>-8</timezone>
303     </developer>
304     <developer>
305       <id>jmhsieh</id>
306       <name>Jonathan Hsieh</name>
307       <email>jmhsieh@apache.org</email>
308       <timezone>-8</timezone>
309     </developer>
310     <developer>
311       <id>jxiang</id>
312       <name>Jimmy Xiang</name>
313       <email>jxiang@apache.org</email>
314       <timezone>-8</timezone>
315     </developer>
316     <developer>
317       <id>kannan</id>
318       <name>Kannan Muthukkaruppan</name>
319       <email>kannan@fb.com</email>
320       <timezone>-8</timezone>
321     </developer>
322     <developer>
323       <id>karthik</id>
324       <name>Karthik Ranganathan</name>
325       <email>kranganathan@fb.com</email>
326       <timezone>-8</timezone>
327     </developer>
328     <developer>
329       <id>larsgeorge</id>
330       <name>Lars George</name>
331       <email>larsgeorge@apache.org</email>
332       <timezone>+1</timezone>
333     </developer>
334     <developer>
335       <id>larsh</id>
336       <name>Lars Hofhansl</name>
337       <email>larsh@apache.org</email>
338       <timezone>-8</timezone>
339     </developer>
340     <developer>
341       <id>liangxie</id>
342       <name>Liang Xie</name>
343       <email>liangxie@apache.org</email>
344       <timezone>+8</timezone>
345     </developer>
346     <developer>
347       <id>liushaohui</id>
348       <name>Shaohui Liu</name>
349       <email>liushaohui@apache.org</email>
350       <timezone>+8</timezone>
351     </developer>
352     <developer>
353       <id>liyin</id>
354       <name>Liyin Tang</name>
355       <email>liyin.tang@fb.com</email>
356       <timezone>-8</timezone>
357     </developer>
358     <developer>
359       <id>liyu</id>
360       <name>Yu Li</name>
361       <email>liyu@apache.org</email>
362       <timezone>+8</timezone>
363     </developer>
364     <developer>
365       <id>mbautin</id>
366       <name>Mikhail Bautin</name>
367       <email>mbautin@apache.org</email>
368       <timezone>-8</timezone>
369     </developer>
370     <developer>
371       <id>mbertozzi</id>
372       <name>Matteo Bertozzi</name>
373       <email>mbertozzi@apache.org</email>
374       <timezone>0</timezone>
375     </developer>
376     <developer>
377       <id>misty</id>
378       <name>Misty Stanley-Jones</name>
379       <email>misty@apache.org</email>
380       <timezone>+10</timezone>
381     </developer>
382     <developer>
383       <id>ndimiduk</id>
384       <name>Nick Dimiduk</name>
385       <email>ndimiduk@apache.org</email>
386       <timezone>-8</timezone>
387     </developer>
388     <developer>
389       <id>nkeywal</id>
390       <name>Nicolas Liochon</name>
391       <email>nkeywal@apache.org</email>
392       <timezone>+1</timezone>
393     </developer>
394     <developer>
395       <id>nspiegelberg</id>
396       <name>Nicolas Spiegelberg</name>
397       <email>nspiegelberg@fb.com</email>
398       <timezone>-8</timezone>
399     </developer>
400     <developer>
401       <id>octo47</id>
402       <name>Andrey Stepachev</name>
403       <email>octo47@gmail.com</email>
404       <timezone>0</timezone>
405     </developer>
406     <developer>
407       <id>rajeshbabu</id>
408       <name>Rajeshbabu Chintaguntla</name>
409       <email>rajeshbabu@apache.org</email>
410       <timezone>+5</timezone>
411     </developer>
412     <developer>
413       <id>ramkrishna</id>
414       <name>Ramkrishna S Vasudevan</name>
415       <email>ramkrishna@apache.org</email>
416       <timezone>+5</timezone>
417     </developer>
418     <developer>
419       <id>rawson</id>
420       <name>Ryan Rawson</name>
421       <email>rawson@apache.org</email>
422       <timezone>-8</timezone>
423     </developer>
424     <developer>
425       <id>sershe</id>
426       <name>Sergey Shelukhin</name>
427       <email>sershe@apache.org</email>
428       <timezone>-8</timezone>
429     </developer>
430     <developer>
431       <id>ssrungarapu</id>
432       <name>Srikanth Srungarapu</name>
433       <email>ssrungarapu@apache.org</email>
434       <timezone>-8</timezone>
435     </developer>
436     <developer>
437       <id>stack</id>
438       <name>Michael Stack</name>
439       <email>stack@apache.org</email>
440       <timezone>-8</timezone>
441     </developer>
442     <developer>
443       <id>syuanjiang</id>
444       <name>Stephen Yuan Jiang</name>
445       <email>syuanjiang@apache.org</email>
446       <timezone>-8</timezone>
447     </developer>
448     <developer>
449       <id>tedyu</id>
450       <name>Ted Yu</name>
451       <email>yuzhihong@gmail.com</email>
452       <timezone>-8</timezone>
453     </developer>
454     <developer>
455       <id>todd</id>
456       <name>Todd Lipcon</name>
457       <email>todd@apache.org</email>
458       <timezone>-8</timezone>
459     </developer>
460     <developer>
461       <id>toffer</id>
462       <name>Francis Liu</name>
463       <email>toffer@apache.org</email>
464       <timezone>-8</timezone>
465     </developer>
466     <developer>
467       <id>virag</id>
468       <name>Virag Kothari</name>
469       <email>virag@yahoo-inc.com</email>
470       <timezone>-8</timezone>
471     </developer>
472     <developer>
473       <id>yangzhe1991</id>
474       <name>Phil Yang</name>
475       <email>yangzhe1991@apache.org</email>
476       <timezone>+8</timezone>
477     </developer>
478     <developer>
479       <id>zghao</id>
480       <name>Guanghao Zhang</name>
481       <email>zghao@apache.org</email>
482       <timezone>+8</timezone>
483     </developer>
484     <developer>
485       <id>zhangduo</id>
486       <name>Duo Zhang</name>
487       <email>zhangduo@apache.org</email>
488       <timezone>+8</timezone>
489     </developer>
490     <developer>
491       <id>zjushch</id>
492       <name>Chunhui Shen</name>
493       <email>zjushch@apache.org</email>
494       <timezone>+8</timezone>
495     </developer>
496   </developers>
497   <build>
498     <extensions>
499       <extension>
500         <groupId>kr.motd.maven</groupId>
501         <artifactId>os-maven-plugin</artifactId>
502         <version>1.5.0.Final</version>
503       </extension>
504     </extensions>
505     <pluginManagement>
506       <plugins>
507         <plugin>
508           <groupId>org.apache.maven.plugins</groupId>
509            <artifactId>maven-javadoc-plugin</artifactId>
510            <version>${javadoc.version}</version>
511         </plugin>
512         <plugin>
513           <groupId>org.apache.maven.plugins</groupId>
514           <artifactId>maven-remote-resources-plugin</artifactId>
515           <version>1.5</version>
516         </plugin>
517         <plugin>
518           <groupId>org.apache.maven.plugins</groupId>
519           <artifactId>maven-shade-plugin</artifactId>
520           <version>2.4.1</version>
521         </plugin>
522         <plugin>
523           <groupId>org.apache.maven.plugins</groupId>
524           <artifactId>maven-release-plugin</artifactId>
525           <configuration>
526             <!--You need this profile. It'll sign your artifacts.
527                 I'm not sure if this config. actually works though.
528                 I've been specifying -Papache-release on the command-line
529              -->
530             <releaseProfiles>apache-release</releaseProfiles>
531             <!--This stops our running tests for each stage of maven release.
532                 But it builds the test jar.  From SUREFIRE-172.
533               -->
534             <arguments>-Dmaven.test.skip.exec ${arguments}</arguments>
535             <goals>${goals}</goals>
536             <pomFileName>pom.xml</pomFileName>
537           </configuration>
538         </plugin>
539         <plugin>
540           <groupId>org.apache.maven.plugins</groupId>
541           <artifactId>maven-compiler-plugin</artifactId>
542           <version>3.2</version>
543           <configuration>
544             <source>${compileSource}</source>
545             <target>${compileSource}</target>
546             <showWarnings>true</showWarnings>
547             <showDeprecation>false</showDeprecation>
548             <useIncrementalCompilation>false</useIncrementalCompilation>
549             <compilerArgument>-Xlint:-options</compilerArgument>
550           </configuration>
551         </plugin>
552         <!-- Test oriented plugins -->
553         <plugin>
554           <groupId>org.apache.maven.plugins</groupId>
555           <artifactId>maven-surefire-plugin</artifactId>
556           <version>${surefire.version}</version>
557           <dependencies>
558             <!-- by default surefire selects dynamically the connector to the unit tests
559               tool. We want to use always the same as the different connectors can have different
560               bugs and behaviour. -->
561             <dependency>
562               <groupId>org.apache.maven.surefire</groupId>
563               <artifactId>${surefire.provider}</artifactId>
564               <version>${surefire.version}</version>
565             </dependency>
566           </dependencies>
567           <!-- Generic testing configuration for all packages -->
568           <configuration>
569             <groups>${surefire.firstPartGroups}</groups>
570             <failIfNoTests>false</failIfNoTests>
571             <skip>${surefire.skipFirstPart}</skip>
572             <forkCount>${surefire.firstPartForkCount}</forkCount>
573             <reuseForks>false</reuseForks>
574             <testFailureIgnore>${surefire.testFailureIgnore}</testFailureIgnore>
575             <forkedProcessTimeoutInSeconds>${surefire.timeout}</forkedProcessTimeoutInSeconds>
576             <redirectTestOutputToFile>${test.output.tofile}</redirectTestOutputToFile>
577             <systemPropertyVariables>
578               <test.build.classes>${test.build.classes}</test.build.classes>
579             </systemPropertyVariables>
581             <excludes>
582               <!-- users can add -D option to skip particular test classes
583                    ex: mvn test -Dtest.exclude.pattern=**/TestFoo.java,**/TestBar.java
584               -->
585               <exclude>${test.exclude.pattern}</exclude>
586             </excludes>
587           </configuration>
588           <executions>
589             <execution>
590               <id>secondPartTestsExecution</id>
591               <phase>test</phase>
592               <goals>
593                 <goal>test</goal>
594               </goals>
595               <configuration>
596                 <skip>${surefire.skipSecondPart}</skip>
597                 <testFailureIgnore>${surefire.testFailureIgnore}</testFailureIgnore>
598                 <reuseForks>false</reuseForks>
599                 <forkCount>${surefire.secondPartForkCount}</forkCount>
600                 <groups>${surefire.secondPartGroups}</groups>
601                 <forkedProcessTimeoutInSeconds>${surefire.timeout}</forkedProcessTimeoutInSeconds>
602               </configuration>
603             </execution>
604           </executions>
605         </plugin>
606         <plugin>
607           <groupId>org.apache.maven.plugins</groupId>
608           <artifactId>maven-surefire-report-plugin</artifactId>
609           <version>${surefire.version}</version>
610         </plugin>
611         <plugin>
612           <groupId>org.apache.maven.plugins</groupId>
613           <artifactId>maven-clean-plugin</artifactId>
614           <configuration>
615             <filesets>
616               <fileset>
617                 <!--dfs tests have build dir hardcoded. Clean it as part of
618                clean target-->
619                 <directory>build</directory>
620               </fileset>
621             </filesets>
622           </configuration>
623         </plugin>
624         <plugin>
625           <groupId>org.codehaus.mojo</groupId>
626           <artifactId>buildnumber-maven-plugin</artifactId>
627           <version>1.3</version>
628         </plugin>
629         <plugin>
630           <groupId>org.codehaus.mojo</groupId>
631           <artifactId>findbugs-maven-plugin</artifactId>
632           <version>3.0.0</version>
633           <!--NOTE: Findbugs 3.0.0 requires jdk7-->
634           <configuration>
635             <excludeFilterFile>${project.basedir}/../dev-support/findbugs-exclude.xml</excludeFilterFile>
636             <findbugsXmlOutput>true</findbugsXmlOutput>
637             <xmlOutput>true</xmlOutput>
638             <effort>Max</effort>
639           </configuration>
640         </plugin>
641         <plugin>
642           <groupId>org.codehaus.mojo</groupId>
643           <artifactId>build-helper-maven-plugin</artifactId>
644           <version>1.9.1</version>
645         </plugin>
646         <plugin>
647           <artifactId>maven-antrun-plugin</artifactId>
648           <version>${maven.antrun.version}</version>
649         </plugin>
650         <plugin>
651           <groupId>org.jamon</groupId>
652           <artifactId>jamon-maven-plugin</artifactId>
653           <version>${jamon.plugin.version}</version>
654         </plugin>
655         <!-- Make a jar and put the sources in the jar.
656         In the parent pom, so submodules will do the right thing. -->
657         <plugin>
658           <groupId>org.apache.maven.plugins</groupId>
659           <artifactId>maven-source-plugin</artifactId>
660           <executions>
661             <execution>
662               <id>attach-sources</id>
663               <phase>prepare-package</phase>
664               <goals>
665                 <goal>jar-no-fork</goal>
666               </goals>
667             </execution>
668           </executions>
669         </plugin>
670         <!-- General configuration for submodules who want to build a test jar -->
671         <plugin>
672           <groupId>org.apache.maven.plugins</groupId>
673           <artifactId>maven-jar-plugin</artifactId>
674           <executions>
675             <execution>
676               <phase>prepare-package</phase>
677               <goals>
678                   <!--This goal will install a -test.jar when we do install
679                       See http://maven.apache.org/guides/mini/guide-attached-tests.html
680                    -->
681                 <goal>test-jar</goal>
682               </goals>
683             </execution>
684           </executions>
685           <configuration>
686             <skipIfEmpty>true</skipIfEmpty>
687             <excludes>
688               <exclude>hbase-site.xml</exclude>
689               <exclude>hdfs-site.xml</exclude>
690               <exclude>log4j.properties</exclude>
691               <exclude>mapred-queues.xml</exclude>
692               <exclude>mapred-site.xml</exclude>
693               <!--I was seeing this w/o the below addition:
694                    [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]
695                 -->
696               <exclude>*.jar</exclude>
697             </excludes>
698           </configuration>
699         </plugin>
700         <!-- General config for eclipse classpath/settings -->
701         <plugin>
702           <groupId>org.apache.maven.plugins</groupId>
703           <artifactId>maven-eclipse-plugin</artifactId>
704           <version>2.9</version>
705         </plugin>
706         <!--This plugin's configuration is used to store Eclipse m2e settings
707             only. It has no influence on the Maven build itself. m2e does not
708             provide any safeguards against rogue maven plugins that leak
709             classloaders, modify random files inside workspace or throw nasty
710             exceptions to fail the build.
711             Top level doesn't do any specific configuration currently - left
712             to modules to decide what they want to bind, sans those plugins
713             defined in this pom. -->
714         <plugin>
715           <groupId>org.eclipse.m2e</groupId>
716           <artifactId>lifecycle-mapping</artifactId>
717           <version>1.0.0</version>
718           <configuration>
719             <lifecycleMappingMetadata>
720               <pluginExecutions>
721                 <pluginExecution>
722                   <pluginExecutionFilter>
723                     <groupId>org.jacoco</groupId>
724                     <artifactId>jacoco-maven-plugin</artifactId>
725                     <versionRange>[0.6.2.201302030002,)</versionRange>
726                     <goals>
727                       <goal>prepare-agent</goal>
728                     </goals>
729                   </pluginExecutionFilter>
730                   <action>
731                     <ignore></ignore>
732                   </action>
733                 </pluginExecution>
734                 <pluginExecution>
735                   <pluginExecutionFilter>
736                     <groupId>org.apache.maven.plugins</groupId>
737                     <artifactId>maven-enforcer-plugin</artifactId>
738                     <versionRange>[1.0.1,)</versionRange>
739                     <goals>
740                       <goal>enforce</goal>
741                     </goals>
742                   </pluginExecutionFilter>
743                   <action>
744                     <ignore />
745                   </action>
746                 </pluginExecution>
747                 <pluginExecution>
748                   <pluginExecutionFilter>
749                     <groupId>org.apache.maven.plugins</groupId>
750                     <artifactId>maven-remote-resources-plugin</artifactId>
751                     <versionRange>[1.5,)</versionRange>
752                     <goals>
753                       <goal>process</goal>
754                       <goal>bundle</goal>
755                     </goals>
756                   </pluginExecutionFilter>
757                   <action>
758                     <ignore />
759                   </action>
760                 </pluginExecution>
761                   <pluginExecution>
762                     <pluginExecutionFilter>
763                       <groupId>org.codehaus.mojo</groupId>
764                       <artifactId>buildnumber-maven-plugin</artifactId>
765                       <versionRange>[1.3,)</versionRange>
766                       <goals>
767                         <goal>create-timestamp</goal>
768                       </goals>
769                     </pluginExecutionFilter>
770                     <action>
771                       <execute>
772                         <runOnConfiguration>true</runOnConfiguration>
773                         <runOnIncremental>true</runOnIncremental>
774                       </execute>
775                     </action>
776                   </pluginExecution>
777               </pluginExecutions>
778             </lifecycleMappingMetadata>
779           </configuration>
780         </plugin>
781         <plugin>
782           <!-- excludes are inherited -->
783           <groupId>org.apache.rat</groupId>
784           <artifactId>apache-rat-plugin</artifactId>
785           <version>0.11</version>
786           <configuration>
787             <excludes>
788               <exclude>**/*.versionsBackup</exclude>
789               <exclude>**/*.log</exclude>
790               <exclude>**/.*</exclude>
791               <exclude>**/*.tgz</exclude>
792               <exclude>**/*.orig</exclude>
793               <exclude>**/8e8ab58dcf39412da19833fcd8f687ac</exclude>
794               <exclude>**/a6a6562b777440fd9c34885428f5cb61.21e75333ada3d5bafb34bb918f29576c</exclude>
795               <exclude>**/0000000000000016310</exclude>
796               <exclude>**/.idea/**</exclude>
797               <exclude>**/*.iml</exclude>
798               <exclude>**/CHANGES.txt</exclude>
799               <exclude>**/generated/**</exclude>
800               <exclude>**/gen-*/**</exclude>
801               <!-- No material contents -->
802               <exclude>conf/regionservers</exclude>
803               <exclude>**/*.avpr</exclude>
804               <exclude>**/*.svg</exclude>
805               <!-- non-standard notice file from jruby included by reference -->
806               <exclude>**/src/main/resources/META-INF/LEGAL</exclude>
807               <!-- MIT: https://github.com/asciidoctor/asciidoctor/blob/master/LICENSE.adoc -->
808               <exclude>**/src/main/asciidoc/hbase.css</exclude>
809               <!-- MIT http://jquery.org/license -->
810               <exclude>**/jquery.min.js</exclude>
811               <!-- vector graphics -->
812               <exclude>**/*.vm</exclude>
813               <!-- apache doxia generated -->
814               <exclude>**/control</exclude>
815               <exclude>**/conffile</exclude>
816               <!-- auto-gen docs -->
817               <exclude>docs/*</exclude>
818               <exclude>logs/*</exclude>
819               <!--  exclude source control files -->
820               <exclude>.git/**</exclude>
821               <exclude>.svn/**</exclude>
822               <exclude>**/.settings/**</exclude>
823               <exclude>**/patchprocess/**</exclude>
824               <exclude>src/main/site/resources/repo/**</exclude>
825               <exclude>**/dependency-reduced-pom.xml</exclude>
826               <exclude>**/rat.txt</exclude>
827               <!-- exclude the shaded protobuf files -->
828               <exclude>**/shaded/com/google/protobuf/**</exclude>
829               <exclude>**/src/main/patches/**</exclude>
830             </excludes>
831           </configuration>
832         </plugin>
833         <plugin>
834           <artifactId>maven-assembly-plugin</artifactId>
835           <version>${maven.assembly.version}</version>
836           <configuration>
837             <!--Defer to the hbase-assembly sub-module.  It
838              does all assembly-->
839             <skipAssembly>true</skipAssembly>
840           </configuration>
841         </plugin>
842         <plugin>
843           <groupId>org.xolstice.maven.plugins</groupId>
844           <artifactId>protobuf-maven-plugin</artifactId>
845           <version>${protobuf.plugin.version}</version>
846           <configuration>
847             <protocArtifact>com.google.protobuf:protoc:${external.protobuf.version}:exe:${os.detected.classifier}</protocArtifact>
848             <protoSourceRoot>${basedir}/src/main/protobuf/</protoSourceRoot>
849             <outputDirectory>${basedir}/src/main/java/</outputDirectory>
850             <clearOutputDirectory>false</clearOutputDirectory>
851             <checkStaleness>true</checkStaleness>
852           </configuration>
853         </plugin>
854         <plugin>
855           <groupId>org.apache.maven.plugins</groupId>
856           <artifactId>maven-checkstyle-plugin</artifactId>
857           <version>2.17</version>
858           <dependencies>
859             <dependency>
860               <groupId>org.apache.hbase</groupId>
861               <artifactId>hbase-checkstyle</artifactId>
862               <version>${project.version}</version>
863             </dependency>
864             <dependency>
865               <groupId>com.puppycrawl.tools</groupId>
866               <artifactId>checkstyle</artifactId>
867               <version>${checkstyle.version}</version>
868             </dependency>
869           </dependencies>
870           <configuration>
871             <configLocation>hbase/checkstyle.xml</configLocation>
872             <suppressionsLocation>hbase/checkstyle-suppressions.xml</suppressionsLocation>
873           </configuration>
874         </plugin>
875       </plugins>
876     </pluginManagement>
877     <plugins>
878       <plugin>
879         <groupId>org.apache.maven.plugins</groupId>
880         <artifactId>maven-enforcer-plugin</artifactId>
881         <version>1.4</version>
882         <dependencies>
883           <dependency>
884             <groupId>org.codehaus.mojo</groupId>
885             <artifactId>extra-enforcer-rules</artifactId>
886             <version>${extra.enforcer.version}</version>
887           </dependency>
888         </dependencies>
889         <!-- version set by parent -->
890         <executions>
891           <execution>
892             <id>min-maven-min-java-banned-xerces</id>
893             <goals>
894               <goal>enforce</goal>
895             </goals>
896             <configuration>
897               <rules>
898                 <!-- The earliest maven version we verify builds for via ASF Jenkins -->
899                 <requireMavenVersion>
900                   <version>[${maven.min.version},)</version>
901                   <message>Maven is out of date.
902   HBase requires at least version ${maven.min.version} of Maven to properly build from source.
903   You appear to be using an older version. You can use either "mvn -version" or
904   "mvn enforcer:display-info" to verify what version is active.
905   See the reference guide on building for more information: http://hbase.apache.org/book.html#build
906                   </message>
907                 </requireMavenVersion>
908                 <!-- The earliest JVM version we verify builds for via ASF Jenkins -->
909                 <requireJavaVersion>
910                   <version>[${java.min.version},)</version>
911                   <message>Java is out of date.
912   HBase requirs at least version ${java.min.version} of the JDK to properly build from source.
913   You appear to be using an older version. You can use either "mvn -version" or
914   "mvn enforcer:display-info" to verify what version is active.
915   See the reference guide on building for more information: http://hbase.apache.org/book.html#build
916                   </message>
917                 </requireJavaVersion>
918                 <bannedDependencies>
919                   <excludes>
920                     <exclude>xerces:xercesImpl</exclude>
921                   </excludes>
922                   <message>We avoid adding our own Xerces jars to the classpath, see HBASE-16340.</message>
923                 </bannedDependencies>
924               </rules>
925             </configuration>
926           </execution>
927           <execution>
928             <id>banned-jsr305</id>
929             <goals>
930               <goal>enforce</goal>
931             </goals>
932             <configuration>
933               <rules>
934                 <bannedDependencies>
935                   <excludes>
936                     <exclude>com.google.code.findbugs:jsr305</exclude>
937                   </excludes>
938                   <message>We don't allow the JSR305 jar from the Findbugs project, see HBASE-16321.</message>
939                 </bannedDependencies>
940               </rules>
941             </configuration>
942           </execution>
943         </executions>
944       </plugin>
945       <!-- parent-module only plugins -->
946       <plugin>
947         <groupId>org.codehaus.mojo</groupId>
948         <artifactId>xml-maven-plugin</artifactId>
949         <version>1.0</version>
950         <inherited>false</inherited>
951         <executions>
952           <execution>
953             <!-- Run the hbase-default.xml through a stylesheet so can show it in doc-->
954             <goals>
955               <goal>transform</goal>
956             </goals>
957             <phase>site</phase>
958           </execution>
959         </executions>
960         <configuration>
961           <transformationSets>
962             <!-- For asciidoc -->
963             <transformationSet>
964               <!--Reaching up and over into common sub-module for hbase-default.xml-->
965               <dir>${basedir}/hbase-common/src/main/resources/</dir>
966               <includes>
967                 <include>hbase-default.xml</include>
968               </includes>
969               <stylesheet>${basedir}/src/main/xslt/configuration_to_asciidoc_chapter.xsl</stylesheet>
970               <fileMappers>
971                 <fileMapper implementation="org.codehaus.plexus.components.io.filemappers.RegExpFileMapper">
972                   <pattern>^(.*)\.xml$</pattern>
973                   <replacement>$1.adoc</replacement>
974                 </fileMapper>
975               </fileMappers>
976               <outputDir>${basedir}/target/asciidoc</outputDir>
977             </transformationSet>
978           </transformationSets>
979         </configuration>
980       </plugin>
981       <!-- Special configuration for findbugs just in the parent so
982       the filter file location can be more general (see definition in pluginManagement) -->
983       <plugin>
984         <groupId>org.codehaus.mojo</groupId>
985         <artifactId>findbugs-maven-plugin</artifactId>
986         <executions>
987           <execution>
988             <inherited>false</inherited>
989             <goals>
990               <goal>findbugs</goal>
991             </goals>
992             <configuration>
993               <excludeFilterFile>${basedir}/dev-support/findbugs-exclude.xml</excludeFilterFile>
994             </configuration>
995           </execution>
996         </executions>
997       </plugin>
998       <plugin>
999         <groupId>org.apache.maven.plugins</groupId>
1000         <artifactId>maven-checkstyle-plugin</artifactId>
1001         <dependencies>
1002           <dependency>
1003             <groupId>org.apache.hbase</groupId>
1004             <artifactId>hbase-checkstyle</artifactId>
1005             <version>${project.version}</version>
1006           </dependency>
1007           <dependency>
1008             <groupId>com.puppycrawl.tools</groupId>
1009             <artifactId>checkstyle</artifactId>
1010             <version>${checkstyle.version}</version>
1011           </dependency>
1012         </dependencies>
1013         <configuration>
1014           <configLocation>hbase/checkstyle.xml</configLocation>
1015           <suppressionsLocation>hbase/checkstyle-suppressions.xml</suppressionsLocation>
1016         </configuration>
1017       </plugin>
1018       <plugin>
1019         <groupId>org.apache.maven.plugins</groupId>
1020         <artifactId>maven-site-plugin</artifactId>
1021         <version>3.4</version>
1022         <inherited>false</inherited>
1023         <dependencies>
1024           <dependency>
1025             <!-- add support for ssh/scp -->
1026             <groupId>org.apache.maven.wagon</groupId>
1027             <artifactId>wagon-ssh</artifactId>
1028             <version>2.2</version>
1029           </dependency>
1030         </dependencies>
1031         <configuration>
1032           <siteDirectory>${basedir}/src/main/site</siteDirectory>
1033           <customBundle>${basedir}/src/main/site/custom/project-info-report.properties</customBundle>
1034           <inputEncoding>UTF-8</inputEncoding>
1035           <outputEncoding>UTF-8</outputEncoding>
1036         </configuration>
1037       </plugin>
1038       <!-- For AsciiDoc docs building -->
1039       <plugin>
1040         <groupId>org.asciidoctor</groupId>
1041         <artifactId>asciidoctor-maven-plugin</artifactId>
1042         <version>${asciidoctor.plugin.version}</version>
1043         <inherited>false</inherited>
1044         <dependencies>
1045           <dependency>
1046             <groupId>org.asciidoctor</groupId>
1047             <artifactId>asciidoctorj-pdf</artifactId>
1048             <version>1.5.0-alpha.6</version>
1049           </dependency>
1050         </dependencies>
1051         <configuration>
1052           <outputDirectory>${project.reporting.outputDirectory}/</outputDirectory>
1053           <doctype>book</doctype>
1054           <imagesDir>images</imagesDir>
1055           <sourceHighlighter>coderay</sourceHighlighter>
1056           <attributes>
1057             <docVersion>${project.version}</docVersion>
1058           </attributes>
1059         </configuration>
1060         <executions>
1061           <execution>
1062             <id>output-html</id>
1063             <phase>site</phase>
1064             <goals>
1065               <goal>process-asciidoc</goal>
1066             </goals>
1067             <configuration>
1068               <attributes>
1069                 <stylesheet>hbase.css</stylesheet>
1070               </attributes>
1071               <backend>html5</backend>
1072             </configuration>
1073           </execution>
1074           <execution>
1075             <id>output-pdf</id>
1076             <phase>site</phase>
1077             <goals>
1078               <goal>process-asciidoc</goal>
1079             </goals>
1080             <configuration>
1081               <backend>pdf</backend>
1082               <attributes>
1083                 <pagenums/>
1084                 <toc/>
1085                 <idprefix/>
1086                 <idseparator>-</idseparator>
1087               </attributes>
1088             </configuration>
1089           </execution>
1090         </executions>
1091       </plugin>
1092       <plugin>
1093         <groupId>org.apache.maven.plugins</groupId>
1094         <artifactId>maven-resources-plugin</artifactId>
1095         <!--$NO-MVN-MAN-VER$ -->
1096         <inherited>false</inherited>
1097         <executions>
1098           <execution>
1099             <id>copy-htaccess</id>
1100             <goals>
1101               <goal>copy-resources</goal>
1102             </goals>
1103             <phase>site</phase>
1104             <configuration>
1105               <outputDirectory>${project.reporting.outputDirectory}/</outputDirectory>
1106               <resources>
1107                 <resource>
1108                   <directory>${basedir}/src/main/site/resources/</directory>
1109                   <includes>
1110                     <include>.htaccess</include>
1111                   </includes>
1112                 </resource>
1113               </resources>
1114             </configuration>
1115           </execution>
1116           <!-- needed to make the redirect above work -->
1117           <execution>
1118             <id>copy-empty-book-dir</id>
1119             <goals>
1120               <goal>copy-resources</goal>
1121             </goals>
1122             <phase>site</phase>
1123             <configuration>
1124               <outputDirectory>${project.reporting.outputDirectory}/</outputDirectory>
1125               <resources>
1126                 <resource>
1127                   <directory>${basedir}/src/main/site/resources/</directory>
1128                   <includes>
1129                     <include>book/**</include>
1130                   </includes>
1131                 </resource>
1132               </resources>
1133             </configuration>
1134           </execution>
1135         </executions>
1136         <configuration>
1137           <escapeString>\</escapeString>
1138         </configuration>
1139       </plugin>
1140       <plugin>
1141         <groupId>org.apache.maven.plugins</groupId>
1142         <artifactId>maven-antrun-plugin</artifactId>
1143         <version>${maven.antrun.version}</version>
1144         <inherited>false</inherited>
1145         <!-- Rename the book.pdf generated by asciidoctor -->
1146         <executions>
1147           <execution>
1148             <id>rename-pdf</id>
1149             <phase>site</phase>
1150             <configuration>
1151               <target name="rename file">
1152                 <move file="${project.reporting.outputDirectory}/book.pdf" tofile="${project.reporting.outputDirectory}/apache_hbase_reference_guide.pdf" />
1153                 <move file="${project.reporting.outputDirectory}/book.pdfmarks" tofile="${project.reporting.outputDirectory}/apache_hbase_reference_guide.pdfmarks" />
1154               </target>
1155             </configuration>
1156             <goals>
1157               <goal>run</goal>
1158             </goals>
1159           </execution>
1160         </executions>
1161       </plugin>
1162       <plugin>
1163         <groupId>org.codehaus.mojo</groupId>
1164         <artifactId>buildnumber-maven-plugin</artifactId>
1165         <executions>
1166           <execution>
1167             <phase>validate</phase>
1168             <goals>
1169               <goal>create-timestamp</goal>
1170             </goals>
1171           </execution>
1172         </executions>
1173         <configuration>
1174           <timestampFormat>yyyy</timestampFormat>
1175           <timestampPropertyName>build.year</timestampPropertyName>
1176         </configuration>
1177       </plugin>
1178       <plugin>
1179         <groupId>org.apache.felix</groupId>
1180         <artifactId>maven-bundle-plugin</artifactId>
1181         <version>2.5.3</version>
1182         <inherited>true</inherited>
1183         <extensions>true</extensions>
1184       </plugin>
1185       <plugin>
1186         <groupId>org.scala-tools</groupId>
1187         <artifactId>maven-scala-plugin</artifactId>
1188         <version>2.15.2</version>
1189       </plugin>
1190     </plugins>
1191   </build>
1192   <properties>
1193     <!-- override on command line to have generated LICENSE files include
1194          diagnostic info for verifying notice requirements -->
1195     <license.debug.print.included>false</license.debug.print.included>
1196     <!-- When a particular module bundles its depenendencies, should be true -->
1197     <license.bundles.dependencies>false</license.bundles.dependencies>
1198     <!-- modules that include a the logo in their source tree should set true -->
1199     <license.bundles.logo>false</license.bundles.logo>
1200     <!-- modules that include bootstrap in their source tree should set true -->
1201     <license.bundles.bootstrap>false</license.bundles.bootstrap>
1202     <!-- modules that include jquery in their source tree should set true -->
1203     <license.bundles.jquery>false</license.bundles.jquery>
1204     <tar.name>${project.build.finalName}.tar.gz</tar.name>
1205     <maven.build.timestamp.format>
1206       yyyy-MM-dd'T'HH:mm
1207     </maven.build.timestamp.format>
1208     <buildDate>${maven.build.timestamp}</buildDate>
1209     <compileSource>1.8</compileSource>
1210     <!-- Build dependencies -->
1211     <maven.min.version>3.0.4</maven.min.version>
1212     <java.min.version>${compileSource}</java.min.version>
1213     <!-- Dependencies -->
1214     <hadoop-two.version>2.7.1</hadoop-two.version>
1215     <hadoop-three.version>3.0.0-alpha1</hadoop-three.version>
1216     <!-- These must be defined here for downstream build tools that don't look at profiles.
1217          They ought to match the values found in our default hadoop profile, which is
1218          currently "hadoop-2.0". See HBASE-15925 for more info. -->
1219     <hadoop.version>${hadoop-two.version}</hadoop.version>
1220     <compat.module>hbase-hadoop2-compat</compat.module>
1221     <assembly.file>src/main/assembly/hadoop-two-compat.xml</assembly.file>
1222     <!-- end HBASE-15925 default hadoop compatibility values -->
1223     <commons-cli.version>1.3.1</commons-cli.version>
1224     <commons-codec.version>1.9</commons-codec.version>
1225     <!-- pretty outdated -->
1226     <commons-io.version>2.4</commons-io.version>
1227     <commons-lang.version>2.6</commons-lang.version>
1228     <commons-logging.version>1.2</commons-logging.version>
1229     <commons-math.version>2.2</commons-math.version>
1230     <commons-net.version>3.1</commons-net.version>
1231     <disruptor.version>3.3.6</disruptor.version>
1232     <!-- Do not use versions earlier than 3.2.2 due to a security vulnerability -->
1233     <collections.version>3.2.2</collections.version>
1234     <httpclient.version>4.5.2</httpclient.version>
1235     <httpcore.version>4.4.4</httpcore.version>
1236     <metrics-core.version>3.1.2</metrics-core.version>
1237     <guava.version>12.0.1</guava.version>
1238     <jackson.version>1.9.13</jackson.version>
1239     <jasper.version>5.5.23</jasper.version>
1240     <jaxb-api.version>2.2.2</jaxb-api.version>
1241     <jetty.version>6.1.26</jetty.version>
1242     <jetty.jspapi.version>6.1.14</jetty.jspapi.version>
1243     <jersey.version>1.9</jersey.version>
1244     <jruby.version>1.6.8</jruby.version>
1245     <junit.version>4.12</junit.version>
1246     <hamcrest.version>1.3</hamcrest.version>
1247     <htrace.version>3.1.0-incubating</htrace.version>
1248     <log4j.version>1.2.17</log4j.version>
1249     <mockito-all.version>1.10.8</mockito-all.version>
1250     <!--Internally we use a different version of protobuf. See hbase-protocol-shaded-->
1251     <external.protobuf.version>2.5.0</external.protobuf.version>
1252     <protobuf.plugin.version>0.5.0</protobuf.plugin.version>
1253     <thrift.path>thrift</thrift.path>
1254     <thrift.version>0.9.3</thrift.version>
1255     <zookeeper.version>3.4.8</zookeeper.version>
1256     <slf4j.version>1.7.7</slf4j.version>
1257     <clover.version>4.0.3</clover.version>
1258     <jamon-runtime.version>2.4.1</jamon-runtime.version>
1259     <jettison.version>1.3.3</jettison.version>
1260     <netty.version>4.1.1.Final</netty.version>
1261     <netty.hadoop.version>3.6.2.Final</netty.hadoop.version>
1262     <joni.version>2.1.2</joni.version>
1263     <jcodings.version>1.0.8</jcodings.version>
1264     <spy.version>2.11.6</spy.version>
1265     <bouncycastle.version>1.46</bouncycastle.version>
1266     <kerby.version>1.0.0-RC2</kerby.version>
1267     <commons-crypto.version>1.0.0</commons-crypto.version>
1268     <curator.version>2.11.0</curator.version>
1269     <!-- Plugin Dependencies -->
1270     <maven.assembly.version>2.4</maven.assembly.version>
1271     <maven.antrun.version>1.8</maven.antrun.version>
1272     <jamon.plugin.version>2.4.1</jamon.plugin.version>
1273     <findbugs-annotations>1.3.9-1</findbugs-annotations>
1274     <checkstyle.version>6.18</checkstyle.version>
1275     <javadoc.version>2.10.3</javadoc.version>
1276     <asciidoctor.plugin.version>1.5.2.1</asciidoctor.plugin.version>
1277     <!-- General Packaging -->
1278     <package.prefix>/usr</package.prefix>
1279     <package.conf.dir>/etc/hbase</package.conf.dir>
1280     <package.log.dir>/var/log/hbase</package.log.dir>
1281     <package.pid.dir>/var/run/hbase</package.pid.dir>
1282     <package.release>1</package.release>
1283     <final.name>${project.artifactId}-${project.version}</final.name>
1284     <!-- Intraproject jar naming properties -->
1285     <!-- TODO this is pretty ugly, but works for the moment.
1286       Modules are pretty heavy-weight things, so doing this work isn't too bad. -->
1287     <server.test.jar>hbase-server-${project.version}-tests.jar</server.test.jar>
1288     <common.test.jar>hbase-common-${project.version}-tests.jar</common.test.jar>
1289     <procedure.test.jar>hbase-procedure-${project.version}-tests.jar</procedure.test.jar>
1290     <it.test.jar>hbase-it-${project.version}-tests.jar</it.test.jar>
1291     <annotations.test.jar>hbase-annotations-${project.version}-tests.jar</annotations.test.jar>
1292     <rsgroup.test.jar>hbase-rsgroup-${project.version}-tests.jar</rsgroup.test.jar>
1293     <surefire.version>2.18.1</surefire.version>
1294     <surefire.provider>surefire-junit47</surefire.provider>
1295     <!-- default: run small & medium, medium with 2 threads -->
1296     <surefire.skipFirstPart>false</surefire.skipFirstPart>
1297     <surefire.skipSecondPart>false</surefire.skipSecondPart>
1298     <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
1299     <surefire.secondPartForkCount>2</surefire.secondPartForkCount>
1300     <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.SmallTests</surefire.firstPartGroups>
1301     <surefire.secondPartGroups>org.apache.hadoop.hbase.testclassification.MediumTests</surefire.secondPartGroups>
1302     <surefire.testFailureIgnore>false</surefire.testFailureIgnore>
1303     <test.output.tofile>true</test.output.tofile>
1304     <surefire.timeout>900</surefire.timeout>
1305     <test.exclude.pattern></test.exclude.pattern>
1306     <!-- default Xmx value is 2800m. Use -Dsurefire.Xmx=xxg to run tests with different JVM Xmx value -->
1307     <surefire.Xmx>2800m</surefire.Xmx>
1308     <surefire.cygwinXmx>2800m</surefire.cygwinXmx>
1309     <!--Mark our test runs with '-Dhbase.build.id' so we can identify a surefire test as ours in a process listing
1310      -->
1311     <hbase-surefire.argLine>-enableassertions -Dhbase.build.id=${build.id} -Xmx${surefire.Xmx}
1312       -Djava.security.egd=file:/dev/./urandom -Djava.net.preferIPv4Stack=true
1313       -Djava.awt.headless=true
1314     </hbase-surefire.argLine>
1315     <hbase-surefire.cygwin-argLine>-enableassertions -Xmx${surefire.cygwinXmx}
1316       -Djava.security.egd=file:/dev/./urandom -Djava.net.preferIPv4Stack=true
1317       "-Djava.library.path=${hadoop.library.path};${java.library.path}"
1318     </hbase-surefire.cygwin-argLine>
1319     <!-- Surefire argLine defaults to Linux, cygwin argLine is used in the os.windows profile -->
1320     <argLine>${hbase-surefire.argLine}</argLine>
1321     <jacoco.version>0.7.5.201505241946</jacoco.version>
1322     <extra.enforcer.version>1.0-beta-3</extra.enforcer.version>
1323     <!-- Location of test resources -->
1324     <test.build.classes>${project.build.directory}/test-classes</test.build.classes>
1325     <maven.build.timestamp.format>yyyy-MM-dd'T'HH:mm:ss'Z'</maven.build.timestamp.format>
1326     <!--This build.id we'll add as flag so can identify which forked processes belong to our build.
1327         Default is the build start timestamp. Up on jenkins pass in the jenkins build id by setting
1328         this parameter by invoking mvn with -Dbuild.id=$BUILD_ID-->
1329     <build.id>${maven.build.timestamp}</build.id>
1330     </properties>
1331   <!-- Sorted by groups of dependencies then groupId and artifactId -->
1332   <dependencyManagement>
1333     <dependencies>
1334       <!--
1335       Note: There are a few exclusions to prevent duplicate code in different jars to be included:
1336           org.mortbay.jetty:servlet-api, javax.servlet:servlet-api: These are excluded because they are
1337           the same implementations. I chose org.mortbay.jetty:servlet-api-2.5 instead, which is a third
1338           implementation of the same, because Hadoop also uses this version
1339           javax.servlet:jsp-api in favour of org.mortbay.jetty:jsp-api-2.1
1340         -->
1341       <!-- Intra-module dependencies -->
1342       <dependency>
1343         <groupId>org.apache.hbase</groupId>
1344         <artifactId>hbase-annotations</artifactId>
1345         <version>${project.version}</version>
1346       </dependency>
1347       <dependency>
1348         <groupId>org.apache.hbase</groupId>
1349         <artifactId>hbase-annotations</artifactId>
1350         <version>${project.version}</version>
1351         <type>test-jar</type>
1352         <!--Was test scope only but if we want to run hbase-it tests, need the annotations test jar-->
1353       </dependency>
1354       <dependency>
1355         <groupId>org.apache.hbase</groupId>
1356         <artifactId>hbase-common</artifactId>
1357         <version>${project.version}</version>
1358       </dependency>
1359       <dependency>
1360         <groupId>org.apache.hbase</groupId>
1361         <artifactId>hbase-common</artifactId>
1362         <version>${project.version}</version>
1363         <type>test-jar</type>
1364         <scope>test</scope>
1365       </dependency>
1366       <dependency>
1367         <groupId>org.apache.hbase</groupId>
1368         <artifactId>hbase-protocol-shaded</artifactId>
1369         <version>${project.version}</version>
1370       </dependency>
1371       <dependency>
1372         <groupId>org.apache.hbase</groupId>
1373         <artifactId>hbase-protocol</artifactId>
1374         <version>${project.version}</version>
1375       </dependency>
1376       <dependency>
1377         <groupId>org.apache.hbase</groupId>
1378         <artifactId>hbase-procedure</artifactId>
1379         <version>${project.version}</version>
1380       </dependency>
1381       <dependency>
1382         <groupId>org.apache.hbase</groupId>
1383         <artifactId>hbase-procedure</artifactId>
1384         <version>${project.version}</version>
1385         <type>test-jar</type>
1386       </dependency>
1387       <dependency>
1388         <groupId>org.apache.hbase</groupId>
1389         <artifactId>hbase-hadoop-compat</artifactId>
1390         <version>${project.version}</version>
1391       </dependency>
1392       <dependency>
1393         <groupId>org.apache.hbase</groupId>
1394         <artifactId>hbase-hadoop-compat</artifactId>
1395         <version>${project.version}</version>
1396         <type>test-jar</type>
1397         <scope>test</scope>
1398       </dependency>
1399       <dependency>
1400         <groupId>org.apache.hbase</groupId>
1401         <artifactId>${compat.module}</artifactId>
1402         <version>${project.version}</version>
1403       </dependency>
1404       <dependency>
1405         <groupId>org.apache.hbase</groupId>
1406         <artifactId>${compat.module}</artifactId>
1407         <version>${project.version}</version>
1408         <type>test-jar</type>
1409         <scope>test</scope>
1410       </dependency>
1411       <dependency>
1412         <artifactId>hbase-rsgroup</artifactId>
1413         <groupId>org.apache.hbase</groupId>
1414         <version>${project.version}</version>
1415       </dependency>
1416       <dependency>
1417         <artifactId>hbase-rsgroup</artifactId>
1418         <groupId>org.apache.hbase</groupId>
1419         <version>${project.version}</version>
1420         <type>test-jar</type>
1421         <scope>test</scope>
1422       </dependency>
1423       <dependency>
1424         <artifactId>hbase-server</artifactId>
1425         <groupId>org.apache.hbase</groupId>
1426         <version>${project.version}</version>
1427       </dependency>
1428       <dependency>
1429         <artifactId>hbase-server</artifactId>
1430         <groupId>org.apache.hbase</groupId>
1431         <version>${project.version}</version>
1432         <type>test-jar</type>
1433         <scope>test</scope>
1434       </dependency>
1435       <dependency>
1436         <artifactId>hbase-endpoint</artifactId>
1437         <groupId>org.apache.hbase</groupId>
1438         <version>${project.version}</version>
1439       </dependency>
1440       <dependency>
1441         <artifactId>hbase-shell</artifactId>
1442         <groupId>org.apache.hbase</groupId>
1443         <version>${project.version}</version>
1444       </dependency>
1445       <dependency>
1446         <artifactId>hbase-shell</artifactId>
1447         <groupId>org.apache.hbase</groupId>
1448         <version>${project.version}</version>
1449         <type>test-jar</type>
1450         <scope>test</scope>
1451       </dependency>
1452       <dependency>
1453         <artifactId>hbase-thrift</artifactId>
1454         <groupId>org.apache.hbase</groupId>
1455         <version>${project.version}</version>
1456       </dependency>
1457       <dependency>
1458         <artifactId>hbase-thrift</artifactId>
1459         <groupId>org.apache.hbase</groupId>
1460         <version>${project.version}</version>
1461         <type>test-jar</type>
1462         <scope>test</scope>
1463       </dependency>
1464       <dependency>
1465         <groupId>org.apache.hbase</groupId>
1466         <artifactId>hbase-testing-util</artifactId>
1467         <version>${project.version}</version>
1468         <scope>test</scope>
1469       </dependency>
1470       <dependency>
1471         <groupId>org.apache.hbase</groupId>
1472         <artifactId>hbase-prefix-tree</artifactId>
1473         <version>${project.version}</version>
1474         <!-- unfortunately, runtime scope causes Eclipse to give compile time access which isn't
1475           needed, however it is apparently needed to run things within Eclipse -->
1476         <scope>runtime</scope>
1477       </dependency>
1478       <dependency>
1479         <artifactId>hbase-examples</artifactId>
1480         <groupId>org.apache.hbase</groupId>
1481         <version>${project.version}</version>
1482       </dependency>
1483       <dependency>
1484         <groupId>org.apache.hbase</groupId>
1485         <artifactId>hbase-external-blockcache</artifactId>
1486         <version>${project.version}</version>
1487       </dependency>
1488       <dependency>
1489         <artifactId>hbase-it</artifactId>
1490         <groupId>org.apache.hbase</groupId>
1491         <version>${project.version}</version>
1492         <type>test-jar</type>
1493         <scope>test</scope>
1494       </dependency>
1495       <dependency>
1496         <artifactId>hbase-client</artifactId>
1497         <groupId>org.apache.hbase</groupId>
1498         <version>${project.version}</version>
1499       </dependency>
1500       <dependency>
1501         <artifactId>hbase-metrics-api</artifactId>
1502         <groupId>org.apache.hbase</groupId>
1503         <version>${project.version}</version>
1504       </dependency>
1505       <dependency>
1506         <artifactId>hbase-metrics-api</artifactId>
1507         <groupId>org.apache.hbase</groupId>
1508         <version>${project.version}</version>
1509         <type>test-jar</type>
1510         <scope>test</scope>
1511       </dependency>
1512       <dependency>
1513         <artifactId>hbase-metrics</artifactId>
1514         <groupId>org.apache.hbase</groupId>
1515         <version>${project.version}</version>
1516       </dependency>
1517       <dependency>
1518         <artifactId>hbase-metrics</artifactId>
1519         <groupId>org.apache.hbase</groupId>
1520         <version>${project.version}</version>
1521         <type>test-jar</type>
1522         <scope>test</scope>
1523       </dependency>
1524       <!-- General dependencies -->
1525       <dependency>
1526         <groupId>com.github.stephenc.findbugs</groupId>
1527         <artifactId>findbugs-annotations</artifactId>
1528         <version>${findbugs-annotations}</version>
1529       </dependency>
1530       <!-- General dependencies -->
1531       <dependency>
1532         <groupId>org.codehaus.jettison</groupId>
1533         <artifactId>jettison</artifactId>
1534         <version>${jettison.version}</version>
1535       </dependency>
1536       <dependency>
1537         <groupId>log4j</groupId>
1538         <artifactId>log4j</artifactId>
1539         <version>${log4j.version}</version>
1540       </dependency>
1541       <!--This is not used by hbase directly.  Used by thrift,
1542           dropwizard and zk.-->
1543       <dependency>
1544         <groupId>org.slf4j</groupId>
1545         <artifactId>slf4j-api</artifactId>
1546         <version>${slf4j.version}</version>
1547       </dependency>
1548       <dependency>
1549         <groupId>io.dropwizard.metrics</groupId>
1550         <artifactId>metrics-core</artifactId>
1551         <version>${metrics-core.version}</version>
1552       </dependency>
1553       <dependency>
1554         <groupId>com.google.guava</groupId>
1555         <artifactId>guava</artifactId>
1556         <version>${guava.version}</version>
1557         <exclusions>
1558           <exclusion>
1559             <groupId>com.google.code.findbugs</groupId>
1560             <artifactId>jsr305</artifactId>
1561           </exclusion>
1562         </exclusions>
1563       </dependency>
1564       <dependency>
1565         <groupId>commons-collections</groupId>
1566         <artifactId>commons-collections</artifactId>
1567         <version>${collections.version}</version>
1568       </dependency>
1569       <dependency>
1570         <groupId>org.apache.httpcomponents</groupId>
1571         <artifactId>httpclient</artifactId>
1572         <version>${httpclient.version}</version>
1573       </dependency>
1574       <dependency>
1575         <groupId>org.apache.httpcomponents</groupId>
1576         <artifactId>httpcore</artifactId>
1577         <version>${httpcore.version}</version>
1578       </dependency>
1579       <dependency>
1580         <groupId>commons-cli</groupId>
1581         <artifactId>commons-cli</artifactId>
1582         <version>${commons-cli.version}</version>
1583       </dependency>
1584       <dependency>
1585         <groupId>commons-codec</groupId>
1586         <artifactId>commons-codec</artifactId>
1587         <version>${commons-codec.version}</version>
1588       </dependency>
1589       <dependency>
1590         <groupId>commons-io</groupId>
1591         <artifactId>commons-io</artifactId>
1592         <version>${commons-io.version}</version>
1593       </dependency>
1594       <dependency>
1595         <groupId>commons-lang</groupId>
1596         <artifactId>commons-lang</artifactId>
1597         <version>${commons-lang.version}</version>
1598       </dependency>
1599       <dependency>
1600         <groupId>commons-logging</groupId>
1601         <artifactId>commons-logging</artifactId>
1602         <version>${commons-logging.version}</version>
1603       </dependency>
1604       <dependency>
1605         <groupId>commons-net</groupId>
1606         <artifactId>commons-net</artifactId>
1607         <version>${commons-net.version}</version>
1608       </dependency>
1609       <dependency>
1610         <groupId>org.apache.commons</groupId>
1611         <artifactId>commons-math</artifactId>
1612         <version>${commons-math.version}</version>
1613       </dependency>
1614       <dependency>
1615         <groupId>org.apache.zookeeper</groupId>
1616         <artifactId>zookeeper</artifactId>
1617         <version>${zookeeper.version}</version>
1618         <exclusions>
1619           <exclusion>
1620             <groupId>jline</groupId>
1621             <artifactId>jline</artifactId>
1622           </exclusion>
1623           <exclusion>
1624             <groupId>com.sun.jmx</groupId>
1625             <artifactId>jmxri</artifactId>
1626           </exclusion>
1627           <exclusion>
1628             <groupId>com.sun.jdmk</groupId>
1629             <artifactId>jmxtools</artifactId>
1630           </exclusion>
1631           <exclusion>
1632             <groupId>javax.jms</groupId>
1633             <artifactId>jms</artifactId>
1634           </exclusion>
1635           <exclusion>
1636             <groupId>io.netty</groupId>
1637             <artifactId>netty</artifactId>
1638           </exclusion>
1639         </exclusions>
1640       </dependency>
1641       <dependency>
1642         <groupId>io.netty</groupId>
1643         <artifactId>netty-all</artifactId>
1644         <version>${netty.version}</version>
1645       </dependency>
1646       <dependency>
1647         <groupId>org.apache.thrift</groupId>
1648         <artifactId>libthrift</artifactId>
1649         <version>${thrift.version}</version>
1650         <exclusions>
1651           <exclusion>
1652             <groupId>org.slf4j</groupId>
1653             <artifactId>slf4j-simple</artifactId>
1654           </exclusion>
1655         </exclusions>
1656       </dependency>
1657       <dependency>
1658         <groupId>org.jruby</groupId>
1659         <artifactId>jruby-complete</artifactId>
1660         <version>${jruby.version}</version>
1661       </dependency>
1662       <dependency>
1663         <groupId>org.mortbay.jetty</groupId>
1664         <artifactId>jetty</artifactId>
1665         <version>${jetty.version}</version>
1666         <exclusions>
1667           <exclusion>
1668             <groupId>org.mortbay.jetty</groupId>
1669             <artifactId>servlet-api</artifactId>
1670           </exclusion>
1671         </exclusions>
1672       </dependency>
1673       <dependency>
1674         <groupId>org.jruby.jcodings</groupId>
1675         <artifactId>jcodings</artifactId>
1676         <version>${jcodings.version}</version>
1677       </dependency>
1678       <dependency>
1679         <groupId>org.jruby.joni</groupId>
1680         <artifactId>joni</artifactId>
1681         <version>${joni.version}</version>
1682       </dependency>
1683       <dependency>
1684         <groupId>org.mortbay.jetty</groupId>
1685         <artifactId>jetty-util</artifactId>
1686         <version>${jetty.version}</version>
1687       </dependency>
1688       <dependency>
1689         <groupId>org.mortbay.jetty</groupId>
1690         <artifactId>jetty-sslengine</artifactId>
1691         <version>${jetty.version}</version>
1692       </dependency>
1693       <dependency>
1694         <groupId>org.mortbay.jetty</groupId>
1695         <artifactId>jsp-2.1</artifactId>
1696         <version>${jetty.jspapi.version}</version>
1697         <exclusions>
1698           <exclusion>
1699             <groupId>org.eclipse.jdt</groupId>
1700             <artifactId>core</artifactId>
1701           </exclusion>
1702           <exclusion>
1703             <groupId>ant</groupId>
1704             <artifactId>ant</artifactId>
1705           </exclusion>
1706         </exclusions>
1707       </dependency>
1708       <dependency>
1709         <groupId>org.mortbay.jetty</groupId>
1710         <artifactId>jsp-api-2.1</artifactId>
1711         <version>${jetty.jspapi.version}</version>
1712       </dependency>
1713       <dependency>
1714         <groupId>org.mortbay.jetty</groupId>
1715         <artifactId>servlet-api-2.5</artifactId>
1716         <version>${jetty.jspapi.version}</version>
1717       </dependency>
1718       <!-- While jackson is also a dependency of jersey it
1719            can bring in jars from different, incompatible versions. We force
1720            the same version with these dependencies -->
1721       <dependency>
1722         <groupId>org.codehaus.jackson</groupId>
1723         <artifactId>jackson-core-asl</artifactId>
1724         <version>${jackson.version}</version>
1725       </dependency>
1726       <dependency>
1727         <groupId>org.codehaus.jackson</groupId>
1728         <artifactId>jackson-mapper-asl</artifactId>
1729         <version>${jackson.version}</version>
1730       </dependency>
1731       <dependency>
1732         <groupId>org.codehaus.jackson</groupId>
1733         <artifactId>jackson-jaxrs</artifactId>
1734         <version>${jackson.version}</version>
1735       </dependency>
1736       <dependency>
1737         <groupId>org.codehaus.jackson</groupId>
1738         <artifactId>jackson-xc</artifactId>
1739         <version>${jackson.version}</version>
1740       </dependency>
1741       <dependency>
1742         <!--If this is not in the runtime lib, we get odd
1743       "2009-02-27 11:38:39.504::WARN:  failed jsp
1744        java.lang.NoSuchFieldError: IS_SECURITY_ENABLED"
1745        exceptions out of jetty deploying webapps.
1746        St.Ack Thu May 20 01:04:41 PDT 2010
1747       -->
1748         <groupId>tomcat</groupId>
1749         <artifactId>jasper-compiler</artifactId>
1750         <version>${jasper.version}</version>
1751         <scope>runtime</scope>
1752         <exclusions>
1753           <exclusion>
1754             <groupId>javax.servlet</groupId>
1755             <artifactId>jsp-api</artifactId>
1756           </exclusion>
1757           <exclusion>
1758             <groupId>javax.servlet</groupId>
1759             <artifactId>servlet-api</artifactId>
1760           </exclusion>
1761           <exclusion>
1762             <groupId>ant</groupId>
1763             <artifactId>ant</artifactId>
1764           </exclusion>
1765         </exclusions>
1766       </dependency>
1767       <dependency>
1768         <groupId>tomcat</groupId>
1769         <artifactId>jasper-runtime</artifactId>
1770         <version>${jasper.version}</version>
1771         <scope>runtime</scope>
1772         <exclusions>
1773           <exclusion>
1774             <groupId>javax.servlet</groupId>
1775             <artifactId>servlet-api</artifactId>
1776           </exclusion>
1777         </exclusions>
1778       </dependency>
1779       <dependency>
1780         <groupId>org.jamon</groupId>
1781         <artifactId>jamon-runtime</artifactId>
1782         <version>${jamon-runtime.version}</version>
1783       </dependency>
1784       <!-- REST dependencies -->
1785       <dependency>
1786         <groupId>com.google.protobuf</groupId>
1787         <artifactId>protobuf-java</artifactId>
1788         <version>${external.protobuf.version}</version>
1789       </dependency>
1790       <dependency>
1791         <groupId>com.sun.jersey</groupId>
1792         <artifactId>jersey-core</artifactId>
1793         <version>${jersey.version}</version>
1794       </dependency>
1795       <dependency>
1796         <groupId>com.sun.jersey</groupId>
1797         <artifactId>jersey-json</artifactId>
1798         <version>${jersey.version}</version>
1799         <exclusions>
1800           <exclusion>
1801             <groupId>stax</groupId>
1802             <artifactId>stax-api</artifactId>
1803           </exclusion>
1804         </exclusions>
1805       </dependency>
1806       <dependency>
1807         <groupId>com.sun.jersey</groupId>
1808         <artifactId>jersey-server</artifactId>
1809         <version>${jersey.version}</version>
1810       </dependency>
1811       <dependency>
1812         <groupId>javax.xml.bind</groupId>
1813         <artifactId>jaxb-api</artifactId>
1814         <version>${jaxb-api.version}</version>
1815         <exclusions>
1816           <exclusion>
1817             <groupId>javax.xml.stream</groupId>
1818             <artifactId>stax-api</artifactId>
1819           </exclusion>
1820         </exclusions>
1821       </dependency>
1822       <dependency>
1823         <groupId>junit</groupId>
1824         <artifactId>junit</artifactId>
1825         <version>${junit.version}</version>
1826       </dependency>
1827       <dependency>
1828         <groupId>org.hamcrest</groupId>
1829         <artifactId>hamcrest-core</artifactId>
1830         <version>${hamcrest.version}</version>
1831         <scope>test</scope>
1832       </dependency>
1833       <dependency>
1834         <groupId>org.mockito</groupId>
1835         <artifactId>mockito-all</artifactId>
1836         <version>${mockito-all.version}</version>
1837         <scope>test</scope>
1838       </dependency>
1839       <dependency>
1840         <groupId>org.apache.htrace</groupId>
1841         <artifactId>htrace-core</artifactId>
1842         <version>${htrace.version}</version>
1843       </dependency>
1844       <dependency>
1845         <groupId>com.lmax</groupId>
1846         <artifactId>disruptor</artifactId>
1847         <version>${disruptor.version}</version>
1848       </dependency>
1849       <dependency>
1850         <groupId>net.spy</groupId>
1851         <artifactId>spymemcached</artifactId>
1852         <version>${spy.version}</version>
1853         <optional>true</optional>
1854       </dependency>
1855       <dependency>
1856         <groupId>org.bouncycastle</groupId>
1857         <artifactId>bcprov-jdk16</artifactId>
1858         <version>${bouncycastle.version}</version>
1859         <scope>test</scope>
1860       </dependency>
1861       <dependency>
1862         <groupId>org.apache.kerby</groupId>
1863         <artifactId>kerb-client</artifactId>
1864         <version>${kerby.version}</version>
1865       </dependency>
1866       <dependency>
1867         <groupId>org.apache.kerby</groupId>
1868         <artifactId>kerb-simplekdc</artifactId>
1869         <version>${kerby.version}</version>
1870       </dependency>
1871       <dependency>
1872         <groupId>org.apache.commons</groupId>
1873         <artifactId>commons-crypto</artifactId>
1874         <version>${commons-crypto.version}</version>
1875         <exclusions>
1876           <exclusion>
1877             <groupId>net.java.dev.jna</groupId>
1878             <artifactId>jna</artifactId>
1879           </exclusion>
1880         </exclusions>
1881       </dependency>
1882       <dependency>
1883         <groupId>org.apache.curator</groupId>
1884         <artifactId>curator-recipes</artifactId>
1885         <version>${curator.version}</version>
1886       </dependency>
1887       <dependency>
1888         <groupId>org.apache.curator</groupId>
1889         <artifactId>curator-framework</artifactId>
1890         <version>${curator.version}</version>
1891       </dependency>
1892       <dependency>
1893         <groupId>org.apache.curator</groupId>
1894         <artifactId>curator-client</artifactId>
1895         <version>${curator.version}</version>
1896         <exclusions>
1897           <exclusion>
1898             <groupId>com.google.guava</groupId>
1899             <artifactId>guava</artifactId>
1900           </exclusion>
1901         </exclusions>
1902       </dependency>
1903     </dependencies>
1904   </dependencyManagement>
1905   <!-- Dependencies needed by subprojects -->
1906   <dependencies>
1907     <dependency>
1908       <groupId>com.github.stephenc.findbugs</groupId>
1909       <artifactId>findbugs-annotations</artifactId>
1910       <scope>compile</scope>
1911     </dependency>
1912     <dependency>
1913       <groupId>log4j</groupId>
1914       <artifactId>log4j</artifactId>
1915     </dependency>
1916     <!-- Test dependencies -->
1917     <dependency>
1918       <groupId>junit</groupId>
1919       <artifactId>junit</artifactId>
1920     </dependency>
1921     <dependency>
1922       <groupId>org.mockito</groupId>
1923       <artifactId>mockito-all</artifactId>
1924     </dependency>
1925   </dependencies>
1926   <!--
1927   To publish, use the following settings.xml file ( placed in ~/.m2/settings.xml )
1929  <settings>
1930   <servers>
1931     <server>
1932       <id>apache.releases.https</id>
1933       <username>hbase_committer</username>
1934       <password>********</password>
1935     </server>
1937     <server>
1938       <id>apache.snapshots.https</id>
1939       <username>hbase_committer</username>
1940       <password>********</password>
1941     </server>
1943   </servers>
1944  </settings>
1946   $ mvn deploy
1947 (or)
1948   $ mvn -s /my/path/settings.xml deploy
1950   -->
1951   <profiles>
1952     <profile>
1953       <id>rsgroup</id>
1954       <activation>
1955         <property>
1956             <name>!skip-rsgroup</name>
1957         </property>
1958       </activation>
1959       <modules>
1960         <module>hbase-rsgroup</module>
1961       </modules>
1962     </profile>
1963     <profile>
1964       <id>build-with-jdk8</id>
1965       <activation>
1966         <jdk>1.8</jdk>
1967       </activation>
1968       <build>
1969         <pluginManagement>
1970           <plugins>
1971             <plugin>
1972               <groupId>org.apache.maven.plugins</groupId>
1973               <artifactId>maven-javadoc-plugin</artifactId>
1974               <configuration>
1975                 <!-- TODO HBASE-15041 clean up our javadocs so jdk8 linter can be used -->
1976                 <additionalparam>-Xdoclint:none</additionalparam>
1977               </configuration>
1978             </plugin>
1979           </plugins>
1980         </pluginManagement>
1981       </build>
1982     </profile>
1983     <!-- profile activated by the Jenkins patch testing job -->
1984     <profile>
1985       <id>jenkins.patch</id>
1986       <activation>
1987         <activeByDefault>false</activeByDefault>
1988         <property>
1989             <name>HBasePatchProcess</name>
1990         </property>
1991       </activation>
1992       <properties>
1993         <surefire.rerunFailingTestsCount>2</surefire.rerunFailingTestsCount>
1994       </properties>
1995       <build>
1996         <plugins>
1997           <plugin>
1998             <groupId>org.apache.maven.plugins</groupId>
1999             <artifactId>maven-antrun-plugin</artifactId>
2000             <inherited>false</inherited>
2001             <executions>
2002               <execution>
2003                 <phase>validate</phase>
2004                 <goals>
2005                   <goal>run</goal>
2006                 </goals>
2007                 <configuration>
2008                   <tasks>
2009                     <echo>Maven Execution Environment</echo>
2010                     <echo>MAVEN_OPTS="${env.MAVEN_OPTS}"</echo>
2011                   </tasks>
2012                 </configuration>
2013               </execution>
2014             </executions>
2015           </plugin>
2016         </plugins>
2017       </build>
2018     </profile>
2019     <profile>
2020       <id>jacoco</id>
2021       <activation>
2022         <activeByDefault>false</activeByDefault>
2023       </activation>
2024       <build>
2025         <plugins>
2026           <plugin>
2027             <groupId>org.jacoco</groupId>
2028             <artifactId>jacoco-maven-plugin</artifactId>
2029             <version>${jacoco.version}</version>
2030             <executions>
2031               <execution>
2032                 <id>prepare-agent</id>
2033                 <goals>
2034                   <goal>prepare-agent</goal>
2035                 </goals>
2036               </execution>
2037               <execution>
2038                 <id>report</id>
2039                 <phase>prepare-package</phase>
2040                 <goals>
2041                   <goal>report</goal>
2042                 </goals>
2043               </execution>
2044             </executions>
2045             <configuration>
2046               <systemPropertyVariables>
2047                 <jacoco-agent.destfile>target/jacoco.exec</jacoco-agent.destfile>
2048               </systemPropertyVariables>
2049               <excludes>
2050                 <exclude>**/generated/**/*.class</exclude>
2051               </excludes>
2052             </configuration>
2053           </plugin>
2054         </plugins>
2055       </build>
2056     </profile>
2057     <profile>
2058       <id>os.linux</id>
2059       <activation>
2060         <activeByDefault>false</activeByDefault>
2061         <os>
2062           <family>Linux</family>
2063         </os>
2064       </activation>
2065       <properties>
2066         <build.platform>${os.name}-${os.arch}-${sun.arch.data.model}</build.platform>
2067       </properties>
2068     </profile>
2069     <profile>
2070       <id>os.mac</id>
2071       <activation>
2072         <os>
2073           <family>Mac</family>
2074         </os>
2075       </activation>
2076       <properties>
2077         <build.platform>Mac_OS_X-${sun.arch.data.model}</build.platform>
2078       </properties>
2079     </profile>
2080     <profile>
2081       <id>os.windows</id>
2082       <activation>
2083         <os>
2084           <family>Windows</family>
2085         </os>
2086       </activation>
2087       <properties>
2088         <build.platform>cygwin</build.platform>
2089         <argLine>${hbase-surefire.cygwin-argLine}</argLine>
2090       </properties>
2091     </profile>
2092     <!-- this profile should be activated for release builds -->
2093     <profile>
2094       <id>release</id>
2095       <build>
2096         <plugins>
2097           <plugin>
2098             <groupId>org.apache.rat</groupId>
2099             <artifactId>apache-rat-plugin</artifactId>
2100             <executions>
2101               <execution>
2102                 <phase>package</phase>
2103                 <goals>
2104                   <goal>check</goal>
2105                 </goals>
2106               </execution>
2107             </executions>
2108           </plugin>
2109           <plugin>
2110             <groupId>org.apache.maven.plugins</groupId>
2111             <artifactId>maven-enforcer-plugin</artifactId>
2112             <configuration>
2113               <rules>
2114                 <enforceBytecodeVersion>
2115                 <maxJdkVersion>${compileSource}</maxJdkVersion>
2116                 <message>HBase has unsupported dependencies.
2117   HBase requires that all dependencies be compiled with version ${compileSource} or earlier
2118   of the JDK to properly build from source.  You appear to be using a newer dependency. You can use
2119   either "mvn -version" or "mvn enforcer:display-info" to verify what version is active.
2120   Non-release builds can temporarily build with a newer JDK version by setting the
2121   'compileSource' property (eg. mvn -DcompileSource=1.8 clean package).
2122                 </message>
2123               </enforceBytecodeVersion>
2124             </rules>
2125           </configuration>
2126           </plugin>
2127         </plugins>
2128       </build>
2129     </profile>
2130     <!-- Dependency management profiles for submodules when building against specific hadoop branches.-->
2131     <!-- Submodules that need hadoop dependencies should declare
2132     profiles with activation properties matching the profile here.
2133     Generally, it should be sufficient to copy the first
2134     few lines of the profile you want to match.  -->
2135     <!-- profile for building against Hadoop 2.0.x
2136          This is the default.
2137          -->
2138     <profile>
2139       <id>hadoop-2.0</id>
2140       <activation>
2141         <property>
2142           <!--Below formatting for dev-support/generate-hadoopX-poms.sh-->
2143           <!--h2--><name>!hadoop.profile</name>
2144         </property>
2145       </activation>
2146       <modules>
2147         <module>hbase-hadoop2-compat</module>
2148       </modules>
2149       <properties>
2150         <hadoop.version>${hadoop-two.version}</hadoop.version>
2151         <compat.module>hbase-hadoop2-compat</compat.module>
2152         <assembly.file>src/main/assembly/hadoop-two-compat.xml</assembly.file>
2153       </properties>
2154       <dependencyManagement>
2155         <dependencies>
2156           <dependency>
2157             <groupId>org.apache.hadoop</groupId>
2158             <artifactId>hadoop-mapreduce-client-core</artifactId>
2159             <version>${hadoop-two.version}</version>
2160             <exclusions>
2161               <exclusion>
2162                 <groupId>io.netty</groupId>
2163                 <artifactId>netty</artifactId>
2164               </exclusion>
2165             </exclusions>
2166           </dependency>
2167           <dependency>
2168             <groupId>org.apache.hadoop</groupId>
2169             <artifactId>hadoop-mapreduce-client-jobclient</artifactId>
2170             <version>${hadoop-two.version}</version>
2171             <exclusions>
2172               <exclusion>
2173                 <groupId>io.netty</groupId>
2174                 <artifactId>netty</artifactId>
2175               </exclusion>
2176             </exclusions>
2177           </dependency>
2178           <dependency>
2179             <groupId>org.apache.hadoop</groupId>
2180             <artifactId>hadoop-mapreduce-client-jobclient</artifactId>
2181             <version>${hadoop-two.version}</version>
2182             <type>test-jar</type>
2183             <scope>test</scope>
2184             <exclusions>
2185               <exclusion>
2186                 <groupId>io.netty</groupId>
2187                 <artifactId>netty</artifactId>
2188               </exclusion>
2189             </exclusions>
2190           </dependency>
2191           <dependency>
2192             <groupId>org.apache.hadoop</groupId>
2193             <artifactId>hadoop-hdfs</artifactId>
2194             <exclusions>
2195               <exclusion>
2196                 <groupId>javax.servlet.jsp</groupId>
2197                 <artifactId>jsp-api</artifactId>
2198               </exclusion>
2199               <exclusion>
2200                 <groupId>javax.servlet</groupId>
2201                 <artifactId>servlet-api</artifactId>
2202               </exclusion>
2203               <exclusion>
2204                 <groupId>io.netty</groupId>
2205                 <artifactId>netty</artifactId>
2206               </exclusion>
2207               <exclusion>
2208                 <groupId>stax</groupId>
2209                 <artifactId>stax-api</artifactId>
2210               </exclusion>
2211               <exclusion>
2212                 <groupId>xerces</groupId>
2213                 <artifactId>xercesImpl</artifactId>
2214               </exclusion>
2215             </exclusions>
2216             <version>${hadoop-two.version}</version>
2217           </dependency>
2218           <dependency>
2219             <groupId>org.apache.hadoop</groupId>
2220             <artifactId>hadoop-hdfs</artifactId>
2221             <version>${hadoop-two.version}</version>
2222             <type>test-jar</type>
2223             <scope>test</scope>
2224             <exclusions>
2225               <exclusion>
2226                 <groupId>javax.servlet.jsp</groupId>
2227                 <artifactId>jsp-api</artifactId>
2228               </exclusion>
2229               <exclusion>
2230                 <groupId>javax.servlet</groupId>
2231                 <artifactId>servlet-api</artifactId>
2232               </exclusion>
2233               <exclusion>
2234                 <groupId>io.netty</groupId>
2235                 <artifactId>netty</artifactId>
2236               </exclusion>
2237               <exclusion>
2238                 <groupId>stax</groupId>
2239                 <artifactId>stax-api</artifactId>
2240               </exclusion>
2241               <exclusion>
2242                 <groupId>xerces</groupId>
2243                 <artifactId>xercesImpl</artifactId>
2244               </exclusion>
2245             </exclusions>
2246           </dependency>
2247           <dependency>
2248             <groupId>org.apache.hadoop</groupId>
2249             <artifactId>hadoop-auth</artifactId>
2250             <version>${hadoop-two.version}</version>
2251           </dependency>
2252           <dependency>
2253             <groupId>org.apache.hadoop</groupId>
2254             <artifactId>hadoop-common</artifactId>
2255             <version>${hadoop-two.version}</version>
2256             <exclusions>
2257               <exclusion>
2258                 <groupId>javax.servlet.jsp</groupId>
2259                 <artifactId>jsp-api</artifactId>
2260               </exclusion>
2261               <exclusion>
2262                 <groupId>javax.servlet</groupId>
2263                 <artifactId>servlet-api</artifactId>
2264               </exclusion>
2265               <exclusion>
2266                 <groupId>stax</groupId>
2267                 <artifactId>stax-api</artifactId>
2268               </exclusion>
2269               <exclusion>
2270                 <groupId>io.netty</groupId>
2271                 <artifactId>netty</artifactId>
2272               </exclusion>
2273               <exclusion>
2274                 <groupId>com.google.code.findbugs</groupId>
2275                 <artifactId>jsr305</artifactId>
2276               </exclusion>
2277             </exclusions>
2278           </dependency>
2279           <dependency>
2280             <groupId>org.apache.hadoop</groupId>
2281             <artifactId>hadoop-client</artifactId>
2282             <version>${hadoop-two.version}</version>
2283           </dependency>
2284           <!-- This was marked as test dep in earlier pom, but was scoped compile.
2285             Where do we actually need it? -->
2286           <dependency>
2287             <groupId>org.apache.hadoop</groupId>
2288             <artifactId>hadoop-minicluster</artifactId>
2289             <version>${hadoop-two.version}</version>
2290             <exclusions>
2291             <exclusion>
2292               <groupId>commons-httpclient</groupId>
2293               <artifactId>commons-httpclient</artifactId>
2294             </exclusion>
2295               <exclusion>
2296                 <groupId>javax.servlet.jsp</groupId>
2297                 <artifactId>jsp-api</artifactId>
2298               </exclusion>
2299               <exclusion>
2300                 <groupId>javax.servlet</groupId>
2301                 <artifactId>servlet-api</artifactId>
2302               </exclusion>
2303               <exclusion>
2304                 <groupId>stax</groupId>
2305                 <artifactId>stax-api</artifactId>
2306               </exclusion>
2307               <exclusion>
2308                 <groupId>io.netty</groupId>
2309                 <artifactId>netty</artifactId>
2310               </exclusion>
2311               <exclusion>
2312                 <groupId>com.google.code.findbugs</groupId>
2313                 <artifactId>jsr305</artifactId>
2314               </exclusion>
2315             </exclusions>
2316           </dependency>
2317           <dependency>
2318             <groupId>org.apache.hadoop</groupId>
2319             <artifactId>hadoop-minikdc</artifactId>
2320             <version>${hadoop-two.version}</version>
2321             <scope>test</scope>
2322           </dependency>
2323         </dependencies>
2324       </dependencyManagement>
2325     </profile>
2326     <!--
2327       profile for building against Hadoop 3.0.0. Activate using:
2328        mvn -Dhadoop.profile=3.0
2329     -->
2330     <profile>
2331       <id>hadoop-3.0</id>
2332       <activation>
2333         <property>
2334           <name>hadoop.profile</name>
2335           <value>3.0</value>
2336         </property>
2337       </activation>
2338       <modules>
2339         <!--For now, use hadoop2 compat module-->
2340         <module>hbase-hadoop2-compat</module>
2341       </modules>
2342       <properties>
2343         <hadoop.version>${hadoop-three.version}</hadoop.version>
2344         <!--Use this compat module for now. TODO: Make h3 one if we need one-->
2345         <compat.module>hbase-hadoop2-compat</compat.module>
2346         <assembly.file>src/main/assembly/hadoop-three-compat.xml</assembly.file>
2347       </properties>
2348      <dependencyManagement>
2349        <dependencies>
2350          <dependency>
2351            <groupId>org.apache.hadoop</groupId>
2352            <artifactId>hadoop-mapreduce-client-core</artifactId>
2353            <version>${hadoop-three.version}</version>
2354            <exclusions>
2355              <exclusion>
2356                <groupId>io.netty</groupId>
2357                <artifactId>netty</artifactId>
2358              </exclusion>
2359            </exclusions>
2360          </dependency>
2361          <dependency>
2362            <groupId>org.apache.hadoop</groupId>
2363            <artifactId>hadoop-mapreduce-client-jobclient</artifactId>
2364            <version>${hadoop-three.version}</version>
2365            <exclusions>
2366              <exclusion>
2367                <groupId>io.netty</groupId>
2368                <artifactId>netty</artifactId>
2369              </exclusion>
2370            </exclusions>
2371          </dependency>
2372          <dependency>
2373            <groupId>org.apache.hadoop</groupId>
2374            <artifactId>hadoop-mapreduce-client-jobclient</artifactId>
2375            <version>${hadoop-three.version}</version>
2376            <type>test-jar</type>
2377            <scope>test</scope>
2378            <exclusions>
2379              <exclusion>
2380                <groupId>io.netty</groupId>
2381                <artifactId>netty</artifactId>
2382              </exclusion>
2383            </exclusions>
2384          </dependency>
2385          <dependency>
2386            <groupId>org.apache.hadoop</groupId>
2387            <artifactId>hadoop-hdfs</artifactId>
2388            <exclusions>
2389              <exclusion>
2390                <groupId>javax.servlet.jsp</groupId>
2391                <artifactId>jsp-api</artifactId>
2392              </exclusion>
2393              <exclusion>
2394                <groupId>javax.servlet</groupId>
2395                <artifactId>servlet-api</artifactId>
2396              </exclusion>
2397              <exclusion>
2398                <groupId>stax</groupId>
2399                <artifactId>stax-api</artifactId>
2400              </exclusion>
2401              <exclusion>
2402                <groupId>xerces</groupId>
2403                <artifactId>xercesImpl</artifactId>
2404              </exclusion>
2405            </exclusions>
2406            <version>${hadoop-three.version}</version>
2407          </dependency>
2408          <dependency>
2409            <groupId>org.apache.hadoop</groupId>
2410            <artifactId>hadoop-hdfs</artifactId>
2411            <version>${hadoop-three.version}</version>
2412            <type>test-jar</type>
2413            <scope>test</scope>
2414            <exclusions>
2415              <exclusion>
2416                <groupId>javax.servlet.jsp</groupId>
2417                <artifactId>jsp-api</artifactId>
2418              </exclusion>
2419              <exclusion>
2420                <groupId>javax.servlet</groupId>
2421                <artifactId>servlet-api</artifactId>
2422              </exclusion>
2423              <exclusion>
2424                <groupId>stax</groupId>
2425                <artifactId>stax-api</artifactId>
2426              </exclusion>
2427              <exclusion>
2428                <groupId>xerces</groupId>
2429                <artifactId>xercesImpl</artifactId>
2430              </exclusion>
2431            </exclusions>
2432          </dependency>
2433          <dependency>
2434            <groupId>org.apache.hadoop</groupId>
2435            <artifactId>hadoop-auth</artifactId>
2436            <version>${hadoop-three.version}</version>
2437          </dependency>
2438          <dependency>
2439            <groupId>org.apache.hadoop</groupId>
2440            <artifactId>hadoop-common</artifactId>
2441            <version>${hadoop-three.version}</version>
2442            <exclusions>
2443              <exclusion>
2444                <groupId>javax.servlet.jsp</groupId>
2445                <artifactId>jsp-api</artifactId>
2446              </exclusion>
2447              <exclusion>
2448                <groupId>javax.servlet</groupId>
2449                <artifactId>servlet-api</artifactId>
2450              </exclusion>
2451              <exclusion>
2452                <groupId>stax</groupId>
2453                <artifactId>stax-api</artifactId>
2454              </exclusion>
2455              <exclusion>
2456                <groupId>io.netty</groupId>
2457                <artifactId>netty</artifactId>
2458              </exclusion>
2459              <exclusion>
2460                <groupId>com.google.code.findbugs</groupId>
2461                <artifactId>jsr305</artifactId>
2462              </exclusion>
2463            </exclusions>
2464          </dependency>
2465          <dependency>
2466            <groupId>org.apache.hadoop</groupId>
2467            <artifactId>hadoop-client</artifactId>
2468            <version>${hadoop-three.version}</version>
2469          </dependency>
2470          <dependency>
2471            <groupId>org.apache.hadoop</groupId>
2472            <artifactId>hadoop-annotations</artifactId>
2473            <version>${hadoop-three.version}</version>
2474          </dependency>
2475          <!-- This was marked as test dep in earlier pom, but was scoped compile.
2476            Where do we actually need it? -->
2477          <dependency>
2478            <groupId>org.apache.hadoop</groupId>
2479            <artifactId>hadoop-minicluster</artifactId>
2480            <version>${hadoop-three.version}</version>
2481            <exclusions>
2482             <exclusion>
2483               <groupId>commons-httpclient</groupId>
2484               <artifactId>commons-httpclient</artifactId>
2485             </exclusion>
2486              <exclusion>
2487                <groupId>javax.servlet.jsp</groupId>
2488                <artifactId>jsp-api</artifactId>
2489              </exclusion>
2490              <exclusion>
2491                <groupId>javax.servlet</groupId>
2492                <artifactId>servlet-api</artifactId>
2493              </exclusion>
2494              <exclusion>
2495                <groupId>stax</groupId>
2496                <artifactId>stax-api</artifactId>
2497              </exclusion>
2498              <exclusion>
2499                <groupId>io.netty</groupId>
2500                <artifactId>netty</artifactId>
2501              </exclusion>
2502              <exclusion>
2503                <groupId>com.google.code.findbugs</groupId>
2504                <artifactId>jsr305</artifactId>
2505              </exclusion>
2506            </exclusions>
2507          </dependency>
2508          <dependency>
2509             <groupId>org.apache.hadoop</groupId>
2510             <artifactId>hadoop-minikdc</artifactId>
2511             <version>${hadoop-three.version}</version>
2512             <scope>test</scope>
2513           </dependency>
2514        </dependencies>
2515      </dependencyManagement>
2517     </profile>
2518     <!-- profiles for the tests
2519          See as well the properties of the project for the values
2520          when no profile is active.     -->
2521     <profile>
2522       <!-- Use it to launch all tests in the same JVM  -->
2523       <id>singleJVMTests</id>
2524       <activation>
2525         <activeByDefault>false</activeByDefault>
2526       </activation>
2527       <properties>
2528         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
2529         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2530         <surefire.skipSecondPart>true</surefire.skipSecondPart>
2531         <surefire.firstPartGroups/>
2532       </properties>
2533     </profile>
2534     <profile>
2535       <!-- Use it to launch small tests only -->
2536       <id>runSmallTests</id>
2537       <activation>
2538         <activeByDefault>false</activeByDefault>
2539       </activation>
2540       <properties>
2541         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
2542         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2543         <surefire.skipSecondPart>true</surefire.skipSecondPart>
2544         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.SmallTests</surefire.firstPartGroups>
2545         <surefire.secondPartGroups/>
2546       </properties>
2547     </profile>
2548     <profile>
2549       <!-- Use it to launch medium tests only -->
2550       <id>runMediumTests</id>
2551       <activation>
2552         <activeByDefault>false</activeByDefault>
2553       </activation>
2554       <properties>
2555         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2556         <surefire.skipSecondPart>true</surefire.skipSecondPart>
2557         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.MediumTests</surefire.firstPartGroups>
2558         <surefire.secondPartGroups/>
2559       </properties>
2560     </profile>
2561     <profile>
2562       <!-- Use it to launch large tests only -->
2563       <id>runLargeTests</id>
2564       <activation>
2565         <activeByDefault>false</activeByDefault>
2566       </activation>
2567       <properties>
2568         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2569         <surefire.skipSecondPart>true</surefire.skipSecondPart>
2570         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.LargeTests</surefire.firstPartGroups>
2571         <surefire.secondPartGroups/>
2572       </properties>
2573     </profile>
2574     <profile>
2575       <!-- Use it to launch small & medium tests -->
2576       <id>runDevTests</id>
2577       <activation>
2578         <activeByDefault>false</activeByDefault>
2579       </activation>
2580       <properties>
2581         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
2582         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2583         <surefire.skipSecondPart>false</surefire.skipSecondPart>
2584         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.SmallTests</surefire.firstPartGroups>
2585         <surefire.secondPartGroups>org.apache.hadoop.hbase.testclassification.MediumTests</surefire.secondPartGroups>
2586       </properties>
2587     </profile>
2588     <profile>
2589       <!-- Use it to launch all tests -->
2590       <id>runAllTests</id>
2591       <activation>
2592         <activeByDefault>false</activeByDefault>
2593       </activation>
2594       <properties>
2595         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
2596         <surefire.secondPartForkCount>5</surefire.secondPartForkCount>
2597         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2598         <surefire.skipSecondPart>false</surefire.skipSecondPart>
2599         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.SmallTests</surefire.firstPartGroups>
2600         <surefire.secondPartGroups>org.apache.hadoop.hbase.testclassification.MediumTests,org.apache.hadoop.hbase.testclassification.LargeTests</surefire.secondPartGroups>
2601       </properties>
2602     </profile>
2603     <profile>
2604       <id>runMiscTests</id>
2605       <activation>
2606         <activeByDefault>false</activeByDefault>
2607       </activation>
2608       <properties>
2609         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
2610         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
2611         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2612         <surefire.skipSecondPart>true</surefire.skipSecondPart>
2613         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.MiscTests
2614         </surefire.firstPartGroups>
2615         <surefire.secondPartGroups></surefire.secondPartGroups>
2616       </properties>
2617     </profile>
2618     <profile>
2619       <id>runCoprocessorTests</id>
2620       <activation>
2621         <activeByDefault>false</activeByDefault>
2622       </activation>
2623       <properties>
2624         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
2625         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
2626         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2627         <surefire.skipSecondPart>true</surefire.skipSecondPart>
2628         <surefire.firstPartGroups>
2629           org.apache.hadoop.hbase.testclassification.CoprocessorTests
2630         </surefire.firstPartGroups>
2631         <surefire.secondPartGroups></surefire.secondPartGroups>
2632       </properties>
2633     </profile>
2634     <profile>
2635       <id>runClientTests</id>
2636       <activation>
2637         <activeByDefault>false</activeByDefault>
2638       </activation>
2639       <properties>
2640         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
2641         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
2642         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2643         <surefire.skipSecondPart>true</surefire.skipSecondPart>
2644         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.ClientTests
2645         </surefire.firstPartGroups>
2646         <surefire.secondPartGroups></surefire.secondPartGroups>
2647       </properties>
2648     </profile>
2649     <profile>
2650       <id>runMasterTests</id>
2651       <activation>
2652         <activeByDefault>false</activeByDefault>
2653       </activation>
2654       <properties>
2655         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
2656         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
2657         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2658         <surefire.skipSecondPart>true</surefire.skipSecondPart>
2659         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.MasterTests
2660         </surefire.firstPartGroups>
2661         <surefire.secondPartGroups></surefire.secondPartGroups>
2662       </properties>
2663     </profile>
2664     <profile>
2665       <id>runMapredTests</id>
2666       <activation>
2667         <activeByDefault>false</activeByDefault>
2668       </activation>
2669       <properties>
2670         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
2671         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
2672         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2673         <surefire.skipSecondPart>true</surefire.skipSecondPart>
2674         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.MapredTests
2675         </surefire.firstPartGroups>
2676         <surefire.secondPartGroups></surefire.secondPartGroups>
2677       </properties>
2678     </profile>
2679     <profile>
2680       <id>runMapreduceTests</id>
2681       <activation>
2682         <activeByDefault>false</activeByDefault>
2683       </activation>
2684       <properties>
2685         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
2686         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
2687         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2688         <surefire.skipSecondPart>true</surefire.skipSecondPart>
2689         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.MapReduceTests
2690         </surefire.firstPartGroups>
2691         <surefire.secondPartGroups></surefire.secondPartGroups>
2692       </properties>
2693     </profile>
2694     <profile>
2695       <id>runRegionServerTests</id>
2696       <activation>
2697         <activeByDefault>false</activeByDefault>
2698       </activation>
2699       <properties>
2700         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
2701         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
2702         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2703         <surefire.skipSecondPart>true</surefire.skipSecondPart>
2704         <surefire.firstPartGroups>
2705           org.apache.hadoop.hbase.testclassification.RegionServerTests
2706         </surefire.firstPartGroups>
2707         <surefire.secondPartGroups></surefire.secondPartGroups>
2708       </properties>
2709     </profile>
2710     <profile>
2711       <id>runVerySlowMapReduceTests</id>
2712       <activation>
2713         <activeByDefault>false</activeByDefault>
2714       </activation>
2715       <properties>
2716         <surefire.firstPartForkCount>2</surefire.firstPartForkCount>
2717         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
2718         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2719         <surefire.skipSecondPart>true</surefire.skipSecondPart>
2720         <surefire.firstPartGroups>
2721           org.apache.hadoop.hbase.testclassification.VerySlowMapReduceTests
2722         </surefire.firstPartGroups>
2723         <surefire.secondPartGroups></surefire.secondPartGroups>
2724       </properties>
2725     </profile>
2727     <profile>
2728       <id>runVerySlowRegionServerTests</id>
2729       <activation>
2730         <activeByDefault>false</activeByDefault>
2731       </activation>
2732       <properties>
2733         <surefire.firstPartForkCount>2</surefire.firstPartForkCount>
2734         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
2735         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2736         <surefire.skipSecondPart>true</surefire.skipSecondPart>
2737         <surefire.firstPartGroups>
2738           org.apache.hadoop.hbase.testclassification.VerySlowRegionServerTests
2739         </surefire.firstPartGroups>
2740         <surefire.secondPartGroups></surefire.secondPartGroups>
2741       </properties>
2742     </profile>
2744     <profile>
2745       <id>runFilterTests</id>
2746       <activation>
2747         <activeByDefault>false</activeByDefault>
2748       </activation>
2749       <properties>
2750         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
2751         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
2752         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2753         <surefire.skipSecondPart>true</surefire.skipSecondPart>
2754         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.FilterTests
2755         </surefire.firstPartGroups>
2756         <surefire.secondPartGroups></surefire.secondPartGroups>
2757       </properties>
2758     </profile>
2759     <profile>
2760       <id>runIOTests</id>
2761       <activation>
2762         <activeByDefault>false</activeByDefault>
2763       </activation>
2764       <properties>
2765         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
2766         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
2767         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2768         <surefire.skipSecondPart>true</surefire.skipSecondPart>
2769         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.IOTests
2770         </surefire.firstPartGroups>
2771         <surefire.secondPartGroups></surefire.secondPartGroups>
2772       </properties>
2773     </profile>
2774     <profile>
2775       <id>runRestTests</id>
2776       <activation>
2777         <activeByDefault>false</activeByDefault>
2778       </activation>
2779       <properties>
2780         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
2781         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
2782         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2783         <surefire.skipSecondPart>true</surefire.skipSecondPart>
2784         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.RestTests
2785         </surefire.firstPartGroups>
2786         <surefire.secondPartGroups></surefire.secondPartGroups>
2787       </properties>
2788     </profile>
2789     <profile>
2790       <id>runRPCTests</id>
2791       <activation>
2792         <activeByDefault>false</activeByDefault>
2793       </activation>
2794       <properties>
2795         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
2796         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
2797         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2798         <surefire.skipSecondPart>true</surefire.skipSecondPart>
2799         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.RPCTests
2800         </surefire.firstPartGroups>
2801         <surefire.secondPartGroups></surefire.secondPartGroups>
2802       </properties>
2803     </profile>
2804     <profile>
2805       <id>runReplicationTests</id>
2806       <activation>
2807         <activeByDefault>false</activeByDefault>
2808       </activation>
2809       <properties>
2810         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
2811         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
2812         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2813         <surefire.skipSecondPart>true</surefire.skipSecondPart>
2814         <surefire.firstPartGroups>
2815           org.apache.hadoop.hbase.testclassification.ReplicationTests
2816         </surefire.firstPartGroups>
2817         <surefire.secondPartGroups></surefire.secondPartGroups>
2818       </properties>
2819     </profile>
2820     <profile>
2821       <id>runSecurityTests</id>
2822       <activation>
2823         <activeByDefault>false</activeByDefault>
2824       </activation>
2825       <properties>
2826         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
2827         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
2828         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2829         <surefire.skipSecondPart>true</surefire.skipSecondPart>
2830         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.SecurityTests
2831         </surefire.firstPartGroups>
2832         <surefire.secondPartGroups></surefire.secondPartGroups>
2833       </properties>
2834     </profile>
2835     <profile>
2836       <id>runFlakeyTests</id>
2837       <activation>
2838         <activeByDefault>false</activeByDefault>
2839       </activation>
2840       <properties>
2841         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
2842         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
2843         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2844         <surefire.skipSecondPart>true</surefire.skipSecondPart>
2845         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.FlakeyTests
2846         </surefire.firstPartGroups>
2847         <surefire.secondPartGroups></surefire.secondPartGroups>
2848       </properties>
2849     </profile>
2851     <profile>
2852       <!-- Use it to launch tests locally-->
2853       <id>localTests</id>
2854       <activation>
2855         <property>
2856           <name>test</name>
2857         </property>
2858       </activation>
2859       <properties>
2860         <surefire.provider>surefire-junit4</surefire.provider>
2861         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2862         <surefire.skipSecondPart>true</surefire.skipSecondPart>
2863         <surefire.firstPartGroups/>
2864       </properties>
2865     </profile>
2866     <!-- Profile for running clover. You need to have a clover license under ~/.clover.license for ${clover.version}
2867          or you can provide the license with -Dmaven.clover.licenseLocation=/path/to/license. Committers can find
2868          the license under https://svn.apache.org/repos/private/committers/donated-licenses/clover/
2869          The report will be generated under target/site/clover/index.html when you run
2870          MAVEN_OPTS="-Xmx2048m" mvn clean package -Pclover site -->
2871     <profile>
2872       <id>clover</id>
2873       <activation>
2874         <activeByDefault>false</activeByDefault>
2875         <property>
2876           <name>clover</name>
2877         </property>
2878       </activation>
2879       <properties>
2880         <maven.clover.licenseLocation>${user.home}/.clover.license</maven.clover.licenseLocation>
2881       </properties>
2882       <build>
2883         <plugins>
2884         <!-- When Clover is active, we need to add it as a dependency for the javadoc plugin, or
2885              our instrumented classes for the doclet will fail
2886           -->
2887           <plugin>
2888             <groupId>org.apache.maven.plugins</groupId>
2889             <artifactId>maven-javadoc-plugin</artifactId>
2890             <dependencies>
2891               <dependency>
2892                 <groupId>com.atlassian.maven.plugins</groupId>
2893                 <artifactId>maven-clover2-plugin</artifactId>
2894                 <version>${clover.version}</version>
2895               </dependency>
2896             </dependencies>
2897           </plugin>
2898           <plugin>
2899             <groupId>com.atlassian.maven.plugins</groupId>
2900             <artifactId>maven-clover2-plugin</artifactId>
2901             <version>${clover.version}</version>
2902             <configuration>
2903               <includesAllSourceRoots>true</includesAllSourceRoots>
2904               <includesTestSourceRoots>true</includesTestSourceRoots>
2905               <targetPercentage>50%</targetPercentage>
2906               <generateHtml>true</generateHtml>
2907               <generateXml>true</generateXml>
2908               <excludes>
2909                 <exclude>**/generated/**</exclude>
2910               </excludes>
2911             </configuration>
2912             <executions>
2913               <execution>
2914                 <id>clover-setup</id>
2915                 <phase>process-sources</phase>
2916                 <goals>
2917                   <goal>setup</goal>
2918                 </goals>
2919               </execution>
2920               <execution>
2921                 <id>clover</id>
2922                 <phase>site</phase>
2923                 <goals>
2924                   <goal>clover</goal>
2925                 </goals>
2926               </execution>
2927             </executions>
2928           </plugin>
2929         </plugins>
2930       </build>
2931     </profile>
2932     <profile>
2933       <id>errorProne</id>
2934       <activation>
2935         <activeByDefault>false</activeByDefault>
2936       </activation>
2937         <build>
2938             <plugins>
2939                 <!-- Turn on error-prone -->
2940                 <plugin>
2941                     <groupId>org.apache.maven.plugins</groupId>
2942                     <artifactId>maven-compiler-plugin</artifactId>
2943                     <version>3.5.1</version>
2944                     <configuration>
2945                         <compilerId>javac-with-errorprone</compilerId>
2946                         <forceJavacCompilerUse>true</forceJavacCompilerUse>
2947                     </configuration>
2948                     <dependencies>
2949                         <dependency>
2950                             <groupId>org.codehaus.plexus</groupId>
2951                             <artifactId>plexus-compiler-javac-errorprone</artifactId>
2952                             <version>2.5</version>
2953                         </dependency>
2954                     </dependencies>
2955                 </plugin>
2956             </plugins>
2957         </build>
2958     </profile>
2959   </profiles>
2960   <!-- See http://jira.codehaus.org/browse/MSITE-443 why the settings need to be here and not in pluginManagement. -->
2961   <reporting>
2962     <plugins>
2963       <plugin>
2964         <artifactId>maven-project-info-reports-plugin</artifactId>
2965         <version>2.7</version>
2966         <reportSets>
2967           <reportSet>
2968             <reports>
2969               <report>cim</report>
2970               <report>dependencies</report>
2971               <report>dependency-convergence</report>
2972               <report>dependency-info</report>
2973               <report>dependency-management</report>
2974               <report>index</report>
2975               <report>issue-tracking</report>
2976               <report>license</report>
2977               <report>mailing-list</report>
2978               <report>plugin-management</report>
2979               <report>plugins</report>
2980               <report>project-team</report>
2981               <report>scm</report>
2982               <report>summary</report>
2983             </reports>
2984           </reportSet>
2985         </reportSets>
2986         <!-- see src/main/site/site.xml for selected reports -->
2987         <configuration>
2988           <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
2989         </configuration>
2990       </plugin>
2992       <plugin>
2993         <groupId>org.apache.maven.plugins</groupId>
2994         <artifactId>maven-javadoc-plugin</artifactId>
2995         <version>${javadoc.version}</version>
2996         <reportSets>
2997           <!-- Dev API -->
2998           <reportSet>
2999             <id>devapi</id>
3000             <reports>
3001               <report>aggregate</report>
3002             </reports>
3003             <configuration>
3004               <destDir>devapidocs</destDir>
3005               <name>Developer API</name>
3006               <description>The full HBase API, including private and unstable APIs</description>
3007               <sourceFileExcludes>
3008                 <exclude>**/generated/*</exclude>
3009                 <exclude>**/protobuf/*</exclude>
3010                 <exclude>**/*.scala</exclude>
3011               </sourceFileExcludes>
3012               <excludePackageNames>org.apache.hadoop.hbase.tmpl.common:com.google.protobuf:org.apache.hadoop.hbase.spark:org.apache.hadoop.hbase.generated*</excludePackageNames>
3013               <show>private</show> <!-- (shows all classes and members) -->
3014               <quiet>true</quiet>
3015               <linksource>true</linksource>
3016               <sourcetab>2</sourcetab>
3017               <validateLinks>true</validateLinks>
3018               <fixClassComment>true</fixClassComment>
3019               <fixFieldComment>true</fixFieldComment>
3020               <fixMethodComment>true</fixMethodComment>
3021               <fixTags>all</fixTags>
3022               <notimestamp>true</notimestamp>
3023               <!-- Pass some options straight to the javadoc executable since it is easier -->
3024               <additionalJOption>-J-Xmx2G</additionalJOption>
3025               <!-- JDK8 javadoc requires test scope transitive dependencies due to our custom doclet -->
3026               <additionalDependencies>
3027                 <additionalDependency>
3028                   <groupId>org.mockito</groupId>
3029                   <artifactId>mockito-all</artifactId>
3030                   <version>${mockito-all.version}</version>
3031                 </additionalDependency>
3032                 <additionalDependency>
3033                   <groupId>org.hamcrest</groupId>
3034                   <artifactId>hamcrest-core</artifactId>
3035                   <version>${hamcrest.version}</version>
3036                 </additionalDependency>
3037               </additionalDependencies>
3038               <inherited>false</inherited>
3039             </configuration>
3040           </reportSet>
3041           <reportSet>
3042             <id>testdevapi</id>
3043             <reports>
3044               <report>test-aggregate</report>
3045             </reports>
3046             <configuration>
3047               <destDir>testdevapidocs</destDir>
3048               <name>Developer API</name>
3049               <description>The full HBase API test code, including private and unstable APIs</description>
3050               <sourceFileExcludes>
3051                 <exclude>**/generated/*</exclude>
3052                 <exclude>**/protobuf/*</exclude>
3053                 <exclude>**/*.scala</exclude>
3054               </sourceFileExcludes>
3055               <excludePackageNames>org.apache.hadoop.hbase.tmpl.common:com.google.protobuf:org.apache.hadoop.hbase.spark:org.apache.hadoop.hbase.generated*</excludePackageNames>
3056               <show>private</show> <!-- (shows all classes and members) -->
3057               <quiet>true</quiet>
3058               <linksource>true</linksource>
3059               <sourcetab>2</sourcetab>
3060               <validateLinks>true</validateLinks>
3061               <fixClassComment>true</fixClassComment>
3062               <fixFieldComment>true</fixFieldComment>
3063               <fixMethodComment>true</fixMethodComment>
3064               <fixTags>all</fixTags>
3065               <notimestamp>true</notimestamp>
3066               <!-- Pass some options straight to the javadoc executable since it is easier -->
3067               <additionalJOption>-J-Xmx2G</additionalJOption>
3068               <!-- JDK8 javadoc requires test scope transitive dependencies due to our custom doclet -->
3069               <additionalDependencies>
3070                 <additionalDependency>
3071                   <groupId>org.mockito</groupId>
3072                   <artifactId>mockito-all</artifactId>
3073                   <version>${mockito-all.version}</version>
3074                 </additionalDependency>
3075                 <additionalDependency>
3076                   <groupId>org.hamcrest</groupId>
3077                   <artifactId>hamcrest-core</artifactId>
3078                   <version>${hamcrest.version}</version>
3079                 </additionalDependency>
3080               </additionalDependencies>
3081               <inherited>false</inherited>
3082             </configuration>
3083           </reportSet>
3085           <!-- User API -->
3086           <reportSet>
3087             <id>userapi</id>
3088             <reports>
3089               <report>aggregate</report>
3090             </reports>
3091             <configuration>
3092               <doclet>
3093                 org.apache.hadoop.hbase.classification.tools.IncludePublicAnnotationsStandardDoclet
3094               </doclet>
3095               <docletArtifact>
3096                 <groupId>org.apache.hbase</groupId>
3097                 <artifactId>hbase-annotations</artifactId>
3098                 <version>${project.version}</version>
3099               </docletArtifact>
3100               <useStandardDocletOptions>true</useStandardDocletOptions>
3101               <destDir>apidocs</destDir>
3102               <name>User API</name>
3103               <description>The HBase Application Programmer's API</description>
3104               <excludePackageNames>
3105                 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*
3106               </excludePackageNames>
3107               <!-- switch on dependency-driven aggregation -->
3108               <includeDependencySources>false</includeDependencySources>
3109               <dependencySourceIncludes>
3110                 <!-- include ONLY dependencies I control -->
3111                 <dependencySourceInclude>org.apache.hbase:hbase-annotations</dependencySourceInclude>
3112               </dependencySourceIncludes>
3113               <sourceFilesExclude>**/generated/*</sourceFilesExclude>
3114               <show>protected</show> <!-- (shows only public and protected classes and members) -->
3115               <quiet>true</quiet>
3116               <linksource>true</linksource>
3117               <sourcetab>2</sourcetab>
3118               <validateLinks>true</validateLinks>
3119               <fixClassComment>true</fixClassComment>
3120               <fixFieldComment>true</fixFieldComment>
3121               <fixMethodComment>true</fixMethodComment>
3122               <fixTags>all</fixTags>
3123               <notimestamp>true</notimestamp>
3124               <!-- Pass some options straight to the javadoc executable since it is easier -->
3125               <additionalJOption>-J-Xmx2G</additionalJOption>
3126               <!-- JDK8 javadoc requires test scope transitive dependencies due to our custom doclet -->
3127               <additionalDependencies>
3128                 <additionalDependency>
3129                   <groupId>org.mockito</groupId>
3130                   <artifactId>mockito-all</artifactId>
3131                   <version>${mockito-all.version}</version>
3132                 </additionalDependency>
3133                 <additionalDependency>
3134                   <groupId>org.hamcrest</groupId>
3135                   <artifactId>hamcrest-core</artifactId>
3136                   <version>${hamcrest.version}</version>
3137                 </additionalDependency>
3138               </additionalDependencies>
3139               <inherited>false</inherited>
3140             </configuration>
3141           </reportSet>
3142           <!-- User Test API -->
3143           <reportSet>
3144             <id>testuserapi</id>
3145             <reports>
3146               <report>test-aggregate</report>
3147             </reports>
3148             <configuration>
3149               <doclet>
3150                 org.apache.hadoop.hbase.classification.tools.IncludePublicAnnotationsStandardDoclet
3151               </doclet>
3152               <docletArtifact>
3153                 <groupId>org.apache.hbase</groupId>
3154                 <artifactId>hbase-annotations</artifactId>
3155                 <version>${project.version}</version>
3156               </docletArtifact>
3157               <useStandardDocletOptions>true</useStandardDocletOptions>
3158               <destDir>testapidocs</destDir>
3159               <name>User API</name>
3160               <description>The HBase Application Programmer's API</description>
3161               <excludePackageNames>
3162                 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*
3163               </excludePackageNames>
3164               <!-- switch on dependency-driven aggregation -->
3165               <includeDependencySources>false</includeDependencySources>
3166               <dependencySourceIncludes>
3167                 <!-- include ONLY dependencies I control -->
3168                 <dependencySourceInclude>org.apache.hbase:hbase-annotations</dependencySourceInclude>
3169               </dependencySourceIncludes>
3170               <sourceFilesExclude>**/generated/*</sourceFilesExclude>
3171               <show>protected</show> <!-- (shows only public and protected classes and members) -->
3172               <quiet>true</quiet>
3173               <linksource>true</linksource>
3174               <sourcetab>2</sourcetab>
3175               <validateLinks>true</validateLinks>
3176               <fixClassComment>true</fixClassComment>
3177               <fixFieldComment>true</fixFieldComment>
3178               <fixMethodComment>true</fixMethodComment>
3179               <fixTags>all</fixTags>
3180               <notimestamp>true</notimestamp>
3181               <!-- Pass some options straight to the javadoc executable since it is easier -->
3182               <additionalJOption>-J-Xmx2G</additionalJOption>
3183               <!-- JDK8 javadoc requires test scope transitive dependencies due to our custom doclet -->
3184               <additionalDependencies>
3185                 <additionalDependency>
3186                   <groupId>org.mockito</groupId>
3187                   <artifactId>mockito-all</artifactId>
3188                   <version>${mockito-all.version}</version>
3189                 </additionalDependency>
3190                 <additionalDependency>
3191                   <groupId>org.hamcrest</groupId>
3192                   <artifactId>hamcrest-core</artifactId>
3193                   <version>${hamcrest.version}</version>
3194                 </additionalDependency>
3195               </additionalDependencies>
3196               <inherited>false</inherited>
3197             </configuration>
3198           </reportSet>
3199         </reportSets>
3200       </plugin>
3202       <plugin>
3203         <groupId>org.apache.maven.plugins</groupId>
3204         <artifactId>maven-checkstyle-plugin</artifactId>
3205         <version>2.17</version>
3206         <configuration>
3207           <excludes>target/**</excludes>
3208           <configLocation>hbase/checkstyle.xml</configLocation>
3209           <suppressionsLocation>hbase/checkstyle-suppressions.xml</suppressionsLocation>
3210         </configuration>
3211       </plugin>
3213       <plugin>
3214         <groupId>org.scala-tools</groupId>
3215         <artifactId>maven-scala-plugin</artifactId>
3216       </plugin>
3217     </plugins>
3218   </reporting>
3219   <distributionManagement>
3220     <site>
3221       <id>hbase.apache.org</id>
3222       <name>HBase Website at hbase.apache.org</name>
3223       <!-- On why this is the tmp dir and not hbase.apache.org, see
3224                https://issues.apache.org/jira/browse/HBASE-7593?focusedCommentId=13555866&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13555866
3225                -->
3226       <url>file:///tmp</url>
3227     </site>
3228   </distributionManagement>
3229   <repositories>
3230     <repository>
3231         <id>project.local</id>
3232         <name>project</name>
3233         <url>file:${project.basedir}/src/main/site/resources/repo</url>
3234     </repository>
3235 </repositories>
3236 </project>