Preparing hbase release 2.4.8RC0; tagging and updates to CHANGES.md and RELEASENOTES.md
[hbase.git] / hbase-protocol / pom.xml
blobabe67ad1f5bfe81cb6667c4ff195c6ab318ee681
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>2.4.8</version>
27     <relativePath>../hbase-build-configuration</relativePath>
28   </parent>
29   <artifactId>hbase-protocol</artifactId>
30   <name>Apache HBase - Protocol</name>
31   <description>Protobuf protocol classes used by HBase to communicate.</description>
32   <properties>
33     <maven.javadoc.skip>true</maven.javadoc.skip>
34   </properties>
35   <build>
36     <plugins>
37       <!-- Make a jar and put the sources in the jar -->
38       <plugin>
39         <groupId>org.apache.maven.plugins</groupId>
40         <artifactId>maven-source-plugin</artifactId>
41       </plugin>
42       <plugin>
43         <!--Make it so assembly:single does nothing in here-->
44         <artifactId>maven-assembly-plugin</artifactId>
45         <configuration>
46           <skipAssembly>true</skipAssembly>
47         </configuration>
48       </plugin>
49       <plugin>
50         <artifactId>maven-surefire-plugin</artifactId>
51         <!-- Always skip the second part executions, since we only run simple unit tests in this module -->
52         <executions>
53           <execution>
54             <id>secondPartTestsExecution</id>
55             <phase>test</phase>
56             <goals>
57               <goal>test</goal>
58             </goals>
59             <configuration>
60               <skip>true</skip>
61             </configuration>
62           </execution>
63         </executions>
64       </plugin>
65       <plugin>
66         <groupId>org.xolstice.maven.plugins</groupId>
67         <artifactId>protobuf-maven-plugin</artifactId>
68         <executions>
69           <execution>
70             <id>compile-protoc</id>
71             <phase>generate-sources</phase>
72             <goals>
73               <goal>compile</goal>
74             </goals>
75           </execution>
76         </executions>
77       </plugin>
78       <plugin>
79         <groupId>net.revelc.code</groupId>
80         <artifactId>warbucks-maven-plugin</artifactId>
81       </plugin>
82       <plugin>
83         <groupId>com.google.code.maven-replacer-plugin</groupId>
84         <artifactId>replacer</artifactId>
85         <version>1.5.3</version>
86         <executions>
87           <execution>
88             <phase>generate-sources</phase>
89             <goals>
90               <goal>replace</goal>
91             </goals>
92           </execution>
93         </executions>
94         <configuration>
95           <basedir>${basedir}/target/generated-sources/</basedir>
96             <includes>
97                 <include>**/*.java</include>
98             </includes>
99             <replacements>
100               <replacement>
101                 <token>(public)(\W+static)?(\W+final)?(\W+class)</token>
102                 <value>@javax.annotation.Generated("proto") $1$2$3$4</value>
103               </replacement>
104               <!-- replacer doesn't support anchoring or negative lookbehind -->
105               <replacement>
106                 <token>(@javax.annotation.Generated\("proto"\) ){2}</token>
107                 <value>$1</value>
108               </replacement>
109             </replacements>
110         </configuration>
111       </plugin>
112     </plugins>
113   </build>
114   <dependencies>
115     <!-- General dependencies -->
116     <dependency>
117       <groupId>com.google.protobuf</groupId>
118       <artifactId>protobuf-java</artifactId>
119     </dependency>
120     <dependency>
121       <groupId>org.slf4j</groupId>
122       <artifactId>slf4j-api</artifactId>
123     </dependency>
124   </dependencies>
125   <profiles>
126     <!-- Skip the tests in this module -->
127     <profile>
128       <id>skipProtocolTests</id>
129       <activation>
130         <property>
131           <name>skipProtocolTests</name>
132         </property>
133       </activation>
134       <properties>
135         <surefire.skipFirstPart>true</surefire.skipFirstPart>
136         <surefire.skipSecondPart>true</surefire.skipSecondPart>
137       </properties>
138     </profile>
139     <profile>
140       <id>build-with-jdk11</id>
141       <activation>
142         <jdk>[1.11,)</jdk>
143       </activation>
144       <dependencies>
145         <dependency>
146           <groupId>javax.annotation</groupId>
147           <artifactId>javax.annotation-api</artifactId>
148         </dependency>
149       </dependencies>
150     </profile>
151     <profile>
152       <id>eclipse-specific</id>
153       <activation>
154         <property>
155           <name>m2e.version</name>
156         </property>
157       </activation>
158       <build>
159         <pluginManagement>
160           <plugins>
161             <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
162             <plugin>
163               <groupId>org.eclipse.m2e</groupId>
164               <artifactId>lifecycle-mapping</artifactId>
165               <version>1.0.0</version>
166               <configuration>
167                 <lifecycleMappingMetadata>
168                   <pluginExecutions>
169                     <pluginExecution>
170                       <pluginExecutionFilter>
171                         <groupId>org.apache.hadoop</groupId>
172                         <artifactId>hadoop-maven-plugins</artifactId>
173                         <versionRange>[2.0.5-alpha,)</versionRange>
174                         <goals>
175                           <goal>protoc</goal>
176                         </goals>
177                       </pluginExecutionFilter>
178                       <action>
179                         <ignore/>
180                       </action>
181                     </pluginExecution>
182                     <pluginExecution>
183                       <pluginExecutionFilter>
184                         <groupId>
185                           com.google.code.maven-replacer-plugin
186                         </groupId>
187                         <artifactId>replacer</artifactId>
188                         <versionRange>[1.5.3,)</versionRange>
189                         <goals>
190                           <goal>replace</goal>
191                         </goals>
192                       </pluginExecutionFilter>
193                       <action>
194                         <ignore></ignore>
195                       </action>
196                     </pluginExecution>
197                   </pluginExecutions>
198                 </lifecycleMappingMetadata>
199               </configuration>
200             </plugin>
201           </plugins>
202         </pluginManagement>
203       </build>
204     </profile>
205   </profiles>
206 </project>