HBASE-22083 move eclipse settings into a profile.
[hbase.git] / pom.xml
blob11b3df4dcc49898ecaf84eb5ff024d2c57c9247e
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>21</version>
36     <relativePath/>
37     <!-- no parent resolution -->
38   </parent>
39   <groupId>org.apache.hbase</groupId>
40   <artifactId>hbase</artifactId>
41   <packaging>pom</packaging>
42   <version>3.0.0-SNAPSHOT</version>
43   <name>Apache HBase</name>
44   <description>
45     Apache HBase™ is the Hadoop database. Use it when you need
46     random, realtime read/write access to your Big Data.
47     This project's goal is the hosting of very large tables -- billions of rows X millions of columns -- atop clusters
48     of commodity hardware.
49   </description>
50   <url>http://hbase.apache.org</url>
51   <inceptionYear>2007</inceptionYear>
52   <!-- Set here so we can consistently use the correct name, even on branches with
53        an ASF parent pom older than v15. Also uses the url from v18.
54     -->
55   <licenses>
56     <license>
57       <name>Apache License, Version 2.0</name>
58       <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
59       <distribution>repo</distribution>
60     </license>
61   </licenses>
63   <modules>
64     <module>hbase-build-configuration</module>
65     <module>hbase-replication</module>
66     <module>hbase-mapreduce</module>
67     <module>hbase-resource-bundle</module>
68     <module>hbase-http</module>
69     <module>hbase-server</module>
70     <module>hbase-thrift</module>
71     <module>hbase-shell</module>
72     <module>hbase-protocol-shaded</module>
73     <module>hbase-protocol</module>
74     <module>hbase-client</module>
75     <module>hbase-hadoop-compat</module>
76     <module>hbase-common</module>
77     <module>hbase-procedure</module>
78     <module>hbase-endpoint</module>
79     <module>hbase-it</module>
80     <module>hbase-examples</module>
81     <module>hbase-assembly</module>
82     <module>hbase-testing-util</module>
83     <module>hbase-annotations</module>
84     <module>hbase-rest</module>
85     <module>hbase-checkstyle</module>
86     <module>hbase-external-blockcache</module>
87     <module>hbase-shaded</module>
88     <module>hbase-archetypes</module>
89     <module>hbase-metrics-api</module>
90     <module>hbase-metrics</module>
91     <module>hbase-backup</module>
92     <module>hbase-zookeeper</module>
93   </modules>
94   <scm>
95     <connection>scm:git:git://gitbox.apache.org/repos/asf/hbase.git</connection>
96     <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/hbase.git</developerConnection>
97     <url>https://gitbox.apache.org/repos/asf?p=hbase.git</url>
98   </scm>
99   <issueManagement>
100     <system>JIRA</system>
101     <url>http://issues.apache.org/jira/browse/HBASE</url>
102   </issueManagement>
103   <mailingLists>
104     <mailingList>
105       <name>User List</name>
106       <subscribe>user-subscribe@hbase.apache.org</subscribe>
107       <unsubscribe>user-unsubscribe@hbase.apache.org</unsubscribe>
108       <post>user@hbase.apache.org</post>
109       <archive>https://lists.apache.org/list.html?user@hbase.apache.org</archive>
110       <otherArchives>
111         <otherArchive>http://dir.gmane.org/gmane.comp.java.hadoop.hbase.user</otherArchive>
112         <otherArchive>http://search-hadoop.com/?q=&amp;fc_project=HBase</otherArchive>
113       </otherArchives>
114     </mailingList>
115     <mailingList>
116       <name>Developer List</name>
117       <subscribe>dev-subscribe@hbase.apache.org</subscribe>
118       <unsubscribe>dev-unsubscribe@hbase.apache.org</unsubscribe>
119       <post>dev@hbase.apache.org</post>
120       <archive>https://lists.apache.org/list.html?dev@hbase.apache.org</archive>
121       <otherArchives>
122         <otherArchive>http://dir.gmane.org/gmane.comp.java.hadoop.hbase.devel</otherArchive>
123         <otherArchive>http://search-hadoop.com/?q=&amp;fc_project=HBase</otherArchive>
124       </otherArchives>
125     </mailingList>
126     <mailingList>
127       <name>Commits List</name>
128       <subscribe>commits-subscribe@hbase.apache.org</subscribe>
129       <unsubscribe>commits-unsubscribe@hbase.apache.org</unsubscribe>
130       <archive>https://lists.apache.org/list.html?commits@hbase.apache.org</archive>
131     </mailingList>
132     <mailingList>
133       <name>Issues List</name>
134       <subscribe>issues-subscribe@hbase.apache.org</subscribe>
135       <unsubscribe>issues-unsubscribe@hbase.apache.org</unsubscribe>
136       <archive>https://lists.apache.org/list.html?issues@hbase.apache.org</archive>
137     </mailingList>
138     <mailingList>
139       <name>Builds List</name>
140       <subscribe>builds-subscribe@hbase.apache.org</subscribe>
141       <unsubscribe>builds-unsubscribe@hbase.apache.org</unsubscribe>
142       <archive>https://lists.apache.org/list.html?builds@hbase.apache.org</archive>
143     </mailingList>
144   </mailingLists>
145   <developers>
146     <developer>
147       <id>achouhan</id>
148       <name>Abhishek Singh Chouhan</name>
149       <email>achouhan@apache.org</email>
150       <timezone>+5</timezone>
151     </developer>
152     <developer>
153       <id>acube123</id>
154       <name>Amitanand S. Aiyer</name>
155       <email>acube123@apache.org</email>
156       <timezone>-8</timezone>
157     </developer>
158     <developer>
159       <id>allan163</id>
160       <name>Allan Yang</name>
161       <email>allan163@apache.org</email>
162       <timezone>+8</timezone>
163     </developer>
164     <developer>
165       <id>appy</id>
166       <name>Apekshit Sharma</name>
167       <email>appy@apache.org</email>
168       <timezone>-8</timezone>
169     </developer>
170     <developer>
171       <id>anastasia</id>
172       <name>Anastasia Braginsky</name>
173       <email>anastasia@apache.org</email>
174       <timezone>+2</timezone>
175     </developer>
176     <developer>
177       <id>apurtell</id>
178       <name>Andrew Purtell</name>
179       <email>apurtell@apache.org</email>
180       <timezone>-8</timezone>
181     </developer>
182     <developer>
183       <id>anoopsamjohn</id>
184       <name>Anoop Sam John</name>
185       <email>anoopsamjohn@apache.org</email>
186       <timezone>+5</timezone>
187     </developer>
188     <developer>
189       <id>antonov</id>
190       <name>Mikhail Antonov</name>
191       <email>antonov@apache.org</email>
192       <timezone>-8</timezone>
193     </developer>
194     <developer>
195       <id>ashishsinghi</id>
196       <name>Ashish Singhi</name>
197       <email>ashishsinghi@apache.org</email>
198       <timezone>+5</timezone>
199     </developer>
200     <developer>
201       <id>ashu</id>
202       <name>Ashu Pachauri</name>
203       <email>ashu@apache.org</email>
204       <timezone>+5</timezone>
205     </developer>
206     <developer>
207       <id>binlijin</id>
208       <name>Lijin Bin</name>
209       <email>binlijin@apache.org</email>
210       <timezone>+8</timezone>
211     </developer>
212     <developer>
213       <id>brfrn169</id>
214       <name>Toshihiro Suzuki</name>
215       <email>brfrn169@apache.org</email>
216       <timezone>+9</timezone>
217     </developer>
218     <developer>
219       <id>busbey</id>
220       <name>Sean Busbey</name>
221       <email>busbey@apache.org</email>
222       <timezone>-6</timezone>
223     </developer>
224     <developer>
225       <id>chenheng</id>
226       <name>Heng Chen</name>
227       <email>chenheng@apache.org</email>
228       <timezone>+8</timezone>
229     </developer>
230     <developer>
231       <id>chia7712</id>
232       <name>Chia-Ping Tsai</name>
233       <email>chia7712@apache.org</email>
234       <timezone>+8</timezone>
235     </developer>
236     <developer>
237       <id>ddas</id>
238       <name>Devaraj Das</name>
239       <email>ddas@apache.org</email>
240       <timezone>-8</timezone>
241     </developer>
242     <developer>
243       <id>dimaspivak</id>
244       <name>Dima Spivak</name>
245       <email>dimaspivak@apache.org</email>
246       <timezone>-8</timezone>
247     </developer>
248     <developer>
249       <id>dmeil</id>
250       <name>Doug Meil</name>
251       <email>dmeil@apache.org</email>
252       <timezone>-5</timezone>
253     </developer>
254     <developer>
255       <id>eclark</id>
256       <name>Elliott Clark</name>
257       <email>eclark@apache.org</email>
258       <timezone>-8</timezone>
259     </developer>
260     <developer>
261       <id>elserj</id>
262       <name>Josh Elser</name>
263       <email>elserj@apache.org</email>
264       <timezone>-5</timezone>
265     </developer>
266     <developer>
267       <id>enis</id>
268       <name>Enis Soztutar</name>
269       <email>enis@apache.org</email>
270       <timezone>-8</timezone>
271     </developer>
272     <developer>
273       <id>eshcar</id>
274       <name>Eshcar Hillel</name>
275       <email>eshcar@apache.org</email>
276       <timezone>+2</timezone>
277     </developer>
278     <developer>
279       <id>fenghh</id>
280       <name>Honghua Feng</name>
281       <email>fenghh@apache.org</email>
282       <timezone>+8</timezone>
283     </developer>
284     <developer>
285       <id>garyh</id>
286       <name>Gary Helmling</name>
287       <email>garyh@apache.org</email>
288       <timezone>-8</timezone>
289     </developer>
290     <developer>
291       <id>gchanan</id>
292       <name>Gregory Chanan</name>
293       <email>gchanan@apache.org</email>
294       <timezone>-8</timezone>
295     </developer>
296     <developer>
297         <id>gxcheng</id>
298         <name>Guangxu Cheng</name>
299         <email>gxcheng@apache.org</email>
300         <timezone>+8</timezone>
301     </developer>
302     <developer>
303       <id>huaxiangsun</id>
304       <name>Huaxiang Sun</name>
305       <email>huaxiangsun@apache.org</email>
306       <timezone>-8</timezone>
307     </developer>
308     <developer>
309       <id>jdcryans</id>
310       <name>Jean-Daniel Cryans</name>
311       <email>jdcryans@apache.org</email>
312       <timezone>-8</timezone>
313     </developer>
314     <developer>
315       <id>jeffreyz</id>
316       <name>Jeffrey Zhong</name>
317       <email>jeffreyz@apache.org</email>
318       <timezone>-8</timezone>
319     </developer>
320     <developer>
321       <id>jerryjch</id>
322       <name>Jing Chen (Jerry) He</name>
323       <email>jerryjch@apache.org</email>
324       <timezone>-8</timezone>
325     </developer>
326     <developer>
327       <id>jyates</id>
328       <name>Jesse Yates</name>
329       <email>jyates@apache.org</email>
330       <timezone>-8</timezone>
331     </developer>
332     <developer>
333       <id>jgray</id>
334       <name>Jonathan Gray</name>
335       <email>jgray@fb.com</email>
336       <timezone>-8</timezone>
337     </developer>
338     <developer>
339       <id>jingchengdu</id>
340       <name>Jingcheng Du</name>
341       <email>jingchengdu@apache.org</email>
342       <timezone>+8</timezone>
343     </developer>
344     <developer>
345       <id>esteban</id>
346       <name>Esteban Gutierrez</name>
347       <email>esteban@apache.org</email>
348       <timezone>-8</timezone>
349     </developer>
350     <developer>
351       <id>janh</id>
352       <name>Jan Hentschel</name>
353       <email>janh@apache.org</email>
354       <timezone>+1</timezone>
355     </developer>
356     <developer>
357       <id>jmhsieh</id>
358       <name>Jonathan Hsieh</name>
359       <email>jmhsieh@apache.org</email>
360       <timezone>-8</timezone>
361     </developer>
362     <developer>
363       <id>jxiang</id>
364       <name>Jimmy Xiang</name>
365       <email>jxiang@apache.org</email>
366       <timezone>-8</timezone>
367     </developer>
368     <developer>
369       <id>kannan</id>
370       <name>Kannan Muthukkaruppan</name>
371       <email>kannan@fb.com</email>
372       <timezone>-8</timezone>
373     </developer>
374     <developer>
375       <id>karthik</id>
376       <name>Karthik Ranganathan</name>
377       <email>kranganathan@fb.com</email>
378       <timezone>-8</timezone>
379     </developer>
380     <developer>
381       <id>larsfrancke</id>
382       <name>Lars Francke</name>
383       <email>larsfrancke@apache.org</email>
384       <timezone>Europe/Berlin</timezone>
385     </developer>
386     <developer>
387       <id>larsgeorge</id>
388       <name>Lars George</name>
389       <email>larsgeorge@apache.org</email>
390       <timezone>+1</timezone>
391     </developer>
392     <developer>
393       <id>larsh</id>
394       <name>Lars Hofhansl</name>
395       <email>larsh@apache.org</email>
396       <timezone>-8</timezone>
397     </developer>
398     <developer>
399       <id>liangxie</id>
400       <name>Liang Xie</name>
401       <email>liangxie@apache.org</email>
402       <timezone>+8</timezone>
403     </developer>
404     <developer>
405       <id>liushaohui</id>
406       <name>Shaohui Liu</name>
407       <email>liushaohui@apache.org</email>
408       <timezone>+8</timezone>
409     </developer>
410     <developer>
411       <id>liyin</id>
412       <name>Liyin Tang</name>
413       <email>liyin.tang@fb.com</email>
414       <timezone>-8</timezone>
415     </developer>
416     <developer>
417       <id>liyu</id>
418       <name>Yu Li</name>
419       <email>liyu@apache.org</email>
420       <timezone>+8</timezone>
421     </developer>
422     <developer>
423       <id>mbautin</id>
424       <name>Mikhail Bautin</name>
425       <email>mbautin@apache.org</email>
426       <timezone>-8</timezone>
427     </developer>
428     <developer>
429       <id>mbertozzi</id>
430       <name>Matteo Bertozzi</name>
431       <email>mbertozzi@apache.org</email>
432       <timezone>0</timezone>
433     </developer>
434     <developer>
435       <id>mdrob</id>
436       <name>Mike Drob</name>
437       <email>mdrob@apache.org</email>
438       <timezone>-5</timezone>
439     </developer>
440     <developer>
441       <id>meszibalu</id>
442       <name>Balazs Meszaros</name>
443       <email>meszibalu@apache.org</email>
444       <timezone>+1</timezone>
445     </developer>
446     <developer>
447       <id>misty</id>
448       <name>Misty Stanley-Jones</name>
449       <email>misty@apache.org</email>
450       <timezone>-8</timezone>
451     </developer>
452     <developer>
453       <id>ndimiduk</id>
454       <name>Nick Dimiduk</name>
455       <email>ndimiduk@apache.org</email>
456       <timezone>-8</timezone>
457     </developer>
458     <developer>
459       <id>nkeywal</id>
460       <name>Nicolas Liochon</name>
461       <email>nkeywal@apache.org</email>
462       <timezone>+1</timezone>
463     </developer>
464     <developer>
465       <id>nspiegelberg</id>
466       <name>Nicolas Spiegelberg</name>
467       <email>nspiegelberg@fb.com</email>
468       <timezone>-8</timezone>
469     </developer>
470     <developer>
471       <id>octo47</id>
472       <name>Andrey Stepachev</name>
473       <email>octo47@gmail.com</email>
474       <timezone>0</timezone>
475     </developer>
476     <developer>
477       <id>openinx</id>
478       <name>Zheng Hu</name>
479       <email>openinx@apache.org</email>
480       <timezone>+8</timezone>
481     </developer>
482     <developer>
483       <id>psomogyi</id>
484       <name>Peter Somogyi</name>
485       <email>psomogyi@apache.org</email>
486       <timezone>+1</timezone>
487     </developer>
488     <developer>
489       <id>rajeshbabu</id>
490       <name>Rajeshbabu Chintaguntla</name>
491       <email>rajeshbabu@apache.org</email>
492       <timezone>+5</timezone>
493     </developer>
494     <developer>
495       <id>ramkrishna</id>
496       <name>Ramkrishna S Vasudevan</name>
497       <email>ramkrishna@apache.org</email>
498       <timezone>+5</timezone>
499     </developer>
500     <developer>
501       <id>rawson</id>
502       <name>Ryan Rawson</name>
503       <email>rawson@apache.org</email>
504       <timezone>-8</timezone>
505     </developer>
506     <developer>
507       <id>reidchan</id>
508       <name>Reid Chan</name>
509       <email>reidchan@apache.org</email>
510       <timezone>+8</timezone>
511     </developer>
512     <developer>
513       <id>sershe</id>
514       <name>Sergey Shelukhin</name>
515       <email>sershe@apache.org</email>
516       <timezone>-8</timezone>
517     </developer>
518     <developer>
519       <id>ssrungarapu</id>
520       <name>Srikanth Srungarapu</name>
521       <email>ssrungarapu@apache.org</email>
522       <timezone>-8</timezone>
523     </developer>
524     <developer>
525       <id>stack</id>
526       <name>Michael Stack</name>
527       <email>stack@apache.org</email>
528       <timezone>-8</timezone>
529     </developer>
530     <developer>
531       <id>syuanjiang</id>
532       <name>Stephen Yuan Jiang</name>
533       <email>syuanjiang@apache.org</email>
534       <timezone>-8</timezone>
535     </developer>
536     <developer>
537       <id>tedyu</id>
538       <name>Ted Yu</name>
539       <email>yuzhihong@gmail.com</email>
540       <timezone>-8</timezone>
541     </developer>
542         <developer>
543           <id>tianjy</id>
544           <email>tianjy@apache.org</email>
545           <timezone>+8</timezone>
546     </developer>
547     <developer>
548       <id>todd</id>
549       <name>Todd Lipcon</name>
550       <email>todd@apache.org</email>
551       <timezone>-8</timezone>
552     </developer>
553     <developer>
554       <id>toffer</id>
555       <name>Francis Liu</name>
556       <email>toffer@apache.org</email>
557       <timezone>-8</timezone>
558     </developer>
559     <developer>
560       <id>vikasv</id>
561       <name>Vikas Vishwakarma</name>
562       <email>vikasv@apache.org</email>
563       <timezone>+5</timezone>
564     </developer>
565     <developer>
566       <id>virag</id>
567       <name>Virag Kothari</name>
568       <email>virag@yahoo-inc.com</email>
569       <timezone>-8</timezone>
570     </developer>
571     <developer>
572       <id>xucang</id>
573       <name>Xu Cang</name>
574       <email>xucang@apache.org</email>
575       <timezone>-8</timezone>
576     </developer>
577     <developer>
578       <id>yangzhe1991</id>
579       <name>Phil Yang</name>
580       <email>yangzhe1991@apache.org</email>
581       <timezone>+8</timezone>
582     </developer>
583     <developer>
584       <id>zghao</id>
585       <name>Guanghao Zhang</name>
586       <email>zghao@apache.org</email>
587       <timezone>+8</timezone>
588     </developer>
589     <developer>
590       <id>zhangduo</id>
591       <name>Duo Zhang</name>
592       <email>zhangduo@apache.org</email>
593       <timezone>+8</timezone>
594     </developer>
595     <developer>
596       <id>zjushch</id>
597       <name>Chunhui Shen</name>
598       <email>zjushch@apache.org</email>
599       <timezone>+8</timezone>
600     </developer>
601     <developer>
602       <id>churro</id>
603       <name>Rahul Gidwani</name>
604       <email>churro@apache.org</email>
605       <timezone>-8</timezone>
606     </developer>
607     <developer>
608       <id>yiliang</id>
609       <name>Yi Liang</name>
610       <email>yiliang@apache.org</email>
611       <timezone>-8</timezone>
612     </developer>
613     <developer>
614       <id>zyork</id>
615       <name>Zach York</name>
616       <email>zyork@apache.org</email>
617       <timezone>-8</timezone>
618     </developer>
619   </developers>
620   <build>
621     <extensions>
622       <extension>
623         <groupId>kr.motd.maven</groupId>
624         <artifactId>os-maven-plugin</artifactId>
625         <version>${os.maven.version}</version>
626       </extension>
627     </extensions>
628     <!-- Plugin versions are inherited from ASF parent pom: https://maven.apache.org/pom/asf/
629          For specific version use a property and define it in the parent pom.
630      -->
631     <pluginManagement>
632       <plugins>
633         <plugin>
634           <groupId>org.apache.maven.plugins</groupId>
635           <artifactId>maven-remote-resources-plugin</artifactId>
636         </plugin>
637         <plugin>
638           <groupId>org.apache.maven.plugins</groupId>
639           <artifactId>maven-release-plugin</artifactId>
640           <configuration>
641             <!--You need this profile. It'll sign your artifacts.
642                 I'm not sure if this config. actually works though.
643                 I've been specifying -Papache-release on the command-line
644              -->
645             <releaseProfiles>apache-release</releaseProfiles>
646             <!--This stops our running tests for each stage of maven release.
647                 But it builds the test jar.  From SUREFIRE-172.
648               -->
649             <arguments>-Dmaven.test.skip.exec ${arguments}</arguments>
650             <goals>${goals}</goals>
651             <pomFileName>pom.xml</pomFileName>
652           </configuration>
653         </plugin>
654         <plugin>
655           <groupId>org.apache.maven.plugins</groupId>
656           <artifactId>maven-compiler-plugin</artifactId>
657           <version>${maven.compiler.version}</version>
658           <configuration>
659             <source>${compileSource}</source>
660             <target>${compileSource}</target>
661             <showWarnings>true</showWarnings>
662             <showDeprecation>false</showDeprecation>
663             <useIncrementalCompilation>false</useIncrementalCompilation>
664             <compilerArgument>-Xlint:-options</compilerArgument>
665           </configuration>
666         </plugin>
667         <!-- Test oriented plugins -->
668         <plugin>
669           <groupId>org.apache.maven.plugins</groupId>
670           <artifactId>maven-surefire-plugin</artifactId>
671           <version>${surefire.version}</version>
672           <dependencies>
673             <!-- by default surefire selects dynamically the connector to the unit tests
674               tool. We want to use always the same as the different connectors can have different
675               bugs and behaviour. -->
676             <dependency>
677               <groupId>org.apache.maven.surefire</groupId>
678               <artifactId>${surefire.provider}</artifactId>
679               <version>${surefire.version}</version>
680             </dependency>
681           </dependencies>
682           <!-- Generic testing configuration for all packages -->
683           <configuration>
684             <groups>${surefire.firstPartGroups}</groups>
685             <failIfNoTests>false</failIfNoTests>
686             <skip>${surefire.skipFirstPart}</skip>
687             <forkCount>${surefire.firstPartForkCount}</forkCount>
688             <reuseForks>false</reuseForks>
689             <testFailureIgnore>${surefire.testFailureIgnore}</testFailureIgnore>
690             <forkedProcessTimeoutInSeconds>${surefire.timeout}</forkedProcessTimeoutInSeconds>
691             <redirectTestOutputToFile>${test.output.tofile}</redirectTestOutputToFile>
692             <systemPropertyVariables>
693               <test.build.classes>${test.build.classes}</test.build.classes>
694             </systemPropertyVariables>
695             <excludes>
696               <!-- users can add -D option to skip particular test classes
697              ex: mvn test -Dtest.exclude.pattern=**/TestFoo.java,**/TestBar.java
698               -->
699               <exclude>${test.exclude.pattern}</exclude>
700             </excludes>
701             <properties>
702               <property>
703                 <name>listener</name>
704                 <value>org.apache.hadoop.hbase.TimedOutTestsListener,org.apache.hadoop.hbase.HBaseClassTestRuleChecker,org.apache.hadoop.hbase.ResourceCheckerJUnitListener</value>
705               </property>
706             </properties>
707           </configuration>
708           <executions>
709             <execution>
710               <id>secondPartTestsExecution</id>
711               <phase>test</phase>
712               <goals>
713                 <goal>test</goal>
714               </goals>
715               <configuration>
716                 <skip>${surefire.skipSecondPart}</skip>
717                 <testFailureIgnore>${surefire.testFailureIgnore}</testFailureIgnore>
718                 <reuseForks>false</reuseForks>
719                 <forkCount>${surefire.secondPartForkCount}</forkCount>
720                 <groups>${surefire.secondPartGroups}</groups>
721                 <forkedProcessTimeoutInSeconds>${surefire.timeout}</forkedProcessTimeoutInSeconds>
722               </configuration>
723             </execution>
724           </executions>
725         </plugin>
726         <plugin>
727           <groupId>org.apache.maven.plugins</groupId>
728           <artifactId>maven-surefire-report-plugin</artifactId>
729           <version>${surefire.version}</version>
730         </plugin>
731         <plugin>
732           <groupId>org.codehaus.mojo</groupId>
733           <artifactId>buildnumber-maven-plugin</artifactId>
734           <version>${buildnumber.maven.version}</version>
735         </plugin>
736         <plugin>
737           <groupId>org.codehaus.mojo</groupId>
738           <artifactId>findbugs-maven-plugin</artifactId>
739           <version>${findbugs.maven.version}</version>
740           <!--NOTE: Findbugs 3.0.0 requires jdk7-->
741           <configuration>
742             <excludeFilterFile>${project.basedir}/../dev-support/findbugs-exclude.xml</excludeFilterFile>
743             <findbugsXmlOutput>true</findbugsXmlOutput>
744             <xmlOutput>true</xmlOutput>
745             <effort>Max</effort>
746           </configuration>
747         </plugin>
748         <plugin>
749           <groupId>org.codehaus.mojo</groupId>
750           <artifactId>build-helper-maven-plugin</artifactId>
751           <version>${build.helper.maven.version}</version>
752         </plugin>
753         <plugin>
754           <artifactId>maven-antrun-plugin</artifactId>
755           <version>${maven.antrun.version}</version>
756         </plugin>
757         <plugin>
758           <groupId>org.jamon</groupId>
759           <artifactId>jamon-maven-plugin</artifactId>
760           <version>${jamon.plugin.version}</version>
761         </plugin>
762         <!-- Make a jar and put the sources in the jar.
763         In the parent pom, so submodules will do the right thing. -->
764         <plugin>
765           <groupId>org.apache.maven.plugins</groupId>
766           <artifactId>maven-source-plugin</artifactId>
767           <executions>
768             <execution>
769               <id>attach-sources</id>
770               <phase>prepare-package</phase>
771               <goals>
772                 <goal>jar-no-fork</goal>
773                 <goal>test-jar-no-fork</goal>
774               </goals>
775             </execution>
776           </executions>
777         </plugin>
778         <!-- General configuration for submodules who want to build a test jar -->
779         <plugin>
780           <groupId>org.apache.maven.plugins</groupId>
781           <artifactId>maven-jar-plugin</artifactId>
782           <executions>
783             <execution>
784               <phase>prepare-package</phase>
785               <goals>
786                   <!--This goal will install a -test.jar when we do install
787                       See http://maven.apache.org/guides/mini/guide-attached-tests.html
788                    -->
789                 <goal>test-jar</goal>
790               </goals>
791             </execution>
792           </executions>
793           <configuration>
794             <skipIfEmpty>true</skipIfEmpty>
795             <excludes>
796               <exclude>hbase-site.xml</exclude>
797               <exclude>hdfs-site.xml</exclude>
798               <exclude>log4j.properties</exclude>
799               <exclude>mapred-queues.xml</exclude>
800               <exclude>mapred-site.xml</exclude>
801             </excludes>
802           </configuration>
803         </plugin>
804         <plugin>
805           <!-- excludes are inherited -->
806           <groupId>org.apache.rat</groupId>
807           <artifactId>apache-rat-plugin</artifactId>
808           <version>${apache.rat.version}</version>
809           <configuration>
810             <excludes>
811               <exclude>**/*.versionsBackup</exclude>
812               <exclude>**/*.log</exclude>
813               <exclude>**/.*</exclude>
814               <exclude>**/*.tgz</exclude>
815               <exclude>**/*.orig</exclude>
816               <exclude>**/0000000000000016310</exclude>
817               <exclude>**/a6a6562b777440fd9c34885428f5cb61.21e75333ada3d5bafb34bb918f29576c</exclude>
818               <exclude>**/8e8ab58dcf39412da19833fcd8f687ac</exclude>
819               <exclude>**/.idea/**</exclude>
820               <exclude>**/*.iml</exclude>
821               <exclude>**/CHANGES.txt</exclude>
822               <exclude>**/generated/**</exclude>
823               <exclude>**/gen-*/**</exclude>
824               <!-- No material contents -->
825               <exclude>conf/regionservers</exclude>
826               <exclude>**/*.avpr</exclude>
827               <exclude>**/*.svg</exclude>
828               <!-- non-standard notice file from jruby included by reference -->
829               <exclude>**/src/main/resources/META-INF/LEGAL</exclude>
830               <!-- MIT: https://github.com/asciidoctor/asciidoctor/blob/master/LICENSE.adoc -->
831               <exclude>**/src/main/asciidoc/hbase.css</exclude>
832               <!-- MIT http://jquery.org/license -->
833               <exclude>**/jquery.min.js</exclude>
834               <exclude>**/jquery.tablesorter.min.js</exclude>
835               <!-- vector graphics -->
836               <exclude>**/*.vm</exclude>
837               <!-- apache doxia generated -->
838               <exclude>**/control</exclude>
839               <exclude>**/conffile</exclude>
840               <!-- auto-gen docs -->
841               <exclude>docs/*</exclude>
842               <exclude>logs/*</exclude>
843               <!--  exclude source control files -->
844               <exclude>.git/**</exclude>
845               <exclude>.svn/**</exclude>
846               <exclude>**/.settings/**</exclude>
847               <exclude>**/patchprocess/**</exclude>
848               <exclude>src/site/resources/repo/**</exclude>
849               <exclude>**/dependency-reduced-pom.xml</exclude>
850               <exclude>**/rat.txt</exclude>
851               <!-- exclude the shaded protobuf files -->
852               <exclude>**/shaded/com/google/protobuf/**</exclude>
853               <exclude>**/src/main/patches/**</exclude>
854             </excludes>
855           </configuration>
856         </plugin>
857         <plugin>
858           <artifactId>maven-assembly-plugin</artifactId>
859           <configuration>
860             <!--Defer to the hbase-assembly sub-module.  It
861              does all assembly-->
862             <skipAssembly>true</skipAssembly>
863           </configuration>
864         </plugin>
865         <plugin>
866           <groupId>org.xolstice.maven.plugins</groupId>
867           <artifactId>protobuf-maven-plugin</artifactId>
868           <version>${protobuf.plugin.version}</version>
869           <configuration>
870             <protocArtifact>com.google.protobuf:protoc:${external.protobuf.version}:exe:${os.detected.classifier}</protocArtifact>
871             <protoSourceRoot>${basedir}/src/main/protobuf/</protoSourceRoot>
872             <clearOutputDirectory>false</clearOutputDirectory>
873             <checkStaleness>true</checkStaleness>
874           </configuration>
875         </plugin>
876         <plugin>
877           <!-- Approach followed here is roughly the same as mentioned here:
878           https://maven.apache.org/plugins/maven-checkstyle-plugin/examples/multi-module-config.html
879           -->
880           <groupId>org.apache.maven.plugins</groupId>
881           <artifactId>maven-checkstyle-plugin</artifactId>
882           <version>${maven.checkstyle.version}</version>
883           <dependencies>
884             <dependency>
885               <groupId>org.apache.hbase</groupId>
886               <artifactId>hbase-checkstyle</artifactId>
887               <version>${project.version}</version>
888             </dependency>
889             <dependency>
890               <groupId>com.puppycrawl.tools</groupId>
891               <artifactId>checkstyle</artifactId>
892               <version>${checkstyle.version}</version>
893             </dependency>
894           </dependencies>
895           <configuration>
896             <configLocation>hbase/checkstyle.xml</configLocation>
897             <suppressionsLocation>hbase/checkstyle-suppressions.xml</suppressionsLocation>
898             <includeTestSourceDirectory>true</includeTestSourceDirectory>
899           </configuration>
900         </plugin>
901         <plugin>
902           <groupId>net.revelc.code</groupId>
903           <artifactId>warbucks-maven-plugin</artifactId>
904           <version>${maven.warbucks.version}</version>
905           <configuration>
906             <ignoreRuleFailures>false</ignoreRuleFailures>
907             <rules>
908               <rule>
909                 <!-- exclude the generated java files -->
910                 <classPattern>(?!.*(.generated.|.tmpl.|\$)).*</classPattern>
911                 <includeTestClasses>false</includeTestClasses>
912                 <includePublicClasses>true</includePublicClasses>
913                 <includePackagePrivateClasses>false</includePackagePrivateClasses>
914                 <includeProtectedClasses>false</includeProtectedClasses>
915                 <includePrivateClasses>false</includePrivateClasses>
916                 <classAnnotationPattern>org[.]apache[.]yetus[.]audience[.]InterfaceAudience.*</classAnnotationPattern>
917               </rule>
918             </rules>
919           </configuration>
920           <executions>
921             <execution>
922               <id>run-warbucks</id>
923               <goals>
924                 <goal>check</goal><!-- runs at process-test-classes phase -->
925               </goals>
926             </execution>
927           </executions>
928         </plugin>
929       </plugins>
930     </pluginManagement>
931     <plugins>
932       <plugin>
933         <groupId>org.codehaus.mojo</groupId>
934         <artifactId>build-helper-maven-plugin</artifactId>
935         <executions>
936           <execution>
937             <id>negate-license-bundles-property</id>
938             <goals>
939               <goal>bsh-property</goal>
940             </goals>
941             <configuration>
942               <source>skip.license.check = !${license.bundles.dependencies};</source>
943               <properties>
944                 <property>skip.license.check</property>
945               </properties>
946             </configuration>
947           </execution>
948           <!-- sets where to find the generated LICENSE files -->
949           <execution>
950             <id>create-license-file-path-property</id>
951             <goals>
952               <goal>regex-property</goal>
953             </goals>
954             <configuration>
955               <name>license.aggregate.path</name>
956               <value>${project.build.directory}/maven-shared-archive-resources/META-INF/LICENSE</value>
957               <regex>\\</regex>
958               <replacement>/</replacement>
959               <failIfNoMatch>false</failIfNoMatch>
960             </configuration>
961           </execution>
962         </executions>
963       </plugin>
964       <plugin>
965         <groupId>org.apache.maven.plugins</groupId>
966         <artifactId>maven-enforcer-plugin</artifactId>
967         <version>${enforcer.version}</version>
968         <dependencies>
969           <dependency>
970             <groupId>org.codehaus.mojo</groupId>
971             <artifactId>extra-enforcer-rules</artifactId>
972             <version>${extra.enforcer.version}</version>
973           </dependency>
974           <dependency>
975             <groupId>de.skuzzle.enforcer</groupId>
976             <artifactId>restrict-imports-enforcer-rule</artifactId>
977             <version>${restrict-imports.enforcer.version}</version>
978           </dependency>
979         </dependencies>
980         <!-- version set by parent -->
981         <executions>
982           <execution>
983             <id>hadoop-profile-min-maven-min-java-banned-xerces</id>
984             <goals>
985               <goal>enforce</goal>
986             </goals>
987             <configuration>
988               <rules>
989                 <!-- Help people activate profiles correctly -->
990                 <evaluateBeanshell>
991                   <condition>System.getProperty("hadoop-profile", "").isEmpty()</condition>
992                   <message>The hadoop-profile property is unused, did you mean to set hadoop.profile instead?</message>
993                 </evaluateBeanshell>
994                 <!-- The earliest maven version we verify builds for via ASF Jenkins -->
995                 <requireMavenVersion>
996                   <version>[${maven.min.version},)</version>
997                   <message>Maven is out of date.
998   HBase requires at least version ${maven.min.version} of Maven to properly build from source.
999   You appear to be using an older version. You can use either "mvn -version" or
1000   "mvn enforcer:display-info" to verify what version is active.
1001   See the reference guide on building for more information: http://hbase.apache.org/book.html#build
1002                   </message>
1003                 </requireMavenVersion>
1004                 <!-- The earliest JVM version we verify builds for via ASF Jenkins -->
1005                 <requireJavaVersion>
1006                   <version>[${java.min.version},)</version>
1007                   <message>Java is out of date.
1008   HBase requires at least version ${java.min.version} of the JDK to properly build from source.
1009   You appear to be using an older version. You can use either "mvn -version" or
1010   "mvn enforcer:display-info" to verify what version is active.
1011   See the reference guide on building for more information: http://hbase.apache.org/book.html#build
1012                   </message>
1013                 </requireJavaVersion>
1014                 <bannedDependencies>
1015                   <excludes>
1016                     <exclude>xerces:xercesImpl</exclude>
1017                   </excludes>
1018                   <message>We avoid adding our own Xerces jars to the classpath, see HBASE-16340.</message>
1019                 </bannedDependencies>
1020               </rules>
1021             </configuration>
1022           </execution>
1023           <execution>
1024             <id>banned-jsr305</id>
1025             <goals>
1026               <goal>enforce</goal>
1027             </goals>
1028             <configuration>
1029               <rules>
1030                 <bannedDependencies>
1031                   <excludes>
1032                     <exclude>com.google.code.findbugs:jsr305</exclude>
1033                   </excludes>
1034                   <message>We don't allow the JSR305 jar from the Findbugs project, see HBASE-16321.</message>
1035                 </bannedDependencies>
1036               </rules>
1037             </configuration>
1038           </execution>
1039           <execution>
1040             <id>banned-scala</id>
1041             <goals>
1042               <goal>enforce</goal>
1043             </goals>
1044             <configuration>
1045               <rules>
1046                 <bannedDependencies>
1047                   <excludes>
1048                     <exclude>org.scala-lang:scala-library</exclude>
1049                   </excludes>
1050                   <message>We don't allow Scala, see HBASE-13992.</message>
1051                 </bannedDependencies>
1052               </rules>
1053             </configuration>
1054           </execution>
1055           <execution>
1056             <id>check-aggregate-license</id>
1057             <!-- must check after LICENSE is built at 'generate-resources' -->
1058             <phase>process-resources</phase>
1059             <goals>
1060               <goal>enforce</goal>
1061             </goals>
1062             <configuration>
1063               <rules>
1064                 <evaluateBeanshell>
1065                   <condition>
1066                     File license = new File("${license.aggregate.path}");
1068                     // Beanshell does not support try-with-resources,
1069                     // so we must close this scanner manually
1070                     Scanner scanner = new Scanner(license);
1072                     while (scanner.hasNextLine()) {
1073                       if (scanner.nextLine().startsWith("ERROR:")) {
1074                         scanner.close();
1075                         return false;
1076                       }
1077                     }
1078                     scanner.close();
1079                     return true;
1080                   </condition>
1081                   <message>
1082                     License errors detected, for more detail find ERROR in
1083                     ${license.aggregate.path}
1084                   </message>
1085                 </evaluateBeanshell>
1086               </rules>
1087               <skip>${skip.license.check}</skip>
1088             </configuration>
1089           </execution>
1090           <execution>
1091             <id>banned-illegal-imports</id>
1092             <phase>process-sources</phase>
1093             <goals>
1094               <goal>enforce</goal>
1095             </goals>
1096             <configuration>
1097               <rules>
1098                 <restrictImports implementation="de.skuzzle.enforcer.restrictimports.rule.RestrictImports">
1099                   <includeTestCode>true</includeTestCode>
1100                   <commentLineBufferSize>512</commentLineBufferSize>
1101                   <reason>Use SLF4j for logging</reason>
1102                   <bannedImports>
1103                     <bannedImport>org.apache.commons.logging.Log</bannedImport>
1104                     <bannedImport>org.apache.commons.logging.LogFactory</bannedImport>
1105                   </bannedImports>
1106                 </restrictImports>
1107                 <restrictImports implementation="de.skuzzle.enforcer.restrictimports.rule.RestrictImports">
1108                   <includeTestCode>true</includeTestCode>
1109                   <commentLineBufferSize>512</commentLineBufferSize>
1110                   <reason>Use shaded version in hbase-thirdparty</reason>
1111                   <bannedImports>
1112                     <bannedImport>com.google.common.**</bannedImport>
1113                     <bannedImport>io.netty.**</bannedImport>
1114                     <bannedImport>org.apache.commons.cli.**</bannedImport>
1115                     <bannedImport>org.apache.commons.collections.**</bannedImport>
1116                     <bannedImport>org.apache.commons.collections4.**</bannedImport>
1117                   </bannedImports>
1118                 </restrictImports>
1119                 <restrictImports implementation="de.skuzzle.enforcer.restrictimports.rule.RestrictImports">
1120                   <includeTestCode>true</includeTestCode>
1121                   <commentLineBufferSize>512</commentLineBufferSize>
1122                   <reason>Do not use shaded classes from other dependencies</reason>
1123                   <bannedImports>
1124                     <bannedImport>org.apache.curator.shaded.**</bannedImport>
1125                     <bannedImport>org.apache.htrace.shaded.**</bannedImport>
1126                   </bannedImports>
1127                 </restrictImports>
1128                 <restrictImports implementation="de.skuzzle.enforcer.restrictimports.rule.RestrictImports">
1129                   <includeTestCode>true</includeTestCode>
1130                   <commentLineBufferSize>512</commentLineBufferSize>
1131                   <reason>Use shaded gson in hbase-thirdparty</reason>
1132                   <bannedImports>
1133                     <bannedImport>org.codehaus.jackson.**</bannedImport>
1134                   </bannedImports>
1135                 </restrictImports>
1136                 <restrictImports implementation="de.skuzzle.enforcer.restrictimports.rule.RestrictImports">
1137                   <includeTestCode>true</includeTestCode>
1138                   <commentLineBufferSize>512</commentLineBufferSize>
1139                   <reason>Use commons lang 3</reason>
1140                   <bannedImports>
1141                     <bannedImport>org.apache.commons.lang.**</bannedImport>
1142                   </bannedImports>
1143                 </restrictImports>
1144                 <restrictImports implementation="de.skuzzle.enforcer.restrictimports.rule.RestrictImports">
1145                   <includeTestCode>true</includeTestCode>
1146                   <commentLineBufferSize>512</commentLineBufferSize>
1147                   <reason>Use yetus IA and IS annotations</reason>
1148                   <bannedImports>
1149                     <bannedImport>org.apache.hadoop.classificatio.**</bannedImport>
1150                   </bannedImports>
1151                 </restrictImports>
1152                 <restrictImports implementation="de.skuzzle.enforcer.restrictimports.rule.RestrictImports">
1153                   <includeTestCode>true</includeTestCode>
1154                   <commentLineBufferSize>512</commentLineBufferSize>
1155                   <reason>Do not use htrace v3</reason>
1156                   <bannedImports>
1157                     <bannedImport>org.htrace.**</bannedImport>
1158                   </bannedImports>
1159                 </restrictImports>
1160               </rules>
1161             </configuration>
1162           </execution>
1163         </executions>
1164       </plugin>
1165       <!-- parent-module only plugins -->
1166       <plugin>
1167         <groupId>org.codehaus.mojo</groupId>
1168         <artifactId>xml-maven-plugin</artifactId>
1169         <version>${xml.maven.version}</version>
1170         <inherited>false</inherited>
1171         <executions>
1172           <execution>
1173             <!-- Run the hbase-default.xml through a stylesheet so can show it in doc-->
1174             <goals>
1175               <goal>transform</goal>
1176             </goals>
1177             <phase>site</phase>
1178           </execution>
1179         </executions>
1180         <configuration>
1181           <transformationSets>
1182             <!-- For asciidoc -->
1183             <transformationSet>
1184               <!--Reaching up and over into common sub-module for hbase-default.xml-->
1185               <dir>${basedir}/hbase-common/src/main/resources/</dir>
1186               <includes>
1187                 <include>hbase-default.xml</include>
1188               </includes>
1189               <stylesheet>${basedir}/src/main/xslt/configuration_to_asciidoc_chapter.xsl</stylesheet>
1190               <fileMappers>
1191                 <fileMapper implementation="org.codehaus.plexus.components.io.filemappers.RegExpFileMapper">
1192                   <pattern>^(.*)\.xml$</pattern>
1193                   <replacement>$1.adoc</replacement>
1194                 </fileMapper>
1195               </fileMappers>
1196               <outputDir>${basedir}/target/asciidoc</outputDir>
1197             </transformationSet>
1198           </transformationSets>
1199         </configuration>
1200       </plugin>
1201       <!-- Special configuration for findbugs just in the parent so
1202       the filter file location can be more general (see definition in pluginManagement) -->
1203       <plugin>
1204         <groupId>org.codehaus.mojo</groupId>
1205         <artifactId>findbugs-maven-plugin</artifactId>
1206         <executions>
1207           <execution>
1208             <inherited>false</inherited>
1209             <goals>
1210               <goal>findbugs</goal>
1211             </goals>
1212             <configuration>
1213               <excludeFilterFile>${basedir}/dev-support/findbugs-exclude.xml</excludeFilterFile>
1214             </configuration>
1215           </execution>
1216         </executions>
1217       </plugin>
1218       <plugin>
1219         <groupId>org.apache.maven.plugins</groupId>
1220         <artifactId>maven-checkstyle-plugin</artifactId>
1221       </plugin>
1222       <plugin>
1223         <groupId>org.apache.maven.plugins</groupId>
1224         <artifactId>maven-site-plugin</artifactId>
1225         <dependencies>
1226           <dependency>
1227             <!-- add support for ssh/scp -->
1228             <groupId>org.apache.maven.wagon</groupId>
1229             <artifactId>wagon-ssh</artifactId>
1230             <version>${wagon.ssh.version}</version>
1231           </dependency>
1232         </dependencies>
1233         <configuration>
1234           <siteDirectory>${basedir}/src/site</siteDirectory>
1235           <customBundle>${basedir}/src/site/custom/project-info-report.properties</customBundle>
1236           <inputEncoding>UTF-8</inputEncoding>
1237           <outputEncoding>UTF-8</outputEncoding>
1238         </configuration>
1239       </plugin>
1240       <!-- For AsciiDoc docs building -->
1241       <plugin>
1242         <groupId>org.asciidoctor</groupId>
1243         <artifactId>asciidoctor-maven-plugin</artifactId>
1244         <version>${asciidoctor.plugin.version}</version>
1245         <inherited>false</inherited>
1246         <dependencies>
1247           <dependency>
1248             <groupId>org.asciidoctor</groupId>
1249             <artifactId>asciidoctorj-pdf</artifactId>
1250             <version>${asciidoctorj.pdf.version}</version>
1251           </dependency>
1252           <dependency>
1253             <groupId>org.jruby</groupId>
1254             <artifactId>jruby-complete</artifactId>
1255             <version>${jruby.version}</version>
1256           </dependency>
1257         </dependencies>
1258         <configuration>
1259           <outputDirectory>${project.reporting.outputDirectory}/</outputDirectory>
1260           <doctype>book</doctype>
1261           <imagesDir>images</imagesDir>
1262           <sourceHighlighter>coderay</sourceHighlighter>
1263           <attributes>
1264             <docVersion>${project.version}</docVersion>
1265           </attributes>
1266         </configuration>
1267         <executions>
1268           <execution>
1269             <id>output-html</id>
1270             <phase>site</phase>
1271             <goals>
1272               <goal>process-asciidoc</goal>
1273             </goals>
1274             <configuration>
1275               <attributes>
1276                 <stylesheet>hbase.css</stylesheet>
1277               </attributes>
1278               <backend>html5</backend>
1279             </configuration>
1280           </execution>
1281           <execution>
1282             <id>output-pdf</id>
1283             <phase>site</phase>
1284             <goals>
1285               <goal>process-asciidoc</goal>
1286             </goals>
1287             <configuration>
1288               <backend>pdf</backend>
1289               <attributes>
1290                 <pagenums/>
1291                 <toc/>
1292                 <idprefix/>
1293                 <idseparator>-</idseparator>
1294               </attributes>
1295             </configuration>
1296           </execution>
1297         </executions>
1298       </plugin>
1299       <plugin>
1300         <groupId>org.apache.maven.plugins</groupId>
1301         <artifactId>maven-resources-plugin</artifactId>
1302         <!--$NO-MVN-MAN-VER$ -->
1303         <inherited>false</inherited>
1304         <executions>
1305           <execution>
1306             <id>copy-htaccess</id>
1307             <goals>
1308               <goal>copy-resources</goal>
1309             </goals>
1310             <phase>site</phase>
1311             <configuration>
1312               <outputDirectory>${project.reporting.outputDirectory}/</outputDirectory>
1313               <resources>
1314                 <resource>
1315                   <directory>${basedir}/src/site/resources/</directory>
1316                   <includes>
1317                     <include>.htaccess</include>
1318                   </includes>
1319                 </resource>
1320               </resources>
1321             </configuration>
1322           </execution>
1323           <!-- needed to make the redirect above work -->
1324           <execution>
1325             <id>copy-empty-book-dir</id>
1326             <goals>
1327               <goal>copy-resources</goal>
1328             </goals>
1329             <phase>site</phase>
1330             <configuration>
1331               <outputDirectory>${project.reporting.outputDirectory}/</outputDirectory>
1332               <resources>
1333                 <resource>
1334                   <directory>${basedir}/src/site/resources/</directory>
1335                   <includes>
1336                     <include>book/**</include>
1337                   </includes>
1338                 </resource>
1339               </resources>
1340             </configuration>
1341           </execution>
1342         </executions>
1343         <configuration>
1344           <escapeString>\</escapeString>
1345         </configuration>
1346       </plugin>
1347       <plugin>
1348         <groupId>org.apache.maven.plugins</groupId>
1349         <artifactId>maven-antrun-plugin</artifactId>
1350         <version>${maven.antrun.version}</version>
1351         <inherited>false</inherited>
1352         <!-- Rename the book.pdf generated by asciidoctor -->
1353         <executions>
1354           <execution>
1355             <id>rename-pdf</id>
1356             <phase>site</phase>
1357             <configuration>
1358               <target name="rename file">
1359                 <move file="${project.reporting.outputDirectory}/book.pdf" tofile="${project.reporting.outputDirectory}/apache_hbase_reference_guide.pdf" />
1360               </target>
1361             </configuration>
1362             <goals>
1363               <goal>run</goal>
1364             </goals>
1365           </execution>
1366         </executions>
1367       </plugin>
1368       <plugin>
1369         <groupId>org.codehaus.mojo</groupId>
1370         <artifactId>buildnumber-maven-plugin</artifactId>
1371         <executions>
1372           <execution>
1373             <phase>validate</phase>
1374             <goals>
1375               <goal>create-timestamp</goal>
1376             </goals>
1377           </execution>
1378         </executions>
1379         <configuration>
1380           <timestampFormat>yyyy</timestampFormat>
1381           <timestampPropertyName>build.year</timestampPropertyName>
1382         </configuration>
1383       </plugin>
1384       <plugin>
1385         <groupId>org.apache.felix</groupId>
1386         <artifactId>maven-bundle-plugin</artifactId>
1387         <version>${maven.bundle.version}</version>
1388         <inherited>true</inherited>
1389         <extensions>true</extensions>
1390       </plugin>
1391     </plugins>
1392   </build>
1393   <properties>
1394     <!-- override on command line to have generated LICENSE files include
1395          diagnostic info for verifying notice requirements -->
1396     <license.debug.print.included>false</license.debug.print.included>
1397     <!-- When a particular module bundles its depenendencies, should be true -->
1398     <license.bundles.dependencies>false</license.bundles.dependencies>
1399     <!-- modules that include a the logo in their source tree should set true -->
1400     <license.bundles.logo>false</license.bundles.logo>
1401     <!-- modules that include bootstrap in their source tree should set true -->
1402     <license.bundles.bootstrap>false</license.bundles.bootstrap>
1403     <!-- modules that include jquery in their source tree should set true -->
1404     <license.bundles.jquery>false</license.bundles.jquery>
1405     <tar.name>${project.build.finalName}.tar.gz</tar.name>
1406     <maven.build.timestamp.format>
1407       yyyy-MM-dd'T'HH:mm
1408     </maven.build.timestamp.format>
1409     <buildDate>${maven.build.timestamp}</buildDate>
1410     <compileSource>1.8</compileSource>
1411     <!-- Build dependencies -->
1412     <maven.min.version>3.0.4</maven.min.version>
1413     <java.min.version>${compileSource}</java.min.version>
1414     <!-- Dependencies -->
1415     <hadoop-two.version>2.7.7</hadoop-two.version>
1416     <hadoop-three.version>3.0.3</hadoop-three.version>
1417     <!-- These must be defined here for downstream build tools that don't look at profiles.
1418          They ought to match the values found in our default hadoop profile, which is
1419          currently "hadoop-2.0". See HBASE-15925 for more info. -->
1420     <hadoop.version>${hadoop-two.version}</hadoop.version>
1421     <hadoop.guava.version>11.0.2</hadoop.guava.version>
1422     <compat.module>hbase-hadoop2-compat</compat.module>
1423     <assembly.file>src/main/assembly/hadoop-two-compat.xml</assembly.file>
1424     <!--This property is for hadoops netty. HBase netty
1425          comes in via hbase-thirdparty hbase-shaded-netty-->
1426     <netty.hadoop.version>3.6.2.Final</netty.hadoop.version>
1427     <!-- end HBASE-15925 default hadoop compatibility values -->
1428     <audience-annotations.version>0.5.0</audience-annotations.version>
1429     <avro.version>1.7.7</avro.version>
1430     <caffeine.version>2.6.2</caffeine.version>
1431     <commons-codec.version>1.10</commons-codec.version>
1432     <commons-validator.version>1.6</commons-validator.version>
1433     <!-- pretty outdated -->
1434     <commons-io.version>2.5</commons-io.version>
1435     <commons-lang3.version>3.6</commons-lang3.version>
1436     <commons-math.version>3.6.1</commons-math.version>
1437     <disruptor.version>3.3.6</disruptor.version>
1438     <httpclient.version>4.5.3</httpclient.version>
1439     <httpcore.version>4.4.6</httpcore.version>
1440     <metrics-core.version>3.2.1</metrics-core.version>
1441     <jackson.version>2.9.2</jackson.version>
1442     <jaxb-api.version>2.2.12</jaxb-api.version>
1443     <jetty.version>9.3.25.v20180904</jetty.version>
1444     <servlet.api.version>3.1.0</servlet.api.version>
1445     <wx.rs.api.version>2.0.1</wx.rs.api.version>
1446     <!-- Jersey 2.26 requires jetty 9.4 which breaks hadoop. Tread lightly. -->
1447     <jersey.version>2.25.1</jersey.version>
1448     <glassfish.jsp.version>2.3.2</glassfish.jsp.version>
1449     <glassfish.el.version>3.0.1-b08</glassfish.el.version>
1450     <jruby.version>9.1.17.0</jruby.version>
1451     <junit.version>4.12</junit.version>
1452     <hamcrest.version>1.3</hamcrest.version>
1453     <htrace.version>4.2.0-incubating</htrace.version>
1454     <log4j.version>1.2.17</log4j.version>
1455     <mockito-core.version>2.1.0</mockito-core.version>
1456     <!--Internally we use a different version of protobuf. See hbase-protocol-shaded-->
1457     <external.protobuf.version>2.5.0</external.protobuf.version>
1458     <protobuf.plugin.version>0.5.0</protobuf.plugin.version>
1459     <thrift.path>thrift</thrift.path>
1460     <thrift.version>0.12.0</thrift.version>
1461     <zookeeper.version>3.4.10</zookeeper.version>
1462     <!-- What ZooKeeper 3.4.x depends on and nothing more -->
1463     <jline.version>0.9.94</jline.version>
1464     <slf4j.version>1.7.25</slf4j.version>
1465     <clover.version>4.0.3</clover.version>
1466     <jamon-runtime.version>2.4.1</jamon-runtime.version>
1467     <jettison.version>1.3.8</jettison.version>
1468     <!--Make sure these joni/jcodings are compatible with the versions used by jruby-->
1469     <joni.version>2.1.11</joni.version>
1470     <jcodings.version>1.0.18</jcodings.version>
1471     <spy.version>2.12.2</spy.version>
1472     <bouncycastle.version>1.60</bouncycastle.version>
1473     <kerby.version>1.0.1</kerby.version>
1474     <commons-crypto.version>1.0.0</commons-crypto.version>
1475     <curator.version>4.0.0</curator.version>
1476     <!-- Plugin Dependencies -->
1477     <apache.rat.version>0.12</apache.rat.version>
1478     <asciidoctor.plugin.version>1.5.5</asciidoctor.plugin.version>
1479     <asciidoctorj.pdf.version>1.5.0-alpha.15</asciidoctorj.pdf.version>
1480     <build.helper.maven.version>3.0.0</build.helper.maven.version>
1481     <buildnumber.maven.version>1.4</buildnumber.maven.version>
1482     <checkstyle.version>8.11</checkstyle.version>
1483     <exec.maven.version>1.6.0</exec.maven.version>
1484     <error-prone.version>2.3.3</error-prone.version>
1485     <findbugs-annotations>1.3.9-1</findbugs-annotations>
1486     <findbugs.maven.version>3.0.4</findbugs.maven.version>
1487     <jamon.plugin.version>2.4.2</jamon.plugin.version>
1488     <lifecycle.mapping.version>1.0.0</lifecycle.mapping.version>
1489     <maven.antrun.version>1.8</maven.antrun.version>
1490     <maven.bundle.version>3.3.0</maven.bundle.version>
1491     <maven.checkstyle.version>3.0.0</maven.checkstyle.version>
1492     <maven.compiler.version>3.8.0</maven.compiler.version>
1493     <maven.eclipse.version>2.10</maven.eclipse.version>
1494     <maven.warbucks.version>1.1.0</maven.warbucks.version>
1495     <os.maven.version>1.5.0.Final</os.maven.version>
1496     <spotbugs.version>3.1.11</spotbugs.version>
1497     <wagon.ssh.version>2.12</wagon.ssh.version>
1498     <xml.maven.version>1.0.1</xml.maven.version>
1499     <hbase-thirdparty.version>2.2.1</hbase-thirdparty.version>
1500     <!-- Intraproject jar naming properties -->
1501     <!-- TODO this is pretty ugly, but works for the moment.
1502       Modules are pretty heavy-weight things, so doing this work isn't too bad. -->
1503     <server.test.jar>hbase-server-${project.version}-tests.jar</server.test.jar>
1504     <common.test.jar>hbase-common-${project.version}-tests.jar</common.test.jar>
1505     <procedure.test.jar>hbase-procedure-${project.version}-tests.jar</procedure.test.jar>
1506     <it.test.jar>hbase-it-${project.version}-tests.jar</it.test.jar>
1507     <annotations.test.jar>hbase-annotations-${project.version}-tests.jar</annotations.test.jar>
1508     <rsgroup.test.jar>hbase-rsgroup-${project.version}-tests.jar</rsgroup.test.jar>
1509     <mapreduce.test.jar>hbase-mapreduce-${project.version}-tests.jar</mapreduce.test.jar>
1510     <zookeeper.test.jar>hbase-zookeeper-${project.version}-tests.jar</zookeeper.test.jar>
1511     <shell-executable>bash</shell-executable>
1512     <surefire.provider>surefire-junit47</surefire.provider>
1513     <!-- default: run small & medium, medium with 2 threads -->
1514     <surefire.skipFirstPart>false</surefire.skipFirstPart>
1515     <surefire.skipSecondPart>false</surefire.skipSecondPart>
1516     <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
1517     <surefire.secondPartForkCount>2</surefire.secondPartForkCount>
1518     <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.SmallTests</surefire.firstPartGroups>
1519     <surefire.secondPartGroups>org.apache.hadoop.hbase.testclassification.MediumTests</surefire.secondPartGroups>
1520     <surefire.testFailureIgnore>false</surefire.testFailureIgnore>
1521     <test.output.tofile>true</test.output.tofile>
1522     <surefire.timeout>900</surefire.timeout>
1523     <test.exclude.pattern></test.exclude.pattern>
1524     <!-- default Xmx value is 2800m. Use -Dsurefire.Xmx=xxg to run tests with different JVM Xmx value -->
1525     <surefire.Xmx>2800m</surefire.Xmx>
1526     <surefire.cygwinXmx>2800m</surefire.cygwinXmx>
1527     <!--Mark our test runs with '-Dhbase.build.id' so we can identify a surefire test as ours in a process listing
1528      -->
1529     <hbase-surefire.argLine>-enableassertions -Dhbase.build.id=${build.id} -Xmx${surefire.Xmx}
1530       -Djava.security.egd=file:/dev/./urandom -Djava.net.preferIPv4Stack=true
1531       -Djava.awt.headless=true -Djdk.net.URLClassPath.disableClassPathURLCheck=true
1532     </hbase-surefire.argLine>
1533     <hbase-surefire.cygwin-argLine>-enableassertions -Xmx${surefire.cygwinXmx}
1534       -Djava.security.egd=file:/dev/./urandom -Djava.net.preferIPv4Stack=true
1535       "-Djava.library.path=${hadoop.library.path};${java.library.path}"
1536     </hbase-surefire.cygwin-argLine>
1537     <!-- Surefire argLine defaults to Linux, cygwin argLine is used in the os.windows profile -->
1538     <argLine>${hbase-surefire.argLine}</argLine>
1539     <jacoco.version>0.7.5.201505241946</jacoco.version>
1540     <extra.enforcer.version>1.0-beta-9</extra.enforcer.version>
1541     <enforcer.version>3.0.0-M2</enforcer.version>
1542     <restrict-imports.enforcer.version>0.14.0</restrict-imports.enforcer.version>
1543     <!-- Location of test resources -->
1544     <test.build.classes>${project.build.directory}/test-classes</test.build.classes>
1545     <maven.build.timestamp.format>yyyy-MM-dd'T'HH:mm:ss'Z'</maven.build.timestamp.format>
1546     <!--This build.id we'll add as flag so can identify which forked processes belong to our build.
1547         Default is the build start timestamp. Up on jenkins pass in the jenkins build id by setting
1548         this parameter by invoking mvn with -Dbuild.id=$BUILD_ID-->
1549     <build.id>${maven.build.timestamp}</build.id>
1550     <shell-executable>bash</shell-executable>
1551     <!-- TODO HBASE-15041 clean up our javadocs so jdk8 linter can be used.
1552          property as of javadoc-plugin 3.0.0 -->
1553     <doclint>none</doclint>
1554   </properties>
1555   <!-- Sorted by groups of dependencies then groupId and artifactId -->
1556   <dependencyManagement>
1557     <dependencies>
1558       <!--
1559       Note: There are a few exclusions to prevent duplicate code in different jars to be included:
1560           org.mortbay.jetty:servlet-api, javax.servlet:servlet-api: These are excluded because they are
1561           the same implementations. I chose org.mortbay.jetty:servlet-api-2.5 instead, which is a third
1562           implementation of the same, because Hadoop also uses this version
1563           javax.servlet:jsp-api in favour of javax.servlet.jsp:javax.servlet.jsp-api:2.3.1 since it
1564           is what glassfish's jspC jar uses and that's where we get our own need for a jsp-api.
1565         -->
1566       <!-- Intra-module dependencies -->
1567       <dependency>
1568         <groupId>org.apache.hbase</groupId>
1569         <artifactId>hbase-annotations</artifactId>
1570         <version>${project.version}</version>
1571         <type>test-jar</type>
1572         <!--Was test scope only but if we want to run hbase-it tests, need the annotations test jar-->
1573       </dependency>
1574       <dependency>
1575         <artifactId>hbase-backup</artifactId>
1576         <groupId>org.apache.hbase</groupId>
1577         <version>${project.version}</version>
1578       </dependency>
1579       <dependency>
1580         <groupId>org.apache.hbase</groupId>
1581         <artifactId>hbase-common</artifactId>
1582         <version>${project.version}</version>
1583       </dependency>
1584       <dependency>
1585         <groupId>org.apache.hbase</groupId>
1586         <artifactId>hbase-common</artifactId>
1587         <version>${project.version}</version>
1588         <type>test-jar</type>
1589         <scope>test</scope>
1590       </dependency>
1591       <dependency>
1592         <groupId>org.apache.hbase</groupId>
1593         <artifactId>hbase-protocol-shaded</artifactId>
1594         <version>${project.version}</version>
1595       </dependency>
1596       <dependency>
1597         <groupId>org.apache.hbase</groupId>
1598         <artifactId>hbase-protocol</artifactId>
1599         <version>${project.version}</version>
1600       </dependency>
1601       <dependency>
1602         <groupId>org.apache.hbase</groupId>
1603         <artifactId>hbase-procedure</artifactId>
1604         <version>${project.version}</version>
1605       </dependency>
1606       <dependency>
1607         <groupId>org.apache.hbase</groupId>
1608         <artifactId>hbase-procedure</artifactId>
1609         <version>${project.version}</version>
1610         <type>test-jar</type>
1611       </dependency>
1612       <dependency>
1613         <groupId>org.apache.hbase</groupId>
1614         <artifactId>hbase-hadoop-compat</artifactId>
1615         <version>${project.version}</version>
1616       </dependency>
1617       <dependency>
1618         <groupId>org.apache.hbase</groupId>
1619         <artifactId>hbase-hadoop-compat</artifactId>
1620         <version>${project.version}</version>
1621         <type>test-jar</type>
1622         <scope>test</scope>
1623       </dependency>
1624       <dependency>
1625         <groupId>org.apache.hbase</groupId>
1626         <artifactId>${compat.module}</artifactId>
1627         <version>${project.version}</version>
1628       </dependency>
1629       <dependency>
1630         <groupId>org.apache.hbase</groupId>
1631         <artifactId>${compat.module}</artifactId>
1632         <version>${project.version}</version>
1633         <type>test-jar</type>
1634         <scope>test</scope>
1635       </dependency>
1636       <dependency>
1637         <artifactId>hbase-rsgroup</artifactId>
1638         <groupId>org.apache.hbase</groupId>
1639         <version>${project.version}</version>
1640       </dependency>
1641       <dependency>
1642         <artifactId>hbase-rsgroup</artifactId>
1643         <groupId>org.apache.hbase</groupId>
1644         <version>${project.version}</version>
1645         <type>test-jar</type>
1646         <scope>test</scope>
1647       </dependency>
1648       <dependency>
1649         <artifactId>hbase-replication</artifactId>
1650         <groupId>org.apache.hbase</groupId>
1651         <version>${project.version}</version>
1652       </dependency>
1653       <dependency>
1654         <artifactId>hbase-http</artifactId>
1655         <groupId>org.apache.hbase</groupId>
1656         <version>${project.version}</version>
1657       </dependency>
1658       <dependency>
1659         <artifactId>hbase-http</artifactId>
1660         <groupId>org.apache.hbase</groupId>
1661         <version>${project.version}</version>
1662         <type>test-jar</type>
1663         <scope>test</scope>
1664       </dependency>
1665       <dependency>
1666         <artifactId>hbase-server</artifactId>
1667         <groupId>org.apache.hbase</groupId>
1668         <version>${project.version}</version>
1669       </dependency>
1670       <dependency>
1671         <artifactId>hbase-server</artifactId>
1672         <groupId>org.apache.hbase</groupId>
1673         <version>${project.version}</version>
1674         <type>test-jar</type>
1675         <scope>test</scope>
1676       </dependency>
1677       <dependency>
1678         <artifactId>hbase-mapreduce</artifactId>
1679         <groupId>org.apache.hbase</groupId>
1680         <version>${project.version}</version>
1681       </dependency>
1682       <dependency>
1683         <artifactId>hbase-mapreduce</artifactId>
1684         <groupId>org.apache.hbase</groupId>
1685         <version>${project.version}</version>
1686         <type>test-jar</type>
1687         <scope>test</scope>
1688       </dependency>
1689       <dependency>
1690         <artifactId>hbase-endpoint</artifactId>
1691         <groupId>org.apache.hbase</groupId>
1692         <version>${project.version}</version>
1693       </dependency>
1694       <dependency>
1695         <artifactId>hbase-shell</artifactId>
1696         <groupId>org.apache.hbase</groupId>
1697         <version>${project.version}</version>
1698       </dependency>
1699       <dependency>
1700         <artifactId>hbase-shell</artifactId>
1701         <groupId>org.apache.hbase</groupId>
1702         <version>${project.version}</version>
1703         <type>test-jar</type>
1704         <scope>test</scope>
1705       </dependency>
1706       <dependency>
1707         <artifactId>hbase-thrift</artifactId>
1708         <groupId>org.apache.hbase</groupId>
1709         <version>${project.version}</version>
1710       </dependency>
1711       <dependency>
1712         <artifactId>hbase-thrift</artifactId>
1713         <groupId>org.apache.hbase</groupId>
1714         <version>${project.version}</version>
1715         <type>test-jar</type>
1716         <scope>test</scope>
1717       </dependency>
1718       <dependency>
1719         <groupId>org.apache.hbase</groupId>
1720         <artifactId>hbase-testing-util</artifactId>
1721         <version>${project.version}</version>
1722         <scope>test</scope>
1723       </dependency>
1724       <dependency>
1725         <artifactId>hbase-examples</artifactId>
1726         <groupId>org.apache.hbase</groupId>
1727         <version>${project.version}</version>
1728       </dependency>
1729       <dependency>
1730         <groupId>org.apache.hbase</groupId>
1731         <artifactId>hbase-external-blockcache</artifactId>
1732         <version>${project.version}</version>
1733       </dependency>
1734       <dependency>
1735         <artifactId>hbase-it</artifactId>
1736         <groupId>org.apache.hbase</groupId>
1737         <version>${project.version}</version>
1738         <type>test-jar</type>
1739         <scope>test</scope>
1740       </dependency>
1741       <dependency>
1742         <artifactId>hbase-client</artifactId>
1743         <groupId>org.apache.hbase</groupId>
1744         <version>${project.version}</version>
1745       </dependency>
1746       <dependency>
1747         <artifactId>hbase-metrics-api</artifactId>
1748         <groupId>org.apache.hbase</groupId>
1749         <version>${project.version}</version>
1750       </dependency>
1751       <dependency>
1752         <artifactId>hbase-metrics-api</artifactId>
1753         <groupId>org.apache.hbase</groupId>
1754         <version>${project.version}</version>
1755         <type>test-jar</type>
1756         <scope>test</scope>
1757       </dependency>
1758       <dependency>
1759         <artifactId>hbase-metrics</artifactId>
1760         <groupId>org.apache.hbase</groupId>
1761         <version>${project.version}</version>
1762       </dependency>
1763       <dependency>
1764         <artifactId>hbase-metrics</artifactId>
1765         <groupId>org.apache.hbase</groupId>
1766         <version>${project.version}</version>
1767         <type>test-jar</type>
1768         <scope>test</scope>
1769       </dependency>
1770       <dependency>
1771         <artifactId>hbase-rest</artifactId>
1772         <groupId>org.apache.hbase</groupId>
1773         <version>${project.version}</version>
1774       </dependency>
1775       <dependency>
1776         <artifactId>hbase-resource-bundle</artifactId>
1777         <groupId>org.apache.hbase</groupId>
1778         <version>${project.version}</version>
1779       </dependency>
1780       <dependency>
1781         <artifactId>hbase-zookeeper</artifactId>
1782         <groupId>org.apache.hbase</groupId>
1783         <version>${project.version}</version>
1784       </dependency>
1785       <dependency>
1786         <artifactId>hbase-zookeeper</artifactId>
1787         <groupId>org.apache.hbase</groupId>
1788         <version>${project.version}</version>
1789         <type>test-jar</type>
1790         <scope>test</scope>
1791       </dependency>
1792       <dependency>
1793         <groupId>org.apache.hbase</groupId>
1794         <artifactId>hbase-shaded-client</artifactId>
1795         <version>${project.version}</version>
1796       </dependency>
1797       <dependency>
1798         <groupId>org.apache.hbase</groupId>
1799         <artifactId>hbase-shaded-client-byo-hadoop</artifactId>
1800         <version>${project.version}</version>
1801       </dependency>
1802       <dependency>
1803         <groupId>org.apache.hbase</groupId>
1804         <artifactId>hbase-shaded-mapreduce</artifactId>
1805         <version>${project.version}</version>
1806       </dependency>
1807       <!-- General dependencies -->
1808       <dependency>
1809         <groupId>com.github.stephenc.findbugs</groupId>
1810         <artifactId>findbugs-annotations</artifactId>
1811         <version>${findbugs-annotations}</version>
1812       </dependency>
1813       <!-- General dependencies -->
1814       <dependency>
1815         <groupId>org.codehaus.jettison</groupId>
1816         <artifactId>jettison</artifactId>
1817         <version>${jettison.version}</version>
1818       </dependency>
1819       <dependency>
1820         <groupId>org.slf4j</groupId>
1821         <artifactId>slf4j-log4j12</artifactId>
1822         <version>${slf4j.version}</version>
1823       </dependency>
1824       <dependency>
1825         <groupId>log4j</groupId>
1826         <artifactId>log4j</artifactId>
1827         <version>${log4j.version}</version>
1828       </dependency>
1829       <!-- Avro dependencies we mostly get transitively, manual version coallescing -->
1830       <dependency>
1831         <groupId>org.apache.avro</groupId>
1832         <artifactId>avro</artifactId>
1833         <version>${avro.version}</version>
1834       </dependency>
1835       <!--This is not used by hbase directly.  Used by thrift,
1836           dropwizard and zk.-->
1837       <dependency>
1838         <groupId>org.slf4j</groupId>
1839         <artifactId>slf4j-api</artifactId>
1840         <version>${slf4j.version}</version>
1841       </dependency>
1842       <dependency>
1843         <groupId>com.github.ben-manes.caffeine</groupId>
1844         <artifactId>caffeine</artifactId>
1845         <version>${caffeine.version}</version>
1846       </dependency>
1847       <dependency>
1848         <groupId>io.dropwizard.metrics</groupId>
1849         <artifactId>metrics-core</artifactId>
1850         <version>${metrics-core.version}</version>
1851       </dependency>
1852       <dependency>
1853         <groupId>org.apache.httpcomponents</groupId>
1854         <artifactId>httpclient</artifactId>
1855         <version>${httpclient.version}</version>
1856       </dependency>
1857       <dependency>
1858         <groupId>org.apache.httpcomponents</groupId>
1859         <artifactId>httpcore</artifactId>
1860         <version>${httpcore.version}</version>
1861       </dependency>
1862       <dependency>
1863         <groupId>commons-codec</groupId>
1864         <artifactId>commons-codec</artifactId>
1865         <version>${commons-codec.version}</version>
1866       </dependency>
1867       <dependency>
1868         <groupId>commons-validator</groupId>
1869         <artifactId>commons-validator</artifactId>
1870         <version>${commons-validator.version}</version>
1871       </dependency>
1872       <dependency>
1873         <groupId>commons-io</groupId>
1874         <artifactId>commons-io</artifactId>
1875         <version>${commons-io.version}</version>
1876       </dependency>
1877       <dependency>
1878         <groupId>org.apache.commons</groupId>
1879         <artifactId>commons-lang3</artifactId>
1880         <version>${commons-lang3.version}</version>
1881       </dependency>
1882       <dependency>
1883         <groupId>org.apache.commons</groupId>
1884         <artifactId>commons-math3</artifactId>
1885         <version>${commons-math.version}</version>
1886       </dependency>
1887       <dependency>
1888         <!-- commons-logging is only used by hbase-http's HttpRequestLog and hbase-server's
1889              HBaseTestingUtil.
1890           -->
1891         <groupId>commons-logging</groupId>
1892         <artifactId>commons-logging</artifactId>
1893         <version>1.2</version>
1894       </dependency>
1895       <dependency>
1896         <groupId>org.apache.zookeeper</groupId>
1897         <artifactId>zookeeper</artifactId>
1898         <version>${zookeeper.version}</version>
1899         <exclusions>
1900           <exclusion>
1901             <groupId>jline</groupId>
1902             <artifactId>jline</artifactId>
1903           </exclusion>
1904           <exclusion>
1905             <groupId>com.sun.jmx</groupId>
1906             <artifactId>jmxri</artifactId>
1907           </exclusion>
1908           <exclusion>
1909             <groupId>com.sun.jdmk</groupId>
1910             <artifactId>jmxtools</artifactId>
1911           </exclusion>
1912           <exclusion>
1913             <groupId>javax.jms</groupId>
1914             <artifactId>jms</artifactId>
1915           </exclusion>
1916           <exclusion>
1917             <groupId>io.netty</groupId>
1918             <artifactId>netty</artifactId>
1919           </exclusion>
1920         </exclusions>
1921       </dependency>
1922       <dependency>
1923         <groupId>jline</groupId>
1924         <artifactId>jline</artifactId>
1925         <version>${jline.version}</version>
1926       </dependency>
1927       <dependency>
1928         <groupId>org.apache.thrift</groupId>
1929         <artifactId>libthrift</artifactId>
1930         <version>${thrift.version}</version>
1931         <exclusions>
1932           <exclusion>
1933             <groupId>org.slf4j</groupId>
1934             <artifactId>slf4j-simple</artifactId>
1935           </exclusion>
1936         </exclusions>
1937       </dependency>
1938       <dependency>
1939         <groupId>org.jruby</groupId>
1940         <artifactId>jruby-complete</artifactId>
1941         <version>${jruby.version}</version>
1942       </dependency>
1943       <dependency>
1944         <groupId>org.jruby.jcodings</groupId>
1945         <artifactId>jcodings</artifactId>
1946         <version>${jcodings.version}</version>
1947       </dependency>
1948       <dependency>
1949         <groupId>org.jruby.joni</groupId>
1950         <artifactId>joni</artifactId>
1951         <version>${joni.version}</version>
1952       </dependency>
1953       <dependency>
1954         <groupId>com.fasterxml.jackson.jaxrs</groupId>
1955         <artifactId>jackson-jaxrs-json-provider</artifactId>
1956         <version>${jackson.version}</version>
1957       </dependency>
1958       <dependency>
1959         <groupId>com.fasterxml.jackson.core</groupId>
1960         <artifactId>jackson-annotations</artifactId>
1961         <version>${jackson.version}</version>
1962       </dependency>
1963       <dependency>
1964         <groupId>com.fasterxml.jackson.core</groupId>
1965         <artifactId>jackson-core</artifactId>
1966         <version>${jackson.version}</version>
1967       </dependency>
1968       <dependency>
1969         <groupId>com.fasterxml.jackson.core</groupId>
1970         <artifactId>jackson-databind</artifactId>
1971         <version>${jackson.version}</version>
1972       </dependency>
1973       <dependency>
1974         <groupId>org.jamon</groupId>
1975         <artifactId>jamon-runtime</artifactId>
1976         <version>${jamon-runtime.version}</version>
1977       </dependency>
1978       <!-- REST dependencies -->
1979       <dependency>
1980         <groupId>javax.servlet</groupId>
1981         <artifactId>javax.servlet-api</artifactId>
1982         <version>${servlet.api.version}</version>
1983       </dependency>
1984       <dependency>
1985         <groupId>javax.ws.rs</groupId>
1986         <artifactId>javax.ws.rs-api</artifactId>
1987         <version>${wx.rs.api.version}</version>
1988       </dependency>
1989       <dependency>
1990         <groupId>com.sun.activation</groupId>
1991         <artifactId>javax.activation</artifactId>
1992         <version>1.2.0</version>
1993       </dependency>
1994       <dependency>
1995         <groupId>org.eclipse.jetty</groupId>
1996         <artifactId>jetty-server</artifactId>
1997         <version>${jetty.version}</version>
1998       </dependency>
1999       <dependency>
2000         <groupId>org.eclipse.jetty</groupId>
2001         <artifactId>jetty-servlet</artifactId>
2002         <version>${jetty.version}</version>
2003         <exclusions>
2004           <exclusion>
2005             <groupId>org.eclipse.jetty</groupId>
2006             <artifactId>servlet-api</artifactId>
2007           </exclusion>
2008         </exclusions>
2009       </dependency>
2010       <dependency>
2011         <groupId>org.eclipse.jetty</groupId>
2012         <artifactId>jetty-security</artifactId>
2013         <version>${jetty.version}</version>
2014       </dependency>
2015       <dependency>
2016         <groupId>org.eclipse.jetty</groupId>
2017         <artifactId>jetty-http</artifactId>
2018         <version>${jetty.version}</version>
2019       </dependency>
2020       <dependency>
2021         <groupId>org.eclipse.jetty</groupId>
2022         <artifactId>jetty-util</artifactId>
2023         <version>${jetty.version}</version>
2024       </dependency>
2025       <dependency>
2026         <groupId>org.eclipse.jetty</groupId>
2027         <artifactId>jetty-io</artifactId>
2028         <version>${jetty.version}</version>
2029       </dependency>
2030       <dependency>
2031         <groupId>org.eclipse.jetty</groupId>
2032         <artifactId>jetty-jmx</artifactId>
2033         <version>${jetty.version}</version>
2034       </dependency>
2035       <dependency>
2036         <groupId>org.eclipse.jetty</groupId>
2037         <artifactId>jetty-webapp</artifactId>
2038         <version>${jetty.version}</version>
2039       </dependency>
2040       <dependency>
2041         <groupId>org.eclipse.jetty</groupId>
2042         <artifactId>jetty-util-ajax</artifactId>
2043         <version>${jetty.version}</version>
2044       </dependency>
2045       <dependency>
2046         <groupId>com.google.protobuf</groupId>
2047         <artifactId>protobuf-java</artifactId>
2048         <version>${external.protobuf.version}</version>
2049       </dependency>
2050       <dependency>
2051         <groupId>org.glassfish.jersey.containers</groupId>
2052         <artifactId>jersey-container-servlet-core</artifactId>
2053         <version>${jersey.version}</version>
2054       </dependency>
2055       <dependency>
2056         <groupId>org.glassfish.jersey.core</groupId>
2057         <artifactId>jersey-client</artifactId>
2058         <version>${jersey.version}</version>
2059       </dependency>
2060       <dependency>
2061         <groupId>org.glassfish.jersey.core</groupId>
2062         <artifactId>jersey-server</artifactId>
2063         <version>${jersey.version}</version>
2064       </dependency>
2065       <dependency>
2066         <!--This lib has JspC in it. Needed precompiling jsps in hbase-rest, etc.-->
2067         <groupId>org.glassfish.web</groupId>
2068         <artifactId>javax.servlet.jsp</artifactId>
2069         <version>${glassfish.jsp.version}</version>
2070       </dependency>
2071       <dependency>
2072         <!-- this lib is used by the compiled Jsp from the above JspC -->
2073         <groupId>javax.servlet.jsp</groupId>
2074         <artifactId>javax.servlet.jsp-api</artifactId>
2075         <version>2.3.1</version>
2076       </dependency>
2077       <dependency>
2078         <groupId>org.glassfish</groupId>
2079         <artifactId>javax.el</artifactId>
2080         <version>${glassfish.el.version}</version>
2081       </dependency>
2082       <dependency>
2083         <groupId>javax.xml.bind</groupId>
2084         <artifactId>jaxb-api</artifactId>
2085         <version>${jaxb-api.version}</version>
2086         <exclusions>
2087           <exclusion>
2088             <groupId>javax.xml.stream</groupId>
2089             <artifactId>stax-api</artifactId>
2090           </exclusion>
2091         </exclusions>
2092       </dependency>
2093       <dependency>
2094         <groupId>junit</groupId>
2095         <artifactId>junit</artifactId>
2096         <version>${junit.version}</version>
2097       </dependency>
2098       <dependency>
2099         <groupId>org.hamcrest</groupId>
2100         <artifactId>hamcrest-core</artifactId>
2101         <version>${hamcrest.version}</version>
2102         <scope>test</scope>
2103       </dependency>
2104       <dependency>
2105         <groupId>org.mockito</groupId>
2106         <artifactId>mockito-core</artifactId>
2107         <version>${mockito-core.version}</version>
2108         <scope>test</scope>
2109       </dependency>
2110       <dependency>
2111         <groupId>org.apache.htrace</groupId>
2112         <artifactId>htrace-core4</artifactId>
2113         <version>${htrace.version}</version>
2114       </dependency>
2115       <dependency>
2116         <groupId>com.lmax</groupId>
2117         <artifactId>disruptor</artifactId>
2118         <version>${disruptor.version}</version>
2119       </dependency>
2120       <dependency>
2121         <groupId>net.spy</groupId>
2122         <artifactId>spymemcached</artifactId>
2123         <version>${spy.version}</version>
2124         <optional>true</optional>
2125       </dependency>
2126       <dependency>
2127         <groupId>org.bouncycastle</groupId>
2128         <artifactId>bcprov-jdk15on</artifactId>
2129         <version>${bouncycastle.version}</version>
2130         <scope>test</scope>
2131       </dependency>
2132       <dependency>
2133         <groupId>org.apache.kerby</groupId>
2134         <artifactId>kerb-core</artifactId>
2135         <version>${kerby.version}</version>
2136       </dependency>
2137       <dependency>
2138         <groupId>org.apache.kerby</groupId>
2139         <artifactId>kerb-client</artifactId>
2140         <version>${kerby.version}</version>
2141       </dependency>
2142       <dependency>
2143         <groupId>org.apache.kerby</groupId>
2144         <artifactId>kerb-simplekdc</artifactId>
2145         <version>${kerby.version}</version>
2146       </dependency>
2147       <dependency>
2148         <groupId>org.apache.commons</groupId>
2149         <artifactId>commons-crypto</artifactId>
2150         <version>${commons-crypto.version}</version>
2151         <exclusions>
2152           <exclusion>
2153             <groupId>net.java.dev.jna</groupId>
2154             <artifactId>jna</artifactId>
2155           </exclusion>
2156         </exclusions>
2157       </dependency>
2158       <dependency>
2159         <groupId>org.apache.curator</groupId>
2160         <artifactId>curator-framework</artifactId>
2161         <version>${curator.version}</version>
2162         <exclusions>
2163           <exclusion>
2164             <groupId>org.apache.zookeeper</groupId>
2165             <artifactId>zookeeper</artifactId>
2166           </exclusion>
2167         </exclusions>
2168       </dependency>
2169       <dependency>
2170         <groupId>org.apache.curator</groupId>
2171         <artifactId>curator-client</artifactId>
2172         <version>${curator.version}</version>
2173         <exclusions>
2174           <exclusion>
2175             <groupId>com.google.guava</groupId>
2176             <artifactId>guava</artifactId>
2177           </exclusion>
2178           <exclusion>
2179             <groupId>org.apache.zookeeper</groupId>
2180             <artifactId>zookeeper</artifactId>
2181           </exclusion>
2182         </exclusions>
2183       </dependency>
2184       <dependency>
2185         <groupId>org.apache.curator</groupId>
2186         <artifactId>curator-recipes</artifactId>
2187         <version>${curator.version}</version>
2188         <exclusions>
2189           <exclusion>
2190             <groupId>com.google.guava</groupId>
2191             <artifactId>guava</artifactId>
2192           </exclusion>
2193           <exclusion>
2194             <groupId>org.apache.zookeeper</groupId>
2195             <artifactId>zookeeper</artifactId>
2196           </exclusion>
2197         </exclusions>
2198       </dependency>
2199       <dependency>
2200         <groupId>org.apache.yetus</groupId>
2201         <artifactId>audience-annotations</artifactId>
2202         <version>${audience-annotations.version}</version>
2203       </dependency>
2204       <dependency>
2205         <groupId>org.apache.hbase.thirdparty</groupId>
2206         <artifactId>hbase-shaded-miscellaneous</artifactId>
2207         <version>${hbase-thirdparty.version}</version>
2208       </dependency>
2209       <dependency>
2210         <groupId>org.apache.hbase.thirdparty</groupId>
2211         <artifactId>hbase-shaded-netty</artifactId>
2212         <version>${hbase-thirdparty.version}</version>
2213       </dependency>
2214       <dependency>
2215         <groupId>org.apache.hbase.thirdparty</groupId>
2216         <artifactId>hbase-shaded-protobuf</artifactId>
2217         <version>${hbase-thirdparty.version}</version>
2218       </dependency>
2219     </dependencies>
2220   </dependencyManagement>
2221   <dependencies>
2222     <!--REMOVE THIS. HERE TEMPORARILY.
2223          Implication is that every module needs junit which is not so.
2224          Cannot undo though because build runs test on each module and
2225          it fails if no junit. TODO. -->
2226     <dependency>
2227       <groupId>junit</groupId>
2228       <artifactId>junit</artifactId>
2229     </dependency>
2230   </dependencies>
2232   <!--
2233   To publish, use the following settings.xml file ( placed in ~/.m2/settings.xml )
2235  <settings>
2236   <servers>
2237     <server>
2238       <id>apache.releases.https</id>
2239       <username>hbase_committer</username>
2240       <password>********</password>
2241     </server>
2243     <server>
2244       <id>apache.snapshots.https</id>
2245       <username>hbase_committer</username>
2246       <password>********</password>
2247     </server>
2249   </servers>
2250  </settings>
2252   $ mvn deploy
2253 (or)
2254   $ mvn -s /my/path/settings.xml deploy
2256   -->
2257   <profiles>
2258     <profile>
2259       <id>rsgroup</id>
2260       <activation>
2261         <property>
2262             <name>!skip-rsgroup</name>
2263         </property>
2264       </activation>
2265       <modules>
2266         <module>hbase-rsgroup</module>
2267       </modules>
2268     </profile>
2269     <profile>
2270       <id>build-with-jdk8</id>
2271       <activation>
2272         <jdk>[1.8,)</jdk>
2273       </activation>
2274       <build>
2275         <pluginManagement>
2276           <plugins>
2277             <plugin>
2278               <groupId>org.codehaus.mojo</groupId>
2279               <artifactId>findbugs-maven-plugin</artifactId>
2280               <version>${findbugs.maven.version}</version>
2281               <!--NOTE: Findbugs 3.0.0 requires jdk7-->
2282               <configuration>
2283                 <excludeFilterFile>${project.basedir}/../dev-support/findbugs-exclude.xml</excludeFilterFile>
2284                 <findbugsXmlOutput>true</findbugsXmlOutput>
2285                 <xmlOutput>true</xmlOutput>
2286                 <effort>Max</effort>
2287               </configuration>
2288               <dependencies>
2289                 <dependency>
2290                   <groupId>com.github.spotbugs</groupId>
2291                   <artifactId>spotbugs</artifactId>
2292                   <version>${spotbugs.version}</version>
2293                 </dependency>
2294               </dependencies>
2295             </plugin>
2296           </plugins>
2297         </pluginManagement>
2298       </build>
2299     </profile>
2300     <profile>
2301       <id>build-with-jdk11</id>
2302       <activation>
2303         <jdk>[1.11,)</jdk>
2304       </activation>
2305       <dependencyManagement>
2306         <dependencies>
2307           <dependency>
2308             <groupId>javax.annotation</groupId>
2309             <artifactId>javax.annotation-api</artifactId>
2310             <version>1.3.2</version>
2311           </dependency>
2312           <dependency>
2313             <groupId>com.sun.xml.ws</groupId>
2314             <artifactId>jaxws-ri</artifactId>
2315             <version>2.3.1</version>
2316             <type>pom</type>
2317           </dependency>
2318         </dependencies>
2319       </dependencyManagement>
2320     </profile>
2321     <!-- profile activated by the Jenkins patch testing job -->
2322     <profile>
2323       <id>jenkins.patch</id>
2324       <activation>
2325         <activeByDefault>false</activeByDefault>
2326         <property>
2327             <name>HBasePatchProcess</name>
2328         </property>
2329       </activation>
2330       <properties>
2331         <surefire.rerunFailingTestsCount>2</surefire.rerunFailingTestsCount>
2332       </properties>
2333       <build>
2334         <plugins>
2335           <plugin>
2336             <groupId>org.apache.maven.plugins</groupId>
2337             <artifactId>maven-antrun-plugin</artifactId>
2338             <inherited>false</inherited>
2339             <executions>
2340               <execution>
2341                 <phase>validate</phase>
2342                 <goals>
2343                   <goal>run</goal>
2344                 </goals>
2345                 <configuration>
2346                   <tasks>
2347                     <echo>Maven Execution Environment</echo>
2348                     <echo>MAVEN_OPTS="${env.MAVEN_OPTS}"</echo>
2349                   </tasks>
2350                 </configuration>
2351               </execution>
2352             </executions>
2353           </plugin>
2354         </plugins>
2355       </build>
2356     </profile>
2357     <profile>
2358       <id>jacoco</id>
2359       <activation>
2360         <activeByDefault>false</activeByDefault>
2361       </activation>
2362       <build>
2363         <plugins>
2364           <plugin>
2365             <groupId>org.jacoco</groupId>
2366             <artifactId>jacoco-maven-plugin</artifactId>
2367             <version>${jacoco.version}</version>
2368             <executions>
2369               <execution>
2370                 <id>prepare-agent</id>
2371                 <goals>
2372                   <goal>prepare-agent</goal>
2373                 </goals>
2374               </execution>
2375               <execution>
2376                 <id>report</id>
2377                 <phase>prepare-package</phase>
2378                 <goals>
2379                   <goal>report</goal>
2380                 </goals>
2381               </execution>
2382             </executions>
2383             <configuration>
2384               <systemPropertyVariables>
2385                 <jacoco-agent.destfile>target/jacoco.exec</jacoco-agent.destfile>
2386               </systemPropertyVariables>
2387               <excludes>
2388                 <exclude>**/generated/**/*.class</exclude>
2389               </excludes>
2390             </configuration>
2391           </plugin>
2392         </plugins>
2393       </build>
2394     </profile>
2395     <profile>
2396       <id>os.linux</id>
2397       <activation>
2398         <activeByDefault>false</activeByDefault>
2399         <os>
2400           <family>Linux</family>
2401         </os>
2402       </activation>
2403       <properties>
2404         <build.platform>${os.name}-${os.arch}-${sun.arch.data.model}</build.platform>
2405       </properties>
2406     </profile>
2407     <profile>
2408       <id>os.mac</id>
2409       <activation>
2410         <os>
2411           <family>Mac</family>
2412         </os>
2413       </activation>
2414       <properties>
2415         <build.platform>Mac_OS_X-${sun.arch.data.model}</build.platform>
2416       </properties>
2417     </profile>
2418     <profile>
2419       <id>os.windows</id>
2420       <activation>
2421         <os>
2422           <family>Windows</family>
2423         </os>
2424       </activation>
2425       <properties>
2426         <build.platform>cygwin</build.platform>
2427         <argLine>${hbase-surefire.cygwin-argLine}</argLine>
2428       </properties>
2429     </profile>
2430     <!-- this profile should be activated for release builds -->
2431     <profile>
2432       <id>release</id>
2433       <build>
2434         <plugins>
2435           <plugin>
2436             <groupId>org.apache.rat</groupId>
2437             <artifactId>apache-rat-plugin</artifactId>
2438             <executions>
2439               <execution>
2440                 <phase>package</phase>
2441                 <goals>
2442                   <goal>check</goal>
2443                 </goals>
2444               </execution>
2445             </executions>
2446           </plugin>
2447           <plugin>
2448             <groupId>org.apache.maven.plugins</groupId>
2449             <artifactId>maven-enforcer-plugin</artifactId>
2450             <version>${enforcer.version}</version>
2451             <configuration>
2452               <rules>
2453                 <enforceBytecodeVersion>
2454                 <maxJdkVersion>${compileSource}</maxJdkVersion>
2455                 <message>HBase has unsupported dependencies.
2456   HBase requires that all dependencies be compiled with version ${compileSource} or earlier
2457   of the JDK to properly build from source.  You appear to be using a newer dependency. You can use
2458   either "mvn -version" or "mvn enforcer:display-info" to verify what version is active.
2459   Non-release builds can temporarily build with a newer JDK version by setting the
2460   'compileSource' property (eg. mvn -DcompileSource=1.8 clean package).
2461                 </message>
2462               </enforceBytecodeVersion>
2463             </rules>
2464           </configuration>
2465           </plugin>
2466         </plugins>
2467       </build>
2468     </profile>
2469     <!-- Dependency management profiles for submodules when building against specific hadoop branches.-->
2470     <!-- Submodules that need hadoop dependencies should declare
2471     profiles with activation properties matching the profile here.
2472     Generally, it should be sufficient to copy the first
2473     few lines of the profile you want to match.  -->
2474     <!-- profile for building against Hadoop 2.0.x
2475          This is the default.
2476          -->
2477     <profile>
2478       <id>hadoop-2.0</id>
2479       <activation>
2480         <property>
2481           <!--Below formatting for dev-support/generate-hadoopX-poms.sh-->
2482           <!--h2--><name>!hadoop.profile</name>
2483         </property>
2484       </activation>
2485       <modules>
2486         <module>hbase-hadoop2-compat</module>
2487       </modules>
2488       <properties>
2489         <hadoop.version>${hadoop-two.version}</hadoop.version>
2490         <compat.module>hbase-hadoop2-compat</compat.module>
2491         <assembly.file>src/main/assembly/hadoop-two-compat.xml</assembly.file>
2492         <!--This property is for hadoops netty. HBase netty
2493              comes in via hbase-thirdparty hbase-shaded-netty-->
2494         <netty.hadoop.version>3.6.2.Final</netty.hadoop.version>
2495       </properties>
2496       <dependencyManagement>
2497         <dependencies>
2498           <dependency>
2499             <groupId>org.apache.hadoop</groupId>
2500             <artifactId>hadoop-mapreduce-client-core</artifactId>
2501             <version>${hadoop-two.version}</version>
2502             <exclusions>
2503               <exclusion>
2504                 <groupId>com.sun.jersey</groupId>
2505                 <artifactId>jersey-core</artifactId>
2506               </exclusion>
2507               <exclusion>
2508                 <groupId>io.netty</groupId>
2509                 <artifactId>netty</artifactId>
2510               </exclusion>
2511               <exclusion>
2512                 <groupId>javax.servlet</groupId>
2513                 <artifactId>servlet-api</artifactId>
2514               </exclusion>
2515               <exclusion>
2516                 <groupId>javax.inject</groupId>
2517                 <artifactId>javax.inject</artifactId>
2518               </exclusion>
2519               <exclusion>
2520                 <groupId>org.codehaus.jackson</groupId>
2521                 <artifactId>jackson-core-asl</artifactId>
2522               </exclusion>
2523               <exclusion>
2524                 <groupId>org.codehaus.jackson</groupId>
2525                 <artifactId>jackson-mapper-asl</artifactId>
2526               </exclusion>
2527             </exclusions>
2528           </dependency>
2529           <dependency>
2530             <groupId>org.apache.hadoop</groupId>
2531             <artifactId>hadoop-mapreduce-client-jobclient</artifactId>
2532             <version>${hadoop-two.version}</version>
2533             <exclusions>
2534               <exclusion>
2535                 <groupId>com.sun.jersey</groupId>
2536                 <artifactId>jersey-core</artifactId>
2537               </exclusion>
2538               <exclusion>
2539                 <groupId>io.netty</groupId>
2540                 <artifactId>netty</artifactId>
2541               </exclusion>
2542               <exclusion>
2543                 <groupId>javax.servlet</groupId>
2544                 <artifactId>servlet-api</artifactId>
2545               </exclusion>
2546             </exclusions>
2547           </dependency>
2548           <dependency>
2549             <groupId>org.apache.hadoop</groupId>
2550             <artifactId>hadoop-mapreduce-client-jobclient</artifactId>
2551             <version>${hadoop-two.version}</version>
2552             <type>test-jar</type>
2553             <scope>test</scope>
2554             <exclusions>
2555               <exclusion>
2556                 <groupId>com.sun.jersey</groupId>
2557                 <artifactId>jersey-core</artifactId>
2558               </exclusion>
2559               <exclusion>
2560                 <groupId>io.netty</groupId>
2561                 <artifactId>netty</artifactId>
2562               </exclusion>
2563               <exclusion>
2564                 <groupId>javax.servlet</groupId>
2565                 <artifactId>servlet-api</artifactId>
2566               </exclusion>
2567             </exclusions>
2568           </dependency>
2569           <dependency>
2570             <groupId>org.apache.hadoop</groupId>
2571             <artifactId>hadoop-hdfs</artifactId>
2572             <version>${hadoop-two.version}</version>
2573             <exclusions>
2574               <exclusion>
2575                 <groupId>com.sun.jersey</groupId>
2576                 <artifactId>jersey-core</artifactId>
2577               </exclusion>
2578               <exclusion>
2579                 <groupId>javax.servlet.jsp</groupId>
2580                 <artifactId>jsp-api</artifactId>
2581               </exclusion>
2582               <exclusion>
2583                 <groupId>javax.servlet</groupId>
2584                 <artifactId>servlet-api</artifactId>
2585               </exclusion>
2586               <exclusion>
2587                 <groupId>io.netty</groupId>
2588                 <artifactId>netty</artifactId>
2589               </exclusion>
2590               <exclusion>
2591                 <groupId>stax</groupId>
2592                 <artifactId>stax-api</artifactId>
2593               </exclusion>
2594               <exclusion>
2595                 <groupId>xerces</groupId>
2596                 <artifactId>xercesImpl</artifactId>
2597               </exclusion>
2598               <exclusion>
2599                 <groupId>org.codehaus.jackson</groupId>
2600                 <artifactId>jackson-core-asl</artifactId>
2601               </exclusion>
2602               <exclusion>
2603                 <groupId>org.codehaus.jackson</groupId>
2604                 <artifactId>jackson-mapper-asl</artifactId>
2605               </exclusion>
2606               <exclusion>
2607                 <groupId>com.google.guava</groupId>
2608                 <artifactId>guava</artifactId>
2609               </exclusion>
2610             </exclusions>
2611           </dependency>
2612           <dependency>
2613             <groupId>org.apache.hadoop</groupId>
2614             <artifactId>hadoop-hdfs</artifactId>
2615             <version>${hadoop-two.version}</version>
2616             <type>test-jar</type>
2617             <scope>test</scope>
2618             <exclusions>
2619               <exclusion>
2620                 <groupId>javax.servlet.jsp</groupId>
2621                 <artifactId>jsp-api</artifactId>
2622               </exclusion>
2623               <exclusion>
2624                 <groupId>javax.servlet</groupId>
2625                 <artifactId>servlet-api</artifactId>
2626               </exclusion>
2627               <exclusion>
2628                 <groupId>io.netty</groupId>
2629                 <artifactId>netty</artifactId>
2630               </exclusion>
2631               <exclusion>
2632                 <groupId>stax</groupId>
2633                 <artifactId>stax-api</artifactId>
2634               </exclusion>
2635               <exclusion>
2636                 <groupId>xerces</groupId>
2637                 <artifactId>xercesImpl</artifactId>
2638               </exclusion>
2639               <exclusion>
2640                 <groupId>org.codehaus.jackson</groupId>
2641                 <artifactId>jackson-core-asl</artifactId>
2642               </exclusion>
2643               <exclusion>
2644                 <groupId>org.codehaus.jackson</groupId>
2645                 <artifactId>jackson-mapper-asl</artifactId>
2646               </exclusion>
2647               <exclusion>
2648                 <groupId>com.google.guava</groupId>
2649                 <artifactId>guava</artifactId>
2650               </exclusion>
2651               <exclusion>
2652                 <groupId>com.sun.jersey</groupId>
2653                 <artifactId>jersey-core</artifactId>
2654               </exclusion>
2655             </exclusions>
2656           </dependency>
2657           <dependency>
2658             <groupId>org.apache.hadoop</groupId>
2659             <artifactId>hadoop-auth</artifactId>
2660             <version>${hadoop-two.version}</version>
2661           </dependency>
2662           <dependency>
2663             <groupId>org.apache.hadoop</groupId>
2664             <artifactId>hadoop-common</artifactId>
2665             <version>${hadoop-two.version}</version>
2666             <exclusions>
2667               <exclusion>
2668                 <groupId>com.sun.jersey</groupId>
2669                 <artifactId>jersey-core</artifactId>
2670               </exclusion>
2671               <exclusion>
2672                 <groupId>commons-beanutils</groupId>
2673                 <artifactId>commons-beanutils</artifactId>
2674               </exclusion>
2675               <exclusion>
2676                 <groupId>javax.servlet.jsp</groupId>
2677                 <artifactId>jsp-api</artifactId>
2678               </exclusion>
2679               <exclusion>
2680                 <groupId>javax.servlet</groupId>
2681                 <artifactId>servlet-api</artifactId>
2682               </exclusion>
2683               <exclusion>
2684                 <groupId>stax</groupId>
2685                 <artifactId>stax-api</artifactId>
2686               </exclusion>
2687               <exclusion>
2688                 <groupId>io.netty</groupId>
2689                 <artifactId>netty</artifactId>
2690               </exclusion>
2691               <exclusion>
2692                 <groupId>com.google.code.findbugs</groupId>
2693                 <artifactId>jsr305</artifactId>
2694               </exclusion>
2695               <exclusion>
2696                 <groupId>junit</groupId>
2697                 <artifactId>junit</artifactId>
2698               </exclusion>
2699              <exclusion>
2700                <groupId>org.codehaus.jackson</groupId>
2701                <artifactId>jackson-core-asl</artifactId>
2702              </exclusion>
2703              <exclusion>
2704                <groupId>org.codehaus.jackson</groupId>
2705                <artifactId>jackson-mapper-asl</artifactId>
2706              </exclusion>
2707             </exclusions>
2708           </dependency>
2709           <dependency>
2710             <groupId>org.apache.hadoop</groupId>
2711             <artifactId>hadoop-common</artifactId>
2712             <version>${hadoop-two.version}</version>
2713             <type>test-jar</type>
2714             <scope>test</scope>
2715             <exclusions>
2716               <exclusion>
2717                 <groupId>com.sun.jersey</groupId>
2718                 <artifactId>jersey-core</artifactId>
2719               </exclusion>
2720               <exclusion>
2721                 <groupId>com.google.code.findbugs</groupId>
2722                 <artifactId>jsr305</artifactId>
2723               </exclusion>
2724             </exclusions>
2725           </dependency>
2726           <dependency>
2727             <groupId>org.apache.hadoop</groupId>
2728             <artifactId>hadoop-client</artifactId>
2729             <version>${hadoop-two.version}</version>
2730           </dependency>
2731           <!-- This was marked as test dep in earlier pom, but was scoped compile.
2732             Where do we actually need it? -->
2733           <dependency>
2734             <groupId>org.apache.hadoop</groupId>
2735             <artifactId>hadoop-minicluster</artifactId>
2736             <version>${hadoop-two.version}</version>
2737             <exclusions>
2738               <!--If we comment this in, a few tests in hbase-mapreduce
2739                    fail. They depend on jersey-core somehow. But excluding
2740                    jersey-core here messes up hbase-it because jersey-core
2741                    implements a 1.x jaxrs Response Interface when we depend
2742                    on the 2.x Interface... . Letting this jar come in
2743                    transitively here but will exclude it down in hbase-it.
2744                    See HBASE-22029.
2745               <exclusion>
2746                 <groupId>com.sun.jersey</groupId>
2747                 <artifactId>jersey-core</artifactId>
2748               </exclusion>
2749               -->
2750               <exclusion>
2751                 <groupId>commons-httpclient</groupId>
2752                 <artifactId>commons-httpclient</artifactId>
2753               </exclusion>
2754               <exclusion>
2755                 <groupId>javax.servlet.jsp</groupId>
2756                 <artifactId>jsp-api</artifactId>
2757               </exclusion>
2758               <exclusion>
2759                 <groupId>javax.servlet</groupId>
2760                 <artifactId>servlet-api</artifactId>
2761               </exclusion>
2762               <exclusion>
2763                 <groupId>stax</groupId>
2764                 <artifactId>stax-api</artifactId>
2765               </exclusion>
2766               <exclusion>
2767                 <groupId>io.netty</groupId>
2768                 <artifactId>netty</artifactId>
2769               </exclusion>
2770               <exclusion>
2771                 <groupId>com.google.code.findbugs</groupId>
2772                 <artifactId>jsr305</artifactId>
2773               </exclusion>
2774             </exclusions>
2775           </dependency>
2776           <dependency>
2777             <groupId>org.apache.hadoop</groupId>
2778             <artifactId>hadoop-minikdc</artifactId>
2779             <version>${hadoop-two.version}</version>
2780             <scope>test</scope>
2781           </dependency>
2782          <dependency>
2783            <groupId>org.apache.hadoop</groupId>
2784            <artifactId>hadoop-annotations</artifactId>
2785            <version>${hadoop-two.version}</version>
2786          </dependency>
2787         </dependencies>
2788       </dependencyManagement>
2789     </profile>
2790     <!--
2791       profile for building against Hadoop 3.0.0. Activate using:
2792        mvn -Dhadoop.profile=3.0
2793     -->
2794     <profile>
2795       <id>hadoop-3.0</id>
2796       <activation>
2797         <property>
2798           <name>hadoop.profile</name>
2799           <value>3.0</value>
2800         </property>
2801       </activation>
2802       <modules>
2803         <!--For now, use hadoop2 compat module-->
2804         <module>hbase-hadoop2-compat</module>
2805       </modules>
2806       <properties>
2807         <hadoop.version>${hadoop-three.version}</hadoop.version>
2808         <!--Use this compat module for now. TODO: Make h3 one if we need one-->
2809         <compat.module>hbase-hadoop2-compat</compat.module>
2810         <assembly.file>src/main/assembly/hadoop-two-compat.xml</assembly.file>
2811         <!--This property is for hadoops netty. HBase netty
2812              comes in via hbase-thirdparty hbase-shaded-netty-->
2813         <netty.hadoop.version>3.10.5.Final</netty.hadoop.version>
2814       </properties>
2815      <dependencyManagement>
2816        <dependencies>
2817          <dependency>
2818            <groupId>org.apache.hadoop</groupId>
2819            <artifactId>hadoop-mapreduce-client-core</artifactId>
2820            <version>${hadoop-three.version}</version>
2821            <exclusions>
2822              <exclusion>
2823                <groupId>com.sun.jersey</groupId>
2824                <artifactId>jersey-core</artifactId>
2825              </exclusion>
2826              <exclusion>
2827                <groupId>io.netty</groupId>
2828                <artifactId>netty</artifactId>
2829              </exclusion>
2830               <exclusion>
2831                 <groupId>javax.inject</groupId>
2832                 <artifactId>javax.inject</artifactId>
2833               </exclusion>
2834               <exclusion>
2835                 <groupId>org.codehaus.jackson</groupId>
2836                 <artifactId>jackson-core-asl</artifactId>
2837               </exclusion>
2838               <exclusion>
2839                 <groupId>org.codehaus.jackson</groupId>
2840                 <artifactId>jackson-mapper-asl</artifactId>
2841               </exclusion>
2842              <exclusion>
2843                <groupId>com.google.guava</groupId>
2844                <artifactId>guava</artifactId>
2845              </exclusion>
2846            </exclusions>
2847          </dependency>
2848          <dependency>
2849            <groupId>org.apache.hadoop</groupId>
2850            <artifactId>hadoop-mapreduce-client-jobclient</artifactId>
2851            <version>${hadoop-three.version}</version>
2852            <exclusions>
2853              <exclusion>
2854                <groupId>com.sun.jersey</groupId>
2855                <artifactId>jersey-core</artifactId>
2856              </exclusion>
2857              <exclusion>
2858                <groupId>io.netty</groupId>
2859                <artifactId>netty</artifactId>
2860              </exclusion>
2861            </exclusions>
2862          </dependency>
2863          <dependency>
2864            <groupId>org.apache.hadoop</groupId>
2865            <artifactId>hadoop-mapreduce-client-jobclient</artifactId>
2866            <version>${hadoop-three.version}</version>
2867            <type>test-jar</type>
2868            <scope>test</scope>
2869            <exclusions>
2870              <exclusion>
2871                <groupId>com.sun.jersey</groupId>
2872                <artifactId>jersey-core</artifactId>
2873              </exclusion>
2874              <exclusion>
2875                <groupId>io.netty</groupId>
2876                <artifactId>netty</artifactId>
2877              </exclusion>
2878            </exclusions>
2879          </dependency>
2880          <dependency>
2881            <groupId>org.apache.hadoop</groupId>
2882            <artifactId>hadoop-hdfs</artifactId>
2883            <version>${hadoop-three.version}</version>
2884            <exclusions>
2885              <exclusion>
2886                <groupId>com.sun.jersey</groupId>
2887                <artifactId>jersey-core</artifactId>
2888              </exclusion>
2889              <exclusion>
2890                <groupId>com.sun.jersey</groupId>
2891                <artifactId>jersey-server</artifactId>
2892              </exclusion>
2893              <exclusion>
2894                <groupId>javax.servlet.jsp</groupId>
2895                <artifactId>jsp-api</artifactId>
2896              </exclusion>
2897              <exclusion>
2898                <groupId>javax.servlet</groupId>
2899                <artifactId>servlet-api</artifactId>
2900              </exclusion>
2901              <exclusion>
2902                <groupId>stax</groupId>
2903                <artifactId>stax-api</artifactId>
2904              </exclusion>
2905              <exclusion>
2906                <groupId>xerces</groupId>
2907                <artifactId>xercesImpl</artifactId>
2908              </exclusion>
2909              <exclusion>
2910                <groupId>org.codehaus.jackson</groupId>
2911                <artifactId>jackson-core-asl</artifactId>
2912              </exclusion>
2913              <exclusion>
2914                <groupId>org.codehaus.jackson</groupId>
2915                <artifactId>jackson-mapper-asl</artifactId>
2916              </exclusion>
2917               <exclusion>
2918                 <groupId>com.google.guava</groupId>
2919                 <artifactId>guava</artifactId>
2920               </exclusion>
2921            </exclusions>
2922          </dependency>
2923          <dependency>
2924            <groupId>org.apache.hadoop</groupId>
2925            <artifactId>hadoop-hdfs</artifactId>
2926            <version>${hadoop-three.version}</version>
2927            <type>test-jar</type>
2928            <scope>test</scope>
2929            <exclusions>
2930              <exclusion>
2931                <groupId>javax.servlet.jsp</groupId>
2932                <artifactId>jsp-api</artifactId>
2933              </exclusion>
2934              <exclusion>
2935                <groupId>javax.servlet</groupId>
2936                <artifactId>servlet-api</artifactId>
2937              </exclusion>
2938              <exclusion>
2939                <groupId>stax</groupId>
2940                <artifactId>stax-api</artifactId>
2941              </exclusion>
2942              <exclusion>
2943                <groupId>xerces</groupId>
2944                <artifactId>xercesImpl</artifactId>
2945              </exclusion>
2946              <exclusion>
2947                <groupId>org.codehaus.jackson</groupId>
2948                <artifactId>jackson-core-asl</artifactId>
2949              </exclusion>
2950              <exclusion>
2951                <groupId>org.codehaus.jackson</groupId>
2952                <artifactId>jackson-mapper-asl</artifactId>
2953              </exclusion>
2954              <exclusion>
2955                <groupId>com.google.guava</groupId>
2956                <artifactId>guava</artifactId>
2957              </exclusion>
2958              <exclusion>
2959                <groupId>com.sun.jersey</groupId>
2960                <artifactId>jersey-core</artifactId>
2961              </exclusion>
2962            </exclusions>
2963          </dependency>
2964          <dependency>
2965            <groupId>org.apache.hadoop</groupId>
2966            <artifactId>hadoop-hdfs</artifactId>
2967            <version>${hadoop-three.version}</version>
2968            <type>test-jar</type>
2969            <classifier>tests</classifier>
2970            <scope>test</scope>
2971            <exclusions>
2972              <exclusion>
2973                <groupId>com.sun.jersey</groupId>
2974                <artifactId>jersey-core</artifactId>
2975              </exclusion>
2976            </exclusions>
2977          </dependency>
2978          <dependency>
2979            <groupId>org.apache.hadoop</groupId>
2980            <artifactId>hadoop-auth</artifactId>
2981            <version>${hadoop-three.version}</version>
2982            <exclusions>
2983              <exclusion>
2984                <groupId>com.google.guava</groupId>
2985                <artifactId>guava</artifactId>
2986              </exclusion>
2987              <exclusion>
2988                <groupId>net.minidev</groupId>
2989                <artifactId>json-smart</artifactId>
2990              </exclusion>
2991            </exclusions>
2992          </dependency>
2993          <dependency>
2994            <groupId>org.apache.hadoop</groupId>
2995            <artifactId>hadoop-common</artifactId>
2996            <version>${hadoop-three.version}</version>
2997            <exclusions>
2998              <exclusion>
2999                <groupId>com.sun.jersey</groupId>
3000                <artifactId>jersey-core</artifactId>
3001              </exclusion>
3002              <exclusion>
3003                <groupId>com.sun.jersey</groupId>
3004                <artifactId>jersey-json</artifactId>
3005              </exclusion>
3006              <exclusion>
3007                <groupId>com.sun.jersey</groupId>
3008                <artifactId>jersey-servlet</artifactId>
3009              </exclusion>
3010              <exclusion>
3011               <groupId>com.sun.jersey</groupId>
3012                <artifactId>jersey-server</artifactId>
3013              </exclusion>
3014              <exclusion>
3015                <groupId>javax.servlet.jsp</groupId>
3016                <artifactId>jsp-api</artifactId>
3017              </exclusion>
3018              <exclusion>
3019                <groupId>javax.servlet</groupId>
3020                <artifactId>javax.servlet-api</artifactId>
3021              </exclusion>
3022              <exclusion>
3023                <groupId>stax</groupId>
3024                <artifactId>stax-api</artifactId>
3025              </exclusion>
3026              <exclusion>
3027                <groupId>io.netty</groupId>
3028                <artifactId>netty</artifactId>
3029              </exclusion>
3030              <exclusion>
3031                <groupId>com.google.code.findbugs</groupId>
3032                <artifactId>jsr305</artifactId>
3033              </exclusion>
3034              <exclusion>
3035                <groupId>junit</groupId>
3036                <artifactId>junit</artifactId>
3037              </exclusion>
3038              <exclusion>
3039                <groupId>org.codehause.jackson</groupId>
3040                <artifactId>jackson-core-asl</artifactId>
3041              </exclusion>
3042              <exclusion>
3043                <groupId>org.codehause.jackson</groupId>
3044                <artifactId>jackson-mapper-asl</artifactId>
3045              </exclusion>
3046            </exclusions>
3047          </dependency>
3048          <dependency>
3049            <groupId>org.apache.hadoop</groupId>
3050            <artifactId>hadoop-common</artifactId>
3051            <type>test-jar</type>
3052            <classifier>tests</classifier>
3053            <version>${hadoop-three.version}</version>
3054            <exclusions>
3055              <exclusion>
3056                <groupId>com.sun.jersey</groupId>
3057                <artifactId>jersey-core</artifactId>
3058              </exclusion>
3059              <exclusion>
3060                <groupId>com.google.code.findbugs</groupId>
3061                <artifactId>jsr305</artifactId>
3062              </exclusion>
3063            </exclusions>
3064          </dependency>
3065          <dependency>
3066            <groupId>org.apache.hadoop</groupId>
3067            <artifactId>hadoop-client</artifactId>
3068            <version>${hadoop-three.version}</version>
3069          </dependency>
3070          <dependency>
3071            <groupId>org.apache.hadoop</groupId>
3072            <artifactId>hadoop-annotations</artifactId>
3073            <version>${hadoop-three.version}</version>
3074          </dependency>
3075          <!-- This was marked as test dep in earlier pom, but was scoped compile.
3076            Where do we actually need it? -->
3077          <dependency>
3078            <groupId>org.apache.hadoop</groupId>
3079            <artifactId>hadoop-minicluster</artifactId>
3080            <version>${hadoop-three.version}</version>
3081            <exclusions>
3082               <!--If we comment this in, a few tests in hbase-mapreduce
3083                    fail. They depend on jersey-core somehow. But excluding
3084                    jersey-core here messes up hbase-it because jersey-core
3085                    implements a 1.x jaxrs Response Interface when we depend
3086                    on the 2.x Interface... . Letting this jar come in
3087                    transitively here but will exclude it down in hbase-it.
3088                    See HBASE-22029.
3089              <exclusion>
3090                <groupId>com.sun.jersey</groupId>
3091                <artifactId>jersey-core</artifactId>
3092              </exclusion>
3093              -->
3094              <exclusion>
3095                <groupId>commons-httpclient</groupId>
3096                <artifactId>commons-httpclient</artifactId>
3097              </exclusion>
3098              <exclusion>
3099                <groupId>javax.servlet.jsp</groupId>
3100                <artifactId>jsp-api</artifactId>
3101              </exclusion>
3102              <exclusion>
3103                <groupId>javax.servlet</groupId>
3104                <artifactId>servlet-api</artifactId>
3105              </exclusion>
3106              <exclusion>
3107                <groupId>stax</groupId>
3108                <artifactId>stax-api</artifactId>
3109              </exclusion>
3110              <exclusion>
3111                <groupId>io.netty</groupId>
3112                <artifactId>netty</artifactId>
3113              </exclusion>
3114              <exclusion>
3115                <groupId>com.google.code.findbugs</groupId>
3116                <artifactId>jsr305</artifactId>
3117              </exclusion>
3118            </exclusions>
3119          </dependency>
3120          <dependency>
3121             <groupId>org.apache.hadoop</groupId>
3122             <artifactId>hadoop-minikdc</artifactId>
3123             <version>${hadoop-three.version}</version>
3124             <scope>test</scope>
3125           </dependency>
3126        </dependencies>
3127      </dependencyManagement>
3129     </profile>
3130     <!-- profiles for the tests
3131          See as well the properties of the project for the values
3132          when no profile is active.     -->
3133     <profile>
3134       <!-- Use it to launch all tests in the same JVM  -->
3135       <id>singleJVMTests</id>
3136       <activation>
3137         <activeByDefault>false</activeByDefault>
3138       </activation>
3139       <properties>
3140         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
3141         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3142         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3143         <surefire.firstPartGroups/>
3144       </properties>
3145     </profile>
3146     <profile>
3147       <!-- Use it to launch small tests only -->
3148       <id>runSmallTests</id>
3149       <activation>
3150         <activeByDefault>false</activeByDefault>
3151       </activation>
3152       <properties>
3153         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
3154         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3155         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3156         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.SmallTests</surefire.firstPartGroups>
3157         <surefire.secondPartGroups/>
3158       </properties>
3159     </profile>
3160     <profile>
3161       <!-- Use it to launch medium tests only -->
3162       <id>runMediumTests</id>
3163       <activation>
3164         <activeByDefault>false</activeByDefault>
3165       </activation>
3166       <properties>
3167         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3168         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3169         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.MediumTests</surefire.firstPartGroups>
3170         <surefire.secondPartGroups/>
3171       </properties>
3172     </profile>
3173     <profile>
3174       <!-- Use it to launch large tests only -->
3175       <id>runLargeTests</id>
3176       <activation>
3177         <activeByDefault>false</activeByDefault>
3178       </activation>
3179       <properties>
3180         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3181         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3182         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.LargeTests</surefire.firstPartGroups>
3183         <surefire.secondPartGroups/>
3184       </properties>
3185     </profile>
3186     <profile>
3187       <!-- Use it to launch small & medium tests -->
3188       <id>runDevTests</id>
3189       <activation>
3190         <activeByDefault>false</activeByDefault>
3191       </activation>
3192       <properties>
3193         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
3194         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3195         <surefire.skipSecondPart>false</surefire.skipSecondPart>
3196         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.SmallTests</surefire.firstPartGroups>
3197         <surefire.secondPartGroups>org.apache.hadoop.hbase.testclassification.MediumTests</surefire.secondPartGroups>
3198       </properties>
3199     </profile>
3200     <profile>
3201       <!-- Use it to launch all tests -->
3202       <id>runAllTests</id>
3203       <activation>
3204         <activeByDefault>false</activeByDefault>
3205       </activation>
3206       <properties>
3207         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
3208         <surefire.secondPartForkCount>5</surefire.secondPartForkCount>
3209         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3210         <surefire.skipSecondPart>false</surefire.skipSecondPart>
3211         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.SmallTests</surefire.firstPartGroups>
3212         <surefire.secondPartGroups>org.apache.hadoop.hbase.testclassification.MediumTests,org.apache.hadoop.hbase.testclassification.LargeTests</surefire.secondPartGroups>
3213       </properties>
3214     </profile>
3215     <profile>
3216       <id>runMiscTests</id>
3217       <activation>
3218         <activeByDefault>false</activeByDefault>
3219       </activation>
3220       <properties>
3221         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
3222         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
3223         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3224         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3225         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.MiscTests
3226         </surefire.firstPartGroups>
3227         <surefire.secondPartGroups></surefire.secondPartGroups>
3228       </properties>
3229     </profile>
3230     <profile>
3231       <id>runCoprocessorTests</id>
3232       <activation>
3233         <activeByDefault>false</activeByDefault>
3234       </activation>
3235       <properties>
3236         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
3237         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
3238         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3239         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3240         <surefire.firstPartGroups>
3241           org.apache.hadoop.hbase.testclassification.CoprocessorTests
3242         </surefire.firstPartGroups>
3243         <surefire.secondPartGroups></surefire.secondPartGroups>
3244       </properties>
3245     </profile>
3246     <profile>
3247       <id>runClientTests</id>
3248       <activation>
3249         <activeByDefault>false</activeByDefault>
3250       </activation>
3251       <properties>
3252         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
3253         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
3254         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3255         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3256         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.ClientTests
3257         </surefire.firstPartGroups>
3258         <surefire.secondPartGroups></surefire.secondPartGroups>
3259       </properties>
3260     </profile>
3261     <profile>
3262       <id>runMasterTests</id>
3263       <activation>
3264         <activeByDefault>false</activeByDefault>
3265       </activation>
3266       <properties>
3267         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
3268         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
3269         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3270         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3271         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.MasterTests
3272         </surefire.firstPartGroups>
3273         <surefire.secondPartGroups></surefire.secondPartGroups>
3274       </properties>
3275     </profile>
3276     <profile>
3277       <id>runMapredTests</id>
3278       <activation>
3279         <activeByDefault>false</activeByDefault>
3280       </activation>
3281       <properties>
3282         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
3283         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
3284         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3285         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3286         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.MapredTests
3287         </surefire.firstPartGroups>
3288         <surefire.secondPartGroups></surefire.secondPartGroups>
3289       </properties>
3290     </profile>
3291     <profile>
3292       <id>runMapreduceTests</id>
3293       <activation>
3294         <activeByDefault>false</activeByDefault>
3295       </activation>
3296       <properties>
3297         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
3298         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
3299         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3300         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3301         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.MapReduceTests
3302         </surefire.firstPartGroups>
3303         <surefire.secondPartGroups></surefire.secondPartGroups>
3304       </properties>
3305     </profile>
3306     <profile>
3307       <id>runRegionServerTests</id>
3308       <activation>
3309         <activeByDefault>false</activeByDefault>
3310       </activation>
3311       <properties>
3312         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
3313         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
3314         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3315         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3316         <surefire.firstPartGroups>
3317           org.apache.hadoop.hbase.testclassification.RegionServerTests
3318         </surefire.firstPartGroups>
3319         <surefire.secondPartGroups></surefire.secondPartGroups>
3320       </properties>
3321     </profile>
3322     <profile>
3323       <id>runVerySlowMapReduceTests</id>
3324       <activation>
3325         <activeByDefault>false</activeByDefault>
3326       </activation>
3327       <properties>
3328         <surefire.firstPartForkCount>2</surefire.firstPartForkCount>
3329         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
3330         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3331         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3332         <surefire.firstPartGroups>
3333           org.apache.hadoop.hbase.testclassification.VerySlowMapReduceTests
3334         </surefire.firstPartGroups>
3335         <surefire.secondPartGroups></surefire.secondPartGroups>
3336       </properties>
3337     </profile>
3339     <profile>
3340       <id>runVerySlowRegionServerTests</id>
3341       <activation>
3342         <activeByDefault>false</activeByDefault>
3343       </activation>
3344       <properties>
3345         <surefire.firstPartForkCount>2</surefire.firstPartForkCount>
3346         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
3347         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3348         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3349         <surefire.firstPartGroups>
3350           org.apache.hadoop.hbase.testclassification.VerySlowRegionServerTests
3351         </surefire.firstPartGroups>
3352         <surefire.secondPartGroups></surefire.secondPartGroups>
3353       </properties>
3354     </profile>
3356     <profile>
3357       <id>runFilterTests</id>
3358       <activation>
3359         <activeByDefault>false</activeByDefault>
3360       </activation>
3361       <properties>
3362         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
3363         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
3364         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3365         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3366         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.FilterTests
3367         </surefire.firstPartGroups>
3368         <surefire.secondPartGroups></surefire.secondPartGroups>
3369       </properties>
3370     </profile>
3371     <profile>
3372       <id>runIOTests</id>
3373       <activation>
3374         <activeByDefault>false</activeByDefault>
3375       </activation>
3376       <properties>
3377         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
3378         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
3379         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3380         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3381         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.IOTests
3382         </surefire.firstPartGroups>
3383         <surefire.secondPartGroups></surefire.secondPartGroups>
3384       </properties>
3385     </profile>
3386     <profile>
3387       <id>runRestTests</id>
3388       <activation>
3389         <activeByDefault>false</activeByDefault>
3390       </activation>
3391       <properties>
3392         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
3393         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
3394         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3395         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3396         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.RestTests
3397         </surefire.firstPartGroups>
3398         <surefire.secondPartGroups></surefire.secondPartGroups>
3399       </properties>
3400     </profile>
3401     <profile>
3402       <id>runRPCTests</id>
3403       <activation>
3404         <activeByDefault>false</activeByDefault>
3405       </activation>
3406       <properties>
3407         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
3408         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
3409         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3410         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3411         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.RPCTests
3412         </surefire.firstPartGroups>
3413         <surefire.secondPartGroups></surefire.secondPartGroups>
3414       </properties>
3415     </profile>
3416     <profile>
3417       <id>runReplicationTests</id>
3418       <activation>
3419         <activeByDefault>false</activeByDefault>
3420       </activation>
3421       <properties>
3422         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
3423         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
3424         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3425         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3426         <surefire.firstPartGroups>
3427           org.apache.hadoop.hbase.testclassification.ReplicationTests
3428         </surefire.firstPartGroups>
3429         <surefire.secondPartGroups></surefire.secondPartGroups>
3430       </properties>
3431     </profile>
3432     <profile>
3433       <id>runSecurityTests</id>
3434       <activation>
3435         <activeByDefault>false</activeByDefault>
3436       </activation>
3437       <properties>
3438         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
3439         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
3440         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3441         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3442         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.SecurityTests
3443         </surefire.firstPartGroups>
3444         <surefire.secondPartGroups></surefire.secondPartGroups>
3445       </properties>
3446     </profile>
3447     <profile>
3448       <id>runFlakeyTests</id>
3449       <activation>
3450         <activeByDefault>false</activeByDefault>
3451       </activation>
3452       <properties>
3453         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
3454         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
3455         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3456         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3457         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.FlakeyTests
3458         </surefire.firstPartGroups>
3459         <surefire.secondPartGroups></surefire.secondPartGroups>
3460       </properties>
3461     </profile>
3462     <profile>
3463       <id>runZKTests</id>
3464       <activation>
3465         <activeByDefault>false</activeByDefault>
3466       </activation>
3467       <properties>
3468         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
3469         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
3470         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3471         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3472         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.ZKTests
3473         </surefire.firstPartGroups>
3474         <surefire.secondPartGroups></surefire.secondPartGroups>
3475       </properties>
3476     </profile>
3478     <profile>
3479       <!-- Use it to launch tests locally-->
3480       <id>localTests</id>
3481       <activation>
3482         <property>
3483           <name>test</name>
3484         </property>
3485       </activation>
3486       <properties>
3487         <surefire.provider>surefire-junit4</surefire.provider>
3488         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3489         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3490         <surefire.firstPartGroups/>
3491       </properties>
3492     </profile>
3493     <!-- Profile for running clover. You need to have a clover license under ~/.clover.license for ${clover.version}
3494          or you can provide the license with -Dmaven.clover.licenseLocation=/path/to/license. Committers can find
3495          the license under https://svn.apache.org/repos/private/committers/donated-licenses/clover/
3496          The report will be generated under target/site/clover/index.html when you run
3497          MAVEN_OPTS="-Xmx2048m" mvn clean package -Pclover site -->
3498     <profile>
3499       <id>clover</id>
3500       <activation>
3501         <activeByDefault>false</activeByDefault>
3502         <property>
3503           <name>clover</name>
3504         </property>
3505       </activation>
3506       <properties>
3507         <maven.clover.licenseLocation>${user.home}/.clover.license</maven.clover.licenseLocation>
3508       </properties>
3509       <build>
3510         <plugins>
3511         <!-- When Clover is active, we need to add it as a dependency for the javadoc plugin, or
3512              our instrumented classes for the doclet will fail
3513           -->
3514           <plugin>
3515             <groupId>org.apache.maven.plugins</groupId>
3516             <artifactId>maven-javadoc-plugin</artifactId>
3517             <dependencies>
3518               <dependency>
3519                 <groupId>com.atlassian.maven.plugins</groupId>
3520                 <artifactId>maven-clover2-plugin</artifactId>
3521                 <version>${clover.version}</version>
3522               </dependency>
3523             </dependencies>
3524           </plugin>
3525           <plugin>
3526             <groupId>com.atlassian.maven.plugins</groupId>
3527             <artifactId>maven-clover2-plugin</artifactId>
3528             <version>${clover.version}</version>
3529             <configuration>
3530               <includesAllSourceRoots>true</includesAllSourceRoots>
3531               <includesTestSourceRoots>true</includesTestSourceRoots>
3532               <targetPercentage>50%</targetPercentage>
3533               <generateHtml>true</generateHtml>
3534               <generateXml>true</generateXml>
3535               <excludes>
3536                 <exclude>**/generated/**</exclude>
3537               </excludes>
3538             </configuration>
3539             <executions>
3540               <execution>
3541                 <id>clover-setup</id>
3542                 <phase>process-sources</phase>
3543                 <goals>
3544                   <goal>setup</goal>
3545                 </goals>
3546               </execution>
3547               <execution>
3548                 <id>clover</id>
3549                 <phase>site</phase>
3550                 <goals>
3551                   <goal>clover</goal>
3552                 </goals>
3553               </execution>
3554             </executions>
3555           </plugin>
3556         </plugins>
3557       </build>
3558     </profile>
3559     <profile>
3560       <!-- Used by the website generation script on jenkins to
3561            do a local install of the jars we need to run a normal
3562            site build w/o forking.
3563         -->
3564       <id>site-install-step</id>
3565       <properties>
3566         <skipTests>true</skipTests>
3567         <maven.javadoc.skip>true</maven.javadoc.skip>
3568         <enforcer.skip>true</enforcer.skip>
3569         <checkstyle.skip>true</checkstyle.skip>
3570         <findbugs.skip>true</findbugs.skip>
3571         <warbucks.skip>true</warbucks.skip>
3572       </properties>
3573     </profile>
3574     <profile>
3575       <!-- Used by the website generation script on jenkins to
3576            mitigate the impact of unneeded build forks while building
3577            our javadocs.
3578         -->
3579       <id>site-build-step</id>
3580       <properties>
3581         <skipTests>true</skipTests>
3582         <enforcer.skip>true</enforcer.skip>
3583         <maven.main.skip>true</maven.main.skip>
3584         <maven.test.skip>true</maven.test.skip>
3585         <warbucks.skip>true</warbucks.skip>
3586         <protoc.skip>true</protoc.skip>
3587         <remoteresources.skip>true</remoteresources.skip>
3588       </properties>
3589     </profile>
3590     <profile>
3591       <id>eclipse-specific</id>
3592       <activation>
3593         <property>
3594           <name>m2e.version</name>
3595         </property>
3596       </activation>
3597       <build>
3598         <pluginManagement>
3599           <plugins>
3600             <!-- General config for eclipse classpath/settings -->
3601             <plugin>
3602               <groupId>org.apache.maven.plugins</groupId>
3603               <artifactId>maven-eclipse-plugin</artifactId>
3604               <version>${maven.eclipse.version}</version>
3605             </plugin>
3606             <!--This plugin's configuration is used to store Eclipse m2e settings
3607                 only. It has no influence on the Maven build itself. m2e does not
3608                 provide any safeguards against rogue maven plugins that leak
3609                 classloaders, modify random files inside workspace or throw nasty
3610                 exceptions to fail the build.
3611                 Top level doesn't do any specific configuration currently - left
3612                 to modules to decide what they want to bind, sans those plugins
3613                 defined in this pom. -->
3614             <plugin>
3615               <groupId>org.eclipse.m2e</groupId>
3616               <artifactId>lifecycle-mapping</artifactId>
3617               <version>${lifecycle.mapping.version}</version>
3618               <configuration>
3619                 <lifecycleMappingMetadata>
3620                   <pluginExecutions>
3621                     <pluginExecution>
3622                       <pluginExecutionFilter>
3623                         <groupId>org.jacoco</groupId>
3624                         <artifactId>jacoco-maven-plugin</artifactId>
3625                         <versionRange>[0.6.2.201302030002,)</versionRange>
3626                         <goals>
3627                           <goal>prepare-agent</goal>
3628                         </goals>
3629                       </pluginExecutionFilter>
3630                       <action>
3631                         <ignore></ignore>
3632                       </action>
3633                     </pluginExecution>
3634                     <pluginExecution>
3635                       <pluginExecutionFilter>
3636                         <groupId>org.apache.maven.plugins</groupId>
3637                         <artifactId>maven-enforcer-plugin</artifactId>
3638                         <versionRange>${enforcer.version}</versionRange>
3639                         <goals>
3640                           <goal>enforce</goal>
3641                         </goals>
3642                       </pluginExecutionFilter>
3643                       <action>
3644                         <ignore />
3645                       </action>
3646                     </pluginExecution>
3647                     <pluginExecution>
3648                       <pluginExecutionFilter>
3649                         <groupId>org.apache.maven.plugins</groupId>
3650                         <artifactId>maven-remote-resources-plugin</artifactId>
3651                         <versionRange>[1.5,)</versionRange>
3652                         <goals>
3653                           <goal>process</goal>
3654                           <goal>bundle</goal>
3655                         </goals>
3656                       </pluginExecutionFilter>
3657                       <action>
3658                         <ignore />
3659                       </action>
3660                     </pluginExecution>
3661                       <pluginExecution>
3662                         <pluginExecutionFilter>
3663                           <groupId>org.codehaus.mojo</groupId>
3664                           <artifactId>buildnumber-maven-plugin</artifactId>
3665                           <versionRange>[1.3,)</versionRange>
3666                           <goals>
3667                             <goal>create-timestamp</goal>
3668                           </goals>
3669                         </pluginExecutionFilter>
3670                         <action>
3671                           <execute>
3672                             <runOnConfiguration>true</runOnConfiguration>
3673                             <runOnIncremental>true</runOnIncremental>
3674                           </execute>
3675                         </action>
3676                       </pluginExecution>
3677                   </pluginExecutions>
3678                 </lifecycleMappingMetadata>
3679               </configuration>
3680             </plugin>
3681           </plugins>
3682         </pluginManagement>
3683       </build>
3684     </profile>
3685   </profiles>
3686   <!-- See http://jira.codehaus.org/browse/MSITE-443 why the settings need to be here and not in pluginManagement. -->
3687   <reporting>
3688     <plugins>
3689       <plugin>
3690         <artifactId>maven-project-info-reports-plugin</artifactId>
3691         <reportSets>
3692           <reportSet>
3693             <reports>
3694               <report>dependencies</report>
3695               <report>dependency-convergence</report>
3696               <report>dependency-info</report>
3697               <report>dependency-management</report>
3698               <report>index</report>
3699               <report>issue-management</report>
3700               <report>licenses</report>
3701               <report>mailing-lists</report>
3702               <report>plugin-management</report>
3703               <report>plugins</report>
3704               <report>team</report>
3705               <report>scm</report>
3706               <report>summary</report>
3707             </reports>
3708           </reportSet>
3709         </reportSets>
3710         <!-- see src/site/site.xml for selected reports -->
3711         <configuration>
3712           <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
3713         </configuration>
3714       </plugin>
3716       <plugin>
3717         <groupId>org.apache.maven.plugins</groupId>
3718         <artifactId>maven-javadoc-plugin</artifactId>
3719         <reportSets>
3720           <!-- Dev API -->
3721           <reportSet>
3722             <id>devapi</id>
3723             <reports>
3724               <report>aggregate</report>
3725             </reports>
3726             <configuration>
3727               <destDir>devapidocs</destDir>
3728               <name>Developer API</name>
3729               <description>The full HBase API, including private and unstable APIs</description>
3730               <sourceFileExcludes>
3731                 <exclude>**/generated/*</exclude>
3732                 <exclude>**/protobuf/*</exclude>
3733               </sourceFileExcludes>
3734               <excludePackageNames>org.apache.hadoop.hbase.tmpl.common:com.google.protobuf:org.apache.hadoop.hbase.generated*</excludePackageNames>
3735               <show>private</show> <!-- (shows all classes and members) -->
3736               <quiet>true</quiet>
3737               <linksource>true</linksource>
3738               <sourcetab>2</sourcetab>
3739               <validateLinks>true</validateLinks>
3740               <fixClassComment>true</fixClassComment>
3741               <fixFieldComment>true</fixFieldComment>
3742               <fixMethodComment>true</fixMethodComment>
3743               <fixTags>all</fixTags>
3744               <notimestamp>true</notimestamp>
3745               <!-- Pass some options straight to the javadoc executable since it is easier -->
3746               <additionalJOption>-J-Xmx2G</additionalJOption>
3747               <!-- JDK8 javadoc requires test scope transitive dependencies due to our custom doclet -->
3748               <additionalDependencies>
3749                 <additionalDependency>
3750                   <groupId>org.mockito</groupId>
3751                   <artifactId>mockito-core</artifactId>
3752                   <version>${mockito-core.version}</version>
3753                 </additionalDependency>
3754                 <additionalDependency>
3755                   <groupId>org.hamcrest</groupId>
3756                   <artifactId>hamcrest-core</artifactId>
3757                   <version>${hamcrest.version}</version>
3758                 </additionalDependency>
3759               </additionalDependencies>
3760               <inherited>false</inherited>
3761             </configuration>
3762           </reportSet>
3763           <reportSet>
3764             <id>testdevapi</id>
3765             <reports>
3766               <report>test-aggregate</report>
3767             </reports>
3768             <configuration>
3769               <destDir>testdevapidocs</destDir>
3770               <name>Developer API</name>
3771               <description>The full HBase API test code, including private and unstable APIs</description>
3772               <sourceFileExcludes>
3773                 <exclude>**/generated/*</exclude>
3774                 <exclude>**/protobuf/*</exclude>
3775               </sourceFileExcludes>
3776               <excludePackageNames>org.apache.hadoop.hbase.tmpl.common:com.google.protobuf:org.apache.hadoop.hbase.generated*</excludePackageNames>
3777               <show>private</show> <!-- (shows all classes and members) -->
3778               <quiet>true</quiet>
3779               <linksource>true</linksource>
3780               <sourcetab>2</sourcetab>
3781               <validateLinks>true</validateLinks>
3782               <fixClassComment>true</fixClassComment>
3783               <fixFieldComment>true</fixFieldComment>
3784               <fixMethodComment>true</fixMethodComment>
3785               <fixTags>all</fixTags>
3786               <notimestamp>true</notimestamp>
3787               <!-- Pass some options straight to the javadoc executable since it is easier -->
3788               <additionalJOption>-J-Xmx2G</additionalJOption>
3789               <!-- JDK8 javadoc requires test scope transitive dependencies due to our custom doclet -->
3790               <additionalDependencies>
3791                 <additionalDependency>
3792                   <groupId>org.mockito</groupId>
3793                   <artifactId>mockito-core</artifactId>
3794                   <version>${mockito-core.version}</version>
3795                 </additionalDependency>
3796                 <additionalDependency>
3797                   <groupId>org.hamcrest</groupId>
3798                   <artifactId>hamcrest-core</artifactId>
3799                   <version>${hamcrest.version}</version>
3800                 </additionalDependency>
3801               </additionalDependencies>
3802               <inherited>false</inherited>
3803             </configuration>
3804           </reportSet>
3806           <!-- User API -->
3807           <reportSet>
3808             <id>userapi</id>
3809             <reports>
3810               <report>aggregate</report>
3811             </reports>
3812             <configuration>
3813               <doclet>
3814                 org.apache.yetus.audience.tools.IncludePublicAnnotationsStandardDoclet
3815               </doclet>
3816               <docletArtifact>
3817                 <groupId>org.apache.yetus</groupId>
3818                 <artifactId>audience-annotations</artifactId>
3819                 <version>${audience-annotations.version}</version>
3820               </docletArtifact>
3821               <useStandardDocletOptions>true</useStandardDocletOptions>
3822               <destDir>apidocs</destDir>
3823               <name>User API</name>
3824               <description>The HBase Application Programmer's API</description>
3825               <excludePackageNames>
3826                 org.apache.hadoop.hbase.backup*:org.apache.hadoop.hbase.catalog:org.apache.hadoop.hbase.client.coprocessor:org.apache.hadoop.hbase.client.metrics:org.apache.hadoop.hbase.codec*:org.apache.hadoop.hbase.constraint:org.apache.hadoop.hbase.coprocessor.*:org.apache.hadoop.hbase.executor:org.apache.hadoop.hbase.fs:*.generated.*:org.apache.hadoop.hbase.io.hfile.*:org.apache.hadoop.hbase.mapreduce.hadoopbackport:org.apache.hadoop.hbase.mapreduce.replication:org.apache.hadoop.hbase.master.*:org.apache.hadoop.hbase.metrics*:org.apache.hadoop.hbase.migration:org.apache.hadoop.hbase.monitoring:org.apache.hadoop.hbase.p*:org.apache.hadoop.hbase.regionserver.compactions:org.apache.hadoop.hbase.regionserver.handler:org.apache.hadoop.hbase.regionserver.snapshot:org.apache.hadoop.hbase.replication.*:org.apache.hadoop.hbase.rest.filter:org.apache.hadoop.hbase.rest.model:org.apache.hadoop.hbase.rest.p*:org.apache.hadoop.hbase.security.*:org.apache.hadoop.hbase.thrift*:org.apache.hadoop.hbase.tmpl.*:org.apache.hadoop.hbase.tool:org.apache.hadoop.hbase.trace:org.apache.hadoop.hbase.util.byterange*:org.apache.hadoop.hbase.util.test:org.apache.hadoop.hbase.util.vint:org.apache.hadoop.metrics2*:org.apache.hadoop.hbase.io.compress*
3827               </excludePackageNames>
3828               <!-- switch on dependency-driven aggregation -->
3829               <includeDependencySources>false</includeDependencySources>
3830               <sourceFilesExclude>**/generated/*</sourceFilesExclude>
3831               <show>protected</show> <!-- (shows only public and protected classes and members) -->
3832               <quiet>true</quiet>
3833               <linksource>true</linksource>
3834               <sourcetab>2</sourcetab>
3835               <validateLinks>true</validateLinks>
3836               <fixClassComment>true</fixClassComment>
3837               <fixFieldComment>true</fixFieldComment>
3838               <fixMethodComment>true</fixMethodComment>
3839               <fixTags>all</fixTags>
3840               <notimestamp>true</notimestamp>
3841               <!-- Pass some options straight to the javadoc executable since it is easier -->
3842               <additionalJOption>-J-Xmx2G</additionalJOption>
3843               <!-- JDK8 javadoc requires test scope transitive dependencies due to our custom doclet -->
3844               <additionalDependencies>
3845                 <additionalDependency>
3846                   <groupId>org.mockito</groupId>
3847                   <artifactId>mockito-core</artifactId>
3848                   <version>${mockito-core.version}</version>
3849                 </additionalDependency>
3850                 <additionalDependency>
3851                   <groupId>org.hamcrest</groupId>
3852                   <artifactId>hamcrest-core</artifactId>
3853                   <version>${hamcrest.version}</version>
3854                 </additionalDependency>
3855               </additionalDependencies>
3856               <inherited>false</inherited>
3857             </configuration>
3858           </reportSet>
3859           <!-- User Test API -->
3860           <reportSet>
3861             <id>testuserapi</id>
3862             <reports>
3863               <report>test-aggregate</report>
3864             </reports>
3865             <configuration>
3866               <doclet>
3867                 org.apache.yetus.audience.tools.IncludePublicAnnotationsStandardDoclet
3868               </doclet>
3869               <docletArtifact>
3870                 <groupId>org.apache.yetus</groupId>
3871                 <artifactId>audience-annotations</artifactId>
3872                 <version>${audience-annotations.version}</version>
3873               </docletArtifact>
3874               <useStandardDocletOptions>true</useStandardDocletOptions>
3875               <destDir>testapidocs</destDir>
3876               <name>User API</name>
3877               <description>The HBase Application Programmer's API</description>
3878               <excludePackageNames>
3879                 org.apache.hadoop.hbase.backup*:org.apache.hadoop.hbase.catalog:org.apache.hadoop.hbase.client.coprocessor:org.apache.hadoop.hbase.client.metrics:org.apache.hadoop.hbase.codec*:org.apache.hadoop.hbase.constraint:org.apache.hadoop.hbase.coprocessor.*:org.apache.hadoop.hbase.executor:org.apache.hadoop.hbase.fs:*.generated.*:org.apache.hadoop.hbase.io.hfile.*:org.apache.hadoop.hbase.mapreduce.hadoopbackport:org.apache.hadoop.hbase.mapreduce.replication:org.apache.hadoop.hbase.master.*:org.apache.hadoop.hbase.metrics*:org.apache.hadoop.hbase.migration:org.apache.hadoop.hbase.monitoring:org.apache.hadoop.hbase.p*:org.apache.hadoop.hbase.regionserver.compactions:org.apache.hadoop.hbase.regionserver.handler:org.apache.hadoop.hbase.regionserver.snapshot:org.apache.hadoop.hbase.replication.*:org.apache.hadoop.hbase.rest.filter:org.apache.hadoop.hbase.rest.model:org.apache.hadoop.hbase.rest.p*:org.apache.hadoop.hbase.security.*:org.apache.hadoop.hbase.thrift*:org.apache.hadoop.hbase.tmpl.*:org.apache.hadoop.hbase.tool:org.apache.hadoop.hbase.trace:org.apache.hadoop.hbase.util.byterange*:org.apache.hadoop.hbase.util.test:org.apache.hadoop.hbase.util.vint:org.apache.hadoop.metrics2*:org.apache.hadoop.hbase.io.compress*
3880               </excludePackageNames>
3881               <!-- switch on dependency-driven aggregation -->
3882               <includeDependencySources>false</includeDependencySources>
3883               <sourceFilesExclude>**/generated/*</sourceFilesExclude>
3884               <show>protected</show> <!-- (shows only public and protected classes and members) -->
3885               <quiet>true</quiet>
3886               <linksource>true</linksource>
3887               <sourcetab>2</sourcetab>
3888               <validateLinks>true</validateLinks>
3889               <fixClassComment>true</fixClassComment>
3890               <fixFieldComment>true</fixFieldComment>
3891               <fixMethodComment>true</fixMethodComment>
3892               <fixTags>all</fixTags>
3893               <notimestamp>true</notimestamp>
3894               <!-- Pass some options straight to the javadoc executable since it is easier -->
3895               <additionalJOption>-J-Xmx2G</additionalJOption>
3896               <!-- JDK8 javadoc requires test scope transitive dependencies due to our custom doclet -->
3897               <additionalDependencies>
3898                 <additionalDependency>
3899                   <groupId>org.mockito</groupId>
3900                   <artifactId>mockito-core</artifactId>
3901                   <version>${mockito-core.version}</version>
3902                 </additionalDependency>
3903                 <additionalDependency>
3904                   <groupId>org.hamcrest</groupId>
3905                   <artifactId>hamcrest-core</artifactId>
3906                   <version>${hamcrest.version}</version>
3907                 </additionalDependency>
3908               </additionalDependencies>
3909               <inherited>false</inherited>
3910             </configuration>
3911           </reportSet>
3912         </reportSets>
3913       </plugin>
3915       <plugin>
3916         <groupId>org.apache.maven.plugins</groupId>
3917         <artifactId>maven-checkstyle-plugin</artifactId>
3918         <version>${maven.checkstyle.version}</version>
3919         <configuration>
3920           <excludes>target/**</excludes>
3921         </configuration>
3922       </plugin>
3924     </plugins>
3925   </reporting>
3926   <distributionManagement>
3927     <site>
3928       <id>hbase.apache.org</id>
3929       <name>HBase Website at hbase.apache.org</name>
3930       <!-- On why this is the tmp dir and not hbase.apache.org, see
3931                https://issues.apache.org/jira/browse/HBASE-7593?focusedCommentId=13555866&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13555866
3932                -->
3933       <url>file:///tmp</url>
3934     </site>
3935   </distributionManagement>
3936 </project>