Preparing development version 2.4.2-SNAPSHOT
[hbase.git] / hbase-external-blockcache / pom.xml
blob1185b5fa111fe59349bc1a560b4e8a373e747f95
1 <?xml version="1.0"?>
2 <project xmlns="https://maven.apache.org/POM/4.0.0"
3          xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
4          xsi:schemaLocation="https://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
5   <!--
6 /**
7  * Licensed to the Apache Software Foundation (ASF) under one
8  * or more contributor license agreements.  See the NOTICE file
9  * distributed with this work for additional information
10  * regarding copyright ownership.  The ASF licenses this file
11  * to you under the Apache License, Version 2.0 (the
12  * "License"); you may not use this file except in compliance
13  * with the License.  You may obtain a copy of the License at
14  *
15  *     http://www.apache.org/licenses/LICENSE-2.0
16  *
17  * Unless required by applicable law or agreed to in writing, software
18  * distributed under the License is distributed on an "AS IS" BASIS,
19  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20  * See the License for the specific language governing permissions and
21  * limitations under the License.
22  */
23 -->
24   <modelVersion>4.0.0</modelVersion>
25   <parent>
26     <artifactId>hbase-build-configuration</artifactId>
27     <groupId>org.apache.hbase</groupId>
28     <version>2.4.2-SNAPSHOT</version>
29     <relativePath>../hbase-build-configuration</relativePath>
30   </parent>
31   <artifactId>hbase-external-blockcache</artifactId>
32   <name>Apache HBase - External Block Cache</name>
33   <description>
34     HBase module that provides out of process block cache.
35     Currently Memcached is the reference implementation for external block cache.
37     External block caches allow HBase to take advantage of other more complex caches that can live
38     longer than the HBase regionserver process and are not necessarily tied to a single computer
39     life time. However external block caches add in extra operational overhead.
40   </description>
41 <!--REMOVE-->
43   <build>
44     <plugins>
45       <plugin>
46         <groupId>org.apache.maven.plugins</groupId>
47         <artifactId>maven-remote-resources-plugin</artifactId>
48       </plugin>
49       <plugin>
50         <!--Make it so assembly:single does nothing in here-->
51         <artifactId>maven-assembly-plugin</artifactId>
52         <configuration>
53           <skipAssembly>true</skipAssembly>
54         </configuration>
55       </plugin>
56       <plugin>
57         <groupId>org.codehaus.mojo</groupId>
58         <artifactId>build-helper-maven-plugin</artifactId>
59         <executions>
60           <!-- Add the generated sources -->
61           <execution>
62             <id>versionInfo-source</id>
63             <phase>generate-sources</phase>
64             <goals>
65               <goal>add-source</goal>
66             </goals>
67             <configuration>
68               <sources>
69                 <source>${project.build.directory}/generated-sources/java</source>
70               </sources>
71             </configuration>
72           </execution>
73         </executions>
74       </plugin>
75       <!-- Make a jar and put the sources in the jar -->
76       <plugin>
77         <groupId>org.apache.maven.plugins</groupId>
78         <artifactId>maven-source-plugin</artifactId>
79       </plugin>
80       <plugin>
81         <groupId>org.apache.maven.plugins</groupId>
82         <artifactId>maven-checkstyle-plugin</artifactId>
83         <configuration>
84           <failOnViolation>true</failOnViolation>
85         </configuration>
86       </plugin>
87       <plugin>
88         <groupId>net.revelc.code</groupId>
89         <artifactId>warbucks-maven-plugin</artifactId>
90       </plugin>
91     </plugins>
92   </build>
94   <dependencies>
95     <dependency>
96       <groupId>org.apache.hbase</groupId>
97       <artifactId>hbase-common</artifactId>
98     </dependency>
99     <dependency>
100       <groupId>org.apache.hbase</groupId>
101       <artifactId>hbase-server</artifactId>
102     </dependency>
103     <dependency>
104       <groupId>net.spy</groupId>
105       <artifactId>spymemcached</artifactId>
106       <optional>true</optional>
107     </dependency>
108     <dependency>
109       <groupId>org.slf4j</groupId>
110       <artifactId>slf4j-api</artifactId>
111     </dependency>
112     <dependency>
113       <groupId>org.apache.htrace</groupId>
114       <artifactId>htrace-core4</artifactId>
115     </dependency>
116     <dependency>
117       <groupId>junit</groupId>
118       <artifactId>junit</artifactId>
119       <scope>test</scope>
120     </dependency>
121   </dependencies>
123   <profiles>
124     <!-- Needs to make the profile in apache parent pom -->
125     <profile>
126       <id>apache-release</id>
127       <build>
128         <plugins>
129           <plugin>
130             <groupId>org.apache.maven.plugins</groupId>
131             <artifactId>maven-resources-plugin</artifactId>
132             <executions>
133               <execution>
134                 <id>license-javadocs</id>
135                 <phase>prepare-package</phase>
136                 <goals>
137                   <goal>copy-resources</goal>
138                 </goals>
139                 <configuration>
140                   <outputDirectory>${project.build.directory}/apidocs</outputDirectory>
141                   <resources>
142                     <resource>
143                       <directory>src/main/javadoc/META-INF/</directory>
144                       <targetPath>META-INF/</targetPath>
145                       <includes>
146                         <include>NOTICE</include>
147                       </includes>
148                       <filtering>true</filtering>
149                     </resource>
150                   </resources>
151                 </configuration>
152               </execution>
153             </executions>
154           </plugin>
155         </plugins>
156       </build>
157     </profile>
158     <!-- Skip the tests in this module -->
159     <profile>
160       <id>skipCommonTests</id>
161       <activation>
162         <property>
163           <name>skipCommonTests</name>
164         </property>
165       </activation>
166       <properties>
167         <surefire.skipFirstPart>true</surefire.skipFirstPart>
168       </properties>
169     </profile>
171     <!-- profile for building against Hadoop 2.x:  This is the default -->
172     <profile>
173       <id>hadoop-2.0</id>
174       <activation>
175         <property>
176           <!--Below formatting for dev-support/generate-hadoopX-poms.sh-->
177           <!--h2--><name>!hadoop.profile</name>
178         </property>
179       </activation>
180       <dependencies>
181         <dependency>
182           <groupId>org.apache.hadoop</groupId>
183           <artifactId>hadoop-common</artifactId>
184           <exclusions>
185             <exclusion>
186               <groupId>com.google.guava</groupId>
187               <artifactId>guava</artifactId>
188             </exclusion>
189           </exclusions>
190         </dependency>
191       </dependencies>
192       <build>
193         <plugins>
194           <plugin>
195             <artifactId>maven-dependency-plugin</artifactId>
196             <executions>
197               <execution>
198                 <id>create-mrapp-generated-classpath</id>
199                 <phase>generate-test-resources</phase>
200                 <goals>
201                   <goal>build-classpath</goal>
202                 </goals>
203                 <configuration>
204                   <!-- needed to run the unit test for DS to generate
205                   the required classpath that is required in the env
206                   of the launch container in the mini mr/yarn cluster
207                   -->
208                   <outputFile>${project.build.directory}/test-classes/mrapp-generated-classpath</outputFile>
209                 </configuration>
210               </execution>
211             </executions>
212           </plugin>
213         </plugins>
214       </build>
215     </profile>
217     <!--
218       profile for building against Hadoop 3.0.x. Activate using:
219        mvn -Dhadoop.profile=3.0
220     -->
221     <profile>
222       <id>hadoop-3.0</id>
223       <activation>
224         <property>
225           <name>hadoop.profile</name>
226           <value>3.0</value>
227         </property>
228       </activation>
229       <dependencies>
230         <dependency>
231           <groupId>org.apache.hadoop</groupId>
232           <artifactId>hadoop-common</artifactId>
233         </dependency>
234       </dependencies>
235       <build>
236         <plugins>
237           <plugin>
238             <artifactId>maven-dependency-plugin</artifactId>
239             <executions>
240               <execution>
241                 <id>create-mrapp-generated-classpath</id>
242                 <phase>generate-test-resources</phase>
243                 <goals>
244                   <goal>build-classpath</goal>
245                 </goals>
246                 <configuration>
247                   <!-- needed to run the unit test for DS to generate
248                   the required classpath that is required in the env
249                   of the launch container in the mini mr/yarn cluster
250                   -->
251                   <outputFile>${project.build.directory}/test-classes/mrapp-generated-classpath</outputFile>
252                 </configuration>
253               </execution>
254             </executions>
255           </plugin>
256         </plugins>
257       </build>
258     </profile>
259     <profile>
260       <id>eclipse-specific</id>
261       <activation>
262         <property>
263           <name>m2e.version</name>
264         </property>
265       </activation>
266       <build>
267         <pluginManagement>
268           <plugins>
269             <!--This plugin's configuration is used to store Eclipse m2e settings
270                  only. It has no influence on the Maven build itself. -->
271             <plugin>
272               <groupId>org.eclipse.m2e</groupId>
273               <artifactId>lifecycle-mapping</artifactId>
274               <configuration>
275                 <lifecycleMappingMetadata>
276                   <pluginExecutions>
277                     <pluginExecution>
278                       <pluginExecutionFilter>
279                         <groupId>org.apache.maven.plugins</groupId>
280                         <artifactId>maven-antrun-plugin</artifactId>
281                         <versionRange>[${maven.antrun.version}]</versionRange>
282                         <goals>
283                           <goal>run</goal>
284                         </goals>
285                       </pluginExecutionFilter>
286                       <action>
287                         <execute/>
288                       </action>
289                     </pluginExecution>
290                     <pluginExecution>
291                       <pluginExecutionFilter>
292                         <groupId>org.apache.maven.plugins</groupId>
293                         <artifactId>maven-dependency-plugin</artifactId>
294                         <versionRange>[2.8,)</versionRange>
295                         <goals>
296                           <goal>build-classpath</goal>
297                         </goals>
298                       </pluginExecutionFilter>
299                       <action>
300                         <ignore></ignore>
301                       </action>
302                     </pluginExecution>
303                   </pluginExecutions>
304                 </lifecycleMappingMetadata>
305               </configuration>
306             </plugin>
307           </plugins>
308         </pluginManagement>
309       </build>
310     </profile>
311   </profiles>
312 </project>