HBASE-19058. The wget isn't installed in building docker image
[hbase.git] / pom.xml
blobd7cbca2766bd7a27b8821724e732b4941a78ccdd
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>-8</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.9.1</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     <servlet.api.version>3.1.0</servlet.api.version>
1407     <wx.rs.api.version>2.0.1</wx.rs.api.version>
1408     <jersey.version>2.25.1</jersey.version>
1409     <glassfish.jsp.version>2.3.2</glassfish.jsp.version>
1410     <glassfish.el.version>3.0.1-b08</glassfish.el.version>
1411     <jetty.jspapi.version>6.1.14</jetty.jspapi.version>
1412     <jruby.version>9.1.10.0</jruby.version>
1413     <junit.version>4.12</junit.version>
1414     <hamcrest.version>1.3</hamcrest.version>
1415     <htrace.version>3.2.0-incubating</htrace.version>
1416     <log4j.version>1.2.17</log4j.version>
1417     <mockito-all.version>1.10.19</mockito-all.version>
1418     <!--Internally we use a different version of protobuf. See hbase-protocol-shaded-->
1419     <external.protobuf.version>2.5.0</external.protobuf.version>
1420     <protobuf.plugin.version>0.5.0</protobuf.plugin.version>
1421     <thrift.path>thrift</thrift.path>
1422     <thrift.version>0.9.3</thrift.version>
1423     <zookeeper.version>3.4.10</zookeeper.version>
1424     <slf4j.version>1.7.24</slf4j.version>
1425     <clover.version>4.0.3</clover.version>
1426     <jamon-runtime.version>2.4.1</jamon-runtime.version>
1427     <jettison.version>1.3.8</jettison.version>
1428     <!--This property is for hadoops netty. HBase netty
1429          comes in via hbase-thirdparty hbase-shaded-netty-->
1430     <netty.hadoop.version>3.6.2.Final</netty.hadoop.version>
1431     <!--Make sure these joni/jcodings are compatible with the versions used by jruby-->
1432     <joni.version>2.1.11</joni.version>
1433     <jcodings.version>1.0.18</jcodings.version>
1434     <spy.version>2.12.2</spy.version>
1435     <bouncycastle.version>1.46</bouncycastle.version>
1436     <kerby.version>1.0.0-RC2</kerby.version>
1437     <commons-crypto.version>1.0.0</commons-crypto.version>
1438     <curator.version>4.0.0</curator.version>
1439     <!-- Plugin Dependencies -->
1440     <apache.rat.version>0.12</apache.rat.version>
1441     <asciidoctor.plugin.version>1.5.5</asciidoctor.plugin.version>
1442     <asciidoctorj.pdf.version>1.5.0-alpha.15</asciidoctorj.pdf.version>
1443     <build.helper.maven.version>3.0.0</build.helper.maven.version>
1444     <buildnumber.maven.version>1.4</buildnumber.maven.version>
1445     <checkstyle.version>6.18</checkstyle.version>
1446     <exec.maven.version>1.6.0</exec.maven.version>
1447     <error-prone.version>2.0.21</error-prone.version>
1448     <findbugs-annotations>1.3.9-1</findbugs-annotations>
1449     <findbugs.maven.version>3.0.4</findbugs.maven.version>
1450     <jamon.plugin.version>2.4.2</jamon.plugin.version>
1451     <lifecycle.mapping.version>1.0.0</lifecycle.mapping.version>
1452     <maven.antrun.version>1.8</maven.antrun.version>
1453     <maven.bundle.version>3.3.0</maven.bundle.version>
1454     <maven.checkstyle.version>2.17</maven.checkstyle.version>
1455     <maven.compiler.version>3.6.1</maven.compiler.version>
1456     <maven.dependency.version>3.0.1</maven.dependency.version>
1457     <maven.eclipse.version>2.10</maven.eclipse.version>
1458     <maven.install.version>2.5.2</maven.install.version>
1459     <maven.jar.version>3.0.2</maven.jar.version>
1460     <maven.patch.version>1.2</maven.patch.version>
1461     <maven.scala.version>2.15.2</maven.scala.version>
1462     <maven.shade.version>3.0.0</maven.shade.version>
1463     <maven.site.version>3.4</maven.site.version>
1464     <maven.source.version>3.0.1</maven.source.version>
1465     <os.maven.version>1.5.0.Final</os.maven.version>
1466     <plexus.errorprone.javac.version>2.8.2</plexus.errorprone.javac.version>
1467     <scala.maven.version>3.2.2</scala.maven.version>
1468     <scalatest.maven.version>1.0</scalatest.maven.version>
1469     <spotbugs.version>3.1.0-RC3</spotbugs.version>
1470     <wagon.ssh.version>2.12</wagon.ssh.version>
1471     <xml.maven.version>1.0.1</xml.maven.version>
1472     <hbase-thirdparty.version>1.0.1</hbase-thirdparty.version>
1473     <!-- General Packaging -->
1474     <package.prefix>/usr</package.prefix>
1475     <package.conf.dir>/etc/hbase</package.conf.dir>
1476     <package.log.dir>/var/log/hbase</package.log.dir>
1477     <package.pid.dir>/var/run/hbase</package.pid.dir>
1478     <package.release>1</package.release>
1479     <final.name>${project.artifactId}-${project.version}</final.name>
1480     <!-- Intraproject jar naming properties -->
1481     <!-- TODO this is pretty ugly, but works for the moment.
1482       Modules are pretty heavy-weight things, so doing this work isn't too bad. -->
1483     <server.test.jar>hbase-server-${project.version}-tests.jar</server.test.jar>
1484     <common.test.jar>hbase-common-${project.version}-tests.jar</common.test.jar>
1485     <procedure.test.jar>hbase-procedure-${project.version}-tests.jar</procedure.test.jar>
1486     <it.test.jar>hbase-it-${project.version}-tests.jar</it.test.jar>
1487     <annotations.test.jar>hbase-annotations-${project.version}-tests.jar</annotations.test.jar>
1488     <rsgroup.test.jar>hbase-rsgroup-${project.version}-tests.jar</rsgroup.test.jar>
1489     <mapreduce.test.jar>hbase-mapreduce-${project.version}-tests.jar</mapreduce.test.jar>
1490     <shell-executable>bash</shell-executable>
1491     <surefire.version>2.20.1</surefire.version>
1492     <surefire.provider>surefire-junit47</surefire.provider>
1493     <!-- default: run small & medium, medium with 2 threads -->
1494     <surefire.skipFirstPart>false</surefire.skipFirstPart>
1495     <surefire.skipSecondPart>false</surefire.skipSecondPart>
1496     <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
1497     <surefire.secondPartForkCount>2</surefire.secondPartForkCount>
1498     <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.SmallTests</surefire.firstPartGroups>
1499     <surefire.secondPartGroups>org.apache.hadoop.hbase.testclassification.MediumTests</surefire.secondPartGroups>
1500     <surefire.testFailureIgnore>false</surefire.testFailureIgnore>
1501     <test.output.tofile>true</test.output.tofile>
1502     <surefire.timeout>900</surefire.timeout>
1503     <test.exclude.pattern></test.exclude.pattern>
1504     <!-- default Xmx value is 2800m. Use -Dsurefire.Xmx=xxg to run tests with different JVM Xmx value -->
1505     <surefire.Xmx>2800m</surefire.Xmx>
1506     <surefire.cygwinXmx>2800m</surefire.cygwinXmx>
1507     <!--Mark our test runs with '-Dhbase.build.id' so we can identify a surefire test as ours in a process listing
1508      -->
1509     <hbase-surefire.argLine>-enableassertions -Dhbase.build.id=${build.id} -Xmx${surefire.Xmx}
1510       -Djava.security.egd=file:/dev/./urandom -Djava.net.preferIPv4Stack=true
1511       -Djava.awt.headless=true
1512     </hbase-surefire.argLine>
1513     <hbase-surefire.cygwin-argLine>-enableassertions -Xmx${surefire.cygwinXmx}
1514       -Djava.security.egd=file:/dev/./urandom -Djava.net.preferIPv4Stack=true
1515       "-Djava.library.path=${hadoop.library.path};${java.library.path}"
1516     </hbase-surefire.cygwin-argLine>
1517     <!-- Surefire argLine defaults to Linux, cygwin argLine is used in the os.windows profile -->
1518     <argLine>${hbase-surefire.argLine}</argLine>
1519     <jacoco.version>0.7.5.201505241946</jacoco.version>
1520     <extra.enforcer.version>1.0-beta-6</extra.enforcer.version>
1521     <enforcer.version>3.0.0-M1</enforcer.version>
1522     <!-- Location of test resources -->
1523     <test.build.classes>${project.build.directory}/test-classes</test.build.classes>
1524     <maven.build.timestamp.format>yyyy-MM-dd'T'HH:mm:ss'Z'</maven.build.timestamp.format>
1525     <!--This build.id we'll add as flag so can identify which forked processes belong to our build.
1526         Default is the build start timestamp. Up on jenkins pass in the jenkins build id by setting
1527         this parameter by invoking mvn with -Dbuild.id=$BUILD_ID-->
1528     <build.id>${maven.build.timestamp}</build.id>
1529     </properties>
1530   <!-- Sorted by groups of dependencies then groupId and artifactId -->
1531   <dependencyManagement>
1532     <dependencies>
1533       <!--
1534       Note: There are a few exclusions to prevent duplicate code in different jars to be included:
1535           org.mortbay.jetty:servlet-api, javax.servlet:servlet-api: These are excluded because they are
1536           the same implementations. I chose org.mortbay.jetty:servlet-api-2.5 instead, which is a third
1537           implementation of the same, because Hadoop also uses this version
1538           javax.servlet:jsp-api in favour of org.mortbay.jetty:jsp-api-2.1
1539         -->
1540       <!-- Intra-module dependencies -->
1541       <dependency>
1542         <groupId>org.apache.hbase</groupId>
1543         <artifactId>hbase-annotations</artifactId>
1544         <version>${project.version}</version>
1545         <type>test-jar</type>
1546         <!--Was test scope only but if we want to run hbase-it tests, need the annotations test jar-->
1547       </dependency>
1548       <dependency>
1549         <groupId>org.apache.hbase</groupId>
1550         <artifactId>hbase-error-prone</artifactId>
1551         <version>${project.version}</version>
1552       </dependency>
1553       <dependency>
1554         <groupId>org.apache.hbase</groupId>
1555         <artifactId>hbase-common</artifactId>
1556         <version>${project.version}</version>
1557       </dependency>
1558       <dependency>
1559         <groupId>org.apache.hbase</groupId>
1560         <artifactId>hbase-common</artifactId>
1561         <version>${project.version}</version>
1562         <type>test-jar</type>
1563         <scope>test</scope>
1564       </dependency>
1565       <dependency>
1566         <groupId>org.apache.hbase</groupId>
1567         <artifactId>hbase-protocol-shaded</artifactId>
1568         <version>${project.version}</version>
1569       </dependency>
1570       <dependency>
1571         <groupId>org.apache.hbase</groupId>
1572         <artifactId>hbase-protocol</artifactId>
1573         <version>${project.version}</version>
1574       </dependency>
1575       <dependency>
1576         <groupId>org.apache.hbase</groupId>
1577         <artifactId>hbase-procedure</artifactId>
1578         <version>${project.version}</version>
1579       </dependency>
1580       <dependency>
1581         <groupId>org.apache.hbase</groupId>
1582         <artifactId>hbase-procedure</artifactId>
1583         <version>${project.version}</version>
1584         <type>test-jar</type>
1585       </dependency>
1586       <dependency>
1587         <groupId>org.apache.hbase</groupId>
1588         <artifactId>hbase-hadoop-compat</artifactId>
1589         <version>${project.version}</version>
1590       </dependency>
1591       <dependency>
1592         <groupId>org.apache.hbase</groupId>
1593         <artifactId>hbase-hadoop-compat</artifactId>
1594         <version>${project.version}</version>
1595         <type>test-jar</type>
1596         <scope>test</scope>
1597       </dependency>
1598       <dependency>
1599         <groupId>org.apache.hbase</groupId>
1600         <artifactId>${compat.module}</artifactId>
1601         <version>${project.version}</version>
1602       </dependency>
1603       <dependency>
1604         <groupId>org.apache.hbase</groupId>
1605         <artifactId>${compat.module}</artifactId>
1606         <version>${project.version}</version>
1607         <type>test-jar</type>
1608         <scope>test</scope>
1609       </dependency>
1610       <dependency>
1611         <artifactId>hbase-rsgroup</artifactId>
1612         <groupId>org.apache.hbase</groupId>
1613         <version>${project.version}</version>
1614       </dependency>
1615       <dependency>
1616         <artifactId>hbase-rsgroup</artifactId>
1617         <groupId>org.apache.hbase</groupId>
1618         <version>${project.version}</version>
1619         <type>test-jar</type>
1620         <scope>test</scope>
1621       </dependency>
1622       <dependency>
1623         <artifactId>hbase-replication</artifactId>
1624         <groupId>org.apache.hbase</groupId>
1625         <version>${project.version}</version>
1626       </dependency>
1627       <dependency>
1628         <artifactId>hbase-server</artifactId>
1629         <groupId>org.apache.hbase</groupId>
1630         <version>${project.version}</version>
1631       </dependency>
1632       <dependency>
1633         <artifactId>hbase-server</artifactId>
1634         <groupId>org.apache.hbase</groupId>
1635         <version>${project.version}</version>
1636         <type>test-jar</type>
1637         <scope>test</scope>
1638       </dependency>
1639       <dependency>
1640         <artifactId>hbase-mapreduce</artifactId>
1641         <groupId>org.apache.hbase</groupId>
1642         <version>${project.version}</version>
1643       </dependency>
1644       <dependency>
1645         <artifactId>hbase-mapreduce</artifactId>
1646         <groupId>org.apache.hbase</groupId>
1647         <version>${project.version}</version>
1648         <type>test-jar</type>
1649         <scope>test</scope>
1650       </dependency>
1651       <dependency>
1652         <artifactId>hbase-endpoint</artifactId>
1653         <groupId>org.apache.hbase</groupId>
1654         <version>${project.version}</version>
1655       </dependency>
1656       <dependency>
1657         <artifactId>hbase-shell</artifactId>
1658         <groupId>org.apache.hbase</groupId>
1659         <version>${project.version}</version>
1660       </dependency>
1661       <dependency>
1662         <artifactId>hbase-shell</artifactId>
1663         <groupId>org.apache.hbase</groupId>
1664         <version>${project.version}</version>
1665         <type>test-jar</type>
1666         <scope>test</scope>
1667       </dependency>
1668       <dependency>
1669         <artifactId>hbase-thrift</artifactId>
1670         <groupId>org.apache.hbase</groupId>
1671         <version>${project.version}</version>
1672       </dependency>
1673       <dependency>
1674         <artifactId>hbase-thrift</artifactId>
1675         <groupId>org.apache.hbase</groupId>
1676         <version>${project.version}</version>
1677         <type>test-jar</type>
1678         <scope>test</scope>
1679       </dependency>
1680       <dependency>
1681         <groupId>org.apache.hbase</groupId>
1682         <artifactId>hbase-testing-util</artifactId>
1683         <version>${project.version}</version>
1684         <scope>test</scope>
1685       </dependency>
1686       <dependency>
1687         <groupId>org.apache.hbase</groupId>
1688         <artifactId>hbase-prefix-tree</artifactId>
1689         <version>${project.version}</version>
1690         <!-- unfortunately, runtime scope causes Eclipse to give compile time access which isn't
1691           needed, however it is apparently needed to run things within Eclipse -->
1692         <scope>runtime</scope>
1693       </dependency>
1694       <dependency>
1695         <artifactId>hbase-examples</artifactId>
1696         <groupId>org.apache.hbase</groupId>
1697         <version>${project.version}</version>
1698       </dependency>
1699       <dependency>
1700         <groupId>org.apache.hbase</groupId>
1701         <artifactId>hbase-external-blockcache</artifactId>
1702         <version>${project.version}</version>
1703       </dependency>
1704       <dependency>
1705         <artifactId>hbase-it</artifactId>
1706         <groupId>org.apache.hbase</groupId>
1707         <version>${project.version}</version>
1708         <type>test-jar</type>
1709         <scope>test</scope>
1710       </dependency>
1711       <dependency>
1712         <artifactId>hbase-client</artifactId>
1713         <groupId>org.apache.hbase</groupId>
1714         <version>${project.version}</version>
1715       </dependency>
1716       <dependency>
1717         <artifactId>hbase-metrics-api</artifactId>
1718         <groupId>org.apache.hbase</groupId>
1719         <version>${project.version}</version>
1720       </dependency>
1721       <dependency>
1722         <artifactId>hbase-metrics-api</artifactId>
1723         <groupId>org.apache.hbase</groupId>
1724         <version>${project.version}</version>
1725         <type>test-jar</type>
1726         <scope>test</scope>
1727       </dependency>
1728       <dependency>
1729         <artifactId>hbase-metrics</artifactId>
1730         <groupId>org.apache.hbase</groupId>
1731         <version>${project.version}</version>
1732       </dependency>
1733       <dependency>
1734         <artifactId>hbase-metrics</artifactId>
1735         <groupId>org.apache.hbase</groupId>
1736         <version>${project.version}</version>
1737         <type>test-jar</type>
1738         <scope>test</scope>
1739       </dependency>
1740       <!-- General dependencies -->
1741       <dependency>
1742         <groupId>com.github.stephenc.findbugs</groupId>
1743         <artifactId>findbugs-annotations</artifactId>
1744         <version>${findbugs-annotations}</version>
1745       </dependency>
1746       <!-- General dependencies -->
1747       <dependency>
1748         <groupId>org.codehaus.jettison</groupId>
1749         <artifactId>jettison</artifactId>
1750         <version>${jettison.version}</version>
1751       </dependency>
1752       <dependency>
1753         <groupId>log4j</groupId>
1754         <artifactId>log4j</artifactId>
1755         <version>${log4j.version}</version>
1756       </dependency>
1757       <!-- Avro dependencies we mostly get transitively, manual version coallescing -->
1758       <dependency>
1759         <groupId>org.apache.avro</groupId>
1760         <artifactId>avro</artifactId>
1761         <version>${avro.version}</version>
1762       </dependency>
1763       <!--This is not used by hbase directly.  Used by thrift,
1764           dropwizard and zk.-->
1765       <dependency>
1766         <groupId>org.slf4j</groupId>
1767         <artifactId>slf4j-api</artifactId>
1768         <version>${slf4j.version}</version>
1769       </dependency>
1770       <dependency>
1771         <groupId>io.dropwizard.metrics</groupId>
1772         <artifactId>metrics-core</artifactId>
1773         <version>${metrics-core.version}</version>
1774       </dependency>
1775       <dependency>
1776         <groupId>org.apache.commons</groupId>
1777         <artifactId>commons-collections4</artifactId>
1778         <version>${collections.version}</version>
1779       </dependency>
1780       <dependency>
1781         <groupId>org.apache.httpcomponents</groupId>
1782         <artifactId>httpclient</artifactId>
1783         <version>${httpclient.version}</version>
1784       </dependency>
1785       <dependency>
1786         <groupId>org.apache.httpcomponents</groupId>
1787         <artifactId>httpcore</artifactId>
1788         <version>${httpcore.version}</version>
1789       </dependency>
1790       <dependency>
1791         <groupId>commons-cli</groupId>
1792         <artifactId>commons-cli</artifactId>
1793         <version>${commons-cli.version}</version>
1794       </dependency>
1795       <dependency>
1796         <groupId>commons-codec</groupId>
1797         <artifactId>commons-codec</artifactId>
1798         <version>${commons-codec.version}</version>
1799       </dependency>
1800       <dependency>
1801         <groupId>commons-io</groupId>
1802         <artifactId>commons-io</artifactId>
1803         <version>${commons-io.version}</version>
1804       </dependency>
1805       <dependency>
1806         <groupId>org.apache.commons</groupId>
1807         <artifactId>commons-lang3</artifactId>
1808         <version>${commons-lang3.version}</version>
1809       </dependency>
1810       <dependency>
1811         <groupId>commons-logging</groupId>
1812         <artifactId>commons-logging</artifactId>
1813         <version>${commons-logging.version}</version>
1814       </dependency>
1815       <dependency>
1816         <groupId>org.apache.commons</groupId>
1817         <artifactId>commons-math3</artifactId>
1818         <version>${commons-math.version}</version>
1819       </dependency>
1820       <dependency>
1821         <groupId>org.apache.zookeeper</groupId>
1822         <artifactId>zookeeper</artifactId>
1823         <version>${zookeeper.version}</version>
1824         <exclusions>
1825           <exclusion>
1826             <groupId>jline</groupId>
1827             <artifactId>jline</artifactId>
1828           </exclusion>
1829           <exclusion>
1830             <groupId>com.sun.jmx</groupId>
1831             <artifactId>jmxri</artifactId>
1832           </exclusion>
1833           <exclusion>
1834             <groupId>com.sun.jdmk</groupId>
1835             <artifactId>jmxtools</artifactId>
1836           </exclusion>
1837           <exclusion>
1838             <groupId>javax.jms</groupId>
1839             <artifactId>jms</artifactId>
1840           </exclusion>
1841           <exclusion>
1842             <groupId>io.netty</groupId>
1843             <artifactId>netty</artifactId>
1844           </exclusion>
1845         </exclusions>
1846       </dependency>
1847       <dependency>
1848         <groupId>org.apache.thrift</groupId>
1849         <artifactId>libthrift</artifactId>
1850         <version>${thrift.version}</version>
1851         <exclusions>
1852           <exclusion>
1853             <groupId>org.slf4j</groupId>
1854             <artifactId>slf4j-simple</artifactId>
1855           </exclusion>
1856         </exclusions>
1857       </dependency>
1858       <dependency>
1859         <groupId>org.jruby</groupId>
1860         <artifactId>jruby-complete</artifactId>
1861         <version>${jruby.version}</version>
1862       </dependency>
1863       <dependency>
1864         <groupId>org.jruby.jcodings</groupId>
1865         <artifactId>jcodings</artifactId>
1866         <version>${jcodings.version}</version>
1867       </dependency>
1868       <dependency>
1869         <groupId>org.jruby.joni</groupId>
1870         <artifactId>joni</artifactId>
1871         <version>${joni.version}</version>
1872       </dependency>
1873       <dependency>
1874         <groupId>com.fasterxml.jackson.jaxrs</groupId>
1875         <artifactId>jackson-jaxrs-json-provider</artifactId>
1876         <version>${jackson.version}</version>
1877       </dependency>
1878       <dependency>
1879         <groupId>com.fasterxml.jackson.core</groupId>
1880         <artifactId>jackson-databind</artifactId>
1881         <version>${jackson.version}</version>
1882       </dependency>
1883       <dependency>
1884         <groupId>org.jamon</groupId>
1885         <artifactId>jamon-runtime</artifactId>
1886         <version>${jamon-runtime.version}</version>
1887       </dependency>
1888       <!-- REST dependencies -->
1889       <dependency>
1890         <groupId>javax.servlet</groupId>
1891         <artifactId>javax.servlet-api</artifactId>
1892         <version>${servlet.api.version}</version>
1893       </dependency>
1894       <dependency>
1895         <groupId>javax.ws.rs</groupId>
1896         <artifactId>javax.ws.rs-api</artifactId>
1897         <version>${wx.rs.api.version}</version>
1898       </dependency>
1899       <dependency>
1900         <groupId>org.eclipse.jetty</groupId>
1901         <artifactId>jetty-server</artifactId>
1902         <version>${jetty.version}</version>
1903       </dependency>
1904       <dependency>
1905         <groupId>org.eclipse.jetty</groupId>
1906         <artifactId>jetty-servlet</artifactId>
1907         <version>${jetty.version}</version>
1908         <exclusions>
1909           <exclusion>
1910             <groupId>org.eclipse.jetty</groupId>
1911             <artifactId>servlet-api</artifactId>
1912           </exclusion>
1913         </exclusions>
1914       </dependency>
1915       <dependency>
1916         <groupId>org.eclipse.jetty</groupId>
1917         <artifactId>jetty-security</artifactId>
1918         <version>${jetty.version}</version>
1919       </dependency>
1920       <dependency>
1921         <groupId>org.eclipse.jetty</groupId>
1922         <artifactId>jetty-http</artifactId>
1923         <version>${jetty.version}</version>
1924       </dependency>
1925       <dependency>
1926         <groupId>org.eclipse.jetty</groupId>
1927         <artifactId>jetty-util</artifactId>
1928         <version>${jetty.version}</version>
1929       </dependency>
1930       <dependency>
1931         <groupId>org.eclipse.jetty</groupId>
1932         <artifactId>jetty-io</artifactId>
1933         <version>${jetty.version}</version>
1934       </dependency>
1935       <dependency>
1936         <groupId>org.eclipse.jetty</groupId>
1937         <artifactId>jetty-jsp</artifactId>
1938         <version>${jetty-jsp.version}</version>
1939       </dependency>
1940       <dependency>
1941         <groupId>org.eclipse.jetty</groupId>
1942         <artifactId>jetty-jmx</artifactId>
1943         <version>${jetty.version}</version>
1944       </dependency>
1945       <dependency>
1946         <groupId>org.eclipse.jetty</groupId>
1947         <artifactId>jetty-webapp</artifactId>
1948         <version>${jetty.version}</version>
1949       </dependency>
1950       <dependency>
1951         <groupId>org.eclipse.jetty</groupId>
1952         <artifactId>jetty-util-ajax</artifactId>
1953         <version>${jetty.version}</version>
1954       </dependency>
1955       <dependency>
1956         <groupId>com.google.protobuf</groupId>
1957         <artifactId>protobuf-java</artifactId>
1958         <version>${external.protobuf.version}</version>
1959       </dependency>
1960       <dependency>
1961         <groupId>org.glassfish.jersey.containers</groupId>
1962         <artifactId>jersey-container-servlet-core</artifactId>
1963         <version>${jersey.version}</version>
1964       </dependency>
1965       <dependency>
1966         <groupId>org.glassfish.jersey.core</groupId>
1967         <artifactId>jersey-client</artifactId>
1968         <version>${jersey.version}</version>
1969       </dependency>
1970       <dependency>
1971         <!--This lib has JspC in it. Needed precompiling jsps in hbase-rest, etc.-->
1972         <groupId>org.glassfish.web</groupId>
1973         <artifactId>javax.servlet.jsp</artifactId>
1974         <version>${glassfish.jsp.version}</version>
1975       </dependency>
1976       <dependency>
1977         <groupId>org.glassfish</groupId>
1978         <artifactId>javax.el</artifactId>
1979         <version>${glassfish.el.version}</version>
1980       </dependency>
1981       <dependency>
1982         <groupId>javax.xml.bind</groupId>
1983         <artifactId>jaxb-api</artifactId>
1984         <version>${jaxb-api.version}</version>
1985         <exclusions>
1986           <exclusion>
1987             <groupId>javax.xml.stream</groupId>
1988             <artifactId>stax-api</artifactId>
1989           </exclusion>
1990         </exclusions>
1991       </dependency>
1992       <dependency>
1993         <groupId>junit</groupId>
1994         <artifactId>junit</artifactId>
1995         <version>${junit.version}</version>
1996       </dependency>
1997       <dependency>
1998         <groupId>org.hamcrest</groupId>
1999         <artifactId>hamcrest-core</artifactId>
2000         <version>${hamcrest.version}</version>
2001         <scope>test</scope>
2002       </dependency>
2003       <dependency>
2004         <groupId>org.mockito</groupId>
2005         <artifactId>mockito-all</artifactId>
2006         <version>${mockito-all.version}</version>
2007         <scope>test</scope>
2008       </dependency>
2009       <dependency>
2010         <groupId>org.apache.htrace</groupId>
2011         <artifactId>htrace-core</artifactId>
2012         <version>${htrace.version}</version>
2013       </dependency>
2014       <dependency>
2015         <groupId>com.lmax</groupId>
2016         <artifactId>disruptor</artifactId>
2017         <version>${disruptor.version}</version>
2018       </dependency>
2019       <dependency>
2020         <groupId>net.spy</groupId>
2021         <artifactId>spymemcached</artifactId>
2022         <version>${spy.version}</version>
2023         <optional>true</optional>
2024       </dependency>
2025       <dependency>
2026         <groupId>org.bouncycastle</groupId>
2027         <artifactId>bcprov-jdk16</artifactId>
2028         <version>${bouncycastle.version}</version>
2029         <scope>test</scope>
2030       </dependency>
2031       <dependency>
2032         <groupId>org.apache.kerby</groupId>
2033         <artifactId>kerb-client</artifactId>
2034         <version>${kerby.version}</version>
2035       </dependency>
2036       <dependency>
2037         <groupId>org.apache.kerby</groupId>
2038         <artifactId>kerb-simplekdc</artifactId>
2039         <version>${kerby.version}</version>
2040       </dependency>
2041       <dependency>
2042         <groupId>org.apache.commons</groupId>
2043         <artifactId>commons-crypto</artifactId>
2044         <version>${commons-crypto.version}</version>
2045         <exclusions>
2046           <exclusion>
2047             <groupId>net.java.dev.jna</groupId>
2048             <artifactId>jna</artifactId>
2049           </exclusion>
2050         </exclusions>
2051       </dependency>
2052       <dependency>
2053         <groupId>org.apache.curator</groupId>
2054         <artifactId>curator-framework</artifactId>
2055         <version>${curator.version}</version>
2056         <exclusions>
2057           <exclusion>
2058             <groupId>org.apache.zookeeper</groupId>
2059             <artifactId>zookeeper</artifactId>
2060           </exclusion>
2061         </exclusions>
2062       </dependency>
2063       <dependency>
2064         <groupId>org.apache.curator</groupId>
2065         <artifactId>curator-client</artifactId>
2066         <version>${curator.version}</version>
2067         <exclusions>
2068           <exclusion>
2069             <groupId>com.google.guava</groupId>
2070             <artifactId>guava</artifactId>
2071           </exclusion>
2072           <exclusion>
2073             <groupId>org.apache.zookeeper</groupId>
2074             <artifactId>zookeeper</artifactId>
2075           </exclusion>
2076         </exclusions>
2077       </dependency>
2078       <dependency>
2079         <groupId>org.apache.curator</groupId>
2080         <artifactId>curator-recipes</artifactId>
2081         <version>${curator.version}</version>
2082         <exclusions>
2083           <exclusion>
2084             <groupId>com.google.guava</groupId>
2085             <artifactId>guava</artifactId>
2086           </exclusion>
2087           <exclusion>
2088             <groupId>org.apache.zookeeper</groupId>
2089             <artifactId>zookeeper</artifactId>
2090           </exclusion>
2091         </exclusions>
2092       </dependency>
2093       <dependency>
2094         <groupId>org.apache.yetus</groupId>
2095         <artifactId>audience-annotations</artifactId>
2096         <version>${audience-annotations.version}</version>
2097       </dependency>
2098       <dependency>
2099         <groupId>org.apache.hbase.thirdparty</groupId>
2100         <artifactId>hbase-shaded-miscellaneous</artifactId>
2101         <version>${hbase-thirdparty.version}</version>
2102       </dependency>
2103       <dependency>
2104         <groupId>org.apache.hbase.thirdparty</groupId>
2105         <artifactId>hbase-shaded-netty</artifactId>
2106         <version>${hbase-thirdparty.version}</version>
2107       </dependency>
2108       <dependency>
2109         <groupId>org.apache.hbase.thirdparty</groupId>
2110         <artifactId>hbase-shaded-protobuf</artifactId>
2111         <version>${hbase-thirdparty.version}</version>
2112       </dependency>
2113     </dependencies>
2114   </dependencyManagement>
2115   <dependencies>
2116     <!--REMOVE THIS. HERE TEMPORARILY.
2117          Implication is that every module needs junit which is not so.
2118          Cannot undo though because build runs test on each module and
2119          it fails if no junit. TODO. -->
2120     <dependency>
2121       <groupId>junit</groupId>
2122       <artifactId>junit</artifactId>
2123     </dependency>
2124   </dependencies>
2126   <!--
2127   To publish, use the following settings.xml file ( placed in ~/.m2/settings.xml )
2129  <settings>
2130   <servers>
2131     <server>
2132       <id>apache.releases.https</id>
2133       <username>hbase_committer</username>
2134       <password>********</password>
2135     </server>
2137     <server>
2138       <id>apache.snapshots.https</id>
2139       <username>hbase_committer</username>
2140       <password>********</password>
2141     </server>
2143   </servers>
2144  </settings>
2146   $ mvn deploy
2147 (or)
2148   $ mvn -s /my/path/settings.xml deploy
2150   -->
2151   <profiles>
2152     <profile>
2153       <id>rsgroup</id>
2154       <activation>
2155         <property>
2156             <name>!skip-rsgroup</name>
2157         </property>
2158       </activation>
2159       <modules>
2160         <module>hbase-rsgroup</module>
2161       </modules>
2162     </profile>
2163     <profile>
2164       <id>build-with-jdk8</id>
2165       <activation>
2166         <jdk>1.8</jdk>
2167       </activation>
2168       <build>
2169         <pluginManagement>
2170           <plugins>
2171             <plugin>
2172               <groupId>org.apache.maven.plugins</groupId>
2173               <artifactId>maven-javadoc-plugin</artifactId>
2174               <configuration>
2175                 <!-- TODO HBASE-15041 clean up our javadocs so jdk8 linter can be used -->
2176                 <additionalparam>-Xdoclint:none</additionalparam>
2177               </configuration>
2178             </plugin>
2179             <plugin>
2180               <groupId>org.codehaus.mojo</groupId>
2181               <artifactId>findbugs-maven-plugin</artifactId>
2182               <version>3.0.0</version>
2183               <!--NOTE: Findbugs 3.0.0 requires jdk7-->
2184               <configuration>
2185                 <excludeFilterFile>${project.basedir}/../dev-support/findbugs-exclude.xml</excludeFilterFile>
2186                 <findbugsXmlOutput>true</findbugsXmlOutput>
2187                 <xmlOutput>true</xmlOutput>
2188                 <effort>Max</effort>
2189               </configuration>
2190               <dependencies>
2191                 <dependency>
2192                   <groupId>com.github.spotbugs</groupId>
2193                   <artifactId>spotbugs</artifactId>
2194                   <version>${spotbugs.version}</version>
2195                 </dependency>
2196               </dependencies>
2197             </plugin>
2198           </plugins>
2199         </pluginManagement>
2200       </build>
2201     </profile>
2202     <!-- profile activated by the Jenkins patch testing job -->
2203     <profile>
2204       <id>jenkins.patch</id>
2205       <activation>
2206         <activeByDefault>false</activeByDefault>
2207         <property>
2208             <name>HBasePatchProcess</name>
2209         </property>
2210       </activation>
2211       <properties>
2212         <surefire.rerunFailingTestsCount>2</surefire.rerunFailingTestsCount>
2213       </properties>
2214       <build>
2215         <plugins>
2216           <plugin>
2217             <groupId>org.apache.maven.plugins</groupId>
2218             <artifactId>maven-antrun-plugin</artifactId>
2219             <inherited>false</inherited>
2220             <executions>
2221               <execution>
2222                 <phase>validate</phase>
2223                 <goals>
2224                   <goal>run</goal>
2225                 </goals>
2226                 <configuration>
2227                   <tasks>
2228                     <echo>Maven Execution Environment</echo>
2229                     <echo>MAVEN_OPTS="${env.MAVEN_OPTS}"</echo>
2230                   </tasks>
2231                 </configuration>
2232               </execution>
2233             </executions>
2234           </plugin>
2235         </plugins>
2236       </build>
2237     </profile>
2238     <profile>
2239       <id>jacoco</id>
2240       <activation>
2241         <activeByDefault>false</activeByDefault>
2242       </activation>
2243       <build>
2244         <plugins>
2245           <plugin>
2246             <groupId>org.jacoco</groupId>
2247             <artifactId>jacoco-maven-plugin</artifactId>
2248             <version>${jacoco.version}</version>
2249             <executions>
2250               <execution>
2251                 <id>prepare-agent</id>
2252                 <goals>
2253                   <goal>prepare-agent</goal>
2254                 </goals>
2255               </execution>
2256               <execution>
2257                 <id>report</id>
2258                 <phase>prepare-package</phase>
2259                 <goals>
2260                   <goal>report</goal>
2261                 </goals>
2262               </execution>
2263             </executions>
2264             <configuration>
2265               <systemPropertyVariables>
2266                 <jacoco-agent.destfile>target/jacoco.exec</jacoco-agent.destfile>
2267               </systemPropertyVariables>
2268               <excludes>
2269                 <exclude>**/generated/**/*.class</exclude>
2270               </excludes>
2271             </configuration>
2272           </plugin>
2273         </plugins>
2274       </build>
2275     </profile>
2276     <profile>
2277       <id>os.linux</id>
2278       <activation>
2279         <activeByDefault>false</activeByDefault>
2280         <os>
2281           <family>Linux</family>
2282         </os>
2283       </activation>
2284       <properties>
2285         <build.platform>${os.name}-${os.arch}-${sun.arch.data.model}</build.platform>
2286       </properties>
2287     </profile>
2288     <profile>
2289       <id>os.mac</id>
2290       <activation>
2291         <os>
2292           <family>Mac</family>
2293         </os>
2294       </activation>
2295       <properties>
2296         <build.platform>Mac_OS_X-${sun.arch.data.model}</build.platform>
2297       </properties>
2298     </profile>
2299     <profile>
2300       <id>os.windows</id>
2301       <activation>
2302         <os>
2303           <family>Windows</family>
2304         </os>
2305       </activation>
2306       <properties>
2307         <build.platform>cygwin</build.platform>
2308         <argLine>${hbase-surefire.cygwin-argLine}</argLine>
2309       </properties>
2310     </profile>
2311     <!-- this profile should be activated for release builds -->
2312     <profile>
2313       <id>release</id>
2314       <build>
2315         <plugins>
2316           <plugin>
2317             <groupId>org.apache.rat</groupId>
2318             <artifactId>apache-rat-plugin</artifactId>
2319             <executions>
2320               <execution>
2321                 <phase>package</phase>
2322                 <goals>
2323                   <goal>check</goal>
2324                 </goals>
2325               </execution>
2326             </executions>
2327           </plugin>
2328           <plugin>
2329             <groupId>org.apache.maven.plugins</groupId>
2330             <artifactId>maven-enforcer-plugin</artifactId>
2331             <version>${enforcer.version}</version>
2332             <configuration>
2333               <rules>
2334                 <enforceBytecodeVersion>
2335                 <maxJdkVersion>${compileSource}</maxJdkVersion>
2336                 <message>HBase has unsupported dependencies.
2337   HBase requires that all dependencies be compiled with version ${compileSource} or earlier
2338   of the JDK to properly build from source.  You appear to be using a newer dependency. You can use
2339   either "mvn -version" or "mvn enforcer:display-info" to verify what version is active.
2340   Non-release builds can temporarily build with a newer JDK version by setting the
2341   'compileSource' property (eg. mvn -DcompileSource=1.8 clean package).
2342                 </message>
2343               </enforceBytecodeVersion>
2344             </rules>
2345           </configuration>
2346           </plugin>
2347         </plugins>
2348       </build>
2349     </profile>
2350     <!-- Dependency management profiles for submodules when building against specific hadoop branches.-->
2351     <!-- Submodules that need hadoop dependencies should declare
2352     profiles with activation properties matching the profile here.
2353     Generally, it should be sufficient to copy the first
2354     few lines of the profile you want to match.  -->
2355     <!-- profile for building against Hadoop 2.0.x
2356          This is the default.
2357          -->
2358     <profile>
2359       <id>hadoop-2.0</id>
2360       <activation>
2361         <property>
2362           <!--Below formatting for dev-support/generate-hadoopX-poms.sh-->
2363           <!--h2--><name>!hadoop.profile</name>
2364         </property>
2365       </activation>
2366       <modules>
2367         <module>hbase-hadoop2-compat</module>
2368       </modules>
2369       <properties>
2370         <hadoop.version>${hadoop-two.version}</hadoop.version>
2371         <compat.module>hbase-hadoop2-compat</compat.module>
2372         <assembly.file>src/main/assembly/hadoop-two-compat.xml</assembly.file>
2373       </properties>
2374       <dependencyManagement>
2375         <dependencies>
2376           <dependency>
2377             <groupId>org.apache.hadoop</groupId>
2378             <artifactId>hadoop-mapreduce-client-core</artifactId>
2379             <version>${hadoop-two.version}</version>
2380             <exclusions>
2381               <exclusion>
2382                 <groupId>io.netty</groupId>
2383                 <artifactId>netty</artifactId>
2384               </exclusion>
2385               <exclusion>
2386                 <groupId>javax.servlet</groupId>
2387                 <artifactId>servlet-api</artifactId>
2388               </exclusion>
2389               <exclusion>
2390                 <groupId>javax.inject</groupId>
2391                 <artifactId>javax.inject</artifactId>
2392               </exclusion>
2393               <exclusion>
2394                 <groupId>org.codehaus.jackson</groupId>
2395                 <artifactId>jackson-core-asl</artifactId>
2396               </exclusion>
2397               <exclusion>
2398                 <groupId>org.codehaus.jackson</groupId>
2399                 <artifactId>jackson-mapper-asl</artifactId>
2400               </exclusion>
2401             </exclusions>
2402           </dependency>
2403           <dependency>
2404             <groupId>org.apache.hadoop</groupId>
2405             <artifactId>hadoop-mapreduce-client-jobclient</artifactId>
2406             <version>${hadoop-two.version}</version>
2407             <exclusions>
2408               <exclusion>
2409                 <groupId>io.netty</groupId>
2410                 <artifactId>netty</artifactId>
2411               </exclusion>
2412               <exclusion>
2413                 <groupId>javax.servlet</groupId>
2414                 <artifactId>servlet-api</artifactId>
2415               </exclusion>
2416             </exclusions>
2417           </dependency>
2418           <dependency>
2419             <groupId>org.apache.hadoop</groupId>
2420             <artifactId>hadoop-mapreduce-client-jobclient</artifactId>
2421             <version>${hadoop-two.version}</version>
2422             <type>test-jar</type>
2423             <scope>test</scope>
2424             <exclusions>
2425               <exclusion>
2426                 <groupId>io.netty</groupId>
2427                 <artifactId>netty</artifactId>
2428               </exclusion>
2429               <exclusion>
2430                 <groupId>javax.servlet</groupId>
2431                 <artifactId>servlet-api</artifactId>
2432               </exclusion>
2433             </exclusions>
2434           </dependency>
2435           <dependency>
2436             <groupId>org.apache.hadoop</groupId>
2437             <artifactId>hadoop-hdfs</artifactId>
2438             <exclusions>
2439               <exclusion>
2440                 <groupId>javax.servlet.jsp</groupId>
2441                 <artifactId>jsp-api</artifactId>
2442               </exclusion>
2443               <exclusion>
2444                 <groupId>javax.servlet</groupId>
2445                 <artifactId>servlet-api</artifactId>
2446               </exclusion>
2447               <exclusion>
2448                 <groupId>io.netty</groupId>
2449                 <artifactId>netty</artifactId>
2450               </exclusion>
2451               <exclusion>
2452                 <groupId>stax</groupId>
2453                 <artifactId>stax-api</artifactId>
2454               </exclusion>
2455               <exclusion>
2456                 <groupId>xerces</groupId>
2457                 <artifactId>xercesImpl</artifactId>
2458               </exclusion>
2459               <exclusion>
2460                 <groupId>org.codehaus.jackson</groupId>
2461                 <artifactId>jackson-core-asl</artifactId>
2462               </exclusion>
2463               <exclusion>
2464                 <groupId>org.codehaus.jackson</groupId>
2465                 <artifactId>jackson-mapper-asl</artifactId>
2466               </exclusion>
2467             </exclusions>
2468             <version>${hadoop-two.version}</version>
2469           </dependency>
2470           <dependency>
2471             <groupId>org.apache.hadoop</groupId>
2472             <artifactId>hadoop-hdfs</artifactId>
2473             <version>${hadoop-two.version}</version>
2474             <type>test-jar</type>
2475             <scope>test</scope>
2476             <exclusions>
2477               <exclusion>
2478                 <groupId>javax.servlet.jsp</groupId>
2479                 <artifactId>jsp-api</artifactId>
2480               </exclusion>
2481               <exclusion>
2482                 <groupId>javax.servlet</groupId>
2483                 <artifactId>servlet-api</artifactId>
2484               </exclusion>
2485               <exclusion>
2486                 <groupId>io.netty</groupId>
2487                 <artifactId>netty</artifactId>
2488               </exclusion>
2489               <exclusion>
2490                 <groupId>stax</groupId>
2491                 <artifactId>stax-api</artifactId>
2492               </exclusion>
2493               <exclusion>
2494                 <groupId>xerces</groupId>
2495                 <artifactId>xercesImpl</artifactId>
2496               </exclusion>
2497               <exclusion>
2498                 <groupId>org.codehaus.jackson</groupId>
2499                 <artifactId>jackson-core-asl</artifactId>
2500               </exclusion>
2501               <exclusion>
2502                 <groupId>org.codehaus.jackson</groupId>
2503                 <artifactId>jackson-mapper-asl</artifactId>
2504               </exclusion>
2505             </exclusions>
2506           </dependency>
2507           <dependency>
2508             <groupId>org.apache.hadoop</groupId>
2509             <artifactId>hadoop-auth</artifactId>
2510             <version>${hadoop-two.version}</version>
2511           </dependency>
2512           <dependency>
2513             <groupId>org.apache.hadoop</groupId>
2514             <artifactId>hadoop-common</artifactId>
2515             <version>${hadoop-two.version}</version>
2516             <exclusions>
2517               <exclusion>
2518                 <groupId>commons-beanutils</groupId>
2519                 <artifactId>commons-beanutils</artifactId>
2520               </exclusion>
2521               <exclusion>
2522                 <groupId>javax.servlet.jsp</groupId>
2523                 <artifactId>jsp-api</artifactId>
2524               </exclusion>
2525               <exclusion>
2526                 <groupId>javax.servlet</groupId>
2527                 <artifactId>servlet-api</artifactId>
2528               </exclusion>
2529               <exclusion>
2530                 <groupId>stax</groupId>
2531                 <artifactId>stax-api</artifactId>
2532               </exclusion>
2533               <exclusion>
2534                 <groupId>io.netty</groupId>
2535                 <artifactId>netty</artifactId>
2536               </exclusion>
2537               <exclusion>
2538                 <groupId>com.google.code.findbugs</groupId>
2539                 <artifactId>jsr305</artifactId>
2540               </exclusion>
2541               <exclusion>
2542                 <groupId>junit</groupId>
2543                 <artifactId>junit</artifactId>
2544               </exclusion>
2545              <exclusion>
2546                <groupId>org.codehaus.jackson</groupId>
2547                <artifactId>jackson-core-asl</artifactId>
2548              </exclusion>
2549              <exclusion>
2550                <groupId>org.codehaus.jackson</groupId>
2551                <artifactId>jackson-mapper-asl</artifactId>
2552              </exclusion>
2553             </exclusions>
2554           </dependency>
2555           <dependency>
2556             <groupId>org.apache.hadoop</groupId>
2557             <artifactId>hadoop-client</artifactId>
2558             <version>${hadoop-two.version}</version>
2559           </dependency>
2560           <!-- This was marked as test dep in earlier pom, but was scoped compile.
2561             Where do we actually need it? -->
2562           <dependency>
2563             <groupId>org.apache.hadoop</groupId>
2564             <artifactId>hadoop-minicluster</artifactId>
2565             <version>${hadoop-two.version}</version>
2566             <exclusions>
2567             <exclusion>
2568               <groupId>commons-httpclient</groupId>
2569               <artifactId>commons-httpclient</artifactId>
2570             </exclusion>
2571               <exclusion>
2572                 <groupId>javax.servlet.jsp</groupId>
2573                 <artifactId>jsp-api</artifactId>
2574               </exclusion>
2575               <exclusion>
2576                 <groupId>javax.servlet</groupId>
2577                 <artifactId>servlet-api</artifactId>
2578               </exclusion>
2579               <exclusion>
2580                 <groupId>stax</groupId>
2581                 <artifactId>stax-api</artifactId>
2582               </exclusion>
2583               <exclusion>
2584                 <groupId>io.netty</groupId>
2585                 <artifactId>netty</artifactId>
2586               </exclusion>
2587               <exclusion>
2588                 <groupId>com.google.code.findbugs</groupId>
2589                 <artifactId>jsr305</artifactId>
2590               </exclusion>
2591             </exclusions>
2592           </dependency>
2593           <dependency>
2594             <groupId>org.apache.hadoop</groupId>
2595             <artifactId>hadoop-minikdc</artifactId>
2596             <version>${hadoop-two.version}</version>
2597             <scope>test</scope>
2598           </dependency>
2599         </dependencies>
2600       </dependencyManagement>
2601     </profile>
2602     <!--
2603       profile for building against Hadoop 3.0.0. Activate using:
2604        mvn -Dhadoop.profile=3.0
2605     -->
2606     <profile>
2607       <id>hadoop-3.0</id>
2608       <activation>
2609         <property>
2610           <name>hadoop.profile</name>
2611           <value>3.0</value>
2612         </property>
2613       </activation>
2614       <modules>
2615         <!--For now, use hadoop2 compat module-->
2616         <module>hbase-hadoop2-compat</module>
2617       </modules>
2618       <properties>
2619         <hadoop.version>${hadoop-three.version}</hadoop.version>
2620         <!--Use this compat module for now. TODO: Make h3 one if we need one-->
2621         <compat.module>hbase-hadoop2-compat</compat.module>
2622         <assembly.file>src/main/assembly/hadoop-two-compat.xml</assembly.file>
2623       </properties>
2624      <dependencyManagement>
2625        <dependencies>
2626          <dependency>
2627            <groupId>org.apache.hadoop</groupId>
2628            <artifactId>hadoop-mapreduce-client-core</artifactId>
2629            <version>${hadoop-three.version}</version>
2630            <exclusions>
2631              <exclusion>
2632                <groupId>io.netty</groupId>
2633                <artifactId>netty</artifactId>
2634              </exclusion>
2635               <exclusion>
2636                 <groupId>javax.inject</groupId>
2637                 <artifactId>javax.inject</artifactId>
2638               </exclusion>
2639               <exclusion>
2640                 <groupId>org.codehaus.jackson</groupId>
2641                 <artifactId>jackson-core-asl</artifactId>
2642               </exclusion>
2643               <exclusion>
2644                 <groupId>org.codehaus.jackson</groupId>
2645                 <artifactId>jackson-mapper-asl</artifactId>
2646               </exclusion>
2647            </exclusions>
2648          </dependency>
2649          <dependency>
2650            <groupId>org.apache.hadoop</groupId>
2651            <artifactId>hadoop-mapreduce-client-jobclient</artifactId>
2652            <version>${hadoop-three.version}</version>
2653            <exclusions>
2654              <exclusion>
2655                <groupId>io.netty</groupId>
2656                <artifactId>netty</artifactId>
2657              </exclusion>
2658            </exclusions>
2659          </dependency>
2660          <dependency>
2661            <groupId>org.apache.hadoop</groupId>
2662            <artifactId>hadoop-mapreduce-client-jobclient</artifactId>
2663            <version>${hadoop-three.version}</version>
2664            <type>test-jar</type>
2665            <scope>test</scope>
2666            <exclusions>
2667              <exclusion>
2668                <groupId>io.netty</groupId>
2669                <artifactId>netty</artifactId>
2670              </exclusion>
2671            </exclusions>
2672          </dependency>
2673          <dependency>
2674            <groupId>org.apache.hadoop</groupId>
2675            <artifactId>hadoop-hdfs</artifactId>
2676            <exclusions>
2677              <exclusion>
2678                <groupId>javax.servlet.jsp</groupId>
2679                <artifactId>jsp-api</artifactId>
2680              </exclusion>
2681              <exclusion>
2682                <groupId>javax.servlet</groupId>
2683                <artifactId>servlet-api</artifactId>
2684              </exclusion>
2685              <exclusion>
2686                <groupId>stax</groupId>
2687                <artifactId>stax-api</artifactId>
2688              </exclusion>
2689              <exclusion>
2690                <groupId>xerces</groupId>
2691                <artifactId>xercesImpl</artifactId>
2692              </exclusion>
2693              <exclusion>
2694                <groupId>org.codehaus.jackson</groupId>
2695                <artifactId>jackson-core-asl</artifactId>
2696              </exclusion>
2697              <exclusion>
2698                <groupId>org.codehaus.jackson</groupId>
2699                <artifactId>jackson-mapper-asl</artifactId>
2700              </exclusion>
2701            </exclusions>
2702            <version>${hadoop-three.version}</version>
2703          </dependency>
2704          <dependency>
2705            <groupId>org.apache.hadoop</groupId>
2706            <artifactId>hadoop-hdfs</artifactId>
2707            <version>${hadoop-three.version}</version>
2708            <type>test-jar</type>
2709            <scope>test</scope>
2710            <exclusions>
2711              <exclusion>
2712                <groupId>javax.servlet.jsp</groupId>
2713                <artifactId>jsp-api</artifactId>
2714              </exclusion>
2715              <exclusion>
2716                <groupId>javax.servlet</groupId>
2717                <artifactId>servlet-api</artifactId>
2718              </exclusion>
2719              <exclusion>
2720                <groupId>stax</groupId>
2721                <artifactId>stax-api</artifactId>
2722              </exclusion>
2723              <exclusion>
2724                <groupId>xerces</groupId>
2725                <artifactId>xercesImpl</artifactId>
2726              </exclusion>
2727              <exclusion>
2728                <groupId>org.codehaus.jackson</groupId>
2729                <artifactId>jackson-core-asl</artifactId>
2730              </exclusion>
2731              <exclusion>
2732                <groupId>org.codehaus.jackson</groupId>
2733                <artifactId>jackson-mapper-asl</artifactId>
2734              </exclusion>
2735            </exclusions>
2736          </dependency>
2737          <dependency>
2738            <groupId>org.apache.hadoop</groupId>
2739            <artifactId>hadoop-auth</artifactId>
2740            <version>${hadoop-three.version}</version>
2741            <exclusions>
2742              <exclusion>
2743                <groupId>com.google.guava</groupId>
2744                <artifactId>guava</artifactId>
2745              </exclusion>
2746            </exclusions>
2747          </dependency>
2748          <dependency>
2749            <groupId>org.apache.hadoop</groupId>
2750            <artifactId>hadoop-common</artifactId>
2751            <version>${hadoop-three.version}</version>
2752            <exclusions>
2753             <exclusion>
2754               <groupId>commons-beanutils</groupId>
2755               <artifactId>commons-beanutils</artifactId>
2756             </exclusion>
2757              <exclusion>
2758                <groupId>javax.servlet.jsp</groupId>
2759                <artifactId>jsp-api</artifactId>
2760              </exclusion>
2761              <exclusion>
2762                <groupId>javax.servlet</groupId>
2763                <artifactId>servlet-api</artifactId>
2764              </exclusion>
2765              <exclusion>
2766                <groupId>stax</groupId>
2767                <artifactId>stax-api</artifactId>
2768              </exclusion>
2769              <exclusion>
2770                <groupId>io.netty</groupId>
2771                <artifactId>netty</artifactId>
2772              </exclusion>
2773              <exclusion>
2774                <groupId>com.google.code.findbugs</groupId>
2775                <artifactId>jsr305</artifactId>
2776              </exclusion>
2777              <exclusion>
2778                <groupId>junit</groupId>
2779                <artifactId>junit</artifactId>
2780              </exclusion>
2781              <exclusion>
2782                <groupId>org.codehause.jackson</groupId>
2783                <artifactId>jackson-core-asl</artifactId>
2784              </exclusion>
2785              <exclusion>
2786                <groupId>org.codehause.jackson</groupId>
2787                <artifactId>jackson-mapper-asl</artifactId>
2788              </exclusion>
2789            </exclusions>
2790          </dependency>
2791          <dependency>
2792            <groupId>org.apache.hadoop</groupId>
2793            <artifactId>hadoop-client</artifactId>
2794            <version>${hadoop-three.version}</version>
2795          </dependency>
2796          <dependency>
2797            <groupId>org.apache.hadoop</groupId>
2798            <artifactId>hadoop-annotations</artifactId>
2799            <version>${hadoop-three.version}</version>
2800          </dependency>
2801          <!-- This was marked as test dep in earlier pom, but was scoped compile.
2802            Where do we actually need it? -->
2803          <dependency>
2804            <groupId>org.apache.hadoop</groupId>
2805            <artifactId>hadoop-minicluster</artifactId>
2806            <version>${hadoop-three.version}</version>
2807            <exclusions>
2808             <exclusion>
2809               <groupId>commons-httpclient</groupId>
2810               <artifactId>commons-httpclient</artifactId>
2811             </exclusion>
2812              <exclusion>
2813                <groupId>javax.servlet.jsp</groupId>
2814                <artifactId>jsp-api</artifactId>
2815              </exclusion>
2816              <exclusion>
2817                <groupId>javax.servlet</groupId>
2818                <artifactId>servlet-api</artifactId>
2819              </exclusion>
2820              <exclusion>
2821                <groupId>stax</groupId>
2822                <artifactId>stax-api</artifactId>
2823              </exclusion>
2824              <exclusion>
2825                <groupId>io.netty</groupId>
2826                <artifactId>netty</artifactId>
2827              </exclusion>
2828              <exclusion>
2829                <groupId>com.google.code.findbugs</groupId>
2830                <artifactId>jsr305</artifactId>
2831              </exclusion>
2832            </exclusions>
2833          </dependency>
2834          <dependency>
2835             <groupId>org.apache.hadoop</groupId>
2836             <artifactId>hadoop-minikdc</artifactId>
2837             <version>${hadoop-three.version}</version>
2838             <scope>test</scope>
2839           </dependency>
2840        </dependencies>
2841      </dependencyManagement>
2843     </profile>
2844     <!-- profiles for the tests
2845          See as well the properties of the project for the values
2846          when no profile is active.     -->
2847     <profile>
2848       <!-- Use it to launch all tests in the same JVM  -->
2849       <id>singleJVMTests</id>
2850       <activation>
2851         <activeByDefault>false</activeByDefault>
2852       </activation>
2853       <properties>
2854         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
2855         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2856         <surefire.skipSecondPart>true</surefire.skipSecondPart>
2857         <surefire.firstPartGroups/>
2858       </properties>
2859     </profile>
2860     <profile>
2861       <!-- Use it to launch small tests only -->
2862       <id>runSmallTests</id>
2863       <activation>
2864         <activeByDefault>false</activeByDefault>
2865       </activation>
2866       <properties>
2867         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
2868         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2869         <surefire.skipSecondPart>true</surefire.skipSecondPart>
2870         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.SmallTests</surefire.firstPartGroups>
2871         <surefire.secondPartGroups/>
2872       </properties>
2873     </profile>
2874     <profile>
2875       <!-- Use it to launch medium tests only -->
2876       <id>runMediumTests</id>
2877       <activation>
2878         <activeByDefault>false</activeByDefault>
2879       </activation>
2880       <properties>
2881         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2882         <surefire.skipSecondPart>true</surefire.skipSecondPart>
2883         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.MediumTests</surefire.firstPartGroups>
2884         <surefire.secondPartGroups/>
2885       </properties>
2886     </profile>
2887     <profile>
2888       <!-- Use it to launch large tests only -->
2889       <id>runLargeTests</id>
2890       <activation>
2891         <activeByDefault>false</activeByDefault>
2892       </activation>
2893       <properties>
2894         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2895         <surefire.skipSecondPart>true</surefire.skipSecondPart>
2896         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.LargeTests</surefire.firstPartGroups>
2897         <surefire.secondPartGroups/>
2898       </properties>
2899     </profile>
2900     <profile>
2901       <!-- Use it to launch small & medium tests -->
2902       <id>runDevTests</id>
2903       <activation>
2904         <activeByDefault>false</activeByDefault>
2905       </activation>
2906       <properties>
2907         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
2908         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2909         <surefire.skipSecondPart>false</surefire.skipSecondPart>
2910         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.SmallTests</surefire.firstPartGroups>
2911         <surefire.secondPartGroups>org.apache.hadoop.hbase.testclassification.MediumTests</surefire.secondPartGroups>
2912       </properties>
2913     </profile>
2914     <profile>
2915       <!-- Use it to launch all tests -->
2916       <id>runAllTests</id>
2917       <activation>
2918         <activeByDefault>false</activeByDefault>
2919       </activation>
2920       <properties>
2921         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
2922         <surefire.secondPartForkCount>5</surefire.secondPartForkCount>
2923         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2924         <surefire.skipSecondPart>false</surefire.skipSecondPart>
2925         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.SmallTests</surefire.firstPartGroups>
2926         <surefire.secondPartGroups>org.apache.hadoop.hbase.testclassification.MediumTests,org.apache.hadoop.hbase.testclassification.LargeTests</surefire.secondPartGroups>
2927       </properties>
2928     </profile>
2929     <profile>
2930       <id>runMiscTests</id>
2931       <activation>
2932         <activeByDefault>false</activeByDefault>
2933       </activation>
2934       <properties>
2935         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
2936         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
2937         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2938         <surefire.skipSecondPart>true</surefire.skipSecondPart>
2939         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.MiscTests
2940         </surefire.firstPartGroups>
2941         <surefire.secondPartGroups></surefire.secondPartGroups>
2942       </properties>
2943     </profile>
2944     <profile>
2945       <id>runCoprocessorTests</id>
2946       <activation>
2947         <activeByDefault>false</activeByDefault>
2948       </activation>
2949       <properties>
2950         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
2951         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
2952         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2953         <surefire.skipSecondPart>true</surefire.skipSecondPart>
2954         <surefire.firstPartGroups>
2955           org.apache.hadoop.hbase.testclassification.CoprocessorTests
2956         </surefire.firstPartGroups>
2957         <surefire.secondPartGroups></surefire.secondPartGroups>
2958       </properties>
2959     </profile>
2960     <profile>
2961       <id>runClientTests</id>
2962       <activation>
2963         <activeByDefault>false</activeByDefault>
2964       </activation>
2965       <properties>
2966         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
2967         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
2968         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2969         <surefire.skipSecondPart>true</surefire.skipSecondPart>
2970         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.ClientTests
2971         </surefire.firstPartGroups>
2972         <surefire.secondPartGroups></surefire.secondPartGroups>
2973       </properties>
2974     </profile>
2975     <profile>
2976       <id>runMasterTests</id>
2977       <activation>
2978         <activeByDefault>false</activeByDefault>
2979       </activation>
2980       <properties>
2981         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
2982         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
2983         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2984         <surefire.skipSecondPart>true</surefire.skipSecondPart>
2985         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.MasterTests
2986         </surefire.firstPartGroups>
2987         <surefire.secondPartGroups></surefire.secondPartGroups>
2988       </properties>
2989     </profile>
2990     <profile>
2991       <id>runMapredTests</id>
2992       <activation>
2993         <activeByDefault>false</activeByDefault>
2994       </activation>
2995       <properties>
2996         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
2997         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
2998         <surefire.skipFirstPart>false</surefire.skipFirstPart>
2999         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3000         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.MapredTests
3001         </surefire.firstPartGroups>
3002         <surefire.secondPartGroups></surefire.secondPartGroups>
3003       </properties>
3004     </profile>
3005     <profile>
3006       <id>runMapreduceTests</id>
3007       <activation>
3008         <activeByDefault>false</activeByDefault>
3009       </activation>
3010       <properties>
3011         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
3012         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
3013         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3014         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3015         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.MapReduceTests
3016         </surefire.firstPartGroups>
3017         <surefire.secondPartGroups></surefire.secondPartGroups>
3018       </properties>
3019     </profile>
3020     <profile>
3021       <id>runRegionServerTests</id>
3022       <activation>
3023         <activeByDefault>false</activeByDefault>
3024       </activation>
3025       <properties>
3026         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
3027         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
3028         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3029         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3030         <surefire.firstPartGroups>
3031           org.apache.hadoop.hbase.testclassification.RegionServerTests
3032         </surefire.firstPartGroups>
3033         <surefire.secondPartGroups></surefire.secondPartGroups>
3034       </properties>
3035     </profile>
3036     <profile>
3037       <id>runVerySlowMapReduceTests</id>
3038       <activation>
3039         <activeByDefault>false</activeByDefault>
3040       </activation>
3041       <properties>
3042         <surefire.firstPartForkCount>2</surefire.firstPartForkCount>
3043         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
3044         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3045         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3046         <surefire.firstPartGroups>
3047           org.apache.hadoop.hbase.testclassification.VerySlowMapReduceTests
3048         </surefire.firstPartGroups>
3049         <surefire.secondPartGroups></surefire.secondPartGroups>
3050       </properties>
3051     </profile>
3053     <profile>
3054       <id>runVerySlowRegionServerTests</id>
3055       <activation>
3056         <activeByDefault>false</activeByDefault>
3057       </activation>
3058       <properties>
3059         <surefire.firstPartForkCount>2</surefire.firstPartForkCount>
3060         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
3061         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3062         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3063         <surefire.firstPartGroups>
3064           org.apache.hadoop.hbase.testclassification.VerySlowRegionServerTests
3065         </surefire.firstPartGroups>
3066         <surefire.secondPartGroups></surefire.secondPartGroups>
3067       </properties>
3068     </profile>
3070     <profile>
3071       <id>runFilterTests</id>
3072       <activation>
3073         <activeByDefault>false</activeByDefault>
3074       </activation>
3075       <properties>
3076         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
3077         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
3078         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3079         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3080         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.FilterTests
3081         </surefire.firstPartGroups>
3082         <surefire.secondPartGroups></surefire.secondPartGroups>
3083       </properties>
3084     </profile>
3085     <profile>
3086       <id>runIOTests</id>
3087       <activation>
3088         <activeByDefault>false</activeByDefault>
3089       </activation>
3090       <properties>
3091         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
3092         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
3093         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3094         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3095         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.IOTests
3096         </surefire.firstPartGroups>
3097         <surefire.secondPartGroups></surefire.secondPartGroups>
3098       </properties>
3099     </profile>
3100     <profile>
3101       <id>runRestTests</id>
3102       <activation>
3103         <activeByDefault>false</activeByDefault>
3104       </activation>
3105       <properties>
3106         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
3107         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
3108         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3109         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3110         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.RestTests
3111         </surefire.firstPartGroups>
3112         <surefire.secondPartGroups></surefire.secondPartGroups>
3113       </properties>
3114     </profile>
3115     <profile>
3116       <id>runRPCTests</id>
3117       <activation>
3118         <activeByDefault>false</activeByDefault>
3119       </activation>
3120       <properties>
3121         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
3122         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
3123         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3124         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3125         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.RPCTests
3126         </surefire.firstPartGroups>
3127         <surefire.secondPartGroups></surefire.secondPartGroups>
3128       </properties>
3129     </profile>
3130     <profile>
3131       <id>runReplicationTests</id>
3132       <activation>
3133         <activeByDefault>false</activeByDefault>
3134       </activation>
3135       <properties>
3136         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
3137         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
3138         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3139         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3140         <surefire.firstPartGroups>
3141           org.apache.hadoop.hbase.testclassification.ReplicationTests
3142         </surefire.firstPartGroups>
3143         <surefire.secondPartGroups></surefire.secondPartGroups>
3144       </properties>
3145     </profile>
3146     <profile>
3147       <id>runSecurityTests</id>
3148       <activation>
3149         <activeByDefault>false</activeByDefault>
3150       </activation>
3151       <properties>
3152         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
3153         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
3154         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3155         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3156         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.SecurityTests
3157         </surefire.firstPartGroups>
3158         <surefire.secondPartGroups></surefire.secondPartGroups>
3159       </properties>
3160     </profile>
3161     <profile>
3162       <id>runFlakeyTests</id>
3163       <activation>
3164         <activeByDefault>false</activeByDefault>
3165       </activation>
3166       <properties>
3167         <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
3168         <surefire.secondPartForkCount>1</surefire.secondPartForkCount>
3169         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3170         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3171         <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.FlakeyTests
3172         </surefire.firstPartGroups>
3173         <surefire.secondPartGroups></surefire.secondPartGroups>
3174       </properties>
3175     </profile>
3177     <profile>
3178       <!-- Use it to launch tests locally-->
3179       <id>localTests</id>
3180       <activation>
3181         <property>
3182           <name>test</name>
3183         </property>
3184       </activation>
3185       <properties>
3186         <surefire.provider>surefire-junit4</surefire.provider>
3187         <surefire.skipFirstPart>false</surefire.skipFirstPart>
3188         <surefire.skipSecondPart>true</surefire.skipSecondPart>
3189         <surefire.firstPartGroups/>
3190       </properties>
3191     </profile>
3192     <!-- Profile for running clover. You need to have a clover license under ~/.clover.license for ${clover.version}
3193          or you can provide the license with -Dmaven.clover.licenseLocation=/path/to/license. Committers can find
3194          the license under https://svn.apache.org/repos/private/committers/donated-licenses/clover/
3195          The report will be generated under target/site/clover/index.html when you run
3196          MAVEN_OPTS="-Xmx2048m" mvn clean package -Pclover site -->
3197     <profile>
3198       <id>clover</id>
3199       <activation>
3200         <activeByDefault>false</activeByDefault>
3201         <property>
3202           <name>clover</name>
3203         </property>
3204       </activation>
3205       <properties>
3206         <maven.clover.licenseLocation>${user.home}/.clover.license</maven.clover.licenseLocation>
3207       </properties>
3208       <build>
3209         <plugins>
3210         <!-- When Clover is active, we need to add it as a dependency for the javadoc plugin, or
3211              our instrumented classes for the doclet will fail
3212           -->
3213           <plugin>
3214             <groupId>org.apache.maven.plugins</groupId>
3215             <artifactId>maven-javadoc-plugin</artifactId>
3216             <dependencies>
3217               <dependency>
3218                 <groupId>com.atlassian.maven.plugins</groupId>
3219                 <artifactId>maven-clover2-plugin</artifactId>
3220                 <version>${clover.version}</version>
3221               </dependency>
3222             </dependencies>
3223           </plugin>
3224           <plugin>
3225             <groupId>com.atlassian.maven.plugins</groupId>
3226             <artifactId>maven-clover2-plugin</artifactId>
3227             <version>${clover.version}</version>
3228             <configuration>
3229               <includesAllSourceRoots>true</includesAllSourceRoots>
3230               <includesTestSourceRoots>true</includesTestSourceRoots>
3231               <targetPercentage>50%</targetPercentage>
3232               <generateHtml>true</generateHtml>
3233               <generateXml>true</generateXml>
3234               <excludes>
3235                 <exclude>**/generated/**</exclude>
3236               </excludes>
3237             </configuration>
3238             <executions>
3239               <execution>
3240                 <id>clover-setup</id>
3241                 <phase>process-sources</phase>
3242                 <goals>
3243                   <goal>setup</goal>
3244                 </goals>
3245               </execution>
3246               <execution>
3247                 <id>clover</id>
3248                 <phase>site</phase>
3249                 <goals>
3250                   <goal>clover</goal>
3251                 </goals>
3252               </execution>
3253             </executions>
3254           </plugin>
3255         </plugins>
3256       </build>
3257     </profile>
3258   </profiles>
3259   <!-- See http://jira.codehaus.org/browse/MSITE-443 why the settings need to be here and not in pluginManagement. -->
3260   <reporting>
3261     <plugins>
3262       <plugin>
3263         <artifactId>maven-project-info-reports-plugin</artifactId>
3264         <reportSets>
3265           <reportSet>
3266             <reports>
3267               <report>cim</report>
3268               <report>dependencies</report>
3269               <report>dependency-convergence</report>
3270               <report>dependency-info</report>
3271               <report>dependency-management</report>
3272               <report>index</report>
3273               <report>issue-tracking</report>
3274               <report>license</report>
3275               <report>mailing-list</report>
3276               <report>plugin-management</report>
3277               <report>plugins</report>
3278               <report>project-team</report>
3279               <report>scm</report>
3280               <report>summary</report>
3281             </reports>
3282           </reportSet>
3283         </reportSets>
3284         <!-- see src/site/site.xml for selected reports -->
3285         <configuration>
3286           <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
3287         </configuration>
3288       </plugin>
3290       <plugin>
3291         <groupId>org.apache.maven.plugins</groupId>
3292         <artifactId>maven-javadoc-plugin</artifactId>
3293         <reportSets>
3294           <!-- Dev API -->
3295           <reportSet>
3296             <id>devapi</id>
3297             <reports>
3298               <report>aggregate</report>
3299             </reports>
3300             <configuration>
3301               <destDir>devapidocs</destDir>
3302               <name>Developer API</name>
3303               <description>The full HBase API, including private and unstable APIs</description>
3304               <sourceFileExcludes>
3305                 <exclude>**/generated/*</exclude>
3306                 <exclude>**/protobuf/*</exclude>
3307                 <exclude>**/*.scala</exclude>
3308               </sourceFileExcludes>
3309               <excludePackageNames>org.apache.hadoop.hbase.tmpl.common:com.google.protobuf:org.apache.hadoop.hbase.spark:org.apache.hadoop.hbase.generated*</excludePackageNames>
3310               <show>private</show> <!-- (shows all classes and members) -->
3311               <quiet>true</quiet>
3312               <linksource>true</linksource>
3313               <sourcetab>2</sourcetab>
3314               <validateLinks>true</validateLinks>
3315               <fixClassComment>true</fixClassComment>
3316               <fixFieldComment>true</fixFieldComment>
3317               <fixMethodComment>true</fixMethodComment>
3318               <fixTags>all</fixTags>
3319               <notimestamp>true</notimestamp>
3320               <!-- Pass some options straight to the javadoc executable since it is easier -->
3321               <additionalJOption>-J-Xmx2G</additionalJOption>
3322               <!-- JDK8 javadoc requires test scope transitive dependencies due to our custom doclet -->
3323               <additionalDependencies>
3324                 <additionalDependency>
3325                   <groupId>org.mockito</groupId>
3326                   <artifactId>mockito-all</artifactId>
3327                   <version>${mockito-all.version}</version>
3328                 </additionalDependency>
3329                 <additionalDependency>
3330                   <groupId>org.hamcrest</groupId>
3331                   <artifactId>hamcrest-core</artifactId>
3332                   <version>${hamcrest.version}</version>
3333                 </additionalDependency>
3334               </additionalDependencies>
3335               <inherited>false</inherited>
3336             </configuration>
3337           </reportSet>
3338           <reportSet>
3339             <id>testdevapi</id>
3340             <reports>
3341               <report>test-aggregate</report>
3342             </reports>
3343             <configuration>
3344               <destDir>testdevapidocs</destDir>
3345               <name>Developer API</name>
3346               <description>The full HBase API test code, including private and unstable APIs</description>
3347               <sourceFileExcludes>
3348                 <exclude>**/generated/*</exclude>
3349                 <exclude>**/protobuf/*</exclude>
3350                 <exclude>**/*.scala</exclude>
3351               </sourceFileExcludes>
3352               <excludePackageNames>org.apache.hadoop.hbase.tmpl.common:com.google.protobuf:org.apache.hadoop.hbase.spark:org.apache.hadoop.hbase.generated*</excludePackageNames>
3353               <show>private</show> <!-- (shows all classes and members) -->
3354               <quiet>true</quiet>
3355               <linksource>true</linksource>
3356               <sourcetab>2</sourcetab>
3357               <validateLinks>true</validateLinks>
3358               <fixClassComment>true</fixClassComment>
3359               <fixFieldComment>true</fixFieldComment>
3360               <fixMethodComment>true</fixMethodComment>
3361               <fixTags>all</fixTags>
3362               <notimestamp>true</notimestamp>
3363               <!-- Pass some options straight to the javadoc executable since it is easier -->
3364               <additionalJOption>-J-Xmx2G</additionalJOption>
3365               <!-- JDK8 javadoc requires test scope transitive dependencies due to our custom doclet -->
3366               <additionalDependencies>
3367                 <additionalDependency>
3368                   <groupId>org.mockito</groupId>
3369                   <artifactId>mockito-all</artifactId>
3370                   <version>${mockito-all.version}</version>
3371                 </additionalDependency>
3372                 <additionalDependency>
3373                   <groupId>org.hamcrest</groupId>
3374                   <artifactId>hamcrest-core</artifactId>
3375                   <version>${hamcrest.version}</version>
3376                 </additionalDependency>
3377               </additionalDependencies>
3378               <inherited>false</inherited>
3379             </configuration>
3380           </reportSet>
3382           <!-- User API -->
3383           <reportSet>
3384             <id>userapi</id>
3385             <reports>
3386               <report>aggregate</report>
3387             </reports>
3388             <configuration>
3389               <doclet>
3390                 org.apache.yetus.audience.tools.IncludePublicAnnotationsStandardDoclet
3391               </doclet>
3392               <docletArtifact>
3393                 <groupId>org.apache.yetus</groupId>
3394                 <artifactId>audience-annotations</artifactId>
3395                 <version>${audience-annotations.version}</version>
3396               </docletArtifact>
3397               <useStandardDocletOptions>true</useStandardDocletOptions>
3398               <destDir>apidocs</destDir>
3399               <name>User API</name>
3400               <description>The HBase Application Programmer's API</description>
3401               <excludePackageNames>
3402                 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*
3403               </excludePackageNames>
3404               <!-- switch on dependency-driven aggregation -->
3405               <includeDependencySources>false</includeDependencySources>
3406               <sourceFilesExclude>**/generated/*</sourceFilesExclude>
3407               <show>protected</show> <!-- (shows only public and protected classes and members) -->
3408               <quiet>true</quiet>
3409               <linksource>true</linksource>
3410               <sourcetab>2</sourcetab>
3411               <validateLinks>true</validateLinks>
3412               <fixClassComment>true</fixClassComment>
3413               <fixFieldComment>true</fixFieldComment>
3414               <fixMethodComment>true</fixMethodComment>
3415               <fixTags>all</fixTags>
3416               <notimestamp>true</notimestamp>
3417               <!-- Pass some options straight to the javadoc executable since it is easier -->
3418               <additionalJOption>-J-Xmx2G</additionalJOption>
3419               <!-- JDK8 javadoc requires test scope transitive dependencies due to our custom doclet -->
3420               <additionalDependencies>
3421                 <additionalDependency>
3422                   <groupId>org.mockito</groupId>
3423                   <artifactId>mockito-all</artifactId>
3424                   <version>${mockito-all.version}</version>
3425                 </additionalDependency>
3426                 <additionalDependency>
3427                   <groupId>org.hamcrest</groupId>
3428                   <artifactId>hamcrest-core</artifactId>
3429                   <version>${hamcrest.version}</version>
3430                 </additionalDependency>
3431               </additionalDependencies>
3432               <inherited>false</inherited>
3433             </configuration>
3434           </reportSet>
3435           <!-- User Test API -->
3436           <reportSet>
3437             <id>testuserapi</id>
3438             <reports>
3439               <report>test-aggregate</report>
3440             </reports>
3441             <configuration>
3442               <doclet>
3443                 org.apache.yetus.audience.tools.IncludePublicAnnotationsStandardDoclet
3444               </doclet>
3445               <docletArtifact>
3446                 <groupId>org.apache.yetus</groupId>
3447                 <artifactId>audience-annotations</artifactId>
3448                 <version>${audience-annotations.version}</version>
3449               </docletArtifact>
3450               <useStandardDocletOptions>true</useStandardDocletOptions>
3451               <destDir>testapidocs</destDir>
3452               <name>User API</name>
3453               <description>The HBase Application Programmer's API</description>
3454               <excludePackageNames>
3455                 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*
3456               </excludePackageNames>
3457               <!-- switch on dependency-driven aggregation -->
3458               <includeDependencySources>false</includeDependencySources>
3459               <sourceFilesExclude>**/generated/*</sourceFilesExclude>
3460               <show>protected</show> <!-- (shows only public and protected classes and members) -->
3461               <quiet>true</quiet>
3462               <linksource>true</linksource>
3463               <sourcetab>2</sourcetab>
3464               <validateLinks>true</validateLinks>
3465               <fixClassComment>true</fixClassComment>
3466               <fixFieldComment>true</fixFieldComment>
3467               <fixMethodComment>true</fixMethodComment>
3468               <fixTags>all</fixTags>
3469               <notimestamp>true</notimestamp>
3470               <!-- Pass some options straight to the javadoc executable since it is easier -->
3471               <additionalJOption>-J-Xmx2G</additionalJOption>
3472               <!-- JDK8 javadoc requires test scope transitive dependencies due to our custom doclet -->
3473               <additionalDependencies>
3474                 <additionalDependency>
3475                   <groupId>org.mockito</groupId>
3476                   <artifactId>mockito-all</artifactId>
3477                   <version>${mockito-all.version}</version>
3478                 </additionalDependency>
3479                 <additionalDependency>
3480                   <groupId>org.hamcrest</groupId>
3481                   <artifactId>hamcrest-core</artifactId>
3482                   <version>${hamcrest.version}</version>
3483                 </additionalDependency>
3484               </additionalDependencies>
3485               <inherited>false</inherited>
3486             </configuration>
3487           </reportSet>
3488         </reportSets>
3489       </plugin>
3491       <plugin>
3492         <groupId>org.apache.maven.plugins</groupId>
3493         <artifactId>maven-checkstyle-plugin</artifactId>
3494         <version>${maven.checkstyle.version}</version>
3495         <configuration>
3496           <excludes>target/**</excludes>
3497           <configLocation>hbase/checkstyle.xml</configLocation>
3498           <suppressionsLocation>hbase/checkstyle-suppressions.xml</suppressionsLocation>
3499         </configuration>
3500       </plugin>
3502       <plugin>
3503         <groupId>org.scala-tools</groupId>
3504         <artifactId>maven-scala-plugin</artifactId>
3505       </plugin>
3506     </plugins>
3507   </reporting>
3508   <distributionManagement>
3509     <site>
3510       <id>hbase.apache.org</id>
3511       <name>HBase Website at hbase.apache.org</name>
3512       <!-- On why this is the tmp dir and not hbase.apache.org, see
3513                https://issues.apache.org/jira/browse/HBASE-7593?focusedCommentId=13555866&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13555866
3514                -->
3515       <url>file:///tmp</url>
3516     </site>
3517   </distributionManagement>
3518   <repositories>
3519     <repository>
3520         <id>project.local</id>
3521         <name>project</name>
3522         <url>file:${project.basedir}/src/site/resources/repo</url>
3523     </repository>
3524 </repositories>
3525 </project>