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