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">
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
13 * http://www.apache.org/licenses/LICENSE-2.0
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.
22 <modelVersion>4.0.0</modelVersion>
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>
29 <artifactId>hbase-examples</artifactId>
30 <name>Apache HBase - Examples</name>
31 <description>Examples of HBase usage</description>
33 <!--Version of protobuf that hbase uses internally (we shade our pb)
34 Must match what is out in hbase-thirdparty include.
36 <internal.protobuf.version>3.11.4</internal.protobuf.version>
41 <!--Make it so assembly:single does nothing in here-->
42 <artifactId>maven-assembly-plugin</artifactId>
44 <skipAssembly>true</skipAssembly>
48 <artifactId>maven-surefire-plugin</artifactId>
50 <!-- Have to set the groups here because we only do
51 split tests in this package, so groups on live in this module -->
52 <groups>${surefire.firstPartGroups}</groups>
55 <!-- Make a jar and put the sources in the jar -->
57 <groupId>org.apache.maven.plugins</groupId>
58 <artifactId>maven-source-plugin</artifactId>
61 <groupId>org.xolstice.maven.plugins</groupId>
62 <artifactId>protobuf-maven-plugin</artifactId>
65 <id>compile-protoc</id>
66 <phase>generate-sources</phase>
71 <protocArtifact>com.google.protobuf:protoc:${internal.protobuf.version}:exe:${os.detected.classifier}</protocArtifact>
72 <checkStaleness>true</checkStaleness>
78 <groupId>com.google.code.maven-replacer-plugin</groupId>
79 <artifactId>replacer</artifactId>
80 <version>1.5.3</version>
83 <phase>process-sources</phase>
90 <basedir>${basedir}/target/generated-sources/</basedir>
92 <include>**/*.java</include>
94 <!-- Ignore errors when missing files, because it means this build
95 was run with -Dprotoc.skip and there is no -Dreplacer.skip -->
96 <ignoreErrors>true</ignoreErrors>
99 <token>([^\.])com.google.protobuf</token>
100 <value>$1org.apache.hbase.thirdparty.com.google.protobuf</value>
103 <token>(public)(\W+static)?(\W+final)?(\W+class)</token>
104 <value>@javax.annotation.Generated("proto") $1$2$3$4</value>
106 <!-- replacer doesn't support anchoring or negative lookbehind -->
108 <token>(@javax.annotation.Generated\("proto"\) ){2}</token>
115 <groupId>net.revelc.code</groupId>
116 <artifactId>warbucks-maven-plugin</artifactId>
119 <groupId>org.apache.maven.plugins</groupId>
120 <artifactId>maven-checkstyle-plugin</artifactId>
122 <failOnViolation>true</failOnViolation>
129 <groupId>org.apache.hbase.thirdparty</groupId>
130 <artifactId>hbase-shaded-miscellaneous</artifactId>
133 <groupId>org.apache.hbase.thirdparty</groupId>
134 <artifactId>hbase-shaded-netty</artifactId>
137 <groupId>org.apache.hbase</groupId>
138 <artifactId>hbase-protocol-shaded</artifactId>
141 <groupId>org.apache.hbase</groupId>
142 <artifactId>hbase-logging</artifactId>
143 <type>test-jar</type>
147 <groupId>org.apache.hbase</groupId>
148 <artifactId>hbase-common</artifactId>
151 <groupId>org.apache.hbase</groupId>
152 <artifactId>hbase-client</artifactId>
155 <groupId>org.apache.hbase</groupId>
156 <artifactId>hbase-asyncfs</artifactId>
159 <groupId>org.apache.hbase</groupId>
160 <artifactId>hbase-asyncfs</artifactId>
161 <type>test-jar</type>
165 <groupId>org.apache.hbase</groupId>
166 <artifactId>hbase-server</artifactId>
169 <groupId>org.apache.hbase</groupId>
170 <artifactId>hbase-mapreduce</artifactId>
173 <groupId>org.apache.hbase</groupId>
174 <artifactId>hbase-endpoint</artifactId>
177 <groupId>org.apache.hbase</groupId>
178 <artifactId>hbase-thrift</artifactId>
181 <groupId>org.apache.hbase</groupId>
182 <artifactId>hbase-metrics-api</artifactId>
185 <groupId>org.apache.hbase</groupId>
186 <artifactId>hbase-testing-util</artifactId>
190 <groupId>org.apache.thrift</groupId>
191 <artifactId>libthrift</artifactId>
194 <groupId>commons-io</groupId>
195 <artifactId>commons-io</artifactId>
198 <groupId>org.slf4j</groupId>
199 <artifactId>slf4j-api</artifactId>
202 <groupId>org.apache.zookeeper</groupId>
203 <artifactId>zookeeper</artifactId>
206 <groupId>com.google.protobuf</groupId>
207 <artifactId>protobuf-java</artifactId>
208 <version>${internal.protobuf.version}</version>
211 <groupId>org.apache.curator</groupId>
212 <artifactId>curator-framework</artifactId>
215 <groupId>org.apache.curator</groupId>
216 <artifactId>curator-client</artifactId>
219 <groupId>org.apache.curator</groupId>
220 <artifactId>curator-recipes</artifactId>
223 <groupId>com.github.stephenc.findbugs</groupId>
224 <artifactId>findbugs-annotations</artifactId>
225 <scope>compile</scope>
226 <optional>true</optional>
229 <groupId>org.apache.hbase</groupId>
230 <artifactId>hbase-rest</artifactId>
233 <groupId>junit</groupId>
234 <artifactId>junit</artifactId>
238 <groupId>org.mockito</groupId>
239 <artifactId>mockito-core</artifactId>
243 <groupId>org.apache.hadoop</groupId>
244 <artifactId>hadoop-minikdc</artifactId>
248 <groupId>bouncycastle</groupId>
249 <artifactId>bcprov-jdk15</artifactId>
254 <groupId>org.bouncycastle</groupId>
255 <artifactId>bcprov-jdk15on</artifactId>
259 <groupId>org.apache.hbase</groupId>
260 <artifactId>hbase-http</artifactId>
262 <type>test-jar</type>
265 <groupId>org.slf4j</groupId>
266 <artifactId>jcl-over-slf4j</artifactId>
270 <groupId>org.slf4j</groupId>
271 <artifactId>jul-to-slf4j</artifactId>
275 <groupId>org.apache.logging.log4j</groupId>
276 <artifactId>log4j-api</artifactId>
280 <groupId>org.apache.logging.log4j</groupId>
281 <artifactId>log4j-core</artifactId>
285 <groupId>org.apache.logging.log4j</groupId>
286 <artifactId>log4j-slf4j-impl</artifactId>
290 <groupId>org.apache.logging.log4j</groupId>
291 <artifactId>log4j-1.2-api</artifactId>
296 <!-- Skip the tests in this module -->
298 <id>skipExamplesTests</id>
301 <name>skipExamplesTests</name>
305 <surefire.skipFirstPart>true</surefire.skipFirstPart>
306 <surefire.skipSecondPart>true</surefire.skipSecondPart>
309 <!-- Profiles for building against different hadoop versions -->
310 <!-- There are a lot of common dependencies used here, should investigate
311 if we can combine these profiles somehow -->
312 <!-- Profile for building against Hadoop 3.0.0. Activate by default -->
316 <property><name>!hadoop.profile</name></property>
320 <groupId>org.apache.hadoop</groupId>
321 <artifactId>hadoop-common</artifactId>
324 <groupId>org.apache.hadoop</groupId>
325 <artifactId>hadoop-minicluster</artifactId>
328 <groupId>javax.xml.bind.</groupId>
329 <artifactId>jaxb-api</artifactId>
332 <groupId>javax.ws.rs</groupId>
333 <artifactId>jsr311-api</artifactId>
341 <artifactId>maven-dependency-plugin</artifactId>
344 <id>create-mrapp-generated-classpath</id>
345 <phase>generate-test-resources</phase>
347 <goal>build-classpath</goal>
350 <!-- needed to run the unit test for DS to generate
351 the required classpath that is required in the env
352 of the launch container in the mini mr/yarn cluster
354 <outputFile>${project.build.directory}/test-classes/mrapp-generated-classpath</outputFile>
363 <id>eclipse-specific</id>
366 <name>m2e.version</name>
372 <!--This plugin's configuration is used to store Eclipse m2e settings
373 only. It has no influence on the Maven build itself.-->
375 <groupId>org.eclipse.m2e</groupId>
376 <artifactId>lifecycle-mapping</artifactId>
378 <lifecycleMappingMetadata>
381 <pluginExecutionFilter>
382 <groupId>org.apache.maven.plugins</groupId>
383 <artifactId>maven-dependency-plugin</artifactId>
384 <versionRange>[2.8,)</versionRange>
386 <goal>build-classpath</goal>
388 </pluginExecutionFilter>
394 </lifecycleMappingMetadata>