HBASE-16241 Allow specification of annotations to use when running check_compatibility.sh
[hbase.git] / pom.xml
blobea7743fd293a1b2c1351cba8b6889d526a8995c8
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>**/ESAPI.properties</exclude>
878               <exclude>**/rat.txt</exclude>
879             </excludes>
880           </configuration>
881         </plugin>
882         <plugin>
883           <artifactId>maven-assembly-plugin</artifactId>
884           <version>${maven.assembly.version}</version>
885           <configuration>
886             <!--Defer to the hbase-assembly sub-module.  It
887              does all assembly-->
888             <skipAssembly>true</skipAssembly>
889           </configuration>
890         </plugin>
891         <plugin>
892           <groupId>org.apache.hadoop</groupId>
893           <artifactId>hadoop-maven-plugins</artifactId>
894           <version>${hadoop-two.version}</version>
895           <configuration>
896             <protocVersion>${protobuf.version}</protocVersion>
897             <protocCommand>${protoc.path}</protocCommand>
898           </configuration>
899         </plugin>
900         <plugin>
901           <groupId>org.apache.maven.plugins</groupId>
902           <artifactId>maven-checkstyle-plugin</artifactId>
903           <version>2.17</version>
904           <dependencies>
905             <dependency>
906               <groupId>org.apache.hbase</groupId>
907               <artifactId>hbase-checkstyle</artifactId>
908               <version>${project.version}</version>
909             </dependency>
910             <dependency>
911               <groupId>com.puppycrawl.tools</groupId>
912               <artifactId>checkstyle</artifactId>
913               <version>${checkstyle.version}</version>
914             </dependency>
915           </dependencies>
916           <configuration>
917             <configLocation>hbase/checkstyle.xml</configLocation>
918             <suppressionsLocation>hbase/checkstyle-suppressions.xml</suppressionsLocation>
919           </configuration>
920         </plugin>
921       </plugins>
922     </pluginManagement>
923     <plugins>
924       <plugin>
925         <groupId>org.apache.maven.plugins</groupId>
926         <artifactId>maven-enforcer-plugin</artifactId>
927         <dependencies>
928           <dependency>
929             <groupId>org.codehaus.mojo</groupId>
930             <artifactId>extra-enforcer-rules</artifactId>
931             <version>${extra.enforcer.version}</version>
932           </dependency>
933         </dependencies>
934         <!-- version set by parent -->
935         <configuration>
936           <rules>
937             <!-- The earliest maven version we verify builds for via ASF Jenkins -->
938             <requireMavenVersion>
939               <version>[${maven.min.version},)</version>
940               <message>Maven is out of date.
941   HBase requires at least version ${maven.min.version} of Maven to properly build from source.
942   You appear to be using an older version. You can use either "mvn -version" or
943   "mvn enforcer:display-info" to verify what version is active.
944   See the reference guide on building for more information: http://hbase.apache.org/book.html#build
945               </message>
946             </requireMavenVersion>
947             <!-- The earliest JVM version we verify builds for via ASF Jenkins -->
948             <requireJavaVersion>
949               <version>[${java.min.version},)</version>
950               <message>Java is out of date.
951   HBase requirs at least version ${java.min.version} of the JDK to properly build from source.
952   You appear to be using an older version. You can use either "mvn -version" or
953   "mvn enforcer:display-info" to verify what version is active.
954   See the reference guide on building for more information: http://hbase.apache.org/book.html#build
955               </message>
956             </requireJavaVersion>
957           </rules>
958         </configuration>
959         <executions>
960           <execution>
961             <id>enforce</id>
962             <goals>
963               <goal>enforce</goal>
964             </goals>
965           </execution>
966         </executions>
967       </plugin>
968       <!-- parent-module only plugins -->
969       <plugin>
970         <groupId>org.codehaus.mojo</groupId>
971         <artifactId>xml-maven-plugin</artifactId>
972         <version>1.0</version>
973         <inherited>false</inherited>
974         <executions>
975           <execution>
976             <!-- Run the hbase-default.xml through a stylesheet so can show it in doc-->
977             <goals>
978               <goal>transform</goal>
979             </goals>
980             <phase>site</phase>
981           </execution>
982         </executions>
983         <configuration>
984           <transformationSets>
985             <!-- For asciidoc -->
986             <transformationSet>
987               <!--Reaching up and over into common sub-module for hbase-default.xml-->
988               <dir>${basedir}/hbase-common/src/main/resources/</dir>
989               <includes>
990                 <include>hbase-default.xml</include>
991               </includes>
992               <stylesheet>${basedir}/src/main/xslt/configuration_to_asciidoc_chapter.xsl</stylesheet>
993               <fileMappers>
994                 <fileMapper implementation="org.codehaus.plexus.components.io.filemappers.RegExpFileMapper">
995                   <pattern>^(.*)\.xml$</pattern>
996                   <replacement>$1.adoc</replacement>
997                 </fileMapper>
998               </fileMappers>
999               <outputDir>${basedir}/target/asciidoc</outputDir>
1000             </transformationSet>
1001           </transformationSets>
1002         </configuration>
1003       </plugin>
1004       <!-- Special configuration for findbugs just in the parent so
1005       the filter file location can be more general (see definition in pluginManagement) -->
1006       <plugin>
1007         <groupId>org.codehaus.mojo</groupId>
1008         <artifactId>findbugs-maven-plugin</artifactId>
1009         <executions>
1010           <execution>
1011             <inherited>false</inherited>
1012             <goals>
1013               <goal>findbugs</goal>
1014             </goals>
1015             <configuration>
1016               <excludeFilterFile>${basedir}/dev-support/findbugs-exclude.xml</excludeFilterFile>
1017             </configuration>
1018           </execution>
1019         </executions>
1020       </plugin>
1021       <plugin>
1022         <groupId>org.apache.maven.plugins</groupId>
1023         <artifactId>maven-checkstyle-plugin</artifactId>
1024         <dependencies>
1025           <dependency>
1026             <groupId>org.apache.hbase</groupId>
1027             <artifactId>hbase-checkstyle</artifactId>
1028             <version>${project.version}</version>
1029           </dependency>
1030           <dependency>
1031             <groupId>com.puppycrawl.tools</groupId>
1032             <artifactId>checkstyle</artifactId>
1033             <version>${checkstyle.version}</version>
1034           </dependency>
1035         </dependencies>
1036         <configuration>
1037           <configLocation>hbase/checkstyle.xml</configLocation>
1038           <suppressionsLocation>hbase/checkstyle-suppressions.xml</suppressionsLocation>
1039         </configuration>
1040       </plugin>
1041       <plugin>
1042         <groupId>org.apache.maven.plugins</groupId>
1043         <artifactId>maven-site-plugin</artifactId>
1044         <version>3.4</version>
1045         <inherited>false</inherited>
1046         <dependencies>
1047           <dependency>
1048             <!-- add support for ssh/scp -->
1049             <groupId>org.apache.maven.wagon</groupId>
1050             <artifactId>wagon-ssh</artifactId>
1051             <version>2.2</version>
1052           </dependency>
1053         </dependencies>
1054         <configuration>
1055           <siteDirectory>${basedir}/src/main/site</siteDirectory>
1056           <customBundle>${basedir}/src/main/site/custom/project-info-report.properties</customBundle>
1057           <inputEncoding>UTF-8</inputEncoding>
1058           <outputEncoding>UTF-8</outputEncoding>
1059         </configuration>
1060       </plugin>
1061       <!-- For AsciiDoc docs building -->
1062       <plugin>
1063         <groupId>org.asciidoctor</groupId>
1064         <artifactId>asciidoctor-maven-plugin</artifactId>
1065         <version>${asciidoctor.plugin.version}</version>
1066         <inherited>false</inherited>
1067         <dependencies>
1068           <dependency>
1069             <groupId>org.asciidoctor</groupId>
1070             <artifactId>asciidoctorj-pdf</artifactId>
1071             <version>1.5.0-alpha.6</version>
1072           </dependency>
1073         </dependencies>
1074         <configuration>
1075           <outputDirectory>${project.reporting.outputDirectory}/</outputDirectory>
1076           <doctype>book</doctype>
1077           <imagesDir>images</imagesDir>
1078           <sourceHighlighter>coderay</sourceHighlighter>
1079           <attributes>
1080             <docVersion>${project.version}</docVersion>
1081           </attributes>
1082         </configuration>
1083         <executions>
1084           <execution>
1085             <id>output-html</id>
1086             <phase>site</phase>
1087             <goals>
1088               <goal>process-asciidoc</goal>
1089             </goals>
1090             <configuration>
1091               <attributes>
1092                 <stylesheet>hbase.css</stylesheet>
1093               </attributes>
1094               <backend>html5</backend>
1095             </configuration>
1096           </execution>
1097           <execution>
1098             <id>output-pdf</id>
1099             <phase>site</phase>
1100             <goals>
1101               <goal>process-asciidoc</goal>
1102             </goals>
1103             <configuration>
1104               <backend>pdf</backend>
1105               <attributes>
1106                 <pagenums/>
1107                 <toc/>
1108                 <idprefix/>
1109                 <idseparator>-</idseparator>
1110               </attributes>
1111             </configuration>
1112           </execution>
1113         </executions>
1114       </plugin>
1115       <plugin>
1116         <groupId>org.apache.maven.plugins</groupId>
1117         <artifactId>maven-resources-plugin</artifactId>
1118         <!--$NO-MVN-MAN-VER$ -->
1119         <inherited>false</inherited>
1120         <executions>
1121           <execution>
1122             <id>copy-htaccess</id>
1123             <goals>
1124               <goal>copy-resources</goal>
1125             </goals>
1126             <phase>site</phase>
1127             <configuration>
1128               <outputDirectory>${project.reporting.outputDirectory}/</outputDirectory>
1129               <resources>
1130                 <resource>
1131                   <directory>${basedir}/src/main/site/resources/</directory>
1132                   <includes>
1133                     <include>.htaccess</include>
1134                   </includes>
1135                 </resource>
1136               </resources>
1137             </configuration>
1138           </execution>
1139           <!-- needed to make the redirect above work -->
1140           <execution>
1141             <id>copy-empty-book-dir</id>
1142             <goals>
1143               <goal>copy-resources</goal>
1144             </goals>
1145             <phase>site</phase>
1146             <configuration>
1147               <outputDirectory>${project.reporting.outputDirectory}/</outputDirectory>
1148               <resources>
1149                 <resource>
1150                   <directory>${basedir}/src/main/site/resources/</directory>
1151                   <includes>
1152                     <include>book/**</include>
1153                   </includes>
1154                 </resource>
1155               </resources>
1156             </configuration>
1157           </execution>
1158         </executions>
1159         <configuration>
1160           <escapeString>\</escapeString>
1161         </configuration>
1162       </plugin>
1163       <plugin>
1164         <groupId>org.apache.maven.plugins</groupId>
1165         <artifactId>maven-antrun-plugin</artifactId>
1166         <version>${maven.antrun.version}</version>
1167         <inherited>false</inherited>
1168         <!-- Rename the book.pdf generated by asciidoctor -->
1169         <executions>
1170           <execution>
1171             <id>rename-pdf</id>
1172             <phase>site</phase>
1173             <configuration>
1174               <target name="rename file">
1175                 <move file="${project.reporting.outputDirectory}/book.pdf" tofile="${project.reporting.outputDirectory}/apache_hbase_reference_guide.pdf" />
1176                 <move file="${project.reporting.outputDirectory}/book.pdfmarks" tofile="${project.reporting.outputDirectory}/apache_hbase_reference_guide.pdfmarks" />
1177               </target>
1178             </configuration>
1179             <goals>
1180               <goal>run</goal>
1181             </goals>
1182           </execution>
1183         </executions>
1184       </plugin>
1185       <plugin>
1186         <groupId>org.codehaus.mojo</groupId>
1187         <artifactId>buildnumber-maven-plugin</artifactId>
1188         <executions>
1189           <execution>
1190             <phase>validate</phase>
1191             <goals>
1192               <goal>create-timestamp</goal>
1193             </goals>
1194           </execution>
1195         </executions>
1196         <configuration>
1197           <timestampFormat>yyyy</timestampFormat>
1198           <timestampPropertyName>build.year</timestampPropertyName>
1199         </configuration>
1200       </plugin>
1201       <plugin>
1202         <groupId>org.apache.felix</groupId>
1203         <artifactId>maven-bundle-plugin</artifactId>
1204         <version>2.5.3</version>
1205         <inherited>true</inherited>
1206         <extensions>true</extensions>
1207       </plugin>
1208       <plugin>
1209         <groupId>org.scala-tools</groupId>
1210         <artifactId>maven-scala-plugin</artifactId>
1211         <version>2.15.2</version>
1212       </plugin>
1213     </plugins>
1214   </build>
1215   <properties>
1216     <!-- override on command line to have generated LICENSE files include
1217          diagnostic info for verifying notice requirements -->
1218     <license.debug.print.included>false</license.debug.print.included>
1219     <!-- When a particular module bundles its depenendencies, should be true -->
1220     <license.bundles.dependencies>false</license.bundles.dependencies>
1221     <!-- modules that include a the logo in their source tree should set true -->
1222     <license.bundles.logo>false</license.bundles.logo>
1223     <!-- modules that include bootstrap in their source tree should set true -->
1224     <license.bundles.bootstrap>false</license.bundles.bootstrap>
1225     <!-- modules that include jquery in their source tree should set true -->
1226     <license.bundles.jquery>false</license.bundles.jquery>
1227     <tar.name>${project.build.finalName}.tar.gz</tar.name>
1228     <maven.build.timestamp.format>
1229       yyyy-MM-dd'T'HH:mm
1230     </maven.build.timestamp.format>
1231     <buildDate>${maven.build.timestamp}</buildDate>
1232     <compileSource>1.7</compileSource>
1233     <!-- Build dependencies -->
1234     <maven.min.version>3.0.4</maven.min.version>
1235     <java.min.version>${compileSource}</java.min.version>
1236     <!-- Dependencies -->
1237     <hadoop-two.version>2.7.1</hadoop-two.version>
1238     <hadoop-three.version>3.0.0-SNAPSHOT</hadoop-three.version>
1239     <!-- These must be defined here for downstream build tools that don't look at profiles.
1240          They ought to match the values found in our default hadoop profile, which is
1241          currently "hadoop-2.0". See HBASE-15925 for more info. -->
1242     <hadoop.version>${hadoop-two.version}</hadoop.version>
1243     <compat.module>hbase-hadoop2-compat</compat.module>
1244     <assembly.file>src/main/assembly/hadoop-two-compat.xml</assembly.file>
1245     <!-- end HBASE-15925 default hadoop compatibility values -->
1246     <commons-cli.version>1.2</commons-cli.version>
1247     <commons-codec.version>1.9</commons-codec.version>
1248     <!-- pretty outdated -->
1249     <commons-io.version>2.4</commons-io.version>
1250     <commons-lang.version>2.6</commons-lang.version>
1251     <commons-logging.version>1.2</commons-logging.version>
1252     <commons-math.version>2.2</commons-math.version>
1253     <commons-net.version>3.1</commons-net.version>
1254     <disruptor.version>3.3.0</disruptor.version>
1255     <!-- Do not use versions earlier than 3.2.2 due to a security vulnerability -->
1256     <collections.version>3.2.2</collections.version>
1257     <httpclient.version>4.3.6</httpclient.version>
1258     <httpcore.version>4.4.4</httpcore.version>
1259     <metrics-core.version>3.1.2</metrics-core.version>
1260     <guava.version>12.0.1</guava.version>
1261     <jsr305.version>1.3.9</jsr305.version>
1262     <jackson.version>1.9.13</jackson.version>
1263     <jasper.version>5.5.23</jasper.version>
1264     <jaxb-api.version>2.2.2</jaxb-api.version>
1265     <jetty.version>6.1.26</jetty.version>
1266     <jetty.jspapi.version>6.1.14</jetty.jspapi.version>
1267     <jersey.version>1.9</jersey.version>
1268     <jruby.version>1.6.8</jruby.version>
1269     <junit.version>4.12</junit.version>
1270     <hamcrest.version>1.3</hamcrest.version>
1271     <htrace.version>3.1.0-incubating</htrace.version>
1272     <log4j.version>1.2.17</log4j.version>
1273     <mockito-all.version>1.10.8</mockito-all.version>
1274     <protobuf.version>2.5.0</protobuf.version>
1275     <thrift.path>thrift</thrift.path>
1276     <thrift.version>0.9.3</thrift.version>
1277     <zookeeper.version>3.4.8</zookeeper.version>
1278     <slf4j.version>1.7.7</slf4j.version>
1279     <clover.version>4.0.3</clover.version>
1280     <jamon-runtime.version>2.4.1</jamon-runtime.version>
1281     <jettison.version>1.3.3</jettison.version>
1282     <netty.version>4.1.1.Final</netty.version>
1283     <netty.hadoop.version>3.6.2.Final</netty.hadoop.version>
1284     <joni.version>2.1.2</joni.version>
1285     <jcodings.version>1.0.8</jcodings.version>
1286     <spy.version>2.11.6</spy.version>
1287     <bouncycastle.version>1.46</bouncycastle.version>
1288     <kerby.version>1.0.0-RC2</kerby.version>
1289     <!-- Plugin Dependencies -->
1290     <maven.assembly.version>2.4</maven.assembly.version>
1291     <maven.antrun.version>1.8</maven.antrun.version>
1292     <jamon.plugin.version>2.4.1</jamon.plugin.version>
1293     <findbugs-annotations>1.3.9-1</findbugs-annotations>
1294     <checkstyle.version>6.18</checkstyle.version>
1295     <javadoc.version>2.10.3</javadoc.version>
1296     <asciidoctor.plugin.version>1.5.2.1</asciidoctor.plugin.version>
1297     <!-- General Packaging -->
1298     <package.prefix>/usr</package.prefix>
1299     <package.conf.dir>/etc/hbase</package.conf.dir>
1300     <package.log.dir>/var/log/hbase</package.log.dir>
1301     <package.pid.dir>/var/run/hbase</package.pid.dir>
1302     <package.release>1</package.release>
1303     <final.name>${project.artifactId}-${project.version}</final.name>
1304     <!-- Intraproject jar naming properties -->
1305     <!-- TODO this is pretty ugly, but works for the moment.
1306       Modules are pretty heavy-weight things, so doing this work isn't too bad. -->
1307     <server.test.jar>hbase-server-${project.version}-tests.jar</server.test.jar>
1308     <common.test.jar>hbase-common-${project.version}-tests.jar</common.test.jar>
1309     <procedure.test.jar>hbase-procedure-${project.version}-tests.jar</procedure.test.jar>
1310     <it.test.jar>hbase-it-${project.version}-tests.jar</it.test.jar>
1311     <annotations.test.jar>hbase-annotations-${project.version}-tests.jar</annotations.test.jar>
1312     <rsgroup.test.jar>hbase-rsgroup-${project.version}-tests.jar</rsgroup.test.jar>
1313     <surefire.version>2.18.1</surefire.version>
1314     <surefire.provider>surefire-junit47</surefire.provider>
1315     <!-- default: run small & medium, medium with 2 threads -->
1316     <surefire.skipFirstPart>false</surefire.skipFirstPart>
1317     <surefire.skipSecondPart>false</surefire.skipSecondPart>
1318     <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
1319     <surefire.secondPartForkCount>2</surefire.secondPartForkCount>
1320     <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.SmallTests</surefire.firstPartGroups>
1321     <surefire.secondPartGroups>org.apache.hadoop.hbase.testclassification.MediumTests</surefire.secondPartGroups>
1322     <surefire.testFailureIgnore>false</surefire.testFailureIgnore>
1323     <test.output.tofile>true</test.output.tofile>
1324     <surefire.timeout>900</surefire.timeout>
1325     <test.exclude.pattern></test.exclude.pattern>
1326     <!-- default Xmx value is 2800m. Use -Dsurefire.Xmx=xxg to run tests with different JVM Xmx value -->
1327     <surefire.Xmx>2800m</surefire.Xmx>
1328     <surefire.cygwinXmx>2800m</surefire.cygwinXmx>
1329     <!--Mark our test runs with '-Dhbase.build.id' so we can identify a surefire test as ours in a process listing
1330      -->
1331     <hbase-surefire.argLine>-enableassertions -Dhbase.build.id=${build.id} -Xmx${surefire.Xmx}
1332       -XX:MaxPermSize=256m -Djava.security.egd=file:/dev/./urandom -Djava.net.preferIPv4Stack=true
1333       -Djava.awt.headless=true
1334     </hbase-surefire.argLine>
1335     <hbase-surefire.cygwin-argLine>-enableassertions -Xmx${surefire.cygwinXmx} -XX:MaxPermSize=256m
1336       -Djava.security.egd=file:/dev/./urandom -Djava.net.preferIPv4Stack=true
1337       "-Djava.library.path=${hadoop.library.path};${java.library.path}"
1338     </hbase-surefire.cygwin-argLine>
1339     <!-- Surefire argLine defaults to Linux, cygwin argLine is used in the os.windows profile -->
1340     <argLine>${hbase-surefire.argLine}</argLine>
1341     <jacoco.version>0.7.5.201505241946</jacoco.version>
1342     <extra.enforcer.version>1.0-beta-3</extra.enforcer.version>
1343     <!-- Location of test resources -->
1344     <test.build.classes>${project.build.directory}/test-classes</test.build.classes>
1345     <maven.build.timestamp.format>yyyy-MM-dd'T'HH:mm:ss'Z'</maven.build.timestamp.format>
1346     <!--This build.id we'll add as flag so can identify which forked processes belong to our build.
1347         Default is the build start timestamp. Up on jenkins pass in the jenkins build id by setting
1348         this parameter by invoking mvn with -Dbuild.id=$BUILD_ID-->
1349     <build.id>${maven.build.timestamp}</build.id>
1350     </properties>
1351   <!-- Sorted by groups of dependencies then groupId and artifactId -->
1352   <dependencyManagement>
1353     <dependencies>
1354       <!--
1355       Note: There are a few exclusions to prevent duplicate code in different jars to be included:
1356           org.mortbay.jetty:servlet-api, javax.servlet:servlet-api: These are excluded because they are
1357           the same implementations. I chose org.mortbay.jetty:servlet-api-2.5 instead, which is a third
1358           implementation of the same, because Hadoop also uses this version
1359           javax.servlet:jsp-api in favour of org.mortbay.jetty:jsp-api-2.1
1360         -->
1361       <!-- Intra-module dependencies -->
1362       <dependency>
1363         <groupId>org.apache.hbase</groupId>
1364         <artifactId>hbase-annotations</artifactId>
1365         <version>${project.version}</version>
1366       </dependency>
1367       <dependency>
1368         <groupId>org.apache.hbase</groupId>
1369         <artifactId>hbase-annotations</artifactId>
1370         <version>${project.version}</version>
1371         <type>test-jar</type>
1372         <!--Was test scope only but if we want to run hbase-it tests, need the annotations test jar-->
1373       </dependency>
1374       <dependency>
1375         <groupId>org.apache.hbase</groupId>
1376         <artifactId>hbase-common</artifactId>
1377         <version>${project.version}</version>
1378       </dependency>
1379       <dependency>
1380         <groupId>org.apache.hbase</groupId>
1381         <artifactId>hbase-common</artifactId>
1382         <version>${project.version}</version>
1383         <type>test-jar</type>
1384         <scope>test</scope>
1385       </dependency>
1386       <dependency>
1387         <groupId>org.apache.hbase</groupId>
1388         <artifactId>hbase-protocol</artifactId>
1389         <version>${project.version}</version>
1390       </dependency>
1391       <dependency>
1392         <groupId>org.apache.hbase</groupId>
1393         <artifactId>hbase-procedure</artifactId>
1394         <version>${project.version}</version>
1395       </dependency>
1396       <dependency>
1397         <groupId>org.apache.hbase</groupId>
1398         <artifactId>hbase-procedure</artifactId>
1399         <version>${project.version}</version>
1400         <type>test-jar</type>
1401       </dependency>
1402       <dependency>
1403         <groupId>org.apache.hbase</groupId>
1404         <artifactId>hbase-hadoop-compat</artifactId>
1405         <version>${project.version}</version>
1406       </dependency>
1407       <dependency>
1408         <groupId>org.apache.hbase</groupId>
1409         <artifactId>hbase-hadoop-compat</artifactId>
1410         <version>${project.version}</version>
1411         <type>test-jar</type>
1412         <scope>test</scope>
1413       </dependency>
1414       <dependency>
1415         <groupId>org.apache.hbase</groupId>
1416         <artifactId>${compat.module}</artifactId>
1417         <version>${project.version}</version>
1418       </dependency>
1419       <dependency>
1420         <groupId>org.apache.hbase</groupId>
1421         <artifactId>${compat.module}</artifactId>
1422         <version>${project.version}</version>
1423         <type>test-jar</type>
1424         <scope>test</scope>
1425       </dependency>
1426       <dependency>
1427         <artifactId>hbase-rsgroup</artifactId>
1428         <groupId>org.apache.hbase</groupId>
1429         <version>${project.version}</version>
1430       </dependency>
1431       <dependency>
1432         <artifactId>hbase-rsgroup</artifactId>
1433         <groupId>org.apache.hbase</groupId>
1434         <version>${project.version}</version>
1435         <type>test-jar</type>
1436         <scope>test</scope>
1437       </dependency>
1438       <dependency>
1439         <artifactId>hbase-server</artifactId>
1440         <groupId>org.apache.hbase</groupId>
1441         <version>${project.version}</version>
1442       </dependency>
1443       <dependency>
1444         <artifactId>hbase-server</artifactId>
1445         <groupId>org.apache.hbase</groupId>
1446         <version>${project.version}</version>
1447         <type>test-jar</type>
1448         <scope>test</scope>
1449       </dependency>
1450       <dependency>
1451         <artifactId>hbase-shell</artifactId>
1452         <groupId>org.apache.hbase</groupId>
1453         <version>${project.version}</version>
1454       </dependency>
1455       <dependency>
1456         <artifactId>hbase-shell</artifactId>
1457         <groupId>org.apache.hbase</groupId>
1458         <version>${project.version}</version>
1459         <type>test-jar</type>
1460         <scope>test</scope>
1461       </dependency>
1462       <dependency>
1463         <artifactId>hbase-thrift</artifactId>
1464         <groupId>org.apache.hbase</groupId>
1465         <version>${project.version}</version>
1466       </dependency>
1467       <dependency>
1468         <artifactId>hbase-thrift</artifactId>
1469         <groupId>org.apache.hbase</groupId>
1470         <version>${project.version}</version>
1471         <type>test-jar</type>
1472         <scope>test</scope>
1473       </dependency>
1474       <dependency>
1475         <groupId>org.apache.hbase</groupId>
1476         <artifactId>hbase-testing-util</artifactId>
1477         <version>${project.version}</version>
1478         <scope>test</scope>
1479       </dependency>
1480       <dependency>
1481         <groupId>org.apache.hbase</groupId>
1482         <artifactId>hbase-prefix-tree</artifactId>
1483         <version>${project.version}</version>
1484         <!-- unfortunately, runtime scope causes Eclipse to give compile time access which isn't
1485           needed, however it is apparently needed to run things within Eclipse -->
1486         <scope>runtime</scope>
1487       </dependency>
1488       <dependency>
1489         <artifactId>hbase-examples</artifactId>
1490         <groupId>org.apache.hbase</groupId>
1491         <version>${project.version}</version>
1492       </dependency>
1493       <dependency>
1494         <groupId>org.apache.hbase</groupId>
1495         <artifactId>hbase-external-blockcache</artifactId>
1496         <version>${project.version}</version>
1497       </dependency>
1498       <dependency>
1499         <artifactId>hbase-it</artifactId>
1500         <groupId>org.apache.hbase</groupId>
1501         <version>${project.version}</version>
1502         <type>test-jar</type>
1503         <scope>test</scope>
1504       </dependency>
1505       <dependency>
1506         <artifactId>hbase-client</artifactId>
1507         <groupId>org.apache.hbase</groupId>
1508         <version>${project.version}</version>
1509       </dependency>
1510       <!-- General dependencies -->
1511       <dependency>
1512         <groupId>org.codehaus.jettison</groupId>
1513         <artifactId>jettison</artifactId>
1514         <version>${jettison.version}</version>
1515       </dependency>
1516       <dependency>
1517         <groupId>log4j</groupId>
1518         <artifactId>log4j</artifactId>
1519         <version>${log4j.version}</version>
1520       </dependency>
1521       <!--This is not used by hbase directly.  Used by thrift,
1522           dropwizard and zk.-->
1523       <dependency>
1524         <groupId>org.slf4j</groupId>
1525         <artifactId>slf4j-api</artifactId>
1526         <version>${slf4j.version}</version>
1527       </dependency>
1528       <dependency>
1529         <groupId>io.dropwizard.metrics</groupId>
1530         <artifactId>metrics-core</artifactId>
1531         <version>${metrics-core.version}</version>
1532       </dependency>
1533       <dependency>
1534         <groupId>com.google.guava</groupId>
1535         <artifactId>guava</artifactId>
1536         <version>${guava.version}</version>
1537       </dependency>
1538       <dependency>
1539          <groupId>com.google.code.findbugs</groupId>
1540          <artifactId>jsr305</artifactId>
1541          <version>${jsr305.version}</version>
1542       </dependency>
1543       <dependency>
1544         <groupId>commons-collections</groupId>
1545         <artifactId>commons-collections</artifactId>
1546         <version>${collections.version}</version>
1547       </dependency>
1548       <dependency>
1549         <groupId>org.apache.httpcomponents</groupId>
1550         <artifactId>httpclient</artifactId>
1551         <version>${httpclient.version}</version>
1552       </dependency>
1553       <dependency>
1554         <groupId>org.apache.httpcomponents</groupId>
1555         <artifactId>httpcore</artifactId>
1556         <version>${httpcore.version}</version>
1557       </dependency>
1558       <dependency>
1559         <groupId>commons-cli</groupId>
1560         <artifactId>commons-cli</artifactId>
1561         <version>${commons-cli.version}</version>
1562       </dependency>
1563       <dependency>
1564         <groupId>commons-codec</groupId>
1565         <artifactId>commons-codec</artifactId>
1566         <version>${commons-codec.version}</version>
1567       </dependency>
1568       <dependency>
1569         <groupId>commons-io</groupId>
1570         <artifactId>commons-io</artifactId>
1571         <version>${commons-io.version}</version>
1572       </dependency>
1573       <dependency>
1574         <groupId>commons-lang</groupId>
1575         <artifactId>commons-lang</artifactId>
1576         <version>${commons-lang.version}</version>
1577       </dependency>
1578       <dependency>
1579         <groupId>commons-logging</groupId>
1580         <artifactId>commons-logging</artifactId>
1581         <version>${commons-logging.version}</version>
1582       </dependency>
1583       <dependency>
1584         <groupId>commons-net</groupId>
1585         <artifactId>commons-net</artifactId>
1586         <version>${commons-net.version}</version>
1587       </dependency>
1588       <dependency>
1589         <groupId>org.apache.commons</groupId>
1590         <artifactId>commons-math</artifactId>
1591         <version>${commons-math.version}</version>
1592       </dependency>
1593       <dependency>
1594         <groupId>org.apache.zookeeper</groupId>
1595         <artifactId>zookeeper</artifactId>
1596         <version>${zookeeper.version}</version>
1597         <exclusions>
1598           <exclusion>
1599             <groupId>jline</groupId>
1600             <artifactId>jline</artifactId>
1601           </exclusion>
1602           <exclusion>
1603             <groupId>com.sun.jmx</groupId>
1604             <artifactId>jmxri</artifactId>
1605           </exclusion>
1606           <exclusion>
1607             <groupId>com.sun.jdmk</groupId>
1608             <artifactId>jmxtools</artifactId>
1609           </exclusion>
1610           <exclusion>
1611             <groupId>javax.jms</groupId>
1612             <artifactId>jms</artifactId>
1613           </exclusion>
1614           <exclusion>
1615             <groupId>io.netty</groupId>
1616             <artifactId>netty</artifactId>
1617           </exclusion>
1618         </exclusions>
1619       </dependency>
1620       <dependency>
1621         <groupId>io.netty</groupId>
1622         <artifactId>netty-all</artifactId>
1623         <version>${netty.version}</version>
1624       </dependency>
1625       <dependency>
1626         <groupId>org.apache.thrift</groupId>
1627         <artifactId>libthrift</artifactId>
1628         <version>${thrift.version}</version>
1629         <exclusions>
1630           <exclusion>
1631             <groupId>org.slf4j</groupId>
1632             <artifactId>slf4j-simple</artifactId>
1633           </exclusion>
1634         </exclusions>
1635       </dependency>
1636       <dependency>
1637         <groupId>org.jruby</groupId>
1638         <artifactId>jruby-complete</artifactId>
1639         <version>${jruby.version}</version>
1640       </dependency>
1641       <dependency>
1642         <groupId>org.mortbay.jetty</groupId>
1643         <artifactId>jetty</artifactId>
1644         <version>${jetty.version}</version>
1645         <exclusions>
1646           <exclusion>
1647             <groupId>org.mortbay.jetty</groupId>
1648             <artifactId>servlet-api</artifactId>
1649           </exclusion>
1650         </exclusions>
1651       </dependency>
1652       <dependency>
1653         <groupId>org.jruby.jcodings</groupId>
1654         <artifactId>jcodings</artifactId>
1655         <version>${jcodings.version}</version>
1656       </dependency>
1657       <dependency>
1658         <groupId>org.jruby.joni</groupId>
1659         <artifactId>joni</artifactId>
1660         <version>${joni.version}</version>
1661       </dependency>
1662       <dependency>
1663         <groupId>org.mortbay.jetty</groupId>
1664         <artifactId>jetty-util</artifactId>
1665         <version>${jetty.version}</version>
1666       </dependency>
1667       <dependency>
1668         <groupId>org.mortbay.jetty</groupId>
1669         <artifactId>jetty-sslengine</artifactId>
1670         <version>${jetty.version}</version>
1671       </dependency>
1672       <dependency>
1673         <groupId>org.mortbay.jetty</groupId>
1674         <artifactId>jsp-2.1</artifactId>
1675         <version>${jetty.jspapi.version}</version>
1676         <exclusions>
1677           <exclusion>
1678             <groupId>org.eclipse.jdt</groupId>
1679             <artifactId>core</artifactId>
1680           </exclusion>
1681           <exclusion>
1682             <groupId>ant</groupId>
1683             <artifactId>ant</artifactId>
1684           </exclusion>
1685         </exclusions>
1686       </dependency>
1687       <dependency>
1688         <groupId>org.mortbay.jetty</groupId>
1689         <artifactId>jsp-api-2.1</artifactId>
1690         <version>${jetty.jspapi.version}</version>
1691       </dependency>
1692       <dependency>
1693         <groupId>org.mortbay.jetty</groupId>
1694         <artifactId>servlet-api-2.5</artifactId>
1695         <version>${jetty.jspapi.version}</version>
1696       </dependency>
1697       <!-- While jackson is also a dependency of jersey it
1698            can bring in jars from different, incompatible versions. We force
1699            the same version with these dependencies -->
1700       <dependency>
1701         <groupId>org.codehaus.jackson</groupId>
1702         <artifactId>jackson-core-asl</artifactId>
1703         <version>${jackson.version}</version>
1704       </dependency>
1705       <dependency>
1706         <groupId>org.codehaus.jackson</groupId>
1707         <artifactId>jackson-mapper-asl</artifactId>
1708         <version>${jackson.version}</version>
1709       </dependency>
1710       <dependency>
1711         <groupId>org.codehaus.jackson</groupId>
1712         <artifactId>jackson-jaxrs</artifactId>
1713         <version>${jackson.version}</version>
1714       </dependency>
1715       <dependency>
1716         <groupId>org.codehaus.jackson</groupId>
1717         <artifactId>jackson-xc</artifactId>
1718         <version>${jackson.version}</version>
1719       </dependency>
1720       <dependency>
1721         <!--If this is not in the runtime lib, we get odd
1722       "2009-02-27 11:38:39.504::WARN:  failed jsp
1723        java.lang.NoSuchFieldError: IS_SECURITY_ENABLED"
1724        exceptions out of jetty deploying webapps.
1725        St.Ack Thu May 20 01:04:41 PDT 2010
1726       -->
1727         <groupId>tomcat</groupId>
1728         <artifactId>jasper-compiler</artifactId>
1729         <version>${jasper.version}</version>
1730         <scope>runtime</scope>
1731         <exclusions>
1732           <exclusion>
1733             <groupId>javax.servlet</groupId>
1734             <artifactId>jsp-api</artifactId>
1735           </exclusion>
1736           <exclusion>
1737             <groupId>javax.servlet</groupId>
1738             <artifactId>servlet-api</artifactId>
1739           </exclusion>
1740           <exclusion>
1741             <groupId>ant</groupId>
1742             <artifactId>ant</artifactId>
1743           </exclusion>
1744         </exclusions>
1745       </dependency>
1746       <dependency>
1747         <groupId>tomcat</groupId>
1748         <artifactId>jasper-runtime</artifactId>
1749         <version>${jasper.version}</version>
1750         <scope>runtime</scope>
1751         <exclusions>
1752           <exclusion>
1753             <groupId>javax.servlet</groupId>
1754             <artifactId>servlet-api</artifactId>
1755           </exclusion>
1756         </exclusions>
1757       </dependency>
1758       <dependency>
1759         <groupId>org.jamon</groupId>
1760         <artifactId>jamon-runtime</artifactId>
1761         <version>${jamon-runtime.version}</version>
1762       </dependency>
1763       <!-- REST dependencies -->
1764       <dependency>
1765         <groupId>com.google.protobuf</groupId>
1766         <artifactId>protobuf-java</artifactId>
1767         <version>${protobuf.version}</version>
1768       </dependency>
1769       <dependency>
1770         <groupId>com.sun.jersey</groupId>
1771         <artifactId>jersey-core</artifactId>
1772         <version>${jersey.version}</version>
1773       </dependency>
1774       <dependency>
1775         <groupId>com.sun.jersey</groupId>
1776         <artifactId>jersey-json</artifactId>
1777         <version>${jersey.version}</version>
1778         <exclusions>
1779           <exclusion>
1780             <groupId>stax</groupId>
1781             <artifactId>stax-api</artifactId>
1782           </exclusion>
1783         </exclusions>
1784       </dependency>
1785       <dependency>
1786         <groupId>com.sun.jersey</groupId>
1787         <artifactId>jersey-server</artifactId>
1788         <version>${jersey.version}</version>
1789       </dependency>
1790       <dependency>
1791         <groupId>javax.xml.bind</groupId>
1792         <artifactId>jaxb-api</artifactId>
1793         <version>${jaxb-api.version}</version>
1794         <exclusions>
1795           <exclusion>
1796             <groupId>javax.xml.stream</groupId>
1797             <artifactId>stax-api</artifactId>
1798           </exclusion>
1799         </exclusions>
1800       </dependency>
1801       <dependency>
1802         <groupId>junit</groupId>
1803         <artifactId>junit</artifactId>
1804         <version>${junit.version}</version>
1805       </dependency>
1806       <dependency>
1807         <groupId>org.hamcrest</groupId>
1808         <artifactId>hamcrest-core</artifactId>
1809         <version>${hamcrest.version}</version>
1810         <scope>test</scope>
1811       </dependency>
1812       <dependency>
1813         <groupId>org.mockito</groupId>
1814         <artifactId>mockito-all</artifactId>
1815         <version>${mockito-all.version}</version>
1816         <scope>test</scope>
1817       </dependency>
1818       <dependency>
1819         <groupId>org.apache.htrace</groupId>
1820         <artifactId>htrace-core</artifactId>
1821         <version>${htrace.version}</version>
1822       </dependency>
1823       <dependency>
1824         <groupId>com.lmax</groupId>
1825         <artifactId>disruptor</artifactId>
1826         <version>${disruptor.version}</version>
1827       </dependency>
1828         <dependency>
1829         <groupId>net.spy</groupId>
1830         <artifactId>spymemcached</artifactId>
1831         <version>${spy.version}</version>
1832         <optional>true</optional>
1833     </dependency>
1834      <dependency>
1835        <groupId>org.bouncycastle</groupId>
1836        <artifactId>bcprov-jdk16</artifactId>
1837        <version>${bouncycastle.version}</version>
1838        <scope>test</scope>
1839      </dependency>
1840      <dependency>
1841        <groupId>org.apache.kerby</groupId>
1842        <artifactId>kerb-client</artifactId>
1843        <version>${kerby.version}</version>
1844      </dependency>
1845      <dependency>
1846        <groupId>org.apache.kerby</groupId>
1847        <artifactId>kerb-simplekdc</artifactId>
1848        <version>${kerby.version}</version>
1849      </dependency>
1850     </dependencies>
1851   </dependencyManagement>
1852   <!-- Dependencies needed by subprojects -->
1853   <dependencies>
1854     <dependency>
1855       <groupId>com.github.stephenc.findbugs</groupId>
1856       <artifactId>findbugs-annotations</artifactId>
1857       <version>${findbugs-annotations}</version>
1858       <scope>compile</scope>
1859     </dependency>
1860     <dependency>
1861       <groupId>log4j</groupId>
1862       <artifactId>log4j</artifactId>
1863     </dependency>
1864     <!-- Test dependencies -->
1865     <dependency>
1866       <groupId>junit</groupId>
1867       <artifactId>junit</artifactId>
1868     </dependency>
1869     <dependency>
1870       <groupId>org.mockito</groupId>
1871       <artifactId>mockito-all</artifactId>
1872     </dependency>
1873   </dependencies>
1874   <!--
1875   To publish, use the following settings.xml file ( placed in ~/.m2/settings.xml )
1877  <settings>
1878   <servers>
1879     <server>
1880       <id>apache.releases.https</id>
1881       <username>hbase_committer</username>
1882       <password>********</password>
1883     </server>
1885     <server>
1886       <id>apache.snapshots.https</id>
1887       <username>hbase_committer</username>
1888       <password>********</password>
1889     </server>
1891   </servers>
1892  </settings>
1894   $ mvn deploy
1895 (or)
1896   $ mvn -s /my/path/settings.xml deploy
1898   -->
1899   <profiles>
1900     <profile>
1901       <id>rsgroup</id>
1902       <activation>
1903         <property>
1904             <name>!skip-rsgroup</name>
1905         </property>
1906       </activation>
1907       <modules>
1908         <module>hbase-rsgroup</module>
1909       </modules>
1910     </profile>
1911     <profile>
1912       <id>build-with-jdk8</id>
1913       <activation>
1914         <jdk>1.8</jdk>
1915       </activation>
1916       <build>
1917         <pluginManagement>
1918           <plugins>
1919             <plugin>
1920               <groupId>org.apache.maven.plugins</groupId>
1921               <artifactId>maven-javadoc-plugin</artifactId>
1922               <configuration>
1923                 <!-- TODO HBASE-15041 clean up our javadocs so jdk8 linter can be used -->
1924                 <additionalparam>-Xdoclint:none</additionalparam>
1925               </configuration>
1926             </plugin>
1927           </plugins>
1928         </pluginManagement>
1929       </build>
1930     </profile>
1931     <!-- profile activated by the Jenkins patch testing job -->
1932     <profile>
1933       <id>jenkins.patch</id>
1934       <activation>
1935         <activeByDefault>false</activeByDefault>
1936         <property>
1937             <name>HBasePatchProcess</name>
1938         </property>
1939       </activation>
1940       <properties>
1941         <surefire.rerunFailingTestsCount>2</surefire.rerunFailingTestsCount>
1942       </properties>
1943       <build>
1944         <plugins>
1945           <plugin>
1946             <groupId>org.apache.maven.plugins</groupId>
1947             <artifactId>maven-antrun-plugin</artifactId>
1948             <inherited>false</inherited>
1949             <executions>
1950               <execution>
1951                 <phase>validate</phase>
1952                 <goals>
1953                   <goal>run</goal>
1954                 </goals>
1955                 <configuration>
1956                   <tasks>
1957                     <echo>Maven Execution Environment</echo>
1958                     <echo>MAVEN_OPTS="${env.MAVEN_OPTS}"</echo>
1959                   </tasks>
1960                 </configuration>
1961               </execution>
1962             </executions>
1963           </plugin>
1964         </plugins>
1965       </build>
1966     </profile>
1967     <profile>
1968       <id>jacoco</id>
1969       <activation>
1970         <activeByDefault>false</activeByDefault>
1971       </activation>
1972       <build>
1973         <plugins>
1974           <plugin>
1975             <groupId>org.jacoco</groupId>
1976             <artifactId>jacoco-maven-plugin</artifactId>
1977             <version>${jacoco.version}</version>
1978             <executions>
1979               <execution>
1980                 <id>prepare-agent</id>
1981                 <goals>
1982                   <goal>prepare-agent</goal>
1983                 </goals>
1984               </execution>
1985               <execution>
1986                 <id>report</id>
1987                 <phase>prepare-package</phase>
1988                 <goals>
1989                   <goal>report</goal>
1990                 </goals>
1991               </execution>
1992             </executions>
1993             <configuration>
1994               <systemPropertyVariables>
1995                 <jacoco-agent.destfile>target/jacoco.exec</jacoco-agent.destfile>
1996               </systemPropertyVariables>
1997               <excludes>
1998                 <exclude>**/generated/**/*.class</exclude>
1999               </excludes>
2000             </configuration>
2001           </plugin>
2002         </plugins>
2003       </build>
2004     </profile>
2005     <profile>
2006       <id>os.linux</id>
2007       <activation>
2008         <activeByDefault>false</activeByDefault>
2009         <os>
2010           <family>Linux</family>
2011         </os>
2012       </activation>
2013       <properties>
2014         <build.platform>${os.name}-${os.arch}-${sun.arch.data.model}</build.platform>
2015       </properties>
2016     </profile>
2017     <profile>
2018       <id>os.mac</id>
2019       <activation>
2020         <os>
2021           <family>Mac</family>
2022         </os>
2023       </activation>
2024       <properties>
2025         <build.platform>Mac_OS_X-${sun.arch.data.model}</build.platform>
2026       </properties>
2027     </profile>
2028     <profile>
2029       <id>os.windows</id>
2030       <activation>
2031         <os>
2032           <family>Windows</family>
2033         </os>
2034       </activation>
2035       <properties>
2036         <build.platform>cygwin</build.platform>
2037         <argLine>${hbase-surefire.cygwin-argLine}</argLine>
2038       </properties>
2039     </profile>
2040     <!-- this profile should be activated for release builds -->
2041     <profile>
2042       <id>release</id>
2043       <build>
2044         <plugins>
2045           <plugin>
2046             <groupId>org.apache.rat</groupId>
2047             <artifactId>apache-rat-plugin</artifactId>
2048             <executions>
2049               <execution>
2050                 <phase>package</phase>
2051                 <goals>
2052                   <goal>check</goal>
2053                 </goals>
2054               </execution>
2055             </executions>
2056           </plugin>
2057           <plugin>
2058             <groupId>org.apache.maven.plugins</groupId>
2059             <artifactId>maven-enforcer-plugin</artifactId>
2060             <configuration>
2061               <rules>
2062                 <enforceBytecodeVersion>
2063                 <maxJdkVersion>${compileSource}</maxJdkVersion>
2064                 <message>HBase has unsupported dependencies.
2065   HBase requires that all dependencies be compiled with version ${compileSource} or earlier
2066   of the JDK to properly build from source.  You appear to be using a newer dependency. You can use
2067   either "mvn -version" or "mvn enforcer:display-info" to verify what version is active.
2068   Non-release builds can temporarily build with a newer JDK version by setting the
2069   'compileSource' property (eg. mvn -DcompileSource=1.8 clean package).
2070                 </message>
2071               </enforceBytecodeVersion>
2072             </rules>
2073           </configuration>
2074           </plugin>
2075         </plugins>
2076       </build>
2077     </profile>
2078     <!-- Dependency management profiles for submodules when building against specific hadoop branches.-->
2079     <!-- Submodules that need hadoop dependencies should declare
2080     profiles with activation properties matching the profile here.
2081     Generally, it should be sufficient to copy the first
2082     few lines of the profile you want to match.  -->
2083     <!-- profile for building against Hadoop 2.0.x
2084          This is the default.
2085          -->
2086     <profile>
2087       <id>hadoop-2.0</id>
2088       <activation>
2089         <property>
2090           <!--Below formatting for dev-support/generate-hadoopX-poms.sh-->
2091           <!--h2--><name>!hadoop.profile</name>
2092         </property>
2093       </activation>
2094       <modules>
2095         <module>hbase-hadoop2-compat</module>
2096       </modules>
2097       <properties>
2098         <hadoop.version>${hadoop-two.version}</hadoop.version>
2099         <compat.module>hbase-hadoop2-compat</compat.module>
2100         <assembly.file>src/main/assembly/hadoop-two-compat.xml</assembly.file>
2101       </properties>
2102       <dependencyManagement>
2103         <dependencies>
2104           <dependency>
2105             <groupId>org.apache.hadoop</groupId>
2106             <artifactId>hadoop-mapreduce-client-core</artifactId>
2107             <version>${hadoop-two.version}</version>
2108             <exclusions>
2109               <exclusion>
2110                 <groupId>io.netty</groupId>
2111                 <artifactId>netty</artifactId>
2112               </exclusion>
2113             </exclusions>
2114           </dependency>
2115           <dependency>
2116             <groupId>org.apache.hadoop</groupId>
2117             <artifactId>hadoop-mapreduce-client-jobclient</artifactId>
2118             <version>${hadoop-two.version}</version>
2119             <exclusions>
2120               <exclusion>
2121                 <groupId>io.netty</groupId>
2122                 <artifactId>netty</artifactId>
2123               </exclusion>
2124             </exclusions>
2125           </dependency>
2126           <dependency>
2127             <groupId>org.apache.hadoop</groupId>
2128             <artifactId>hadoop-mapreduce-client-jobclient</artifactId>
2129             <version>${hadoop-two.version}</version>
2130             <type>test-jar</type>
2131             <scope>test</scope>
2132             <exclusions>
2133               <exclusion>
2134                 <groupId>io.netty</groupId>
2135                 <artifactId>netty</artifactId>
2136               </exclusion>
2137             </exclusions>
2138           </dependency>
2139           <dependency>
2140             <groupId>org.apache.hadoop</groupId>
2141             <artifactId>hadoop-hdfs</artifactId>
2142             <exclusions>
2143               <exclusion>
2144                 <groupId>javax.servlet.jsp</groupId>
2145                 <artifactId>jsp-api</artifactId>
2146               </exclusion>
2147               <exclusion>
2148                 <groupId>javax.servlet</groupId>
2149                 <artifactId>servlet-api</artifactId>
2150               </exclusion>
2151               <exclusion>
2152                 <groupId>io.netty</groupId>
2153                 <artifactId>netty</artifactId>
2154               </exclusion>
2155               <exclusion>
2156                 <groupId>stax</groupId>
2157                 <artifactId>stax-api</artifactId>
2158               </exclusion>
2159             </exclusions>
2160             <version>${hadoop-two.version}</version>
2161           </dependency>
2162           <dependency>
2163             <groupId>org.apache.hadoop</groupId>
2164             <artifactId>hadoop-hdfs</artifactId>
2165             <version>${hadoop-two.version}</version>
2166             <type>test-jar</type>
2167             <scope>test</scope>
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             </exclusions>
2186           </dependency>
2187           <dependency>
2188             <groupId>org.apache.hadoop</groupId>
2189             <artifactId>hadoop-auth</artifactId>
2190             <version>${hadoop-two.version}</version>
2191           </dependency>
2192           <dependency>
2193             <groupId>org.apache.hadoop</groupId>
2194             <artifactId>hadoop-common</artifactId>
2195             <version>${hadoop-two.version}</version>
2196             <exclusions>
2197               <exclusion>
2198                 <groupId>javax.servlet.jsp</groupId>
2199                 <artifactId>jsp-api</artifactId>
2200               </exclusion>
2201               <exclusion>
2202                 <groupId>javax.servlet</groupId>
2203                 <artifactId>servlet-api</artifactId>
2204               </exclusion>
2205               <exclusion>
2206                 <groupId>stax</groupId>
2207                 <artifactId>stax-api</artifactId>
2208               </exclusion>
2209               <exclusion>
2210                 <groupId>io.netty</groupId>
2211                 <artifactId>netty</artifactId>
2212               </exclusion>
2213             </exclusions>
2214           </dependency>
2215           <dependency>
2216             <groupId>org.apache.hadoop</groupId>
2217             <artifactId>hadoop-client</artifactId>
2218             <version>${hadoop-two.version}</version>
2219           </dependency>
2220           <!-- This was marked as test dep in earlier pom, but was scoped compile.
2221             Where do we actually need it? -->
2222           <dependency>
2223             <groupId>org.apache.hadoop</groupId>
2224             <artifactId>hadoop-minicluster</artifactId>
2225             <version>${hadoop-two.version}</version>
2226             <exclusions>
2227               <exclusion>
2228                 <groupId>javax.servlet.jsp</groupId>
2229                 <artifactId>jsp-api</artifactId>
2230               </exclusion>
2231               <exclusion>
2232                 <groupId>javax.servlet</groupId>
2233                 <artifactId>servlet-api</artifactId>
2234               </exclusion>
2235               <exclusion>
2236                 <groupId>stax</groupId>
2237                 <artifactId>stax-api</artifactId>
2238               </exclusion>
2239               <exclusion>
2240                 <groupId>io.netty</groupId>
2241                 <artifactId>netty</artifactId>
2242               </exclusion>
2243             </exclusions>
2244           </dependency>
2245           <dependency>
2246             <groupId>org.apache.hadoop</groupId>
2247             <artifactId>hadoop-minikdc</artifactId>
2248             <version>${hadoop-two.version}</version>
2249             <scope>test</scope>
2250           </dependency>
2251         </dependencies>
2252       </dependencyManagement>
2253     </profile>
2254     <!--
2255       profile for building against Hadoop 3.0.0. Activate using:
2256        mvn -Dhadoop.profile=3.0
2257     -->
2258     <profile>
2259       <id>hadoop-3.0</id>
2260       <activation>
2261         <property>
2262           <name>hadoop.profile</name>
2263           <value>3.0</value>
2264         </property>
2265       </activation>
2266       <modules>
2267         <!--For now, use hadoop2 compat module-->
2268         <module>hbase-hadoop2-compat</module>
2269       </modules>
2270       <properties>
2271         <hadoop.version>${hadoop-three.version}</hadoop.version>
2272         <!--Use this compat module for now. TODO: Make h3 one if we need one-->
2273         <compat.module>hbase-hadoop2-compat</compat.module>
2274         <assembly.file>src/main/assembly/hadoop-three-compat.xml</assembly.file>
2275       </properties>
2276      <dependencyManagement>
2277        <dependencies>
2278          <dependency>
2279            <groupId>org.apache.hadoop</groupId>
2280            <artifactId>hadoop-mapreduce-client-core</artifactId>
2281            <version>${hadoop-three.version}</version>
2282            <exclusions>
2283              <exclusion>
2284                <groupId>io.netty</groupId>
2285                <artifactId>netty</artifactId>
2286              </exclusion>
2287            </exclusions>
2288          </dependency>
2289          <dependency>
2290            <groupId>org.apache.hadoop</groupId>
2291            <artifactId>hadoop-mapreduce-client-jobclient</artifactId>
2292            <version>${hadoop-three.version}</version>
2293            <exclusions>
2294              <exclusion>
2295                <groupId>io.netty</groupId>
2296                <artifactId>netty</artifactId>
2297              </exclusion>
2298            </exclusions>
2299          </dependency>
2300          <dependency>
2301            <groupId>org.apache.hadoop</groupId>
2302            <artifactId>hadoop-mapreduce-client-jobclient</artifactId>
2303            <version>${hadoop-three.version}</version>
2304            <type>test-jar</type>
2305            <scope>test</scope>
2306            <exclusions>
2307              <exclusion>
2308                <groupId>io.netty</groupId>
2309                <artifactId>netty</artifactId>
2310              </exclusion>
2311            </exclusions>
2312          </dependency>
2313          <dependency>
2314            <groupId>org.apache.hadoop</groupId>
2315            <artifactId>hadoop-hdfs</artifactId>
2316            <exclusions>
2317              <exclusion>
2318                <groupId>javax.servlet.jsp</groupId>
2319                <artifactId>jsp-api</artifactId>
2320              </exclusion>
2321              <exclusion>
2322                <groupId>javax.servlet</groupId>
2323                <artifactId>servlet-api</artifactId>
2324              </exclusion>
2325              <exclusion>
2326                <groupId>stax</groupId>
2327                <artifactId>stax-api</artifactId>
2328              </exclusion>
2329            </exclusions>
2330            <version>${hadoop-three.version}</version>
2331          </dependency>
2332          <dependency>
2333            <groupId>org.apache.hadoop</groupId>
2334            <artifactId>hadoop-hdfs</artifactId>
2335            <version>${hadoop-three.version}</version>
2336            <type>test-jar</type>
2337            <scope>test</scope>
2338            <exclusions>
2339              <exclusion>
2340                <groupId>javax.servlet.jsp</groupId>
2341                <artifactId>jsp-api</artifactId>
2342              </exclusion>
2343              <exclusion>
2344                <groupId>javax.servlet</groupId>
2345                <artifactId>servlet-api</artifactId>
2346              </exclusion>
2347              <exclusion>
2348                <groupId>stax</groupId>
2349                <artifactId>stax-api</artifactId>
2350              </exclusion>
2351            </exclusions>
2352          </dependency>
2353          <dependency>
2354            <groupId>org.apache.hadoop</groupId>
2355            <artifactId>hadoop-auth</artifactId>
2356            <version>${hadoop-three.version}</version>
2357          </dependency>
2358          <dependency>
2359            <groupId>org.apache.hadoop</groupId>
2360            <artifactId>hadoop-common</artifactId>
2361            <version>${hadoop-three.version}</version>
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>io.netty</groupId>
2377                <artifactId>netty</artifactId>
2378              </exclusion>
2379            </exclusions>
2380          </dependency>
2381          <dependency>
2382            <groupId>org.apache.hadoop</groupId>
2383            <artifactId>hadoop-client</artifactId>
2384            <version>${hadoop-three.version}</version>
2385          </dependency>
2386          <dependency>
2387            <groupId>org.apache.hadoop</groupId>
2388            <artifactId>hadoop-annotations</artifactId>
2389            <version>${hadoop-three.version}</version>
2390          </dependency>
2391          <!-- This was marked as test dep in earlier pom, but was scoped compile.
2392            Where do we actually need it? -->
2393          <dependency>
2394            <groupId>org.apache.hadoop</groupId>
2395            <artifactId>hadoop-minicluster</artifactId>
2396            <version>${hadoop-three.version}</version>
2397            <exclusions>
2398              <exclusion>
2399                <groupId>javax.servlet.jsp</groupId>
2400                <artifactId>jsp-api</artifactId>
2401              </exclusion>
2402              <exclusion>
2403                <groupId>javax.servlet</groupId>
2404                <artifactId>servlet-api</artifactId>
2405              </exclusion>
2406              <exclusion>
2407                <groupId>stax</groupId>
2408                <artifactId>stax-api</artifactId>
2409              </exclusion>
2410              <exclusion>
2411                <groupId>io.netty</groupId>
2412                <artifactId>netty</artifactId>
2413              </exclusion>
2414            </exclusions>
2415          </dependency>
2416          <dependency>
2417             <groupId>org.apache.hadoop</groupId>
2418             <artifactId>hadoop-minikdc</artifactId>
2419             <version>${hadoop-three.version}</version>
2420             <scope>test</scope>
2421           </dependency>
2422        </dependencies>
2423      </dependencyManagement>
2425     </profile>
2426     <!-- profiles for the tests
2427          See as well the properties of the project for the values
2428          when no profile is active.     -->
2429     <profile>
2430       <!-- Use it to launch all tests in the same JVM  -->
2431       <id>singleJVMTests</id>
2432       <activation>
2433         <activeByDefault>false</activeByDefault>
2434       </activation>
2435       <properties>
2436         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
2437         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2438         <surefire.skipSecondPart>true</surefire.skipSecondPart>
2439         <surefire.firstPartGroups/>
2440       </properties>
2441     </profile>
2442     <profile>
2443       <!-- Use it to launch small tests only -->
2444       <id>runSmallTests</id>
2445       <activation>
2446         <activeByDefault>false</activeByDefault>
2447       </activation>
2448       <properties>
2449         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
2450         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2451         <surefire.skipSecondPart>true</surefire.skipSecondPart>
2452         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.SmallTests</surefire.firstPartGroups>
2453         <surefire.secondPartGroups/>
2454       </properties>
2455     </profile>
2456     <profile>
2457       <!-- Use it to launch medium tests only -->
2458       <id>runMediumTests</id>
2459       <activation>
2460         <activeByDefault>false</activeByDefault>
2461       </activation>
2462       <properties>
2463         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2464         <surefire.skipSecondPart>true</surefire.skipSecondPart>
2465         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.MediumTests</surefire.firstPartGroups>
2466         <surefire.secondPartGroups/>
2467       </properties>
2468     </profile>
2469     <profile>
2470       <!-- Use it to launch large tests only -->
2471       <id>runLargeTests</id>
2472       <activation>
2473         <activeByDefault>false</activeByDefault>
2474       </activation>
2475       <properties>
2476         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2477         <surefire.skipSecondPart>true</surefire.skipSecondPart>
2478         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.LargeTests</surefire.firstPartGroups>
2479         <surefire.secondPartGroups/>
2480       </properties>
2481     </profile>
2482     <profile>
2483       <!-- Use it to launch small & medium tests -->
2484       <id>runDevTests</id>
2485       <activation>
2486         <activeByDefault>false</activeByDefault>
2487       </activation>
2488       <properties>
2489         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
2490         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2491         <surefire.skipSecondPart>false</surefire.skipSecondPart>
2492         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.SmallTests</surefire.firstPartGroups>
2493         <surefire.secondPartGroups>org.apache.hadoop.hbase.testclassification.MediumTests</surefire.secondPartGroups>
2494       </properties>
2495     </profile>
2496     <profile>
2497       <!-- Use it to launch all tests -->
2498       <id>runAllTests</id>
2499       <activation>
2500         <activeByDefault>false</activeByDefault>
2501       </activation>
2502       <properties>
2503         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
2504         <surefire.secondPartForkCount>5</surefire.secondPartForkCount>
2505         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2506         <surefire.skipSecondPart>false</surefire.skipSecondPart>
2507         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.SmallTests</surefire.firstPartGroups>
2508         <surefire.secondPartGroups>org.apache.hadoop.hbase.testclassification.MediumTests,org.apache.hadoop.hbase.testclassification.LargeTests</surefire.secondPartGroups>
2509       </properties>
2510     </profile>
2511     <profile>
2512       <id>runMiscTests</id>
2513       <activation>
2514         <activeByDefault>false</activeByDefault>
2515       </activation>
2516       <properties>
2517         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
2518         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
2519         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2520         <surefire.skipSecondPart>true</surefire.skipSecondPart>
2521         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.MiscTests
2522         </surefire.firstPartGroups>
2523         <surefire.secondPartGroups></surefire.secondPartGroups>
2524       </properties>
2525     </profile>
2526     <profile>
2527       <id>runCoprocessorTests</id>
2528       <activation>
2529         <activeByDefault>false</activeByDefault>
2530       </activation>
2531       <properties>
2532         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
2533         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
2534         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2535         <surefire.skipSecondPart>true</surefire.skipSecondPart>
2536         <surefire.firstPartGroups>
2537           org.apache.hadoop.hbase.testclassification.CoprocessorTests
2538         </surefire.firstPartGroups>
2539         <surefire.secondPartGroups></surefire.secondPartGroups>
2540       </properties>
2541     </profile>
2542     <profile>
2543       <id>runClientTests</id>
2544       <activation>
2545         <activeByDefault>false</activeByDefault>
2546       </activation>
2547       <properties>
2548         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
2549         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
2550         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2551         <surefire.skipSecondPart>true</surefire.skipSecondPart>
2552         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.ClientTests
2553         </surefire.firstPartGroups>
2554         <surefire.secondPartGroups></surefire.secondPartGroups>
2555       </properties>
2556     </profile>
2557     <profile>
2558       <id>runMasterTests</id>
2559       <activation>
2560         <activeByDefault>false</activeByDefault>
2561       </activation>
2562       <properties>
2563         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
2564         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
2565         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2566         <surefire.skipSecondPart>true</surefire.skipSecondPart>
2567         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.MasterTests
2568         </surefire.firstPartGroups>
2569         <surefire.secondPartGroups></surefire.secondPartGroups>
2570       </properties>
2571     </profile>
2572     <profile>
2573       <id>runMapredTests</id>
2574       <activation>
2575         <activeByDefault>false</activeByDefault>
2576       </activation>
2577       <properties>
2578         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
2579         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
2580         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2581         <surefire.skipSecondPart>true</surefire.skipSecondPart>
2582         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.MapredTests
2583         </surefire.firstPartGroups>
2584         <surefire.secondPartGroups></surefire.secondPartGroups>
2585       </properties>
2586     </profile>
2587     <profile>
2588       <id>runMapreduceTests</id>
2589       <activation>
2590         <activeByDefault>false</activeByDefault>
2591       </activation>
2592       <properties>
2593         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
2594         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
2595         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2596         <surefire.skipSecondPart>true</surefire.skipSecondPart>
2597         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.MapReduceTests
2598         </surefire.firstPartGroups>
2599         <surefire.secondPartGroups></surefire.secondPartGroups>
2600       </properties>
2601     </profile>
2602     <profile>
2603       <id>runRegionServerTests</id>
2604       <activation>
2605         <activeByDefault>false</activeByDefault>
2606       </activation>
2607       <properties>
2608         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
2609         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
2610         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2611         <surefire.skipSecondPart>true</surefire.skipSecondPart>
2612         <surefire.firstPartGroups>
2613           org.apache.hadoop.hbase.testclassification.RegionServerTests
2614         </surefire.firstPartGroups>
2615         <surefire.secondPartGroups></surefire.secondPartGroups>
2616       </properties>
2617     </profile>
2618     <profile>
2619       <id>runVerySlowMapReduceTests</id>
2620       <activation>
2621         <activeByDefault>false</activeByDefault>
2622       </activation>
2623       <properties>
2624         <surefire.firstPartForkCount>2</surefire.firstPartForkCount>
2625         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
2626         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2627         <surefire.skipSecondPart>true</surefire.skipSecondPart>
2628         <surefire.firstPartGroups>
2629           org.apache.hadoop.hbase.testclassification.VerySlowMapReduceTests
2630         </surefire.firstPartGroups>
2631         <surefire.secondPartGroups></surefire.secondPartGroups>
2632       </properties>
2633     </profile>
2635     <profile>
2636       <id>runVerySlowRegionServerTests</id>
2637       <activation>
2638         <activeByDefault>false</activeByDefault>
2639       </activation>
2640       <properties>
2641         <surefire.firstPartForkCount>2</surefire.firstPartForkCount>
2642         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
2643         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2644         <surefire.skipSecondPart>true</surefire.skipSecondPart>
2645         <surefire.firstPartGroups>
2646           org.apache.hadoop.hbase.testclassification.VerySlowRegionServerTests
2647         </surefire.firstPartGroups>
2648         <surefire.secondPartGroups></surefire.secondPartGroups>
2649       </properties>
2650     </profile>
2652     <profile>
2653       <id>runFilterTests</id>
2654       <activation>
2655         <activeByDefault>false</activeByDefault>
2656       </activation>
2657       <properties>
2658         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
2659         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
2660         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2661         <surefire.skipSecondPart>true</surefire.skipSecondPart>
2662         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.FilterTests
2663         </surefire.firstPartGroups>
2664         <surefire.secondPartGroups></surefire.secondPartGroups>
2665       </properties>
2666     </profile>
2667     <profile>
2668       <id>runIOTests</id>
2669       <activation>
2670         <activeByDefault>false</activeByDefault>
2671       </activation>
2672       <properties>
2673         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
2674         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
2675         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2676         <surefire.skipSecondPart>true</surefire.skipSecondPart>
2677         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.IOTests
2678         </surefire.firstPartGroups>
2679         <surefire.secondPartGroups></surefire.secondPartGroups>
2680       </properties>
2681     </profile>
2682     <profile>
2683       <id>runRestTests</id>
2684       <activation>
2685         <activeByDefault>false</activeByDefault>
2686       </activation>
2687       <properties>
2688         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
2689         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
2690         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2691         <surefire.skipSecondPart>true</surefire.skipSecondPart>
2692         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.RestTests
2693         </surefire.firstPartGroups>
2694         <surefire.secondPartGroups></surefire.secondPartGroups>
2695       </properties>
2696     </profile>
2697     <profile>
2698       <id>runRPCTests</id>
2699       <activation>
2700         <activeByDefault>false</activeByDefault>
2701       </activation>
2702       <properties>
2703         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
2704         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
2705         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2706         <surefire.skipSecondPart>true</surefire.skipSecondPart>
2707         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.RPCTests
2708         </surefire.firstPartGroups>
2709         <surefire.secondPartGroups></surefire.secondPartGroups>
2710       </properties>
2711     </profile>
2712     <profile>
2713       <id>runReplicationTests</id>
2714       <activation>
2715         <activeByDefault>false</activeByDefault>
2716       </activation>
2717       <properties>
2718         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
2719         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
2720         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2721         <surefire.skipSecondPart>true</surefire.skipSecondPart>
2722         <surefire.firstPartGroups>
2723           org.apache.hadoop.hbase.testclassification.ReplicationTests
2724         </surefire.firstPartGroups>
2725         <surefire.secondPartGroups></surefire.secondPartGroups>
2726       </properties>
2727     </profile>
2728     <profile>
2729       <id>runSecurityTests</id>
2730       <activation>
2731         <activeByDefault>false</activeByDefault>
2732       </activation>
2733       <properties>
2734         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
2735         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
2736         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2737         <surefire.skipSecondPart>true</surefire.skipSecondPart>
2738         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.SecurityTests
2739         </surefire.firstPartGroups>
2740         <surefire.secondPartGroups></surefire.secondPartGroups>
2741       </properties>
2742     </profile>
2743     <profile>
2744       <id>runFlakeyTests</id>
2745       <activation>
2746         <activeByDefault>false</activeByDefault>
2747       </activation>
2748       <properties>
2749         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
2750         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
2751         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2752         <surefire.skipSecondPart>true</surefire.skipSecondPart>
2753         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.FlakeyTests
2754         </surefire.firstPartGroups>
2755         <surefire.secondPartGroups></surefire.secondPartGroups>
2756       </properties>
2757     </profile>
2759     <profile>
2760       <!-- Use it to launch tests locally-->
2761       <id>localTests</id>
2762       <activation>
2763         <property>
2764           <name>test</name>
2765         </property>
2766       </activation>
2767       <properties>
2768         <surefire.provider>surefire-junit4</surefire.provider>
2769         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2770         <surefire.skipSecondPart>true</surefire.skipSecondPart>
2771         <surefire.firstPartGroups/>
2772       </properties>
2773     </profile>
2774     <!-- Profile for running clover. You need to have a clover license under ~/.clover.license for ${clover.version}
2775          or you can provide the license with -Dmaven.clover.licenseLocation=/path/to/license. Committers can find
2776          the license under https://svn.apache.org/repos/private/committers/donated-licenses/clover/
2777          The report will be generated under target/site/clover/index.html when you run
2778          MAVEN_OPTS="-Xmx2048m -XX:MaxPermSize=512m" mvn clean package -Pclover site -->
2779     <profile>
2780       <id>clover</id>
2781       <activation>
2782         <activeByDefault>false</activeByDefault>
2783         <property>
2784           <name>clover</name>
2785         </property>
2786       </activation>
2787       <properties>
2788         <maven.clover.licenseLocation>${user.home}/.clover.license</maven.clover.licenseLocation>
2789       </properties>
2790       <build>
2791         <plugins>
2792         <!-- When Clover is active, we need to add it as a dependency for the javadoc plugin, or
2793              our instrumented classes for the doclet will fail
2794           -->
2795           <plugin>
2796             <groupId>org.apache.maven.plugins</groupId>
2797             <artifactId>maven-javadoc-plugin</artifactId>
2798             <dependencies>
2799               <dependency>
2800                 <groupId>com.atlassian.maven.plugins</groupId>
2801                 <artifactId>maven-clover2-plugin</artifactId>
2802                 <version>${clover.version}</version>
2803               </dependency>
2804             </dependencies>
2805           </plugin>
2806           <plugin>
2807             <groupId>com.atlassian.maven.plugins</groupId>
2808             <artifactId>maven-clover2-plugin</artifactId>
2809             <version>${clover.version}</version>
2810             <configuration>
2811               <includesAllSourceRoots>true</includesAllSourceRoots>
2812               <includesTestSourceRoots>true</includesTestSourceRoots>
2813               <targetPercentage>50%</targetPercentage>
2814               <generateHtml>true</generateHtml>
2815               <generateXml>true</generateXml>
2816               <excludes>
2817                 <exclude>**/generated/**</exclude>
2818               </excludes>
2819             </configuration>
2820             <executions>
2821               <execution>
2822                 <id>clover-setup</id>
2823                 <phase>process-sources</phase>
2824                 <goals>
2825                   <goal>setup</goal>
2826                 </goals>
2827               </execution>
2828               <execution>
2829                 <id>clover</id>
2830                 <phase>site</phase>
2831                 <goals>
2832                   <goal>clover</goal>
2833                 </goals>
2834               </execution>
2835             </executions>
2836           </plugin>
2837         </plugins>
2838       </build>
2839     </profile>
2840     <profile>
2841       <id>errorProne</id>
2842       <activation>
2843         <activeByDefault>false</activeByDefault>
2844       </activation>
2845         <build>
2846             <plugins>
2847                 <!-- Turn on error-prone -->
2848                 <plugin>
2849                     <groupId>org.apache.maven.plugins</groupId>
2850                     <artifactId>maven-compiler-plugin</artifactId>
2851                     <version>3.1</version>
2852                     <configuration>
2853                         <compilerId>javac-with-errorprone</compilerId>
2854                         <forceJavacCompilerUse>true</forceJavacCompilerUse>
2855                     </configuration>
2856                     <dependencies>
2857                         <dependency>
2858                             <groupId>org.codehaus.plexus</groupId>
2859                             <artifactId>plexus-compiler-javac-errorprone</artifactId>
2860                             <version>2.5</version>
2861                         </dependency>
2862                     </dependencies>
2863                 </plugin>
2864             </plugins>
2865         </build>
2866     </profile>
2867   </profiles>
2868   <!-- See http://jira.codehaus.org/browse/MSITE-443 why the settings need to be here and not in pluginManagement. -->
2869   <reporting>
2870     <plugins>
2871       <plugin>
2872         <artifactId>maven-project-info-reports-plugin</artifactId>
2873         <version>2.7</version>
2874         <reportSets>
2875           <reportSet>
2876             <reports>
2877               <report>cim</report>
2878               <report>dependencies</report>
2879               <report>dependency-convergence</report>
2880               <report>dependency-info</report>
2881               <report>dependency-management</report>
2882               <report>index</report>
2883               <report>issue-tracking</report>
2884               <report>license</report>
2885               <report>mailing-list</report>
2886               <report>plugin-management</report>
2887               <report>plugins</report>
2888               <report>project-team</report>
2889               <report>scm</report>
2890               <report>summary</report>
2891             </reports>
2892           </reportSet>
2893         </reportSets>
2894         <!-- see src/main/site/site.xml for selected reports -->
2895         <configuration>
2896           <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
2897         </configuration>
2898       </plugin>
2900       <!-- This seems to be needed by the surefire plugin.
2901            The Javadoc below provide code as well -->
2902       <plugin>
2903         <groupId>org.apache.maven.plugins</groupId>
2904         <artifactId>maven-jxr-plugin</artifactId>
2905         <version>2.3</version>
2906         <configuration>
2907           <aggregate>true</aggregate>
2908           <test-aggregate>true</test-aggregate>
2909           <linkJavadoc>true</linkJavadoc>
2910           <javadocDir>${project.reporting.outputDirectory}/devapidocs</javadocDir>
2911           <testJavadocDir>${project.reporting.outputDirectory}/testdevapidocs</testJavadocDir>
2912           <destDir>${project.reporting.outputDirectory}/xref</destDir>
2913           <excludes>
2914             <exclude>**/generated/*</exclude>
2915           </excludes>
2916         </configuration>
2917       </plugin>
2919       <plugin>
2920         <groupId>org.apache.maven.plugins</groupId>
2921         <artifactId>maven-javadoc-plugin</artifactId>
2922         <version>${javadoc.version}</version>
2923         <reportSets>
2924           <!-- Dev API -->
2925           <reportSet>
2926             <id>devapi</id>
2927             <reports>
2928               <report>aggregate</report>
2929             </reports>
2930             <configuration>
2931               <destDir>devapidocs</destDir>
2932               <name>Developer API</name>
2933               <description>The full HBase API, including private and unstable APIs</description>
2934               <sourceFileExcludes>
2935                 <exclude>**/generated/*</exclude>
2936                 <exclude>**/protobuf/*</exclude>
2937                 <exclude>**/*.scala</exclude>
2938               </sourceFileExcludes>
2939               <excludePackageNames>org.apache.hadoop.hbase.tmpl.common:com.google.protobuf:org.apache.hadoop.hbase.spark:org.apache.hadoop.hbase.generated*</excludePackageNames>
2940               <show>private</show> <!-- (shows all classes and members) -->
2941               <quiet>true</quiet>
2942               <linksource>true</linksource>
2943               <sourcetab>2</sourcetab>
2944               <validateLinks>true</validateLinks>
2945               <fixClassComment>true</fixClassComment>
2946               <fixFieldComment>true</fixFieldComment>
2947               <fixMethodComment>true</fixMethodComment>
2948               <fixTags>all</fixTags>
2949               <notimestamp>true</notimestamp>
2950               <!-- Pass some options straight to the javadoc executable since it is easier -->
2951               <additionalJOption>-J-Xmx2G</additionalJOption>
2952               <!-- JDK8 javadoc requires test scope transitive dependencies due to our custom doclet -->
2953               <additionalDependencies>
2954                 <additionalDependency>
2955                   <groupId>org.mockito</groupId>
2956                   <artifactId>mockito-all</artifactId>
2957                   <version>${mockito-all.version}</version>
2958                 </additionalDependency>
2959                 <additionalDependency>
2960                   <groupId>org.hamcrest</groupId>
2961                   <artifactId>hamcrest-core</artifactId>
2962                   <version>${hamcrest.version}</version>
2963                 </additionalDependency>
2964               </additionalDependencies>
2965               <inherited>false</inherited>
2966             </configuration>
2967           </reportSet>
2968           <reportSet>
2969             <id>testdevapi</id>
2970             <reports>
2971               <report>test-aggregate</report>
2972             </reports>
2973             <configuration>
2974               <destDir>testdevapidocs</destDir>
2975               <name>Developer API</name>
2976               <description>The full HBase API test code, including private and unstable APIs</description>
2977               <sourceFileExcludes>
2978                 <exclude>**/generated/*</exclude>
2979                 <exclude>**/protobuf/*</exclude>
2980                 <exclude>**/*.scala</exclude>
2981               </sourceFileExcludes>
2982               <excludePackageNames>org.apache.hadoop.hbase.tmpl.common:com.google.protobuf:org.apache.hadoop.hbase.spark:org.apache.hadoop.hbase.generated*</excludePackageNames>
2983               <show>private</show> <!-- (shows all classes and members) -->
2984               <quiet>true</quiet>
2985               <linksource>true</linksource>
2986               <sourcetab>2</sourcetab>
2987               <validateLinks>true</validateLinks>
2988               <fixClassComment>true</fixClassComment>
2989               <fixFieldComment>true</fixFieldComment>
2990               <fixMethodComment>true</fixMethodComment>
2991               <fixTags>all</fixTags>
2992               <notimestamp>true</notimestamp>
2993               <!-- Pass some options straight to the javadoc executable since it is easier -->
2994               <additionalJOption>-J-Xmx2G</additionalJOption>
2995               <!-- JDK8 javadoc requires test scope transitive dependencies due to our custom doclet -->
2996               <additionalDependencies>
2997                 <additionalDependency>
2998                   <groupId>org.mockito</groupId>
2999                   <artifactId>mockito-all</artifactId>
3000                   <version>${mockito-all.version}</version>
3001                 </additionalDependency>
3002                 <additionalDependency>
3003                   <groupId>org.hamcrest</groupId>
3004                   <artifactId>hamcrest-core</artifactId>
3005                   <version>${hamcrest.version}</version>
3006                 </additionalDependency>
3007               </additionalDependencies>
3008               <inherited>false</inherited>
3009             </configuration>
3010           </reportSet>
3012           <!-- User API -->
3013           <reportSet>
3014             <id>userapi</id>
3015             <reports>
3016               <report>aggregate</report>
3017             </reports>
3018             <configuration>
3019               <doclet>
3020                 org.apache.hadoop.hbase.classification.tools.IncludePublicAnnotationsStandardDoclet
3021               </doclet>
3022               <docletArtifact>
3023                 <groupId>org.apache.hbase</groupId>
3024                 <artifactId>hbase-annotations</artifactId>
3025                 <version>${project.version}</version>
3026               </docletArtifact>
3027               <useStandardDocletOptions>true</useStandardDocletOptions>
3028               <destDir>apidocs</destDir>
3029               <name>User API</name>
3030               <description>The HBase Application Programmer's API</description>
3031               <excludePackageNames>
3032                 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*
3033               </excludePackageNames>
3034               <!-- switch on dependency-driven aggregation -->
3035               <includeDependencySources>false</includeDependencySources>
3036               <dependencySourceIncludes>
3037                 <!-- include ONLY dependencies I control -->
3038                 <dependencySourceInclude>org.apache.hbase:hbase-annotations</dependencySourceInclude>
3039               </dependencySourceIncludes>
3040               <sourceFilesExclude>**/generated/*</sourceFilesExclude>
3041               <show>protected</show> <!-- (shows only public and protected classes and members) -->
3042               <quiet>true</quiet>
3043               <linksource>true</linksource>
3044               <sourcetab>2</sourcetab>
3045               <validateLinks>true</validateLinks>
3046               <fixClassComment>true</fixClassComment>
3047               <fixFieldComment>true</fixFieldComment>
3048               <fixMethodComment>true</fixMethodComment>
3049               <fixTags>all</fixTags>
3050               <notimestamp>true</notimestamp>
3051               <!-- Pass some options straight to the javadoc executable since it is easier -->
3052               <additionalJOption>-J-Xmx2G</additionalJOption>
3053               <!-- JDK8 javadoc requires test scope transitive dependencies due to our custom doclet -->
3054               <additionalDependencies>
3055                 <additionalDependency>
3056                   <groupId>org.mockito</groupId>
3057                   <artifactId>mockito-all</artifactId>
3058                   <version>${mockito-all.version}</version>
3059                 </additionalDependency>
3060                 <additionalDependency>
3061                   <groupId>org.hamcrest</groupId>
3062                   <artifactId>hamcrest-core</artifactId>
3063                   <version>${hamcrest.version}</version>
3064                 </additionalDependency>
3065               </additionalDependencies>
3066               <inherited>false</inherited>
3067             </configuration>
3068           </reportSet>
3069           <!-- User Test API -->
3070           <reportSet>
3071             <id>testuserapi</id>
3072             <reports>
3073               <report>test-aggregate</report>
3074             </reports>
3075             <configuration>
3076               <doclet>
3077                 org.apache.hadoop.hbase.classification.tools.IncludePublicAnnotationsStandardDoclet
3078               </doclet>
3079               <docletArtifact>
3080                 <groupId>org.apache.hbase</groupId>
3081                 <artifactId>hbase-annotations</artifactId>
3082                 <version>${project.version}</version>
3083               </docletArtifact>
3084               <useStandardDocletOptions>true</useStandardDocletOptions>
3085               <destDir>testapidocs</destDir>
3086               <name>User API</name>
3087               <description>The HBase Application Programmer's API</description>
3088               <excludePackageNames>
3089                 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*
3090               </excludePackageNames>
3091               <!-- switch on dependency-driven aggregation -->
3092               <includeDependencySources>false</includeDependencySources>
3093               <dependencySourceIncludes>
3094                 <!-- include ONLY dependencies I control -->
3095                 <dependencySourceInclude>org.apache.hbase:hbase-annotations</dependencySourceInclude>
3096               </dependencySourceIncludes>
3097               <sourceFilesExclude>**/generated/*</sourceFilesExclude>
3098               <show>protected</show> <!-- (shows only public and protected classes and members) -->
3099               <quiet>true</quiet>
3100               <linksource>true</linksource>
3101               <sourcetab>2</sourcetab>
3102               <validateLinks>true</validateLinks>
3103               <fixClassComment>true</fixClassComment>
3104               <fixFieldComment>true</fixFieldComment>
3105               <fixMethodComment>true</fixMethodComment>
3106               <fixTags>all</fixTags>
3107               <notimestamp>true</notimestamp>
3108               <!-- Pass some options straight to the javadoc executable since it is easier -->
3109               <additionalJOption>-J-Xmx2G</additionalJOption>
3110               <!-- JDK8 javadoc requires test scope transitive dependencies due to our custom doclet -->
3111               <additionalDependencies>
3112                 <additionalDependency>
3113                   <groupId>org.mockito</groupId>
3114                   <artifactId>mockito-all</artifactId>
3115                   <version>${mockito-all.version}</version>
3116                 </additionalDependency>
3117                 <additionalDependency>
3118                   <groupId>org.hamcrest</groupId>
3119                   <artifactId>hamcrest-core</artifactId>
3120                   <version>${hamcrest.version}</version>
3121                 </additionalDependency>
3122               </additionalDependencies>
3123               <inherited>false</inherited>
3124             </configuration>
3125           </reportSet>
3126         </reportSets>
3127       </plugin>
3129       <plugin>
3130         <groupId>org.apache.maven.plugins</groupId>
3131         <artifactId>maven-checkstyle-plugin</artifactId>
3132         <version>2.17</version>
3133         <configuration>
3134           <excludes>target/**</excludes>
3135           <configLocation>hbase/checkstyle.xml</configLocation>
3136           <suppressionsLocation>hbase/checkstyle-suppressions.xml</suppressionsLocation>
3137         </configuration>
3138       </plugin>
3140       <plugin>
3141         <groupId>org.scala-tools</groupId>
3142         <artifactId>maven-scala-plugin</artifactId>
3143       </plugin>
3144     </plugins>
3145   </reporting>
3146   <distributionManagement>
3147     <site>
3148       <id>hbase.apache.org</id>
3149       <name>HBase Website at hbase.apache.org</name>
3150       <!-- On why this is the tmp dir and not hbase.apache.org, see
3151                https://issues.apache.org/jira/browse/HBASE-7593?focusedCommentId=13555866&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13555866
3152                -->
3153       <url>file:///tmp</url>
3154     </site>
3155   </distributionManagement>
3156   <repositories>
3157     <repository>
3158         <id>project.local</id>
3159         <name>project</name>
3160         <url>file:${project.basedir}/src/main/site/resources/repo</url>
3161     </repository>
3162 </repositories>
3163 </project>