| <?xml version="1.0" encoding="UTF-8"?> |
| <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/maven-v4_0_0.xsd"> |
| <!-- |
| /** |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| --> |
| <modelVersion>4.0.0</modelVersion> |
| <parent> |
| <groupId>org.apache</groupId> |
| <artifactId>apache</artifactId> |
| <version>18</version> |
| <relativePath/> |
| <!-- no parent resolution --> |
| </parent> |
| <groupId>org.apache.hbase.connectors</groupId> |
| <artifactId>hbase-connectors</artifactId> |
| <!-- See https://maven.apache.org/maven-ci-friendly.html --> |
| <version>${revision}</version> |
| <name>Apache HBase Connectors</name> |
| <packaging>pom</packaging> |
| <description> |
| Connectors to Apache HBase. |
| </description> |
| <url>http://hbase.apache.org</url> |
| <inceptionYear>2018</inceptionYear> |
| <licenses> |
| <license> |
| <name>Apache License, Version 2.0</name> |
| <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url> |
| <distribution>repo</distribution> |
| </license> |
| </licenses> |
| <modules> |
| <module>kafka</module> |
| <module>spark</module> |
| <module>hbase-connectors-assembly</module> |
| </modules> |
| <scm> |
| <connection>scm:git:git://gitbox.apache.org/repos/asf/hbase-connectors.git</connection> |
| <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/hbase-connectors.git</developerConnection> |
| <url>https://gitbox.apache.org/repos/asf?p=hbase-connectors.git;a=summary</url> |
| </scm> |
| <issueManagement> |
| <!--File issues for this project against Apache HBase JIRA--> |
| <system>JIRA</system> |
| <url>http://issues.apache.org/jira/browse/HBASE</url> |
| </issueManagement> |
| <!--Currently mail sent by this gitbox project goes to issues@hbase. |
| git comments are reflected in referenced JIRA issue. |
| https://issues.apache.org/jira/browse/INFRA-16887 |
| --> |
| <mailingLists> |
| <mailingList> |
| <name>User List</name> |
| <subscribe>user-subscribe@hbase.apache.org</subscribe> |
| <unsubscribe>user-unsubscribe@hbase.apache.org</unsubscribe> |
| <post>user@hbase.apache.org</post> |
| <archive>https://lists.apache.org/list.html?user@hbase.apache.org</archive> |
| <otherArchives> |
| <otherArchive>http://dir.gmane.org/gmane.comp.java.hadoop.hbase.user</otherArchive> |
| <otherArchive>http://search-hadoop.com/?q=&fc_project=HBase</otherArchive> |
| </otherArchives> |
| </mailingList> |
| <mailingList> |
| <name>Developer List</name> |
| <subscribe>dev-subscribe@hbase.apache.org</subscribe> |
| <unsubscribe>dev-unsubscribe@hbase.apache.org</unsubscribe> |
| <post>dev@hbase.apache.org</post> |
| <archive>https://lists.apache.org/list.html?dev@hbase.apache.org</archive> |
| <otherArchives> |
| <otherArchive>http://dir.gmane.org/gmane.comp.java.hadoop.hbase.devel</otherArchive> |
| <otherArchive>http://search-hadoop.com/?q=&fc_project=HBase</otherArchive> |
| </otherArchives> |
| </mailingList> |
| <mailingList> |
| <name>Commits List</name> |
| <subscribe>commits-subscribe@hbase.apache.org</subscribe> |
| <unsubscribe>commits-unsubscribe@hbase.apache.org</unsubscribe> |
| <archive>https://lists.apache.org/list.html?commits@hbase.apache.org</archive> |
| </mailingList> |
| <mailingList> |
| <name>Issues List</name> |
| <subscribe>issues-subscribe@hbase.apache.org</subscribe> |
| <unsubscribe>issues-unsubscribe@hbase.apache.org</unsubscribe> |
| <archive>https://lists.apache.org/list.html?issues@hbase.apache.org</archive> |
| </mailingList> |
| <mailingList> |
| <name>Builds List</name> |
| <subscribe>builds-subscribe@hbase.apache.org</subscribe> |
| <unsubscribe>builds-unsubscribe@hbase.apache.org</unsubscribe> |
| <archive>https://lists.apache.org/list.html?builds@hbase.apache.org</archive> |
| </mailingList> |
| </mailingLists> |
| <developers/> |
| <properties> |
| <!-- See https://maven.apache.org/maven-ci-friendly.html --> |
| <revision>1.0.1-SNAPSHOT</revision> |
| <maven.javadoc.skip>true</maven.javadoc.skip> |
| <maven.build.timestamp.format>yyyy-MM-dd'T'HH:mm</maven.build.timestamp.format> |
| <buildDate>${maven.build.timestamp}</buildDate> |
| <compileSource>1.8</compileSource> |
| <java.min.version>${compileSource}</java.min.version> |
| <maven.min.version>3.5.0</maven.min.version> |
| <hbase.version>2.1.0</hbase.version> |
| <maven.compiler.version>3.6.1</maven.compiler.version> |
| <exec.maven.version>1.6.0</exec.maven.version> |
| <audience-annotations.version>0.5.0</audience-annotations.version> |
| <junit.version>4.12</junit.version> |
| <hbase-thirdparty.version>2.1.0</hbase-thirdparty.version> |
| <hadoop-two.version>2.7.7</hadoop-two.version> |
| <hadoop-three.version>3.0.3</hadoop-three.version> |
| <hadoop.version>${hadoop-two.version}</hadoop.version> |
| <slf4j.version>1.7.25</slf4j.version> |
| <checkstyle.version>8.11</checkstyle.version> |
| <maven.checkstyle.version>3.0.0</maven.checkstyle.version> |
| <surefire.version>3.0.0-M3</surefire.version> |
| <!--Internally we use a different version of protobuf. See hbase-protocol-shaded--> |
| <external.protobuf.version>2.5.0</external.protobuf.version> |
| <protobuf.plugin.version>0.5.0</protobuf.plugin.version> |
| <commons-io.version>2.5</commons-io.version> |
| <avro.version>1.7.7</avro.version> |
| <commons-lang3.version>3.6</commons-lang3.version> |
| <!--This property is for hadoops netty. HBase netty |
| comes in via hbase-thirdparty hbase-shaded-netty--> |
| <netty.hadoop.version>3.6.2.Final</netty.hadoop.version> |
| <os.maven.version>1.6.1</os.maven.version> |
| <glassfish.el.version>3.0.1-b08</glassfish.el.version> |
| <compat.module>hbase-hadoop2-compat</compat.module> |
| <dependency.locations.enabled>false</dependency.locations.enabled> |
| </properties> |
| <dependencyManagement> |
| <dependencies> |
| <dependency> |
| <groupId>com.google.protobuf</groupId> |
| <artifactId>protobuf-java</artifactId> |
| <version>${external.protobuf.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-lang3</artifactId> |
| <version>${commons-lang3.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>commons-io</groupId> |
| <artifactId>commons-io</artifactId> |
| <version>${commons-io.version}</version> |
| </dependency> |
| <!-- Avro dependencies we mostly get transitively, manual version coallescing --> |
| <dependency> |
| <groupId>org.apache.avro</groupId> |
| <artifactId>avro</artifactId> |
| <version>${avro.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-log4j12</artifactId> |
| <version>${slf4j.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-api</artifactId> |
| <version>${slf4j.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.glassfish</groupId> |
| <artifactId>javax.el</artifactId> |
| <version>${glassfish.el.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.yetus</groupId> |
| <artifactId>audience-annotations</artifactId> |
| <version>${audience-annotations.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-annotations</artifactId> |
| <version>${hbase.version}</version> |
| <type>test-jar</type> |
| <!--Was test scope only but if we want to run hbase-it tests, need the annotations test jar--> |
| </dependency> |
| <dependency> |
| <groupId>junit</groupId> |
| <artifactId>junit</artifactId> |
| <version>${junit.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase.thirdparty</groupId> |
| <artifactId>hbase-shaded-miscellaneous</artifactId> |
| <version>${hbase-thirdparty.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-common</artifactId> |
| <version>${hbase.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-common</artifactId> |
| <version>${hbase.version}</version> |
| <type>test-jar</type> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-protocol</artifactId> |
| <version>${hbase.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-hadoop2-compat</artifactId> |
| <version>${hbase.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-hadoop2-compat</artifactId> |
| <version>${hbase.version}</version> |
| <type>test-jar</type> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-hadoop-compat</artifactId> |
| <version>${hbase.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-hadoop-compat</artifactId> |
| <version>${hbase.version}</version> |
| <type>test-jar</type> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-server</artifactId> |
| <version>${hbase.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-server</artifactId> |
| <version>${hbase.version}</version> |
| <type>test-jar</type> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-zookeeper</artifactId> |
| <version>${hbase.version}</version> |
| <type>test-jar</type> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-client</artifactId> |
| <version>${hbase.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-mapreduce</artifactId> |
| <version>${hbase.version}</version> |
| </dependency> |
| <dependency> |
| <artifactId>hbase-it</artifactId> |
| <groupId>org.apache.hbase</groupId> |
| <version>${hbase.version}</version> |
| <type>test-jar</type> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-testing-util</artifactId> |
| <version>${hbase.version}</version> |
| <scope>test</scope> |
| </dependency> |
| </dependencies> |
| </dependencyManagement> |
| <build> |
| <extensions> |
| <extension> |
| <groupId>kr.motd.maven</groupId> |
| <artifactId>os-maven-plugin</artifactId> |
| <version>${os.maven.version}</version> |
| </extension> |
| </extensions> |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <artifactId>maven-assembly-plugin</artifactId> |
| <configuration> |
| <!--Defer to the hbase-connector-assembly sub-module. It |
| does all assembly--> |
| <skipAssembly>true</skipAssembly> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-release-plugin</artifactId> |
| <configuration> |
| <!--You need this profile. It'll sign your artifacts. |
| I'm not sure if this config. actually works though. |
| I've been specifying -Papache-release on the command-line |
| --> |
| <releaseProfiles>apache-release</releaseProfiles> |
| <!--This stops our running tests for each stage of maven release. |
| But it builds the test jar. From SUREFIRE-172. |
| --> |
| <arguments>-Dmaven.test.skip.exec ${arguments}</arguments> |
| <goals>${goals}</goals> |
| <pomFileName>pom.xml</pomFileName> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <version>${maven.compiler.version}</version> |
| <configuration> |
| <source>${compileSource}</source> |
| <target>${compileSource}</target> |
| <showWarnings>true</showWarnings> |
| <showDeprecation>false</showDeprecation> |
| <useIncrementalCompilation>false</useIncrementalCompilation> |
| <compilerArgument>-Xlint:-options</compilerArgument> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>build-helper-maven-plugin</artifactId> |
| <version>1.9.1</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.rat</groupId> |
| <artifactId>apache-rat-plugin</artifactId> |
| <version>0.11</version> |
| <configuration> |
| <excludes> |
| <exclude>target/*</exclude> |
| <exclude>**/.idea/**</exclude> |
| <exclude>**/*.iml</exclude> |
| <!-- exclude source control files --> |
| <exclude>.git/**</exclude> |
| <exclude>**/.settings/**</exclude> |
| <exclude>**/patchprocess/**</exclude> |
| <exclude>**/.flattened-pom.xml</exclude> |
| <exclude>**/src/main/resources/META-INF/LEGAL</exclude> |
| </excludes> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>buildnumber-maven-plugin</artifactId> |
| <version>1.4</version> |
| <executions> |
| <execution> |
| <phase>validate</phase> |
| <goals> |
| <goal>create-timestamp</goal> |
| </goals> |
| </execution> |
| </executions> |
| <configuration> |
| <timestampFormat>yyyy</timestampFormat> |
| <timestampPropertyName>build.year</timestampPropertyName> |
| </configuration> |
| </plugin> |
| <plugin> |
| <!-- Approach followed here is roughly the same as mentioned here: |
| https://maven.apache.org/plugins/maven-checkstyle-plugin/examples/multi-module-config.html |
| --> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-checkstyle-plugin</artifactId> |
| <version>${maven.checkstyle.version}</version> |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-checkstyle</artifactId> |
| <version>${hbase.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.puppycrawl.tools</groupId> |
| <artifactId>checkstyle</artifactId> |
| <version>${checkstyle.version}</version> |
| </dependency> |
| </dependencies> |
| <configuration> |
| <configLocation>hbase/checkstyle.xml</configLocation> |
| <suppressionsLocation>hbase/checkstyle-suppressions.xml</suppressionsLocation> |
| <includeTestSourceDirectory>true</includeTestSourceDirectory> |
| </configuration> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-enforcer-plugin</artifactId> |
| <version>3.0.0-M2</version> |
| <dependencies> |
| <dependency> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>extra-enforcer-rules</artifactId> |
| <version>1.0-beta-9</version> |
| </dependency> |
| </dependencies> |
| <!-- version set by parent --> |
| <executions> |
| <execution> |
| <id>min-maven-min-java-banned-xerces</id> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| <configuration> |
| <rules> |
| <!-- The earliest maven version we verify builds for via ASF Jenkins --> |
| <requireMavenVersion> |
| <version>[${maven.min.version},)</version> |
| <message>Maven is out of date. |
| HBase requires at least version ${maven.min.version} of Maven to properly build from source. |
| You appear to be using an older version. You can use either "mvn -version" or |
| "mvn enforcer:display-info" to verify what version is active. |
| See the reference guide on building for more information: http://hbase.apache.org/book.html#build |
| </message> |
| </requireMavenVersion> |
| <!-- The earliest JVM version we verify builds for via ASF Jenkins --> |
| <requireJavaVersion> |
| <version>[${java.min.version},)</version> |
| <message>Java is out of date. |
| HBase requires at least version ${java.min.version} of the JDK to properly build from source. |
| See the reference guide on building for more information: http://hbase.apache.org/book.html#build |
| </message> |
| </requireJavaVersion> |
| <bannedDependencies> |
| <excludes> |
| <exclude>xerces:xercesImpl</exclude> |
| </excludes> |
| <message>We avoid adding our own Xerces jars to the classpath, see HBASE-16340.</message> |
| </bannedDependencies> |
| </rules> |
| </configuration> |
| </execution> |
| <execution> |
| <id>banned-scala</id> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| <configuration> |
| <rules> |
| <bannedDependencies> |
| <excludes> |
| <exclude>org.scala-lang:scala-library</exclude> |
| </excludes> |
| <message>We don't allow Scala outside of the hbase-spark module, see HBASE-13992.</message> |
| </bannedDependencies> |
| </rules> |
| </configuration> |
| </execution> |
| <execution> |
| <id>banned-hbase-spark</id> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| <configuration> |
| <rules> |
| <bannedDependencies> |
| <excludes> |
| <exclude>org.apache.hbase:hbase-spark</exclude> |
| </excludes> |
| <message>We don't allow other modules to depend on hbase-spark, see HBASE-13992.</message> |
| </bannedDependencies> |
| </rules> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <!-- See https://maven.apache.org/maven-ci-friendly.html--> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>flatten-maven-plugin</artifactId> |
| <version>1.1.0</version> |
| <configuration> |
| <updatePomFile>true</updatePomFile> |
| <flattenMode>resolveCiFriendliesOnly</flattenMode> |
| </configuration> |
| <executions> |
| <execution> |
| <id>flatten</id> |
| <phase>process-resources</phase> |
| <goals> |
| <goal>flatten</goal> |
| </goals> |
| </execution> |
| <execution> |
| <id>flatten.clean</id> |
| <phase>clean</phase> |
| <goals> |
| <goal>clean</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| <profiles> |
| <!-- this profile should be activated for release builds --> |
| <profile> |
| <id>release</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.rat</groupId> |
| <artifactId>apache-rat-plugin</artifactId> |
| <executions> |
| <execution> |
| <phase>package</phase> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-enforcer-plugin</artifactId> |
| <configuration> |
| <rules> |
| <enforceBytecodeVersion> |
| <maxJdkVersion>${compileSource}</maxJdkVersion> |
| <message>HBase has unsupported dependencies. |
| HBase requires that all dependencies be compiled with version ${compileSource} or earlier |
| of the JDK to properly build from source. You appear to be using a newer dependency. You can use |
| either "mvn -version" or "mvn enforcer:display-info" to verify what version is active. |
| Non-release builds can temporarily build with a newer JDK version by setting the |
| 'compileSource' property (eg. mvn -DcompileSource=1.8 clean package). |
| </message> |
| </enforceBytecodeVersion> |
| </rules> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| </profiles> |
| </project> |