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