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