HBASE-11312:Minor refactoring of TestVisibilityLabels class(Srikanth via
[hbase.git] / pom.xml
bloba7ce2b7db650d268b1d1d59d2f0f50f16ab4fe05
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>0.99.0-SNAPSHOT</version>
43   <name>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   <modules>
52     <module>hbase-server</module>
53     <module>hbase-thrift</module>
54     <module>hbase-shell</module>
55     <module>hbase-protocol</module>
56     <module>hbase-client</module>
57     <module>hbase-hadoop-compat</module>
58     <module>hbase-common</module>
59     <module>hbase-it</module>
60     <module>hbase-examples</module>
61     <module>hbase-prefix-tree</module>
62     <module>hbase-assembly</module>
63     <module>hbase-testing-util</module>
64   </modules>
65   <scm>
66     <connection>scm:git:git://git.apache.org/hbase.git</connection>
67     <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/hbase.git</developerConnection>
68     <url>https://git-wip-us.apache.org/repos/asf?p=hbase.git</url>
69   </scm>
70   <issueManagement>
71     <system>JIRA</system>
72     <url>http://issues.apache.org/jira/browse/HBASE</url>
73   </issueManagement>
74   <ciManagement>
75     <system>hudson</system>
76     <url>http://hudson.zones.apache.org/hudson/view/HBase/job/HBase-TRUNK/</url>
77   </ciManagement>
78   <mailingLists>
79     <mailingList>
80       <name>User List</name>
81       <subscribe>user-subscribe@hbase.apache.org</subscribe>
82       <unsubscribe>user-unsubscribe@hbase.apache.org</unsubscribe>
83       <post>user@hbase.apache.org</post>
84       <archive>http://mail-archives.apache.org/mod_mbox/hbase-user/</archive>
85       <otherArchives>
86         <otherArchive>http://dir.gmane.org/gmane.comp.java.hadoop.hbase.user</otherArchive>
87         <otherArchive>http://search-hadoop.com/?q=&amp;fc_project=HBase</otherArchive>
88       </otherArchives>
89     </mailingList>
90     <mailingList>
91       <name>Developer List</name>
92       <subscribe>dev-subscribe@hbase.apache.org</subscribe>
93       <unsubscribe>dev-unsubscribe@hbase.apache.org</unsubscribe>
94       <post>dev@hbase.apache.org</post>
95       <archive>http://mail-archives.apache.org/mod_mbox/hbase-dev/</archive>
96       <otherArchives>
97         <otherArchive>http://dir.gmane.org/gmane.comp.java.hadoop.hbase.devel</otherArchive>
98         <otherArchive>http://search-hadoop.com/?q=&amp;fc_project=HBase</otherArchive>
99       </otherArchives>
100     </mailingList>
101     <mailingList>
102       <name>Commits List</name>
103       <subscribe>commits-subscribe@hbase.apache.org</subscribe>
104       <unsubscribe>commits-unsubscribe@hbase.apache.org</unsubscribe>
105       <archive>http://mail-archives.apache.org/mod_mbox/hbase-commits/</archive>
106     </mailingList>
107     <mailingList>
108       <name>Issues List</name>
109       <subscribe>issues-subscribe@hbase.apache.org</subscribe>
110       <unsubscribe>issues-unsubscribe@hbase.apache.org</unsubscribe>
111       <archive>http://mail-archives.apache.org/mod_mbox/hbase-issues/</archive>
112     </mailingList>
113     <mailingList>
114       <name>Builds List</name>
115       <subscribe>builds-subscribe@hbase.apache.org</subscribe>
116       <unsubscribe>builds-unsubscribe@hbase.apache.org</unsubscribe>
117       <archive>http://mail-archives.apache.org/mod_mbox/hbase-builds/</archive>
118     </mailingList>
119   </mailingLists>
120   <developers>
121     <developer>
122       <id>acube123</id>
123       <name>Amitanand S. Aiyer</name>
124       <email>acube123@apache.org</email>
125       <timezone>-8</timezone>
126       <organization>Facebook</organization>
127       <organizationUrl>http://www.facebook.com</organizationUrl>
128     </developer>
129     <developer>
130       <id>apurtell</id>
131       <name>Andrew Purtell</name>
132       <email>apurtell@apache.org</email>
133       <timezone>-8</timezone>
134       <organization>Intel</organization>
135       <organizationUrl>http://www.intel.com</organizationUrl>
136     </developer>
137     <developer>
138       <id>anoopsamjohn</id>
139       <name>Anoop Sam John</name>
140       <email>anoopsamjohn@apache.org</email>
141       <timezone>+5</timezone>
142       <organization>Intel</organization>
143       <organizationUrl>http://www.intel.com</organizationUrl>
144     </developer>
145     <developer>
146       <id>ddas</id>
147       <name>Devaraj Das</name>
148       <email>ddas@apache.org</email>
149       <timezone>-8</timezone>
150       <organization>Hortonworks</organization>
151       <organizationUrl>http://www.hortonworks.com</organizationUrl>
152     </developer>
153     <developer>
154       <id>dmeil</id>
155       <name>Doug Meil</name>
156       <email>dmeil@apache.org</email>
157       <timezone>-5</timezone>
158       <organization>Explorys</organization>
159       <organizationUrl>http://www.explorys.com</organizationUrl>
160     </developer>
161     <developer>
162       <id>enis</id>
163       <name>Enis Soztutar</name>
164       <email>enis@apache.org</email>
165       <timezone>-8</timezone>
166       <organization>Hortonworks</organization>
167       <organizationUrl>http://www.hortonworks.com</organizationUrl>
168     </developer>
169     <developer>
170       <id>fenghh</id>
171       <name>Honghua Feng</name>
172       <email>fenghh@apache.org</email>
173       <timezone>+8</timezone>
174       <organization>Xiaomi</organization>
175       <organizationUrl>http://www.xiaomi.com</organizationUrl>
176     </developer>
177     <developer>
178       <id>garyh</id>
179       <name>Gary Helmling</name>
180       <email>garyh@apache.org</email>
181       <timezone>-8</timezone>
182       <organization>Continuuity</organization>
183       <organizationUrl>http://www.continuuity.com</organizationUrl>
184     </developer>
185     <developer>
186       <id>gchanan</id>
187       <name>Gregory Chanan</name>
188       <email>gchanan@apache.org</email>
189       <timezone>-8</timezone>
190       <organization>Cloudera</organization>
191       <organizationUrl>http://www.cloudera.com</organizationUrl>
192     </developer>
193     <developer>
194       <id>jdcryans</id>
195       <name>Jean-Daniel Cryans</name>
196       <email>jdcryans@apache.org</email>
197       <timezone>-8</timezone>
198       <organization>Cloudera</organization>
199       <organizationUrl>http://www.cloudera.com</organizationUrl>
200     </developer>
201     <developer>
202       <id>jeffreyz</id>
203       <name>Jeffrey Zhong</name>
204       <email>jeffreyz@apache.org</email>
205       <timezone>-8</timezone>
206       <organization>Hortonworks</organization>
207       <organizationUrl>http://www.hortonworks.com</organizationUrl>
208     </developer>
209     <developer>
210       <id>jyates</id>
211       <name>Jesse Yates</name>
212       <email>jyates@apache.org</email>
213       <timezone>-8</timezone>
214       <organization>Salesforce.com</organization>
215       <organizationUrl>http://www.salesforce.com/</organizationUrl>
216     </developer>
217     <developer>
218       <id>jgray</id>
219       <name>Jonathan Gray</name>
220       <email>jgray@fb.com</email>
221       <timezone>-8</timezone>
222       <organization>Continuuity</organization>
223       <organizationUrl>http://www.continuuity.com</organizationUrl>
224     </developer>
225     <developer>
226       <id>jmhsieh</id>
227       <name>Jonathan Hsieh</name>
228       <email>jmhsieh@apache.org</email>
229       <timezone>-8</timezone>
230       <organization>Cloudera</organization>
231       <organizationUrl>http://www.cloudera.com</organizationUrl>
232     </developer>
233     <developer>
234       <id>jxiang</id>
235       <name>Jimmy Xiang</name>
236       <email>jxiang@apache.org</email>
237       <timezone>-8</timezone>
238       <organization>Cloudera</organization>
239       <organizationUrl>http://www.cloudera.com</organizationUrl>
240     </developer>
241     <developer>
242       <id>kannan</id>
243       <name>Kannan Muthukkaruppan</name>
244       <email>kannan@fb.com</email>
245       <timezone>-8</timezone>
246       <organization>Facebook</organization>
247       <organizationUrl>http://www.facebook.com</organizationUrl>
248     </developer>
249     <developer>
250       <id>karthik</id>
251       <name>Karthik Ranganathan</name>
252       <email>kranganathan@fb.com</email>
253       <timezone>-8</timezone>
254       <organization>Facebook</organization>
255       <organizationUrl>http://www.facebook.com</organizationUrl>
256     </developer>
257     <developer>
258       <id>larsgeorge</id>
259       <name>Lars George</name>
260       <email>larsgeorge@apache.org</email>
261       <timezone>+1</timezone>
262       <organization>Cloudera</organization>
263       <organizationUrl>http://www.cloudera.com/</organizationUrl>
264     </developer>
265     <developer>
266       <id>larsh</id>
267       <name>Lars Hofhansl</name>
268       <email>larsh@apache.org</email>
269       <timezone>-8</timezone>
270       <organization>Salesforce.com</organization>
271       <organizationUrl>http://www.salesforce.com/</organizationUrl>
272     </developer>
273     <developer>
274       <id>liangxie</id>
275       <name>Liang Xie</name>
276       <email>liangxie@apache.org</email>
277       <timezone>+8</timezone>
278       <organization>Xiaomi</organization>
279       <organizationUrl>http://www.xiaomi.com/</organizationUrl>
280     </developer>
281     <developer>
282       <id>mbautin</id>
283       <name>Mikhail Bautin</name>
284       <email>mbautin@apache.org</email>
285       <timezone>-8</timezone>
286       <organization>Facebook</organization>
287       <organizationUrl>http://www.facebook.com</organizationUrl>
288     </developer>
289     <developer>
290       <id>ndimiduk</id>
291       <name>Nick Dimiduk</name>
292       <email>ndimiduk@apache.org</email>
293       <timezone>-8</timezone>
294       <organization>Hortonworks</organization>
295       <organizationUrl>http://www.hortonworks.com</organizationUrl>
296     </developer>
297     <developer>
298       <id>nspiegelberg</id>
299       <name>Nicolas Spiegelberg</name>
300       <email>nspiegelberg@fb.com</email>
301       <timezone>-8</timezone>
302       <organization>Facebook</organization>
303       <organizationUrl>http://www.facebook.com</organizationUrl>
304     </developer>
305     <developer>
306       <id>rawson</id>
307       <name>Ryan Rawson</name>
308       <email>rawson@apache.org</email>
309       <timezone>-8</timezone>
310       <organization>DrawnToScale</organization>
311       <organizationUrl>http://drawntoscale.com/</organizationUrl>
312     </developer>
313     <developer>
314       <id>sershe</id>
315       <name>Sergey Shelukhin</name>
316       <email>sershe@apache.org</email>
317       <timezone>-8</timezone>
318       <organization>Hortonworks</organization>
319       <organizationUrl>http://www.hortonworks.com</organizationUrl>
320     </developer>
321     <developer>
322       <id>stack</id>
323       <name>Michael Stack</name>
324       <email>stack@apache.org</email>
325       <timezone>-8</timezone>
326       <organization>Cloudera</organization>
327       <organizationUrl>http://www.cloudera.com/</organizationUrl>
328     </developer>
329     <developer>
330       <id>tedyu</id>
331       <name>Ted Yu</name>
332       <email>yuzhihong@gmail.com</email>
333       <timezone>-8</timezone>
334       <organization>Hortonworks</organization>
335       <organizationUrl>http://www.hortonworks.com</organizationUrl>
336     </developer>
337     <developer>
338       <id>todd</id>
339       <name>Todd Lipcon</name>
340       <email>todd@apache.org</email>
341       <timezone>-8</timezone>
342       <organization>Cloudera</organization>
343       <organizationUrl>http://www.cloudera.com</organizationUrl>
344     </developer>
345     <developer>
346       <id>rajeshbabu</id>
347       <name>Rajeshbabu Chintaguntla</name>
348       <email>rajeshbabu@apache.org</email>
349       <timezone>+5</timezone>
350       <organization>Huawei</organization>
351       <organizationUrl>http://www.huawei.com</organizationUrl>
352     </developer>
353     <developer>
354       <id>ramkrishna</id>
355       <name>Ramkrishna S Vasudevan</name>
356       <email>ramkrishna@apache.org</email>
357       <timezone>+5</timezone>
358       <organization>Intel</organization>
359       <organizationUrl>http://www.intel.in</organizationUrl>
360     </developer>
361     <developer>
362       <id>liyin</id>
363       <name>Liyin Tang</name>
364       <email>liyin.tang@fb.com</email>
365       <timezone>-8</timezone>
366       <organization>Facebook</organization>
367       <organizationUrl>http://www.facebook.com</organizationUrl>
368     </developer>
369     <developer>
370       <id>nkeywal</id>
371       <name>Nicolas Liochon</name>
372       <email>nkeywal@apache.org</email>
373       <timezone>+1</timezone>
374       <organization>Scaled Risk</organization>
375       <organizationUrl>http://www.scaledrisk.com</organizationUrl>
376     </developer>
377     <developer>
378       <id>eclark</id>
379       <name>Elliott Clark</name>
380       <email>eclark@apache.org</email>
381       <timezone>-8</timezone>
382       <organization>Facebook</organization>
383       <organizationUrl>http://www.facebook.com</organizationUrl>
384     </developer>
385     <developer>
386       <id>mbertozzi</id>
387       <name>Matteo Bertozzi</name>
388       <email>mbertozzi@apache.org</email>
389       <timezone>0</timezone>
390       <organization>Cloudera</organization>
391       <organizationUrl>http://www.cloudera.com</organizationUrl>
392     </developer>
393     <developer>
394       <id>zjushch</id>
395       <name>Chunhui Shen</name>
396       <email>zjushch@apache.org</email>
397       <timezone>+8</timezone>
398       <organization>Taobao</organization>
399       <organizationUrl>http://www.taobao.com</organizationUrl>
400     </developer>
401   </developers>
402   <repositories>
403     <repository>
404       <id>apache release</id>
405       <url>https://repository.apache.org/content/repositories/releases/</url>
406     </repository>
407     <repository>
408       <id>java.net</id>
409       <name>Java.Net</name>
410       <url>http://download.java.net/maven/2/</url>
411       <snapshots>
412         <enabled>false</enabled>
413       </snapshots>
414       <releases>
415         <enabled>true</enabled>
416       </releases>
417     </repository>
418     <repository>
419       <id>codehaus</id>
420       <name>Codehaus Public</name>
421       <url>http://repository.codehaus.org/</url>
422       <snapshots>
423         <enabled>false</enabled>
424       </snapshots>
425       <releases>
426         <enabled>true</enabled>
427       </releases>
428     </repository>
429     <repository>
430       <id>repository.jboss.org</id>
431       <url>http://repository.jboss.org/nexus/content/groups/public-jboss/</url>
432       <snapshots>
433         <enabled>false</enabled>
434       </snapshots>
435     </repository>
436     <repository>
437       <id>ghelmling.testing</id>
438       <name>Gary Helmling test repo</name>
439       <url>http://people.apache.org/~garyh/mvn/</url>
440       <snapshots>
441         <enabled>true</enabled>
442       </snapshots>
443       <releases>
444         <enabled>true</enabled>
445       </releases>
446     </repository>
447   </repositories>
448   <pluginRepositories>
449     <pluginRepository>
450       <id>ghelmling.testing</id>
451       <name>Gary Helmling test repo</name>
452       <url>http://people.apache.org/~garyh/mvn/</url>
453       <snapshots>
454         <enabled>true</enabled>
455       </snapshots>
456       <releases>
457         <enabled>true</enabled>
458       </releases>
459     </pluginRepository>
460   </pluginRepositories>
461   <build>
462     <pluginManagement>
463       <plugins>
464         <plugin>
465           <groupId>org.apache.maven.plugins</groupId>
466           <artifactId>maven-release-plugin</artifactId>
467           <version>2.4.1</version>
468           <!--Making a release I've been using mvn 3.0 and specifying the apache-release
469               profile on the command line as follows:
471               $ ~/bin/mvn/bin/mvn  -Papache-release release:perform
473               I've also been kiling the release:prepare step mid-way to check the
474               release.properties it generates at the top-level.  Sometimes it refers
475               to HEAD rather than to the svn branch.
476            -->
477           <configuration>
478             <!--You need this profile. It'll sign your artifacts.
479                 I'm not sure if this config. actually works though.
480                 I've been specifying -Papache-release on the command-line
481              -->
482             <releaseProfiles>apache-release</releaseProfiles>
483             <!--This stops our running tests for each stage of maven release.
484                 But it builds the test jar.  From SUREFIRE-172.
485               -->
486             <arguments>-Dmaven.test.skip.exec</arguments>
487             <pomFileName>pom.xml</pomFileName>
488           </configuration>
489         </plugin>
490         <plugin>
491           <artifactId>maven-compiler-plugin</artifactId>
492           <version>2.5.1</version>
493           <configuration>
494             <source>${compileSource}</source>
495             <target>${compileSource}</target>
496             <showWarnings>true</showWarnings>
497             <showDeprecation>false</showDeprecation>
498             <compilerArgument>-Xlint:-options</compilerArgument>
499           </configuration>
500         </plugin>
501         <!-- Test oriented plugins -->
502         <plugin>
503           <artifactId>maven-surefire-plugin</artifactId>
504           <version>${surefire.version}</version>
505           <dependencies>
506             <!-- by default surefire selects dynamically the connector to the unit tests
507               tool. We want to use always the same as the different connectors can have different
508               bugs and behaviour. -->
509             <dependency>
510               <groupId>org.apache.maven.surefire</groupId>
511               <artifactId>${surefire.provider}</artifactId>
512               <version>${surefire.version}</version>
513             </dependency>
514           </dependencies>
515           <!-- Generic testing configuration for all packages -->
516           <configuration>
517             <failIfNoTests>false</failIfNoTests>
518             <skip>${surefire.skipFirstPart}</skip>
519             <forkMode>${surefire.firstPartForkMode}</forkMode>
520             <parallel>${surefire.firstPartParallel}</parallel>
521             <perCoreThreadCount>false</perCoreThreadCount>
522             <threadCount>${surefire.firstPartThreadCount}</threadCount>
523             <parallel>classes</parallel>
524             <!-- surefire hack, if not we're
525               using method parallelization class ! -->
526             <testFailureIgnore>${surefire.testFailureIgnore}</testFailureIgnore>
527             <forkedProcessTimeoutInSeconds>${surefire.timeout}</forkedProcessTimeoutInSeconds>
528             <!--Allocate some direct memory for direct memory tests-->
529             <argLine>-enableassertions -XX:MaxDirectMemorySize=1G -Xmx1900m -XX:MaxPermSize=100m -Djava.security.egd=file:/dev/./urandom -Djava.net.preferIPv4Stack=true -Djava.awt.headless=true</argLine>
530             <redirectTestOutputToFile>${test.output.tofile}</redirectTestOutputToFile>
531           </configuration>
532           <executions>
533             <execution>
534               <id>secondPartTestsExecution</id>
535               <phase>test</phase>
536               <goals>
537                 <goal>test</goal>
538               </goals>
539               <configuration>
540                 <skip>${surefire.skipSecondPart}</skip>
541                 <testFailureIgnore>${surefire.testFailureIgnore}</testFailureIgnore>
542                 <forkMode>${surefire.secondPartForkMode}</forkMode>
543                 <perCoreThreadCount>false</perCoreThreadCount>
544                 <threadCount>${surefire.secondPartThreadCount}</threadCount>
545                 <parallel>classes</parallel>
546                 <!-- surefire hack, if not we're using method
547                   parallelisation class ! -->
548                 <groups>${surefire.secondPartGroups}</groups>
549               </configuration>
550             </execution>
551           </executions>
552         </plugin>
553         <plugin>
554           <artifactId>maven-surefire-report-plugin</artifactId>
555           <version>${surefire.version}</version>
556         </plugin>
557         <plugin>
558           <artifactId>maven-clean-plugin</artifactId>
559           <configuration>
560             <filesets>
561               <fileset>
562                 <!--dfs tests have build dir hardcoded. Clean it as part of
563                clean target-->
564                 <directory>build</directory>
565               </fileset>
566             </filesets>
567           </configuration>
568         </plugin>
569         <plugin>
570           <groupId>org.codehaus.mojo</groupId>
571           <artifactId>findbugs-maven-plugin</artifactId>
572           <version>${findbugs-maven-plugin.version}</version>
573           <configuration>
574             <excludeFilterFile>${project.basedir}/../dev-support/findbugs-exclude.xml</excludeFilterFile>
575             <findbugsXmlOutput>true</findbugsXmlOutput>
576             <xmlOutput>true</xmlOutput>
577             <effort>Max</effort>
578           </configuration>
579         </plugin>
580         <plugin>
581           <groupId>org.codehaus.mojo</groupId>
582           <artifactId>build-helper-maven-plugin</artifactId>
583           <version>1.5</version>
584         </plugin>
585         <plugin>
586           <artifactId>maven-antrun-plugin</artifactId>
587           <version>${maven.antrun.version}</version>
588         </plugin>
589         <plugin>
590           <groupId>org.jamon</groupId>
591           <artifactId>jamon-maven-plugin</artifactId>
592           <version>${jamon.plugin.version}</version>
593         </plugin>
594         <!-- Make a jar and put the sources in the jar.
595         In the parent pom, so submodules will do the right thing. -->
596         <plugin>
597           <groupId>org.apache.maven.plugins</groupId>
598           <artifactId>maven-source-plugin</artifactId>
599           <executions>
600             <execution>
601               <id>attach-sources</id>
602               <phase>prepare-package</phase>
603               <goals>
604                 <goal>jar-no-fork</goal>
605               </goals>
606             </execution>
607           </executions>
608         </plugin>
609         <!-- General configuration for submodules who want to build a test jar -->
610         <plugin>
611           <groupId>org.apache.maven.plugins</groupId>
612           <artifactId>maven-jar-plugin</artifactId>
613           <executions>
614             <execution>
615               <phase>prepare-package</phase>
616               <goals>
617                   <!--This goal will install a -test.jar when we do install
618                       See http://maven.apache.org/guides/mini/guide-attached-tests.html
619                    -->
620                 <goal>test-jar</goal>
621               </goals>
622             </execution>
623           </executions>
624           <configuration>
625             <excludes>
626               <exclude>hbase-site.xml</exclude>
627               <exclude>hdfs-site.xml</exclude>
628               <exclude>log4j.properties</exclude>
629               <exclude>mapred-queues.xml</exclude>
630               <exclude>mapred-site.xml</exclude>
631               <exclude>zoo.cfg</exclude>
632             </excludes>
633           </configuration>
634         </plugin>
635         <!-- General config for eclipse classpath/settings -->
636         <plugin>
637           <groupId>org.apache.maven.plugins</groupId>
638           <artifactId>maven-eclipse-plugin</artifactId>
639           <version>2.8</version>
640         </plugin>
641         <!--This plugin's configuration is used to store Eclipse m2e settings only. It
642           has no influence on the Maven build itself. m2e does not provide any safeguards against
643           rogue maven plugins that leak classloaders, modify random files inside workspace
644           or throw nasty exceptions to fail the build -->
645         <!-- Top level doesn't do any specific configuration currently - left to modules
646           to decide what they want to bind -->
647         <plugin>
648           <groupId>org.eclipse.m2e</groupId>
649           <artifactId>lifecycle-mapping</artifactId>
650           <version>1.0.0</version>
651         </plugin>
652         <plugin>
653           <!-- excludes are inherited -->
654           <groupId>org.apache.rat</groupId>
655           <artifactId>apache-rat-plugin</artifactId>
656           <version>0.8</version>
657           <configuration>
658             <excludes>
659               <exclude>**/*.versionsBackup</exclude>
660               <exclude>**/*.log</exclude>
661               <exclude>**/.*</exclude>
662               <exclude>**/*.tgz</exclude>
663               <exclude>**/*.orig</exclude>
664               <exclude>**/8e8ab58dcf39412da19833fcd8f687ac</exclude>
665               <exclude>**/a6a6562b777440fd9c34885428f5cb61.21e75333ada3d5bafb34bb918f29576c</exclude>
666               <exclude>**/.git/**</exclude>
667               <exclude>**/.idea/**</exclude>
668               <exclude>**/*.iml</exclude>
669               <exclude>**/target/**</exclude>
670               <exclude>**/CHANGES.txt</exclude>
671               <exclude>**/README.md</exclude>
672               <exclude>**/generated/**</exclude>
673               <exclude>**/gen-*/**</exclude>
674               <exclude>**/conf/*</exclude>
675               <exclude>**/*.avpr</exclude>
676               <exclude>**/*.svg</exclude>
677               <exclude>**/META-INF/services/**</exclude>
678               <!-- MIT: https://github.com/twbs/bootstrap/blob/master/LICENSE -->
679               <exclude>**/bootstrap-theme.css</exclude>
680               <exclude>**/bootstrap-theme.min.css</exclude>
681               <!-- MIT http://jquery.org/license -->
682               <exclude>**/jquery.min.js</exclude>
683               <!-- vector graphics -->
684               <exclude>**/*.vm</exclude>
685               <!-- apache doxia generated -->
686               <exclude>**/control</exclude>
687               <exclude>**/conffile</exclude>
688               <exclude>docs/*</exclude>
689               <exclude>logs/*</exclude>
690               <!-- auto-gen docs -->
691               <!--It don't like freebsd license-->
692               <exclude>**/src/main/site/resources/css/freebsd_docbook.css</exclude>
693               <!--  exclude source control files -->
694               <exclude>.git/**</exclude>
695               <exclude>.svn/**</exclude>
696               <exclude>**/.settings/**</exclude>
697               <exclude>**/patchprocess/**</exclude>
698             </excludes>
699           </configuration>
700         </plugin>
701         <plugin>
702           <artifactId>maven-assembly-plugin</artifactId>
703           <version>${maven.assembly.version}</version>
704           <configuration>
705             <!--Defer to the hbase-assembly sub-module.  It
706              does all assembly-->
707             <skipAssembly>true</skipAssembly>
708             <!--Do not attach assembly to project.-->
709             <attach>false</attach>
710           </configuration>
711         </plugin>
712        <plugin>
713           <groupId>org.apache.hadoop</groupId>
714           <artifactId>hadoop-maven-plugins</artifactId>
715           <version>${hadoop-two.version}</version>
716           <configuration>
717             <protocVersion>${protobuf.version}</protocVersion>
718             <protocCommand>${protoc.path}</protocCommand>
719           </configuration>
720        </plugin>
721       </plugins>
722     </pluginManagement>
723     <plugins>
724       <!-- parent-module only plugins -->
725       <plugin>
726         <groupId>org.codehaus.mojo</groupId>
727         <artifactId>xml-maven-plugin</artifactId>
728         <version>1.0</version>
729         <inherited>false</inherited>
730         <executions>
731           <execution>
732             <!-- Run the hbase-default.xml through a stylesheet so can show it in doc-->
733             <goals>
734               <goal>transform</goal>
735             </goals>
736             <phase>pre-site</phase>
737           </execution>
738         </executions>
739         <configuration>
740           <transformationSets>
741             <transformationSet>
742               <!--Reaching up and over into common sub-module for hbase-default.xml-->
743               <dir>${basedir}/hbase-common/src/main/resources/</dir>
744               <includes>
745                 <include>hbase-default.xml</include>
746               </includes>
747               <stylesheet>${basedir}/src/main/xslt/configuration_to_docbook_section.xsl</stylesheet>
748               <outputDir>${basedir}/target/docbkx</outputDir>
749             </transformationSet>
750           </transformationSets>
751         </configuration>
752       </plugin>
753       <!-- Special configuration for findbugs just in the parent so
754       the filter file location can be more general (see definition in pluginManagement) -->
755       <plugin>
756         <groupId>org.codehaus.mojo</groupId>
757         <artifactId>findbugs-maven-plugin</artifactId>
758         <executions>
759           <execution>
760             <inherited>false</inherited>
761             <goals>
762               <goal>findbugs</goal>
763             </goals>
764             <configuration>
765               <excludeFilterFile>${basedir}/dev-support/findbugs-exclude.xml</excludeFilterFile>
766             </configuration>
767           </execution>
768         </executions>
769       </plugin>
770       <!--Build the documentation.  We build it twice.  Once as a single page and then
771            again as multipage.-->
772       <plugin>
773         <groupId>com.agilejava.docbkx</groupId>
774         <artifactId>docbkx-maven-plugin</artifactId>
775         <version>2.0.15</version>
776         <inherited>false</inherited>
777         <dependencies>
778           <dependency>
779             <groupId>org.docbook</groupId>
780             <artifactId>docbook-xml</artifactId>
781             <version>4.4</version>
782             <scope>runtime</scope>
783           </dependency>
784         </dependencies>
785         <configuration>
786           <sourceDirectory>${basedir}/src/main/docbkx</sourceDirectory>
787           <xincludeSupported>true</xincludeSupported>
788           <useIdAsFilename>true</useIdAsFilename>
789           <sectionAutolabelMaxDepth>100</sectionAutolabelMaxDepth>
790           <sectionAutolabel>true</sectionAutolabel>
791           <sectionLabelIncludesComponentLabel>true</sectionLabelIncludesComponentLabel>
792           <htmlCustomization>${basedir}/src/main/docbkx/customization.xsl</htmlCustomization>
793           <tocMaxDepth>2</tocMaxDepth>
794           <insertXrefPageNumber>yes</insertXrefPageNumber>
795           <chunkerOutputEncoding>UTF-8</chunkerOutputEncoding>
796         </configuration>
797         <executions>
798           <execution>
799             <id>multipage</id>
800             <goals>
801               <goal>generate-html</goal>
802             </goals>
803             <phase>pre-site</phase>
804             <configuration>
805               <navigShowtitles>true</navigShowtitles>
806               <chunkedOutput>true</chunkedOutput>
807               <imgSrcPath>../images/</imgSrcPath>
808               <htmlStylesheet>../css/freebsd_docbook.css</htmlStylesheet>
809               <targetDirectory>${basedir}/target/docbkx/book</targetDirectory>
810             </configuration>
811           </execution>
812           <execution>
813             <id>onepage</id>
814             <goals>
815               <goal>generate-html</goal>
816             </goals>
817             <phase>pre-site</phase>
818             <configuration>
819               <imgSrcPath>images/</imgSrcPath>
820               <htmlStylesheet>css/freebsd_docbook.css</htmlStylesheet>
821               <targetDirectory>${basedir}/target/docbkx/</targetDirectory>
822             </configuration>
823           </execution>
824         </executions>
825       </plugin>
826       <plugin>
827         <groupId>org.apache.maven.plugins</groupId>
828         <artifactId>maven-resources-plugin</artifactId>
829         <version>${maven.resources.plugin.version}</version>
830         <!--$NO-MVN-MAN-VER$ -->
831         <inherited>false</inherited>
832         <executions>
833           <execution>
834             <id>copy-javadocs</id>
835             <goals>
836               <goal>copy-resources</goal>
837             </goals>
838             <phase>site</phase>
839             <configuration>
840               <outputDirectory>target/site/apidocs</outputDirectory>
841               <resources>
842                 <resource>
843                   <directory>${basedir}/target/apidocs</directory>
844                   <includes>
845                     <include>**/**</include>
846                   </includes>
847                 </resource>
848               </resources>
849             </configuration>
850           </execution>
851           <execution>
852             <id>copy-docbkx</id>
853             <goals>
854               <goal>copy-resources</goal>
855             </goals>
856             <phase>site</phase>
857             <configuration>
858               <outputDirectory>target/site</outputDirectory>
859               <resources>
860                 <resource>
861                   <directory>${basedir}/target/docbkx</directory>
862                   <includes>
863                     <include>**/**</include>
864                   </includes>
865                 </resource>
866               </resources>
867             </configuration>
868           </execution>
869         </executions>
870         <configuration>
871           <escapeString>\</escapeString>
872         </configuration>
873       </plugin>
874       <plugin>
875         <groupId>org.apache.maven.plugins</groupId>
876         <artifactId>maven-site-plugin</artifactId>
877         <version>${maven.site.version}</version>
878         <inherited>false</inherited>
879         <dependencies>
880           <dependency>
881             <!-- add support for ssh/scp -->
882             <groupId>org.apache.maven.wagon</groupId>
883             <artifactId>wagon-ssh</artifactId>
884             <version>2.2</version>
885           </dependency>
886         </dependencies>
887         <configuration>
888           <siteDirectory>${basedir}/src/main/site</siteDirectory>
889           <inputEncoding>UTF-8</inputEncoding>
890           <outputEncoding>UTF-8</outputEncoding>
891           <templateFile>${basedir}/src/main/site/site.vm</templateFile>
892         </configuration>
893       </plugin>
894     </plugins>
895   </build>
896   <properties>
897     <tar.name>${project.build.finalName}.tar.gz</tar.name>
898     <maven.build.timestamp.format>
899       yyyy-MM-dd'T'HH:mm
900     </maven.build.timestamp.format>
901     <buildDate>${maven.build.timestamp}</buildDate>
902     <compileSource>1.6</compileSource>
903     <!-- Dependencies -->
904     <hadoop-two.version>2.4.0</hadoop-two.version>
905     <commons-cli.version>1.2</commons-cli.version>
906     <commons-codec.version>1.7</commons-codec.version>
907     <!-- pretty outdated -->
908     <commons-io.version>2.4</commons-io.version>
909     <commons-lang.version>2.6</commons-lang.version>
910     <commons-logging.version>1.1.3</commons-logging.version>
911     <commons-math.version>2.1</commons-math.version>
912     <disruptor.version>3.2.0</disruptor.version>
913     <collections.version>3.2.1</collections.version>
914     <httpclient.version>3.1</httpclient.version>
915     <metrics-core.version>2.2.0</metrics-core.version>
916     <guava.version>12.0.1</guava.version>
917     <jackson.version>1.8.8</jackson.version>
918     <jasper.version>5.5.23</jasper.version>
919     <jaxb-api.version>2.2.2</jaxb-api.version>
920     <jetty.version>6.1.26</jetty.version>
921     <jetty.jspapi.version>6.1.14</jetty.jspapi.version>
922     <jersey.version>1.8</jersey.version>
923     <jruby.version>1.6.8</jruby.version>
924     <junit.version>4.11</junit.version>
925     <htrace.version>3.0.4</htrace.version>
926     <log4j.version>1.2.17</log4j.version>
927     <mockito-all.version>1.9.0</mockito-all.version>
928     <protobuf.version>2.5.0</protobuf.version>
929     <thrift.version>0.9.0</thrift.version>
930     <zookeeper.version>3.4.6</zookeeper.version>
931     <slf4j.version>1.6.4</slf4j.version>
932     <hadoop-snappy.version>0.0.1-SNAPSHOT</hadoop-snappy.version>
933     <clover.version>2.6.3</clover.version>
934     <jamon-runtime.version>2.3.1</jamon-runtime.version>
935     <jettison.version>1.3.1</jettison.version>
936     <netty.version>4.0.19.Final</netty.version>
937     <!-- Plugin Dependencies -->
938     <maven.assembly.version>2.4</maven.assembly.version>
939     <maven.antrun.version>1.6</maven.antrun.version>
940     <jamon.plugin.version>2.3.4</jamon.plugin.version>
941     <findbugs-maven-plugin.version>2.5.2</findbugs-maven-plugin.version>
942     <findbugs-annotations>1.3.9-1</findbugs-annotations>
943     <maven.site.version>3.3</maven.site.version>
944     <javadoc.version>2.9</javadoc.version>
945     <maven.resources.plugin.version>2.6</maven.resources.plugin.version>
946     <!-- General Packaging -->
947     <package.prefix>/usr</package.prefix>
948     <package.conf.dir>/etc/hbase</package.conf.dir>
949     <package.log.dir>/var/log/hbase</package.log.dir>
950     <package.pid.dir>/var/run/hbase</package.pid.dir>
951     <package.release>1</package.release>
952     <final.name>${project.artifactId}-${project.version}</final.name>
953     <!-- Intraproject jar naming properties -->
954     <!-- TODO this is pretty ugly, but works for the moment.
955       Modules are pretty heavy-weight things, so doing this work isn't too bad. -->
956     <server.test.jar>hbase-server-${project.version}-tests.jar</server.test.jar>
957     <common.test.jar>hbase-common-${project.version}-tests.jar</common.test.jar>
958     <it.test.jar>hbase-it-${project.version}-tests.jar</it.test.jar>
959     <surefire.version>2.12-TRUNK-HBASE-2</surefire.version>
960     <surefire.provider>surefire-junit47</surefire.provider>
961     <!-- default: run small & medium, medium with 2 threads -->
962     <surefire.skipFirstPart>false</surefire.skipFirstPart>
963     <surefire.skipSecondPart>false</surefire.skipSecondPart>
964     <surefire.firstPartForkMode>once</surefire.firstPartForkMode>
965     <surefire.firstPartParallel>classes</surefire.firstPartParallel>
966     <surefire.secondPartForkMode>perThread</surefire.secondPartForkMode>
967     <surefire.firstPartThreadCount>1</surefire.firstPartThreadCount>
968     <surefire.secondPartThreadCount>2</surefire.secondPartThreadCount>
969     <surefire.firstPartGroups>org.apache.hadoop.hbase.SmallTests</surefire.firstPartGroups>
970     <surefire.secondPartGroups>org.apache.hadoop.hbase.MediumTests</surefire.secondPartGroups>
971     <surefire.testFailureIgnore>false</surefire.testFailureIgnore>
972     <test.output.tofile>true</test.output.tofile>
973     <surefire.timeout>900</surefire.timeout>
974   </properties>
975   <!-- Sorted by groups of dependencies then groupId and artifactId -->
976   <dependencyManagement>
977     <dependencies>
978       <!--
979       Note: There are a few exclusions to prevent duplicate code in different jars to be included:
980           org.mortbay.jetty:servlet-api, javax.servlet:servlet-api: These are excluded because they are
981           the same implementations. I chose org.mortbay.jetty:servlet-api-2.5 instead, which is a third
982           implementation of the same, because Hadoop also uses this version
983           javax.servlet:jsp-api in favour of org.mortbay.jetty:jsp-api-2.1
984         -->
985       <!-- Intra-module dependencies -->
986       <dependency>
987         <groupId>org.apache.hbase</groupId>
988         <artifactId>hbase-common</artifactId>
989         <version>${project.version}</version>
990       </dependency>
991       <dependency>
992         <groupId>org.apache.hbase</groupId>
993         <artifactId>hbase-common</artifactId>
994         <version>${project.version}</version>
995         <type>test-jar</type>
996         <scope>test</scope>
997       </dependency>
998       <dependency>
999         <groupId>org.apache.hbase</groupId>
1000         <artifactId>hbase-protocol</artifactId>
1001         <version>${project.version}</version>
1002       </dependency>
1003       <dependency>
1004         <groupId>org.apache.hbase</groupId>
1005         <artifactId>hbase-hadoop-compat</artifactId>
1006         <version>${project.version}</version>
1007       </dependency>
1008       <dependency>
1009         <groupId>org.apache.hbase</groupId>
1010         <artifactId>hbase-hadoop-compat</artifactId>
1011         <version>${project.version}</version>
1012         <type>test-jar</type>
1013         <scope>test</scope>
1014       </dependency>
1015       <dependency>
1016         <groupId>org.apache.hbase</groupId>
1017         <artifactId>${compat.module}</artifactId>
1018         <version>${project.version}</version>
1019       </dependency>
1020       <dependency>
1021         <groupId>org.apache.hbase</groupId>
1022         <artifactId>${compat.module}</artifactId>
1023         <version>${project.version}</version>
1024         <type>test-jar</type>
1025         <scope>test</scope>
1026       </dependency>
1027       <dependency>
1028         <artifactId>hbase-server</artifactId>
1029         <groupId>org.apache.hbase</groupId>
1030         <version>${project.version}</version>
1031       </dependency>
1032       <dependency>
1033         <artifactId>hbase-server</artifactId>
1034         <groupId>org.apache.hbase</groupId>
1035         <version>${project.version}</version>
1036         <type>test-jar</type>
1037         <scope>test</scope>
1038       </dependency>
1039       <dependency>
1040         <artifactId>hbase-shell</artifactId>
1041         <groupId>org.apache.hbase</groupId>
1042         <version>${project.version}</version>
1043       </dependency>
1044       <dependency>
1045         <artifactId>hbase-shell</artifactId>
1046         <groupId>org.apache.hbase</groupId>
1047         <version>${project.version}</version>
1048         <type>test-jar</type>
1049         <scope>test</scope>
1050       </dependency>
1051       <dependency>
1052         <artifactId>hbase-thrift</artifactId>
1053         <groupId>org.apache.hbase</groupId>
1054         <version>${project.version}</version>
1055       </dependency>
1056       <dependency>
1057         <artifactId>hbase-thrift</artifactId>
1058         <groupId>org.apache.hbase</groupId>
1059         <version>${project.version}</version>
1060         <type>test-jar</type>
1061         <scope>test</scope>
1062       </dependency>
1063         <dependency>
1064             <groupId>org.apache.hbase</groupId>
1065             <artifactId>hbase-testing-util</artifactId>
1066             <version>${project.version}</version>
1067             <scope>test</scope>
1068         </dependency>
1069       <dependency>
1070         <groupId>org.apache.hbase</groupId>
1071         <artifactId>hbase-prefix-tree</artifactId>
1072         <version>${project.version}</version>
1073         <!-- unfortunately, runtime scope causes Eclipse to give compile time access which isn't
1074           needed, however it is apparently needed to run things within Eclipse -->
1075         <scope>runtime</scope>
1076       </dependency>
1077       <dependency>
1078         <artifactId>hbase-examples</artifactId>
1079         <groupId>org.apache.hbase</groupId>
1080         <version>${project.version}</version>
1081       </dependency>
1082       <dependency>
1083         <artifactId>hbase-it</artifactId>
1084         <groupId>org.apache.hbase</groupId>
1085         <version>${project.version}</version>
1086         <type>test-jar</type>
1087         <scope>test</scope>
1088       </dependency>
1089       <dependency>
1090         <artifactId>hbase-client</artifactId>
1091         <groupId>org.apache.hbase</groupId>
1092         <version>${project.version}</version>
1093       </dependency>
1094       <!-- General dependencies -->
1095       <dependency>
1096         <groupId>org.codehaus.jettison</groupId>
1097         <artifactId>jettison</artifactId>
1098         <version>${jettison.version}</version>
1099       </dependency>
1100       <dependency>
1101         <groupId>log4j</groupId>
1102         <artifactId>log4j</artifactId>
1103         <version>${log4j.version}</version>
1104       </dependency>
1105       <!--This is not used by hbase directly.  Used by thrift,
1106           yammer and zk.-->
1107       <dependency>
1108         <groupId>org.slf4j</groupId>
1109         <artifactId>slf4j-api</artifactId>
1110         <version>${slf4j.version}</version>
1111       </dependency>
1112       <dependency>
1113         <groupId>com.yammer.metrics</groupId>
1114         <artifactId>metrics-core</artifactId>
1115         <version>${metrics-core.version}</version>
1116       </dependency>
1117       <dependency>
1118         <groupId>com.google.guava</groupId>
1119         <artifactId>guava</artifactId>
1120         <version>${guava.version}</version>
1121       </dependency>
1122       <dependency>
1123         <groupId>commons-collections</groupId>
1124         <artifactId>commons-collections</artifactId>
1125         <version>${collections.version}</version>
1126       </dependency>
1127       <dependency>
1128         <groupId>commons-httpclient</groupId>
1129         <artifactId>commons-httpclient</artifactId>
1130         <version>${httpclient.version}</version>
1131       </dependency>
1132       <dependency>
1133         <groupId>commons-cli</groupId>
1134         <artifactId>commons-cli</artifactId>
1135         <version>${commons-cli.version}</version>
1136       </dependency>
1137       <dependency>
1138         <groupId>commons-codec</groupId>
1139         <artifactId>commons-codec</artifactId>
1140         <version>${commons-codec.version}</version>
1141       </dependency>
1142       <dependency>
1143         <groupId>commons-io</groupId>
1144         <artifactId>commons-io</artifactId>
1145         <version>${commons-io.version}</version>
1146       </dependency>
1147       <dependency>
1148         <groupId>commons-lang</groupId>
1149         <artifactId>commons-lang</artifactId>
1150         <version>${commons-lang.version}</version>
1151       </dependency>
1152       <dependency>
1153         <groupId>commons-logging</groupId>
1154         <artifactId>commons-logging</artifactId>
1155         <version>${commons-logging.version}</version>
1156       </dependency>
1157       <dependency>
1158         <groupId>org.apache.commons</groupId>
1159         <artifactId>commons-math</artifactId>
1160         <version>${commons-math.version}</version>
1161       </dependency>
1162       <dependency>
1163         <groupId>org.apache.zookeeper</groupId>
1164         <artifactId>zookeeper</artifactId>
1165         <version>${zookeeper.version}</version>
1166         <exclusions>
1167           <exclusion>
1168             <groupId>jline</groupId>
1169             <artifactId>jline</artifactId>
1170           </exclusion>
1171           <exclusion>
1172             <groupId>com.sun.jmx</groupId>
1173             <artifactId>jmxri</artifactId>
1174           </exclusion>
1175           <exclusion>
1176             <groupId>com.sun.jdmk</groupId>
1177             <artifactId>jmxtools</artifactId>
1178           </exclusion>
1179           <exclusion>
1180             <groupId>javax.jms</groupId>
1181             <artifactId>jms</artifactId>
1182           </exclusion>
1183           <exclusion>
1184             <groupId>io.netty</groupId>
1185             <artifactId>netty</artifactId>
1186           </exclusion>
1187         </exclusions>
1188       </dependency>
1189       <dependency>
1190         <groupId>io.netty</groupId>
1191         <artifactId>netty-all</artifactId>
1192         <version>${netty.version}</version>
1193       </dependency>
1194       <dependency>
1195         <groupId>org.apache.thrift</groupId>
1196         <artifactId>libthrift</artifactId>
1197         <version>${thrift.version}</version>
1198         <exclusions>
1199           <exclusion>
1200             <groupId>org.slf4j</groupId>
1201             <artifactId>slf4j-simple</artifactId>
1202           </exclusion>
1203         </exclusions>
1204       </dependency>
1205       <dependency>
1206         <groupId>org.jruby</groupId>
1207         <artifactId>jruby-complete</artifactId>
1208         <version>${jruby.version}</version>
1209       </dependency>
1210       <dependency>
1211         <groupId>org.mortbay.jetty</groupId>
1212         <artifactId>jetty</artifactId>
1213         <version>${jetty.version}</version>
1214         <exclusions>
1215           <exclusion>
1216             <groupId>org.mortbay.jetty</groupId>
1217             <artifactId>servlet-api</artifactId>
1218           </exclusion>
1219         </exclusions>
1220       </dependency>
1221       <dependency>
1222         <groupId>org.mortbay.jetty</groupId>
1223         <artifactId>jetty-util</artifactId>
1224         <version>${jetty.version}</version>
1225       </dependency>
1226       <dependency>
1227         <groupId>org.mortbay.jetty</groupId>
1228         <artifactId>jetty-sslengine</artifactId>
1229         <version>${jetty.version}</version>
1230       </dependency>
1231       <dependency>
1232         <groupId>org.mortbay.jetty</groupId>
1233         <artifactId>jsp-2.1</artifactId>
1234         <version>${jetty.jspapi.version}</version>
1235         <exclusions>
1236           <exclusion>
1237             <groupId>org.eclipse.jdt</groupId>
1238             <artifactId>core</artifactId>
1239           </exclusion>
1240           <exclusion>
1241             <groupId>ant</groupId>
1242             <artifactId>ant</artifactId>
1243           </exclusion>
1244         </exclusions>
1245       </dependency>
1246       <dependency>
1247         <groupId>org.mortbay.jetty</groupId>
1248         <artifactId>jsp-api-2.1</artifactId>
1249         <version>${jetty.jspapi.version}</version>
1250       </dependency>
1251       <dependency>
1252         <groupId>org.mortbay.jetty</groupId>
1253         <artifactId>servlet-api-2.5</artifactId>
1254         <version>${jetty.jspapi.version}</version>
1255       </dependency>
1256       <!-- While jackson is also a dependency of jersey it
1257            can bring in jars from different, incompatible versions. We force
1258            the same version with these dependencies -->
1259       <dependency>
1260         <groupId>org.codehaus.jackson</groupId>
1261         <artifactId>jackson-core-asl</artifactId>
1262         <version>${jackson.version}</version>
1263       </dependency>
1264       <dependency>
1265         <groupId>org.codehaus.jackson</groupId>
1266         <artifactId>jackson-mapper-asl</artifactId>
1267         <version>${jackson.version}</version>
1268       </dependency>
1269       <dependency>
1270         <groupId>org.codehaus.jackson</groupId>
1271         <artifactId>jackson-jaxrs</artifactId>
1272         <version>${jackson.version}</version>
1273       </dependency>
1274       <dependency>
1275         <groupId>org.codehaus.jackson</groupId>
1276         <artifactId>jackson-xc</artifactId>
1277         <version>${jackson.version}</version>
1278       </dependency>
1279       <dependency>
1280         <!--If this is not in the runtime lib, we get odd
1281       "2009-02-27 11:38:39.504::WARN:  failed jsp
1282        java.lang.NoSuchFieldError: IS_SECURITY_ENABLED"
1283        exceptions out of jetty deploying webapps.
1284        St.Ack Thu May 20 01:04:41 PDT 2010
1285       -->
1286         <groupId>tomcat</groupId>
1287         <artifactId>jasper-compiler</artifactId>
1288         <version>${jasper.version}</version>
1289         <scope>runtime</scope>
1290         <exclusions>
1291           <exclusion>
1292             <groupId>javax.servlet</groupId>
1293             <artifactId>jsp-api</artifactId>
1294           </exclusion>
1295           <exclusion>
1296             <groupId>javax.servlet</groupId>
1297             <artifactId>servlet-api</artifactId>
1298           </exclusion>
1299           <exclusion>
1300             <groupId>ant</groupId>
1301             <artifactId>ant</artifactId>
1302           </exclusion>
1303         </exclusions>
1304       </dependency>
1305       <dependency>
1306         <groupId>tomcat</groupId>
1307         <artifactId>jasper-runtime</artifactId>
1308         <version>${jasper.version}</version>
1309         <scope>runtime</scope>
1310         <exclusions>
1311           <exclusion>
1312             <groupId>javax.servlet</groupId>
1313             <artifactId>servlet-api</artifactId>
1314           </exclusion>
1315         </exclusions>
1316       </dependency>
1317       <dependency>
1318         <groupId>org.jamon</groupId>
1319         <artifactId>jamon-runtime</artifactId>
1320         <version>${jamon-runtime.version}</version>
1321       </dependency>
1322       <!-- REST dependencies -->
1323       <dependency>
1324         <groupId>com.google.protobuf</groupId>
1325         <artifactId>protobuf-java</artifactId>
1326         <version>${protobuf.version}</version>
1327       </dependency>
1328       <dependency>
1329         <groupId>com.sun.jersey</groupId>
1330         <artifactId>jersey-core</artifactId>
1331         <version>${jersey.version}</version>
1332       </dependency>
1333       <dependency>
1334         <groupId>com.sun.jersey</groupId>
1335         <artifactId>jersey-json</artifactId>
1336         <version>${jersey.version}</version>
1337         <exclusions>
1338           <exclusion>
1339             <groupId>stax</groupId>
1340             <artifactId>stax-api</artifactId>
1341           </exclusion>
1342         </exclusions>
1343       </dependency>
1344       <dependency>
1345         <groupId>com.sun.jersey</groupId>
1346         <artifactId>jersey-server</artifactId>
1347         <version>${jersey.version}</version>
1348       </dependency>
1349       <dependency>
1350         <groupId>javax.xml.bind</groupId>
1351         <artifactId>jaxb-api</artifactId>
1352         <version>${jaxb-api.version}</version>
1353         <exclusions>
1354           <exclusion>
1355             <groupId>javax.xml.stream</groupId>
1356             <artifactId>stax-api</artifactId>
1357           </exclusion>
1358         </exclusions>
1359       </dependency>
1360       <dependency>
1361         <groupId>junit</groupId>
1362         <artifactId>junit</artifactId>
1363         <version>${junit.version}</version>
1364       </dependency>
1365       <dependency>
1366         <groupId>org.mockito</groupId>
1367         <artifactId>mockito-all</artifactId>
1368         <version>${mockito-all.version}</version>
1369         <scope>test</scope>
1370       </dependency>
1371       <dependency>
1372         <groupId>org.htrace</groupId>
1373         <artifactId>htrace-core</artifactId>
1374         <version>${htrace.version}</version>
1375       </dependency>
1376       <dependency>
1377         <groupId>com.lmax</groupId>
1378         <artifactId>disruptor</artifactId>
1379         <version>${disruptor.version}</version>
1380       </dependency>
1381     </dependencies>
1382   </dependencyManagement>
1383   <!-- Dependencies needed by subprojects -->
1384   <dependencies>
1385     <dependency>
1386       <groupId>com.github.stephenc.findbugs</groupId>
1387       <artifactId>findbugs-annotations</artifactId>
1388       <version>${findbugs-annotations}</version>
1389       <scope>compile</scope>
1390     </dependency>
1391     <dependency>
1392       <groupId>log4j</groupId>
1393       <artifactId>log4j</artifactId>
1394     </dependency>
1395     <!-- Test dependencies -->
1396     <dependency>
1397       <groupId>junit</groupId>
1398       <artifactId>junit</artifactId>
1399     </dependency>
1400     <dependency>
1401       <groupId>org.mockito</groupId>
1402       <artifactId>mockito-all</artifactId>
1403     </dependency>
1404   </dependencies>
1405   <!--
1406   To publish, use the following settings.xml file ( placed in ~/.m2/settings.xml )
1408  <settings>
1409   <servers>
1410     <server>
1411       <id>apache.releases.https</id>
1412       <username>hbase_committer</username>
1413       <password>********</password>
1414     </server>
1416     <server>
1417       <id>apache.snapshots.https</id>
1418       <username>hbase_committer</username>
1419       <password>********</password>
1420     </server>
1422   </servers>
1423  </settings>
1425   $ mvn deploy
1426 (or)
1427   $ mvn -s /my/path/settings.xml deploy
1429   -->
1430   <profiles>
1431     <profile>
1432       <id>os.linux</id>
1433       <activation>
1434         <activeByDefault>false</activeByDefault>
1435         <os>
1436           <family>Linux</family>
1437         </os>
1438       </activation>
1439       <properties>
1440         <build.platform>${os.name}-${os.arch}-${sun.arch.data.model}</build.platform>
1441       </properties>
1442     </profile>
1443     <profile>
1444       <id>os.mac</id>
1445       <activation>
1446         <os>
1447           <family>Mac</family>
1448         </os>
1449       </activation>
1450       <properties>
1451         <build.platform>Mac_OS_X-${sun.arch.data.model}</build.platform>
1452       </properties>
1453     </profile>
1454     <profile>
1455       <id>os.windows</id>
1456       <activation>
1457         <os>
1458           <family>Windows</family>
1459         </os>
1460       </activation>
1461       <properties>
1462         <build.platform>cygwin</build.platform>
1463       </properties>
1464       <build>
1465         <pluginManagement>
1466           <plugins>
1467             <plugin>
1468               <groupId>org.apache.maven.plugins</groupId>
1469               <artifactId>maven-surefire-plugin</artifactId>
1470               <configuration>
1471                 <argLine>-enableassertions -Xmx1900m -XX:MaxPermSize=256m -Djava.security.egd=file:/dev/./urandom -Djava.net.preferIPv4Stack=true "-Djava.library.path=${hadoop.library.path};${java.library.path}"</argLine>
1472                 <systemProperties>
1473                   <property>
1474                     <name>java.net.preferIPv4Stack</name>
1475                     <value>true</value>
1476                   </property>
1477                 </systemProperties>
1478               </configuration>
1479             </plugin>
1480           </plugins>
1481         </pluginManagement>
1482       </build>
1483     </profile>
1484     <!-- this profile should be activated for release builds -->
1485     <profile>
1486       <id>release</id>
1487       <build>
1488         <plugins>
1489           <plugin>
1490             <groupId>org.apache.rat</groupId>
1491             <artifactId>apache-rat-plugin</artifactId>
1492             <executions>
1493               <execution>
1494                 <phase>package</phase>
1495                 <goals>
1496                   <goal>check</goal>
1497                 </goals>
1498               </execution>
1499             </executions>
1500           </plugin>
1501         </plugins>
1502       </build>
1503     </profile>
1504     <!-- Dependency management profiles for submodules when building against specific hadoop branches.-->
1505     <!-- Submodules that need hadoop dependencies should declare
1506     profiles with activation properties matching the profile here.
1507     Generally, it should be sufficient to copy the first
1508     few lines of the profile you want to match.  -->
1509     <!-- profile for building against Hadoop 2.0.x
1510          This is the default.
1511          -->
1512     <profile>
1513       <id>hadoop-2.0</id>
1514       <activation>
1515         <property>
1516             <!--Below formatting for dev-support/generate-hadoopX-poms.sh-->
1517             <!--h2--><name>!hadoop.profile</name>
1518         </property>
1519       </activation>
1520       <modules>
1521         <module>hbase-hadoop2-compat</module>
1522       </modules>
1523       <properties>
1524         <hadoop.version>${hadoop-two.version}</hadoop.version>
1525         <compat.module>hbase-hadoop2-compat</compat.module>
1526         <assembly.file>src/main/assembly/hadoop-two-compat.xml</assembly.file>
1527       </properties>
1528       <dependencyManagement>
1529         <dependencies>
1530           <dependency>
1531             <groupId>org.apache.hadoop</groupId>
1532             <artifactId>hadoop-mapreduce-client-core</artifactId>
1533             <version>${hadoop-two.version}</version>
1534             <exclusions>
1535               <exclusion>
1536                 <groupId>io.netty</groupId>
1537                 <artifactId>netty</artifactId>
1538               </exclusion>
1539             </exclusions>
1540           </dependency>
1541           <dependency>
1542             <groupId>org.apache.hadoop</groupId>
1543             <artifactId>hadoop-mapreduce-client-jobclient</artifactId>
1544             <version>${hadoop-two.version}</version>
1545             <exclusions>
1546               <exclusion>
1547                 <groupId>io.netty</groupId>
1548                 <artifactId>netty</artifactId>
1549               </exclusion>
1550             </exclusions>
1551           </dependency>
1552           <dependency>
1553             <groupId>org.apache.hadoop</groupId>
1554             <artifactId>hadoop-mapreduce-client-jobclient</artifactId>
1555             <version>${hadoop-two.version}</version>
1556             <type>test-jar</type>
1557             <scope>test</scope>
1558             <exclusions>
1559               <exclusion>
1560                 <groupId>io.netty</groupId>
1561                 <artifactId>netty</artifactId>
1562               </exclusion>
1563             </exclusions>
1564           </dependency>
1565           <dependency>
1566             <groupId>org.apache.hadoop</groupId>
1567             <artifactId>hadoop-hdfs</artifactId>
1568               <exclusions>
1569                 <exclusion>
1570                   <groupId>javax.servlet.jsp</groupId>
1571                   <artifactId>jsp-api</artifactId>
1572                 </exclusion>
1573                 <exclusion>
1574                   <groupId>javax.servlet</groupId>
1575                   <artifactId>servlet-api</artifactId>
1576                 </exclusion>
1577                 <exclusion>
1578                   <groupId>stax</groupId>
1579                   <artifactId>stax-api</artifactId>
1580                 </exclusion>
1581               </exclusions>
1582             <version>${hadoop-two.version}</version>
1583           </dependency>
1584           <dependency>
1585             <groupId>org.apache.hadoop</groupId>
1586             <artifactId>hadoop-hdfs</artifactId>
1587             <version>${hadoop-two.version}</version>
1588             <type>test-jar</type>
1589             <scope>test</scope>
1590               <exclusions>
1591                 <exclusion>
1592                   <groupId>javax.servlet.jsp</groupId>
1593                   <artifactId>jsp-api</artifactId>
1594                 </exclusion>
1595                 <exclusion>
1596                   <groupId>javax.servlet</groupId>
1597                   <artifactId>servlet-api</artifactId>
1598                 </exclusion>
1599                 <exclusion>
1600                   <groupId>stax</groupId>
1601                   <artifactId>stax-api</artifactId>
1602                 </exclusion>
1603               </exclusions>
1604           </dependency>
1605           <dependency>
1606             <groupId>org.apache.hadoop</groupId>
1607             <artifactId>hadoop-auth</artifactId>
1608             <version>${hadoop-two.version}</version>
1609           </dependency>
1610           <dependency>
1611             <groupId>org.apache.hadoop</groupId>
1612             <artifactId>hadoop-common</artifactId>
1613             <version>${hadoop-two.version}</version>
1614             <exclusions>
1615               <exclusion>
1616                 <groupId>javax.servlet.jsp</groupId>
1617                 <artifactId>jsp-api</artifactId>
1618               </exclusion>
1619               <exclusion>
1620                 <groupId>javax.servlet</groupId>
1621                 <artifactId>servlet-api</artifactId>
1622               </exclusion>
1623               <exclusion>
1624                 <groupId>stax</groupId>
1625                 <artifactId>stax-api</artifactId>
1626               </exclusion>
1627               <exclusion>
1628                 <groupId>io.netty</groupId>
1629                 <artifactId>netty</artifactId>
1630               </exclusion>
1631             </exclusions>
1632           </dependency>
1633           <dependency>
1634             <groupId>org.apache.hadoop</groupId>
1635             <artifactId>hadoop-client</artifactId>
1636             <version>${hadoop-two.version}</version>
1637           </dependency>
1638           <dependency>
1639             <groupId>org.apache.hadoop</groupId>
1640             <artifactId>hadoop-annotations</artifactId>
1641             <version>${hadoop-two.version}</version>
1642           </dependency>
1643           <!-- This was marked as test dep in earlier pom, but was scoped compile.
1644             Where do we actually need it? -->
1645           <dependency>
1646             <groupId>org.apache.hadoop</groupId>
1647             <artifactId>hadoop-minicluster</artifactId>
1648             <version>${hadoop-two.version}</version>
1649             <exclusions>
1650               <exclusion>
1651                 <groupId>javax.servlet.jsp</groupId>
1652                 <artifactId>jsp-api</artifactId>
1653               </exclusion>
1654               <exclusion>
1655                 <groupId>javax.servlet</groupId>
1656                 <artifactId>servlet-api</artifactId>
1657               </exclusion>
1658               <exclusion>
1659                 <groupId>stax</groupId>
1660                 <artifactId>stax-api</artifactId>
1661               </exclusion>
1662               <exclusion>
1663                 <groupId>io.netty</groupId>
1664                 <artifactId>netty</artifactId>
1665               </exclusion>
1666             </exclusions>
1667           </dependency>
1668         </dependencies>
1669       </dependencyManagement>
1670     </profile>
1671     <!--
1672       profile for building against Hadoop 3.0.0. Activate using:
1673        mvn -Dhadoop.profile=3.0
1674     -->
1675     <profile>
1676       <id>hadoop-3.0</id>
1677       <activation>
1678         <property>
1679           <name>hadoop.profile</name>
1680           <value>3.0</value>
1681         </property>
1682       </activation>
1683       <properties>
1684         <hadoop.version>3.0.0-SNAPSHOT</hadoop.version>
1685       </properties>
1686       <dependencies>
1687         <dependency>
1688           <groupId>org.apache.hadoop</groupId>
1689           <artifactId>hadoop-common</artifactId>
1690           <version>${hadoop.version}</version>
1691         </dependency>
1692         <dependency>
1693           <groupId>org.apache.hadoop</groupId>
1694           <artifactId>hadoop-annotations</artifactId>
1695           <version>${hadoop.version}</version>
1696         </dependency>
1697         <!-- test deps for hadoop-0.24 profile -->
1698         <!-- Says test, but scoped for compile. Which is correct? -->
1699         <dependency>
1700           <groupId>org.apache.hadoop</groupId>
1701           <artifactId>hadoop-minicluster</artifactId>
1702           <version>${hadoop.version}</version>
1703           <scope>compile</scope>
1704         </dependency>
1705       </dependencies>
1706     </profile>
1707     <!-- profiles for the tests
1708          See as well the properties of the project for the values
1709          when no profile is active.     -->
1710     <profile>
1711       <!-- Use it to launch the tests without parallelisation -->
1712       <id>nonParallelTests</id>
1713       <activation>
1714         <activeByDefault>false</activeByDefault>
1715       </activation>
1716       <properties>
1717         <surefire.firstPartForkMode>always</surefire.firstPartForkMode>
1718         <surefire.firstPartParallel>none</surefire.firstPartParallel>
1719         <surefire.firstPartThreadCount>1</surefire.firstPartThreadCount>
1720       </properties>
1721     </profile>
1722     <profile>
1723       <!-- Use it to launch the tests in parallel in the same JVM  -->
1724       <id>parallelTests</id>
1725       <activation>
1726         <activeByDefault>false</activeByDefault>
1727       </activation>
1728       <properties>
1729         <surefire.firstPartForkMode>once</surefire.firstPartForkMode>
1730         <surefire.firstPartParallel>classes</surefire.firstPartParallel>
1731         <surefire.firstPartThreadCount>1</surefire.firstPartThreadCount>
1732       </properties>
1733     </profile>
1734     <profile>
1735       <!-- Use it to launch the tests in the same JVM  -->
1736       <id>singleJVMTests</id>
1737       <activation>
1738         <activeByDefault>false</activeByDefault>
1739       </activation>
1740       <properties>
1741         <surefire.firstPartForkMode>once</surefire.firstPartForkMode>
1742         <surefire.firstPartParallel>none</surefire.firstPartParallel>
1743         <surefire.firstPartThreadCount>1</surefire.firstPartThreadCount>
1744         <surefire.skipFirstPart>false</surefire.skipFirstPart>
1745         <surefire.skipSecondPart>true</surefire.skipSecondPart>
1746         <surefire.firstPartGroups/>
1747       </properties>
1748     </profile>
1749     <profile>
1750       <!-- Use it to launch small tests only -->
1751       <id>runSmallTests</id>
1752       <activation>
1753         <activeByDefault>false</activeByDefault>
1754       </activation>
1755       <properties>
1756         <surefire.firstPartForkMode>once</surefire.firstPartForkMode>
1757         <surefire.firstPartParallel>none</surefire.firstPartParallel>
1758         <surefire.firstPartThreadCount>1</surefire.firstPartThreadCount>
1759         <surefire.skipFirstPart>false</surefire.skipFirstPart>
1760         <surefire.skipSecondPart>true</surefire.skipSecondPart>
1761         <surefire.firstPartGroups>org.apache.hadoop.hbase.SmallTests</surefire.firstPartGroups>
1762         <surefire.secondPartGroups/>
1763       </properties>
1764     </profile>
1765     <profile>
1766       <!-- Use it to launch medium tests only -->
1767       <id>runMediumTests</id>
1768       <activation>
1769         <activeByDefault>false</activeByDefault>
1770       </activation>
1771       <properties>
1772         <surefire.firstPartForkMode>always</surefire.firstPartForkMode>
1773         <surefire.skipFirstPart>false</surefire.skipFirstPart>
1774         <surefire.skipSecondPart>true</surefire.skipSecondPart>
1775         <surefire.firstPartGroups>org.apache.hadoop.hbase.MediumTests</surefire.firstPartGroups>
1776         <surefire.secondPartGroups/>
1777       </properties>
1778     </profile>
1779     <profile>
1780       <!-- Use it to launch large tests only -->
1781       <id>runLargeTests</id>
1782       <activation>
1783         <activeByDefault>false</activeByDefault>
1784       </activation>
1785       <properties>
1786         <surefire.firstPartForkMode>always</surefire.firstPartForkMode>
1787         <surefire.skipFirstPart>false</surefire.skipFirstPart>
1788         <surefire.skipSecondPart>true</surefire.skipSecondPart>
1789         <surefire.firstPartGroups>org.apache.hadoop.hbase.LargeTests</surefire.firstPartGroups>
1790         <surefire.secondPartGroups/>
1791       </properties>
1792     </profile>
1793     <profile>
1794       <!-- Use it to launch small & medium tests -->
1795       <id>runDevTests</id>
1796       <activation>
1797         <activeByDefault>false</activeByDefault>
1798       </activation>
1799       <properties>
1800         <surefire.firstPartForkMode>once</surefire.firstPartForkMode>
1801         <surefire.firstPartParallel>none</surefire.firstPartParallel>
1802         <surefire.firstPartThreadCount>1</surefire.firstPartThreadCount>
1803         <surefire.skipFirstPart>false</surefire.skipFirstPart>
1804         <surefire.skipSecondPart>false</surefire.skipSecondPart>
1805         <surefire.firstPartGroups>org.apache.hadoop.hbase.SmallTests</surefire.firstPartGroups>
1806         <surefire.secondPartGroups>org.apache.hadoop.hbase.MediumTests</surefire.secondPartGroups>
1807       </properties>
1808     </profile>
1809     <profile>
1810       <!-- Use it to launch all tests -->
1811       <id>runAllTests</id>
1812       <activation>
1813         <activeByDefault>false</activeByDefault>
1814       </activation>
1815       <properties>
1816         <surefire.firstPartForkMode>once</surefire.firstPartForkMode>
1817         <surefire.firstPartParallel>none</surefire.firstPartParallel>
1818         <surefire.firstPartThreadCount>1</surefire.firstPartThreadCount>
1819         <surefire.secondPartThreadCount>5</surefire.secondPartThreadCount>
1820         <surefire.skipFirstPart>false</surefire.skipFirstPart>
1821         <surefire.skipSecondPart>false</surefire.skipSecondPart>
1822         <surefire.firstPartGroups>org.apache.hadoop.hbase.SmallTests</surefire.firstPartGroups>
1823         <surefire.secondPartGroups>org.apache.hadoop.hbase.MediumTests,org.apache.hadoop.hbase.LargeTests</surefire.secondPartGroups>
1824       </properties>
1825     </profile>
1826     <profile>
1827       <!-- Use it to launch tests locally-->
1828       <id>localTests</id>
1829       <activation>
1830         <property>
1831           <name>test</name>
1832         </property>
1833       </activation>
1834       <properties>
1835         <surefire.provider>surefire-junit4</surefire.provider>
1836         <surefire.firstPartForkMode>always</surefire.firstPartForkMode>
1837         <surefire.skipFirstPart>false</surefire.skipFirstPart>
1838         <surefire.skipSecondPart>true</surefire.skipSecondPart>
1839         <surefire.firstPartGroups/>
1840       </properties>
1841     </profile>
1842     <!-- Profile for running clover. You need to have a clover license under ~/.clover.license for ${clover.version}
1843          or you can provide the license with -Dmaven.clover.licenseLocation=/path/to/license. Committers can find
1844          the license under https://svn.apache.org/repos/private/committers/donated-licenses/clover/
1845          Note that clover 2.6.3 does not run with maven 3, so you have to use maven2. The report will be generated
1846          under target/site/clover/index.html when you run
1847          MAVEN_OPTS=-Xmx2048m mvn clean test -Pclover site -->
1848     <profile>
1849       <id>clover</id>
1850       <activation>
1851         <activeByDefault>false</activeByDefault>
1852         <property>
1853           <name>clover</name>
1854         </property>
1855       </activation>
1856       <properties>
1857         <maven.clover.licenseLocation>${user.home}/.clover.license</maven.clover.licenseLocation>
1858         <clover.version>2.6.3</clover.version>
1859       </properties>
1860       <build>
1861         <plugins>
1862           <plugin>
1863             <groupId>com.atlassian.maven.plugins</groupId>
1864             <artifactId>maven-clover2-plugin</artifactId>
1865             <version>${clover.version}</version>
1866             <configuration>
1867               <includesAllSourceRoots>true</includesAllSourceRoots>
1868               <includesTestSourceRoots>true</includesTestSourceRoots>
1869               <targetPercentage>50%</targetPercentage>
1870               <generateHtml>true</generateHtml>
1871               <generateXml>true</generateXml>
1872               <excludes>
1873                 <exclude>**/generated/**</exclude>
1874               </excludes>
1875             </configuration>
1876             <executions>
1877               <execution>
1878                 <id>clover-setup</id>
1879                 <phase>process-sources</phase>
1880                 <goals>
1881                   <goal>setup</goal>
1882                 </goals>
1883               </execution>
1884               <execution>
1885                 <id>clover</id>
1886                 <phase>site</phase>
1887                 <goals>
1888                   <goal>clover</goal>
1889                 </goals>
1890               </execution>
1891             </executions>
1892           </plugin>
1893         </plugins>
1894       </build>
1895     </profile>
1896   </profiles>
1897   <!-- See http://jira.codehaus.org/browse/MSITE-443 why the settings need to be here and not in pluginManagement. -->
1898   <reporting>
1899     <plugins>
1900       <plugin>
1901         <artifactId>maven-project-info-reports-plugin</artifactId>
1902         <version>2.7</version>
1903         <reportSets>
1904           <reportSet>
1905             <reports>
1906               <report>project-team</report>
1907               <report>mailing-list</report>
1908               <report>cim</report>
1909               <report>issue-tracking</report>
1910               <report>license</report>
1911               <report>scm</report>
1912               <report>index</report>
1913             </reports>
1914           </reportSet>
1915         </reportSets>
1916         <configuration>
1917           <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
1918         </configuration>
1919       </plugin>
1920       <plugin>
1921         <groupId>org.apache.maven.plugins</groupId>
1922         <artifactId>maven-jxr-plugin</artifactId>
1923         <version>2.3</version>
1924         <configuration>
1925           <aggregate>true</aggregate>
1926           <linkJavadoc>true</linkJavadoc>
1927           <javadocDir>${basedir}/target/site/apidocs</javadocDir>
1928           <reportOutputDirectory>${basedir}/target/site/xref</reportOutputDirectory>
1929           <destDir>${basedir}/target/site/xref</destDir>
1930           <excludes>
1931             <exclude>**/generated/**</exclude>
1932           </excludes>
1933         </configuration>
1934       </plugin>
1936       <plugin>
1937         <groupId>org.apache.maven.plugins</groupId>
1938         <artifactId>maven-javadoc-plugin</artifactId>
1939         <version>2.9.1</version>
1940         <configuration>
1941           <maxmemory>2048m</maxmemory>
1942           <notimestamp>true</notimestamp>
1943         </configuration>
1944         <reportSets>
1945           <reportSet>
1946             <id>devapi</id> <!-- full internal hbase api -->
1947             <reports> <report>aggregate</report></reports>
1948             <configuration>
1949               <destDir>devapidocs</destDir>
1950             </configuration>
1951           </reportSet>
1953           <reportSet>
1954             <id>userapi</id> <!-- public user hbase api; limited but has stronger compat/deprecation guarantees -->
1955             <reports> <report>aggregate</report></reports>
1956             <configuration>
1957               <doclet>org.apache.hadoop.classification.tools.IncludePublicAnnotationsStandardDoclet</doclet>
1958               <docletArtifact>
1959                 <groupId>org.apache.hadoop</groupId>
1960                 <!-- doclet lives in hadoop 2's hadoop-common module -->
1961                 <artifactId>hadoop-common</artifactId>
1962                 <version>2.3.0</version>
1963               </docletArtifact>
1964               <destDir>apidocs</destDir>
1965               <name>User API</name>
1966               <description>The HBase Application Programmer's API</description>
1967               <!-- exclude all the packages that are empty after the public annotation only filter -->
1968               <excludePackageNames>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:org.apache.hadoop.hbase.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*</excludePackageNames>
1969             </configuration>
1970           </reportSet>
1971         </reportSets>
1972       </plugin>
1974     </plugins>
1975   </reporting>
1976   <distributionManagement>
1977     <site>
1978       <id>hbase.apache.org</id>
1979       <name>HBase Website at hbase.apache.org</name>
1980       <!-- On why this is the tmp dir and not hbase.apache.org, see
1981                https://issues.apache.org/jira/browse/HBASE-7593?focusedCommentId=13555866&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13555866
1982                -->
1983       <url>file:///tmp</url>
1984     </site>
1985   </distributionManagement>
1986 </project>