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