HBASE-19051 Add new split algorithm for num string
[hbase.git] / hbase-server / pom.xml
blob3a025d1b13405bb4bffc88b6004c120a2d3e73a3
1 <?xml version="1.0"?>
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/xsd/maven-4.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  */
21 -->
22   <modelVersion>4.0.0</modelVersion>
23   <parent>
24     <artifactId>hbase-build-configuration</artifactId>
25     <groupId>org.apache.hbase</groupId>
26     <version>3.0.0-SNAPSHOT</version>
27     <relativePath>../hbase-build-configuration</relativePath>
28   </parent>
29   <artifactId>hbase-server</artifactId>
30   <name>Apache HBase - Server</name>
31   <description>Server functionality for HBase</description>
32   <properties>
33     <test.build.webapps>target/test-classes/webapps</test.build.webapps>
34     <license.bundles.logo>true</license.bundles.logo>
35     <license.bundles.bootstrap>true</license.bundles.bootstrap>
36     <license.bundles.jquery>true</license.bundles.jquery>
37   </properties>
38   <build>
39     <!-- Makes sure the resources get added before they are processed
40       by placing this first -->
41     <resources>
42       <!-- Add the build webabpps to the classpth -->
43       <resource>
44         <directory>${project.build.directory}</directory>
45         <includes>
46           <include>hbase-webapps/**</include>
47         </includes>
48       </resource>
49     </resources>
50     <testResources>
51       <!-- Our test artifact has different license info than our source/bin ones -->
52       <testResource>
53         <directory>src/test/resources/META-INF/</directory>
54         <targetPath>META-INF/</targetPath>
55         <includes>
56           <include>NOTICE</include>
57         </includes>
58         <filtering>true</filtering>
59       </testResource>
60       <testResource>
61         <directory>src/test/resources</directory>
62         <includes>
63           <include>**/**</include>
64         </includes>
65       </testResource>
66     </testResources>
67     <plugins>
68       <plugin>
69         <groupId>org.apache.maven.plugins</groupId>
70         <artifactId>maven-site-plugin</artifactId>
71         <configuration>
72           <skip>true</skip>
73         </configuration>
74       </plugin>
75       <!-- licensing info from our bundled works -->
76       <plugin>
77         <groupId>org.apache.maven.plugins</groupId>
78         <artifactId>maven-remote-resources-plugin</artifactId>
79         <version>1.5</version>
80         <executions>
81           <execution>
82             <id>default</id>
83             <configuration>
84               <attachToTest>false</attachToTest>
85               <properties>
86                 <copyright-end-year>${build.year}</copyright-end-year>
87                 <debug-print-included-work-info>${license.debug.print.included}</debug-print-included-work-info>
88                 <bundled-dependencies>${license.bundles.dependencies}</bundled-dependencies>
89                 <bundled-jquery>${license.bundles.jquery}</bundled-jquery>
90                 <bundled-logo>${license.bundles.logo}</bundled-logo>
91                 <bundled-bootstrap>${license.bundles.bootstrap}</bundled-bootstrap>
92               </properties>
93               <resourceBundles>
94                 <resourceBundle>${project.groupId}:hbase-resource-bundle:${project.version}</resourceBundle>
95               </resourceBundles>
96               <supplementalModelArtifacts>
97                 <supplementalModelArtifact>${project.groupId}:hbase-resource-bundle:${project.version}</supplementalModelArtifact>
98               </supplementalModelArtifacts>
99               <supplementalModels>
100                 <supplementalModel>supplemental-models.xml</supplementalModel>
101               </supplementalModels>
102             </configuration>
103           </execution>
104         </executions>
105       </plugin>
106       <!-- Run with -Dmaven.test.skip.exec=true to build -tests.jar without running
107         tests (this is needed for upstream projects whose tests need this jar simply for
108         compilation) -->
109       <plugin>
110         <!--Make it so assembly:single does nothing in here-->
111         <artifactId>maven-assembly-plugin</artifactId>
112         <configuration>
113           <skipAssembly>true</skipAssembly>
114         </configuration>
115       </plugin>
116       <plugin>
117         <groupId>org.apache.maven.plugins</groupId>
118         <artifactId>maven-jar-plugin</artifactId>
119         <configuration>
120           <!-- Exclude these 2 packages, because their dependency _binary_ files
121             include the sources, and Maven 2.2 appears to add them to the sources to compile,
122             weird -->
123           <excludes>
124             <exclude>org/apache/jute/**</exclude>
125             <exclude>org/apache/zookeeper/**</exclude>
126             <exclude>**/*.jsp</exclude>
127             <exclude>hbase-site.xml</exclude>
128             <exclude>hdfs-site.xml</exclude>
129             <exclude>log4j.properties</exclude>
130             <exclude>mapred-queues.xml</exclude>
131             <exclude>mapred-site.xml</exclude>
132           </excludes>
133         </configuration>
134       </plugin>
135       <!-- Make a jar and put the sources in the jar -->
136       <plugin>
137         <groupId>org.apache.maven.plugins</groupId>
138         <artifactId>maven-source-plugin</artifactId>
139         <executions>
140           <execution>
141             <phase>package</phase>
142             <goals>
143               <goal>jar</goal>
144               <goal>test-jar</goal>
145             </goals>
146           </execution>
147         </executions>
148       </plugin>
149       <!-- General ant tasks, bound to different build phases -->
150       <plugin>
151         <artifactId>maven-antrun-plugin</artifactId>
152         <executions>
153           <!-- Generate web app sources -->
154           <execution>
155             <id>generate</id>
156             <phase>generate-sources</phase>
157             <configuration>
158               <target>
159                 <property name="build.webapps" location="${project.build.directory}/hbase-webapps"/>
160                 <property name="src.webapps" location="${basedir}/src/main/resources/hbase-webapps"/>
161                 <property name="generated.sources" location="${project.build.directory}/generated-sources"/>
162                 <mkdir dir="${build.webapps}"/>
163                 <copy todir="${build.webapps}">
164                   <fileset dir="${src.webapps}">
165                     <exclude name="**/*.jsp"/>
166                     <exclude name="**/.*"/>
167                     <exclude name="**/*~"/>
168                   </fileset>
169                 </copy>
170                 <!--The compile.classpath is passed in by maven -->
171                 <taskdef classname="org.apache.jasper.JspC" name="jspcompiler" classpathref="maven.compile.classpath"/>
172                 <mkdir dir="${build.webapps}/master/WEB-INF"/>
173                 <jspcompiler uriroot="${src.webapps}/master" outputdir="${generated.sources}/java" package="org.apache.hadoop.hbase.generated.master" webxml="${build.webapps}/master/WEB-INF/web.xml"/>
174                 <mkdir dir="${build.webapps}/regionserver/WEB-INF"/>
175                 <jspcompiler uriroot="${src.webapps}/regionserver" outputdir="${generated.sources}/java" package="org.apache.hadoop.hbase.generated.regionserver" webxml="${build.webapps}/regionserver/WEB-INF/web.xml"/>
176               </target>
177             </configuration>
178             <goals>
179               <goal>run</goal>
180             </goals>
181           </execution>
182         </executions>
183       </plugin>
184       <plugin>
185         <groupId>org.codehaus.mojo</groupId>
186         <artifactId>build-helper-maven-plugin</artifactId>
187         <executions>
188           <!-- Add the generated sources -->
189           <execution>
190             <id>jspcSource-packageInfo-source</id>
191             <phase>generate-sources</phase>
192             <goals>
193               <goal>add-source</goal>
194             </goals>
195             <configuration>
196               <sources>
197                 <source>${project.build.directory}/generated-jamon</source>
198                 <source>${project.build.directory}/generated-sources/java</source>
199               </sources>
200             </configuration>
201           </execution>
202         </executions>
203       </plugin>
204       <plugin>
205         <groupId>org.jamon</groupId>
206         <artifactId>jamon-maven-plugin</artifactId>
207         <executions>
208           <execution>
209             <phase>generate-sources</phase>
210             <goals>
211               <goal>translate</goal>
212             </goals>
213             <configuration>
214               <templateSourceDir>src/main/jamon</templateSourceDir>
215               <templateOutputDir>target/generated-jamon</templateOutputDir>
216             </configuration>
217           </execution>
218         </executions>
219       </plugin>
220       <!-- General plugins -->
221       <plugin>
222         <groupId>org.apache.maven.plugins</groupId>
223         <artifactId>maven-eclipse-plugin</artifactId>
224         <configuration>
225           <additionalProjectnatures>
226             <projectnature>org.jamon.project.jamonnature</projectnature>
227           </additionalProjectnatures>
228           <buildcommands>
229             <buildcommand>org.jamon.project.templateBuilder</buildcommand>
230             <buildcommand>org.eclipse.jdt.core.javabuilder</buildcommand>
231             <buildcommand>org.jamon.project.markerUpdater</buildcommand>
232           </buildcommands>
233           <additionalConfig>
234             <file>
235               <name>.settings/org.jamon.prefs</name>
236               <content># now
237                 eclipse.preferences.version=1
238                 templateSourceDir=src/main/jamon
239                 templateOutputDir=target/generated-jamon
240               </content>
241             </file>
242           </additionalConfig>
243         </configuration>
244       </plugin>
245       <!-- Run findbugs -->
246       <plugin>
247         <groupId>org.codehaus.mojo</groupId>
248         <artifactId>findbugs-maven-plugin</artifactId>
249       </plugin>
250       <!-- Testing plugins -->
251       <plugin>
252         <artifactId>maven-surefire-plugin</artifactId>
253         <configuration>
254           <properties>
255             <property>
256               <name>listener</name>
257               <value>org.apache.hadoop.hbase.ServerResourceCheckerJUnitListener</value>
258             </property>
259           </properties>
260           <systemPropertyVariables>
261             <test.build.webapps>target/test-classes/webapps</test.build.webapps>
262             <org.apache.hadoop.hbase.shaded.io.netty.packagePrefix>org.apache.hadoop.hbase.shaded.</org.apache.hadoop.hbase.shaded.io.netty.packagePrefix>
263           </systemPropertyVariables>
264         </configuration>
265       </plugin>
266     </plugins>
267     <!-- General Resources -->
268     <pluginManagement>
269        <plugins>
270          <!--This plugin's configuration is used to store Eclipse m2e settings
271              only. It has no influence on the Maven build itself and needs to
272              be kept in plugin management, not in the actual plugins. -->
273         <plugin>
274           <groupId>org.eclipse.m2e</groupId>
275           <artifactId>lifecycle-mapping</artifactId>
276           <configuration>
277             <lifecycleMappingMetadata>
278               <pluginExecutions>
279                 <pluginExecution>
280                   <pluginExecutionFilter>
281                     <groupId>org.jamon</groupId>
282                     <artifactId>jamon-maven-plugin</artifactId>
283                     <versionRange>[2.3.4,)</versionRange>
284                     <goals>
285                       <goal>translate</goal>
286                     </goals>
287                   </pluginExecutionFilter>
288                   <action>
289                       <execute>
290                         <runOnIncremental>false</runOnIncremental>
291                         <runOnConfiguration>true</runOnConfiguration>
292                       </execute>
293                   </action>
294                 </pluginExecution>
295                 <pluginExecution>
296                   <pluginExecutionFilter>
297                     <groupId>org.apache.maven.plugins</groupId>
298                     <artifactId>maven-antrun-plugin</artifactId>
299                     <versionRange>[1.6,)</versionRange>
300                     <goals>
301                       <goal>run</goal>
302                     </goals>
303                   </pluginExecutionFilter>
304                   <action>
305                     <execute>
306                       <runOnIncremental>false</runOnIncremental>
307                       <runOnConfiguration>true</runOnConfiguration>
308                     </execute>
309                   </action>
310                 </pluginExecution>
311                 <pluginExecution>
312                   <pluginExecutionFilter>
313                     <groupId>org.apache.maven.plugins</groupId>
314                     <artifactId>maven-dependency-plugin</artifactId>
315                     <versionRange>[2.8,)</versionRange>
316                     <goals>
317                       <goal>build-classpath</goal>
318                     </goals>
319                   </pluginExecutionFilter>
320                   <action>
321                     <ignore></ignore>
322                   </action>
323                 </pluginExecution>
324                 <pluginExecution>
325                   <pluginExecutionFilter>
326                     <groupId>org.apache.maven.plugins</groupId>
327                     <artifactId>maven-compiler-plugin</artifactId>
328                     <versionRange>[3.2,)</versionRange>
329                     <goals>
330                       <goal>compile</goal>
331                     </goals>
332                   </pluginExecutionFilter>
333                   <action>
334                     <ignore></ignore>
335                   </action>
336                 </pluginExecution>
337               </pluginExecutions>
338             </lifecycleMappingMetadata>
339           </configuration>
340         </plugin>
341       </plugins>
342     </pluginManagement>
343   </build>
344   <dependencies>
345     <dependency>
346       <groupId>org.apache.hbase.thirdparty</groupId>
347       <artifactId>hbase-shaded-protobuf</artifactId>
348     </dependency>
349     <dependency>
350       <groupId>org.apache.hbase.thirdparty</groupId>
351       <artifactId>hbase-shaded-netty</artifactId>
352     </dependency>
353     <dependency>
354       <groupId>org.apache.hbase.thirdparty</groupId>
355       <artifactId>hbase-shaded-miscellaneous</artifactId>
356     </dependency>
357     <!-- Intra-project dependencies -->
358     <dependency>
359       <groupId>org.apache.hbase</groupId>
360       <artifactId>hbase-common</artifactId>
361     </dependency>
362     <dependency>
363       <!--Needed by the visiblity tags and acl CPEP things
364            in here in hbase-server (that should be out in hbase-endpoints
365            or integrated). -->
366       <groupId>org.apache.hbase</groupId>
367       <artifactId>hbase-protocol</artifactId>
368     </dependency>
369     <dependency>
370       <groupId>org.apache.hbase</groupId>
371       <artifactId>hbase-protocol-shaded</artifactId>
372     </dependency>
373     <dependency>
374       <groupId>org.apache.hbase</groupId>
375       <artifactId>hbase-procedure</artifactId>
376     </dependency>
377     <dependency>
378       <groupId>org.apache.hbase</groupId>
379       <artifactId>hbase-client</artifactId>
380     </dependency>
381     <dependency>
382       <groupId>org.apache.hbase</groupId>
383       <artifactId>hbase-replication</artifactId>
384     </dependency>
385     <dependency>
386       <groupId>org.apache.hbase</groupId>
387       <artifactId>hbase-prefix-tree</artifactId>
388       <scope>runtime</scope>
389     </dependency>
390     <dependency>
391       <groupId>org.apache.hbase</groupId>
392       <artifactId>hbase-common</artifactId>
393       <type>test-jar</type>
394       <scope>test</scope>
395     </dependency>
396     <dependency>
397       <groupId>org.apache.hbase</groupId>
398       <artifactId>hbase-annotations</artifactId>
399       <type>test-jar</type>
400       <scope>test</scope>
401     </dependency>
402     <dependency>
403       <groupId>org.apache.hbase</groupId>
404       <artifactId>hbase-procedure</artifactId>
405       <type>test-jar</type>
406       <scope>test</scope>
407     </dependency>
408     <dependency>
409       <groupId>org.apache.hbase</groupId>
410       <artifactId>hbase-metrics-api</artifactId>
411     </dependency>
412     <dependency>
413       <groupId>org.apache.hbase</groupId>
414       <artifactId>hbase-metrics</artifactId>
415     </dependency>
416     <!-- resource bundle only needed at build time -->
417     <dependency>
418       <groupId>org.apache.hbase</groupId>
419       <artifactId>hbase-resource-bundle</artifactId>
420       <version>${project.version}</version>
421       <optional>true</optional>
422     </dependency>
423     <dependency>
424       <groupId>commons-codec</groupId>
425       <artifactId>commons-codec</artifactId>
426     </dependency>
427     <dependency>
428       <groupId>org.apache.commons</groupId>
429       <artifactId>commons-collections4</artifactId>
430     </dependency>
431     <dependency>
432       <groupId>org.apache.hbase</groupId>
433       <artifactId>hbase-hadoop-compat</artifactId>
434     </dependency>
435     <dependency>
436       <groupId>org.apache.hbase</groupId>
437       <artifactId>hbase-hadoop-compat</artifactId>
438       <type>test-jar</type>
439       <scope>test</scope>
440     </dependency>
441     <dependency>
442       <groupId>org.apache.hbase</groupId>
443       <artifactId>${compat.module}</artifactId>
444       <version>${project.version}</version>
445     </dependency>
446     <dependency>
447       <groupId>org.apache.hbase</groupId>
448       <artifactId>${compat.module}</artifactId>
449       <version>${project.version}</version>
450       <type>test-jar</type>
451       <scope>test</scope>
452     </dependency>
453     <dependency>
454       <groupId>org.eclipse.jetty</groupId>
455       <artifactId>jetty-server</artifactId>
456     </dependency>
457     <dependency>
458       <groupId>org.eclipse.jetty</groupId>
459       <artifactId>jetty-servlet</artifactId>
460     </dependency>
461     <dependency>
462       <groupId>org.eclipse.jetty</groupId>
463       <artifactId>jetty-util</artifactId>
464     </dependency>
465     <dependency>
466       <groupId>org.eclipse.jetty</groupId>
467       <artifactId>jetty-util-ajax</artifactId>
468     </dependency>
469     <dependency>
470       <groupId>org.eclipse.jetty</groupId>
471       <artifactId>jetty-jsp</artifactId>
472     </dependency>
473     <dependency>
474       <groupId>org.eclipse.jetty</groupId>
475       <artifactId>jetty-webapp</artifactId>
476     </dependency>
477     <dependency>
478       <groupId>org.eclipse.jetty</groupId>
479       <artifactId>jetty-http</artifactId>
480     </dependency>
481     <dependency>
482       <groupId>org.eclipse.jetty</groupId>
483       <artifactId>jetty-security</artifactId>
484     </dependency>
485     <dependency>
486       <groupId>com.fasterxml.jackson.core</groupId>
487       <artifactId>jackson-databind</artifactId>
488     </dependency>
489     <dependency>
490       <groupId>org.glassfish.jersey.containers</groupId>
491       <artifactId>jersey-container-servlet-core</artifactId>
492     </dependency>
493     <dependency>
494       <!--For JspC used in ant task-->
495       <groupId>org.glassfish.web</groupId>
496       <artifactId>javax.servlet.jsp</artifactId>
497     </dependency>
498     <!-- Specifically needed for jetty-jsp, included
499          to bypass version scanning that hits a bad repo
500          see HBASE-18831 -->
501     <dependency>
502       <groupId>org.glassfish</groupId>
503       <artifactId>javax.el</artifactId>
504     </dependency>
505     <dependency>
506       <groupId>org.codehaus.jettison</groupId>
507       <artifactId>jettison</artifactId>
508         <exclusions>
509           <exclusion>
510             <groupId>stax</groupId>
511             <artifactId>stax-api</artifactId>
512           </exclusion>
513         </exclusions>
514     </dependency>
515     <!-- General dependencies -->
516     <dependency>
517        <groupId>com.github.stephenc.findbugs</groupId>
518        <artifactId>findbugs-annotations</artifactId>
519        <optional>true</optional>
520     </dependency>
521     <dependency>
522       <groupId>io.dropwizard.metrics</groupId>
523       <artifactId>metrics-core</artifactId>
524     </dependency>
525     <dependency>
526       <groupId>com.google.protobuf</groupId>
527       <artifactId>protobuf-java</artifactId>
528     </dependency>
529     <dependency>
530       <groupId>commons-cli</groupId>
531       <artifactId>commons-cli</artifactId>
532     </dependency>
533     <dependency>
534       <groupId>commons-io</groupId>
535       <artifactId>commons-io</artifactId>
536     </dependency>
537     <dependency>
538       <groupId>org.apache.commons</groupId>
539       <artifactId>commons-lang3</artifactId>
540     </dependency>
541     <dependency>
542       <groupId>commons-logging</groupId>
543       <artifactId>commons-logging</artifactId>
544     </dependency>
545     <dependency>
546       <groupId>org.apache.commons</groupId>
547       <artifactId>commons-math3</artifactId>
548     </dependency>
549     <dependency>
550       <groupId>log4j</groupId>
551       <artifactId>log4j</artifactId>
552     </dependency>
553     <dependency>
554       <groupId>org.apache.zookeeper</groupId>
555       <artifactId>zookeeper</artifactId>
556     </dependency>
557     <dependency>
558       <groupId>org.jamon</groupId>
559       <artifactId>jamon-runtime</artifactId>
560     </dependency>
561     <dependency>
562       <groupId>javax.servlet</groupId>
563       <artifactId>javax.servlet-api</artifactId>
564     </dependency>
565     <dependency>
566       <groupId>javax.ws.rs</groupId>
567       <artifactId>javax.ws.rs-api</artifactId>
568     </dependency>
570     <!-- tracing Dependencies -->
571     <dependency>
572       <groupId>org.apache.htrace</groupId>
573       <artifactId>htrace-core</artifactId>
574     </dependency>
575     <dependency>
576       <groupId>com.lmax</groupId>
577       <artifactId>disruptor</artifactId>
578     </dependency>
579     <!-- Test dependencies -->
580     <dependency>
581       <groupId>org.hamcrest</groupId>
582       <artifactId>hamcrest-core</artifactId>
583       <scope>test</scope>
584     </dependency>
585     <dependency>
586       <groupId>org.apache.hadoop</groupId>
587       <artifactId>hadoop-minikdc</artifactId>
588       <scope>test</scope>
589     </dependency>
590     <dependency>
591       <groupId>org.bouncycastle</groupId>
592       <artifactId>bcprov-jdk16</artifactId>
593       <scope>test</scope>
594     </dependency>
595     <dependency>
596       <groupId>org.apache.kerby</groupId>
597       <artifactId>kerb-client</artifactId>
598       <scope>test</scope>
599     </dependency>
600     <dependency>
601       <groupId>org.apache.kerby</groupId>
602       <artifactId>kerb-simplekdc</artifactId>
603       <scope>test</scope>
604     </dependency>
605     <dependency>
606       <groupId>org.apache.httpcomponents</groupId>
607       <artifactId>httpclient</artifactId>
608       <scope>test</scope>
609     </dependency>
610     <dependency>
611       <groupId>org.apache.httpcomponents</groupId>
612       <artifactId>httpcore</artifactId>
613       <scope>test</scope>
614     </dependency>
615     <dependency>
616       <groupId>org.apache.commons</groupId>
617       <artifactId>commons-crypto</artifactId>
618       <version>${commons-crypto.version}</version>
619       <exclusions>
620         <exclusion>
621           <groupId>net.java.dev.jna</groupId>
622           <artifactId>jna</artifactId>
623         </exclusion>
624       </exclusions>
625     </dependency>
626     <dependency>
627       <groupId>junit</groupId>
628       <artifactId>junit</artifactId>
629       <scope>test</scope>
630     </dependency>
631     <dependency>
632       <groupId>org.mockito</groupId>
633       <artifactId>mockito-all</artifactId>
634       <scope>test</scope>
635     </dependency>
636   </dependencies>
637   <profiles>
638     <!-- Needs to make the profile in apache parent pom -->
639     <profile>
640       <id>apache-release</id>
641       <build>
642         <plugins>
643           <plugin>
644             <groupId>org.apache.maven.plugins</groupId>
645             <artifactId>maven-resources-plugin</artifactId>
646             <executions>
647               <execution>
648                 <id>license-javadocs</id>
649                 <phase>prepare-package</phase>
650                 <goals>
651                   <goal>copy-resources</goal>
652                 </goals>
653                 <configuration>
654                   <outputDirectory>${project.build.directory}/apidocs</outputDirectory>
655                   <resources>
656                     <resource>
657                       <directory>src/main/javadoc/META-INF/</directory>
658                       <targetPath>META-INF/</targetPath>
659                       <includes>
660                         <include>LICENSE</include>
661                         <include>NOTICE</include>
662                       </includes>
663                       <filtering>true</filtering>
664                     </resource>
665                   </resources>
666                 </configuration>
667               </execution>
668             </executions>
669           </plugin>
670         </plugins>
671       </build>
672     </profile>
673     <!-- Skip the tests in this module -->
674     <profile>
675       <id>skipServerTests</id>
676       <activation>
677         <property>
678           <name>skipServerTests</name>
679         </property>
680       </activation>
681       <properties>
682         <surefire.skipFirstPart>true</surefire.skipFirstPart>
683         <surefire.skipSecondPart>true</surefire.skipSecondPart>
684       </properties>
685     </profile>
686     <!-- Special builds -->
687     <profile>
688       <id>native</id>
689       <activation>
690         <activeByDefault>false</activeByDefault>
691       </activation>
692       <build>
693         <plugins>
694           <plugin>
695             <groupId>org.apache.maven.plugins</groupId>
696             <artifactId>maven-antrun-plugin</artifactId>
697             <executions>
698               <execution>
699                 <id>make</id>
700                 <phase>compile</phase>
701                 <goals><goal>run</goal></goals>
702                 <configuration>
703                   <target>
704                     <mkdir dir="${project.build.directory}/native"/>
705                     <exec executable="cmake" dir="${project.build.directory}/native" failonerror="true">
706                       <arg line="${basedir}/src/main/native -DJVM_ARCH_DATA_MODEL=${sun.arch.data.model}"/>
707                     </exec>
708                     <exec executable="make" dir="${project.build.directory}/native" failonerror="true">
709                       <arg line="VERBOSE=1"/>
710                     </exec>
711                   </target>
712                 </configuration>
713               </execution>
714             </executions>
715           </plugin>
716         </plugins>
717       </build>
718     </profile>
719     <!-- Profiles for building against different hadoop versions -->
720     <!-- There are a lot of common dependencies used here, should investigate
721     if we can combine these profiles somehow -->
723     <!-- profile for building against Hadoop 2.x.  This is the default.  -->
724     <profile>
725       <id>hadoop-2.0</id>
726       <activation>
727         <property>
728             <!--Below formatting for dev-support/generate-hadoopX-poms.sh-->
729             <!--h2--><name>!hadoop.profile</name>
730         </property>
731       </activation>
732       <dependencies>
733         <dependency>
734           <groupId>org.apache.hadoop</groupId>
735           <artifactId>hadoop-distcp</artifactId>
736           <version>${hadoop-two.version}</version>
737         </dependency>
738         <dependency>
739           <groupId>org.apache.hadoop</groupId>
740           <artifactId>hadoop-common</artifactId>
741         </dependency>
742         <dependency>
743           <groupId>org.apache.hadoop</groupId>
744           <artifactId>hadoop-auth</artifactId>
745         </dependency>
746         <dependency>
747           <groupId>org.apache.hadoop</groupId>
748           <artifactId>hadoop-annotations</artifactId>
749           <version>${hadoop-two.version}</version>
750         </dependency>
751         <dependency>
752           <groupId>org.apache.hadoop</groupId>
753           <artifactId>hadoop-client</artifactId>
754           <exclusions>
755             <exclusion>
756               <groupId>com.google.guava</groupId>
757               <artifactId>guava</artifactId>
758             </exclusion>
759           </exclusions>
760         </dependency>
761         <dependency>
762           <groupId>org.apache.hadoop</groupId>
763           <artifactId>hadoop-mapreduce-client-core</artifactId>
764           <exclusions>
765             <exclusion>
766               <groupId>com.google.guava</groupId>
767               <artifactId>guava</artifactId>
768             </exclusion>
769           </exclusions>
770         </dependency>
771         <dependency>
772           <groupId>org.apache.hadoop</groupId>
773           <artifactId>hadoop-mapreduce-client-jobclient</artifactId>
774           <type>test-jar</type>
775           <scope>test</scope>
776           <exclusions>
777             <exclusion>
778               <groupId>com.google.guava</groupId>
779               <artifactId>guava</artifactId>
780             </exclusion>
781           </exclusions>
782         </dependency>
783         <dependency>
784           <groupId>org.apache.hadoop</groupId>
785           <artifactId>hadoop-hdfs</artifactId>
786           <exclusions>
787             <exclusion>
788               <groupId>com.google.guava</groupId>
789               <artifactId>guava</artifactId>
790             </exclusion>
791           </exclusions>
792         </dependency>
793         <dependency>
794           <groupId>org.apache.hadoop</groupId>
795           <artifactId>hadoop-hdfs</artifactId>
796           <type>test-jar</type>
797           <scope>test</scope>
798           <exclusions>
799             <exclusion>
800               <groupId>com.google.guava</groupId>
801               <artifactId>guava</artifactId>
802             </exclusion>
803           </exclusions>
804         </dependency>
805         <dependency>
806           <groupId>org.apache.hadoop</groupId>
807           <artifactId>hadoop-minicluster</artifactId>
808           <scope>test</scope>
809           <exclusions>
810             <exclusion>
811               <groupId>com.google.guava</groupId>
812               <artifactId>guava</artifactId>
813             </exclusion>
814           </exclusions>
815         </dependency>
816         <!-- Hadoop needs Netty 3.x at test scope for the minicluster -->
817         <dependency>
818           <groupId>io.netty</groupId>
819           <artifactId>netty</artifactId>
820           <version>${netty.hadoop.version}</version>
821           <scope>test</scope>
822         </dependency>
823       </dependencies>
824       <build>
825         <plugins>
826           <plugin>
827             <artifactId>maven-dependency-plugin</artifactId>
828             <executions>
829               <execution>
830                 <id>create-mrapp-generated-classpath</id>
831                 <phase>generate-test-resources</phase>
832                 <goals>
833                   <goal>build-classpath</goal>
834                 </goals>
835                 <configuration>
836                   <!-- needed to run the unit test for DS to generate
837                   the required classpath that is required in the env
838                   of the launch container in the mini mr/yarn cluster
839                   -->
840                   <outputFile>${project.build.directory}/test-classes/mrapp-generated-classpath</outputFile>
841                 </configuration>
842               </execution>
843             </executions>
844           </plugin>
845         </plugins>
846       </build>
847     </profile>
848     <!--
849       profile for building against Hadoop 3.0.x. Activate using:
850        mvn -Dhadoop.profile=3.0
851     -->
852     <profile>
853       <id>hadoop-3.0</id>
854       <activation>
855         <property>
856           <name>hadoop.profile</name>
857           <value>3.0</value>
858         </property>
859       </activation>
860       <properties>
861         <hadoop.version>${hadoop-three.version}</hadoop.version>
862       </properties>
863       <dependencies>
864         <dependency>
865           <groupId>org.apache.hadoop</groupId>
866           <artifactId>hadoop-distcp</artifactId>
867           <version>${hadoop-three.version}</version>
868         </dependency>
869         <dependency>
870           <groupId>org.apache.hadoop</groupId>
871           <artifactId>hadoop-common</artifactId>
872         </dependency>
873         <dependency>
874           <groupId>org.apache.hadoop</groupId>
875           <artifactId>hadoop-annotations</artifactId>
876           <version>${hadoop-three.version}</version>
877         </dependency>
878         <dependency>
879           <groupId>org.apache.hadoop</groupId>
880           <artifactId>hadoop-minicluster</artifactId>
881           <exclusions>
882             <exclusion>
883               <groupId>com.google.guava</groupId>
884               <artifactId>guava</artifactId>
885             </exclusion>
886           </exclusions>
887         </dependency>
888         <!-- Hadoop needs Netty 3.x at test scope for the minicluster -->
889         <dependency>
890           <groupId>io.netty</groupId>
891           <artifactId>netty</artifactId>
892           <version>${netty.hadoop.version}</version>
893           <scope>test</scope>
894         </dependency>
895       </dependencies>
896       <build>
897         <plugins>
898           <plugin>
899             <artifactId>maven-dependency-plugin</artifactId>
900             <executions>
901               <execution>
902                 <id>create-mrapp-generated-classpath</id>
903                 <phase>generate-test-resources</phase>
904                 <goals>
905                   <goal>build-classpath</goal>
906                 </goals>
907                 <configuration>
908                   <!-- needed to run the unit test for DS to generate
909                   the required classpath that is required in the env
910                   of the launch container in the mini mr/yarn cluster
911                   -->
912                   <outputFile>${project.build.directory}/test-classes/mrapp-generated-classpath</outputFile>
913                 </configuration>
914               </execution>
915             </executions>
916           </plugin>
917         </plugins>
918       </build>
919     </profile>
920   </profiles>
921 </project>