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