blob: 2cd24a64974075ffc8f5a62a5143f35e4fff365e [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed 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. See accompanying LICENSE file.
-->
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache</groupId>
<artifactId>apache</artifactId>
<version>21</version>
<relativePath/>
<!-- no parent resolution -->
</parent>
<groupId>org.apache.hbase.filesystem</groupId>
<artifactId>hbase-filesystem</artifactId>
<version>1.0.0-alpha2-SNAPSHOT</version>
<name>Apache HBase FileSystem-related Modules</name>
<description>
This project houses projects that work at the Apache Hadoop FileSystem layer
to meet Apache HBase's needs. This work is experimental, and may eventually
be replaced by other initiatives in HBase. It is therefore released
separately.
</description>
<packaging>pom</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<compileSource>1.8</compileSource>
<maven.compiler.source>${compileSource}</maven.compiler.source>
<maven.compiler.target>${compileSource}</maven.compiler.target>
<!-- XXX If you change these versions please ensure the bundled LICENSE/NOTICE in
hbase-oss is correct
-->
<assertj.version>3.12.2</assertj.version>
<audience-annotations.version>0.5.0</audience-annotations.version>
<aws-java-sdk.version>1.11.1026</aws-java-sdk.version>
<commons-io.version>2.5</commons-io.version>
<commons-lang3.version>3.6</commons-lang3.version>
<curator.version>4.2.0</curator.version>
<enforcer.version>3.0.0-M3</enforcer.version>
<extra.enforcer.version>1.2</extra.enforcer.version>
<hadoop32.version>3.2.2</hadoop32.version>
<hadoop33.version>3.3.1</hadoop33.version>
<hbase.version>2.3.6</hbase.version>
<hbase-thirdparty.version>3.5.1</hbase-thirdparty.version>
<junit.version>4.12</junit.version>
<log4j.version>1.2.17</log4j.version>
<slf4j.version>1.7.25</slf4j.version>
<!-- Keep this in sync with the version of ZK
that the corresponding HBase version is using. -->
<zookeeper.version>3.5.7</zookeeper.version>
</properties>
<modules>
<module>hbase-oss</module>
<module>hadoop-testutils</module>
</modules>
<!-- For testing against ZK -->
<dependencies>
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-zookeeper</artifactId>
<version>${hbase.version}</version>
<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>
</dependencies>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>${enforcer.version}</version>
<dependencies>
<dependency>
<groupId>org.codehaus.mojo</groupId>
<artifactId>extra-enforcer-rules</artifactId>
<version>${extra.enforcer.version}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
<configuration>
<redirectTestOutputToFile>true</redirectTestOutputToFile>
<reuseForks>false</reuseForks>
<systemProperties>
<test.unique.fork.id>fork-000${surefire.forkNumber}</test.unique.fork.id>
</systemProperties>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
<profiles>
<profile>
<id>hadoop3.2</id>
<activation>
<property>
<name>hadoop.profile</name>
<value>3.2</value>
</property>
</activation>
<modules>
<module>hadoop3-2-testutils</module>
</modules>
<properties>
<hadoop.version>${hadoop32.version}</hadoop.version>
</properties>
</profile>
<profile>
<id>hadoop3.3</id>
<activation>
<property>
<name>hadoop.profile</name>
<value>3.3</value>
</property>
</activation>
<modules>
<module>hadoop3-3-testutils</module>
</modules>
<properties>
<hadoop.version>${hadoop33.version}</hadoop.version>
</properties>
</profile>
<profile>
<id>hadoop-default</id>
<activation>
<property>
<name>!hadoop.profile</name>
</property>
</activation>
<modules>
<module>hadoop3-3-testutils</module>
</modules>
<properties>
<hadoop.version>${hadoop33.version}</hadoop.version>
</properties>
</profile>
<!-- this profile should match the name of the release profile in the root asf pom -->
<profile>
<id>apache-release</id>
<build>
<plugins>
<!-- This should insert itself in place of the normal deploy plugin and then
handle either closing or dropping the staging repository for us depending
on if the build succeeds.
-->
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>1.6.8</version>
<extensions>true</extensions>
<configuration>
<nexusUrl>https://repository.apache.org/</nexusUrl>
<serverId>apache.releases.https</serverId>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<!-- 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>