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