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