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