blob: d68ff3d20e659467b918c80beac5f8e9f629fdfd [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.
-->
<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">
<modelVersion>4.0.0</modelVersion>
<!-- ========================================================================================================== -->
<!-- Project description -->
<!-- ========================================================================================================== -->
<name>Omid</name>
<description>Apache Omid provides multi-row/multi-table transactional support for HBase-based applications</description>
<inceptionYear>2011</inceptionYear>
<url>http://omid.incubator.apache.org</url>
<groupId>org.apache.omid</groupId>
<artifactId>omid</artifactId>
<packaging>pom</packaging>
<!-- WARNING: do not update version manually, use mvn versions:set -->
<version>0.9.0.0</version>
<organization>
<name>Apache Software Foundation</name>
<url>http://www.apache.org</url>
</organization>
<licenses>
<license>
<name>Apache License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
</license>
</licenses>
<developers>
<developer>
<id>daijy</id>
<name>Daniel Dai</name>
<email>daijy@apache.org</email>
<timezone>-8</timezone>
<organization>Hortonworks</organization>
<organizationUrl>http://www.hortonworks.com</organizationUrl>
</developer>
<developer>
<id>fperezsorrosal</id>
<name>Francisco Perez-Sorrosal</name>
<email>fperezsorrosal@apache.org</email>
<timezone>-8</timezone>
<organization>Yahoo Inc.</organization>
<organizationUrl>http://www.yahoo.com</organizationUrl>
</developer>
<developer>
<id>ikatkov</id>
<name>Igor Katkov</name>
<email>ikatkov@apache.org</email>
<timezone>-8</timezone>
<organization>Yahoo Inc.</organization>
<organizationUrl>http://www.yahoo.com</organizationUrl>
</developer>
<developer>
<id>ohads</id>
<name>Ohad Shacham</name>
<email>ohads@apache.org</email>
<timezone>+2</timezone>
<organization>Yahoo Inc.</organization>
<organizationUrl>http://www.yahoo.com</organizationUrl>
</developer>
<developer>
<id>sameerp</id>
<name>Sameer Paranjpye</name>
<email>sameerp@apache.org</email>
<timezone>-8</timezone>
<organization>Arimo</organization>
<organizationUrl>https://www.arimo.com</organizationUrl>
</developer>
</developers>
<modules>
<module>benchmarks</module>
<module>common</module>
<module>statemachine</module>
<module>metrics</module>
<module>codahale-metrics</module>
<module>transaction-client</module>
<module>timestamp-storage</module>
<module>commit-table</module>
<module>tso-server</module>
<module>hbase-shims</module>
<module>hbase-common</module>
<module>hbase-commit-table</module>
<module>hbase-client</module>
<module>hbase-coprocessor</module>
<module>hbase-tools</module>
<module>examples</module>
<module>packaging</module>
</modules>
<pluginRepositories>
<pluginRepository>
<id>synergian-repo</id>
<url>https://raw.github.com/synergian/wagon-git/releases</url>
</pluginRepository>
</pluginRepositories>
<scm>
<connection>scm:git:git://github.com/yahoo/omid.git</connection>
<developerConnection>scm:git:https://${GH_TOKEN}@github.com/yahoo/omid.git</developerConnection>
<url>https://github.com/yahoo/omid</url>
<tag>master</tag>
</scm>
<distributionManagement>
<repository>
<id>bintray</id>
<url>https://api.bintray.com/maven/yahoo/maven/omid</url>
</repository>
<site>
<id>apache-omid-site</id>
<!-- Wagon-git URL format:
protocol:branch://url
Do not forget the 2 backslashes before the url
-->
<url>git:asf-site://https://git-wip-us.apache.org/repos/asf/incubator-omid-site.git</url>
</site>
</distributionManagement>
<properties>
<!-- Basic properties -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- Java Version -->
<java.version>1.7</java.version>
<!-- 3rd-Party Library Versioning -->
<hbase0.version>0.98.10.1-hadoop1</hbase0.version>
<hbase1.version>1.3.1</hbase1.version>
<guava.version>14.0.1</guava.version>
<guice.version>3.0</guice.version>
<testng.version>6.8.8</testng.version>
<slf4j.version>1.7.7</slf4j.version>
<log4j.version>1.2.17</log4j.version>
<netty.version>3.2.6.Final</netty.version>
<protobuf.version>2.5.0</protobuf.version>
<mockito.version>1.9.5</mockito.version>
<disruptor.version>3.2.0</disruptor.version>
<metrics.version>3.0.1</metrics.version>
<jcommander.version>1.35</jcommander.version>
<commons.conf.version>1.10</commons.conf.version>
<hamcrest.version>1.3</hamcrest.version>
<curator.version>2.6.0</curator.version>
<zookeeper.version>3.4.3</zookeeper.version>
<snakeyaml.version>1.11</snakeyaml.version>
<beanutils.version>1.8.3</beanutils.version>
<commons-io.version>2.4</commons-io.version>
<google.findbugs.version>3.0.1</google.findbugs.version>
<commons-pool2.version>2.4.2</commons-pool2.version>
<!-- Maven Plugin Versioning -->
<maven-antrun-plugin.version>1.7</maven-antrun-plugin.version>
<maven-source-plugin.version>2.4</maven-source-plugin.version>
<maven-clean-plugin.version>2.5</maven-clean-plugin.version>
<maven-compiler-plugin.version>3.5</maven-compiler-plugin.version>
<maven-assembly-plugin.version>2.4</maven-assembly-plugin.version>
<maven-shade-plugin.version>2.3</maven-shade-plugin.version>
<maven-release-plugin.version>2.3.2</maven-release-plugin.version>
<maven-javadoc-plugin.version>2.10.3</maven-javadoc-plugin.version>
<maven-jar-plugin.version>2.5</maven-jar-plugin.version>
<maven-surefire-plugin.version>2.19</maven-surefire-plugin.version>
<maven-surefire-report-plugin.version>2.19</maven-surefire-report-plugin.version>
<maven-coveralls-plugin.version>4.1.0</maven-coveralls-plugin.version>
<maven-cobertura-plugin.version>2.7</maven-cobertura-plugin.version>
<maven-license-plugin.version>2.11</maven-license-plugin.version>
<maven-site-plugin.version>3.5</maven-site-plugin.version>
<maven-pmd-plugin.version>3.4</maven-pmd-plugin.version>
<maven-checkstyle-plugin.version>2.17</maven-checkstyle-plugin.version>
<maven-jxr-plugin.version>2.3</maven-jxr-plugin.version>
<maven-findbugs-maven-plugin.version>3.0.1</maven-findbugs-maven-plugin.version>
<!-- Licensing properties (for license-maven-plugins) -->
<license.header>misc/header.txt</license.header>
</properties>
<build>
<pluginManagement>
<plugins>
<!-- ============================================================================================== -->
<!-- Basic plugins -->
<!-- ============================================================================================== -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>${maven-clean-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<compilerArgs>
<!-- We had to comment this due to the use of some deprecated APIs in HBase 1.x -->
<!-- As example, we extensively use HTable along the code and is not used anymore in 1.x-->
<!-- TODO Try to restore the parameter when possible -->
<!--arg>-Werror</arg-->
<arg>-Xlint:deprecation</arg>
<arg>-Xlint:unchecked</arg>
</compilerArgs>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-plugin.version}</version>
<configuration>
<forkCount>1C</forkCount>
<redirectTestOutputToFile>true</redirectTestOutputToFile>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
<version>${maven-surefire-report-plugin.version}</version>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>${maven-assembly-plugin.version}</version>
<configuration>
<skipAssembly>true</skipAssembly>
<descriptors>
<descriptor>tso-server/maven/assembly/bin.xml</descriptor>
</descriptors>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>${maven-release-plugin.version}</version>
<configuration>
<scmCommentPrefix>[ci skip]</scmCommentPrefix>
<useReleaseProfile>false</useReleaseProfile>
<releaseProfiles>release_profile</releaseProfiles>
</configuration>
</plugin>
<plugin>
<artifactId>maven-source-plugin</artifactId>
<version>${maven-source-plugin.version}</version>
</plugin>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${maven-javadoc-plugin.version}</version>
</plugin>
<!-- ============================================================================================== -->
<!-- Code coverage plugins -->
<!-- ============================================================================================== -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>${maven-cobertura-plugin.version}</version>
<configuration>
<check>
<haltOnFailure>true</haltOnFailure>
<branchRate>0</branchRate>
<lineRate>0</lineRate>
<totalBranchRate>0</totalBranchRate>
<totalLineRate>0</totalLineRate>
<packageLineRate>0</packageLineRate>
<packageBranchRate>0</packageBranchRate>
</check>
<aggregate>true</aggregate>
<formats>
<format>xml</format>
<format>html</format>
</formats>
<instrumentation>
<excludes>
<exclude>org/apache/omid/proto/*.class</exclude>
</excludes>
</instrumentation>
</configuration>
</plugin>
<!-- Show Coverage reports in https://coveralls.io/ -->
<plugin>
<groupId>org.eluder.coveralls</groupId>
<artifactId>coveralls-maven-plugin</artifactId>
<version>${maven-coveralls-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>${maven-findbugs-maven-plugin.version}</version>
<configuration>
<findbugsXmlOutput>true</findbugsXmlOutput>
<xmlOutput>true</xmlOutput>
<threshold>low</threshold>
<excludeFilterFile>misc/findbugs-exclude.xml</excludeFilterFile>
</configuration>
<executions>
<execution>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<reuseForks>false</reuseForks>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.eluder.coveralls</groupId>
<artifactId>coveralls-maven-plugin</artifactId>
<configuration>
<repoToken>${COVERALLS_TOKEN}</repoToken>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
</plugin>
<!-- ============================================================================================== -->
<!-- License Management plugins -->
<!-- ============================================================================================== -->
<plugin>
<groupId>com.mycila</groupId>
<artifactId>license-maven-plugin</artifactId>
<version>${maven-license-plugin.version}</version>
<inherited>true</inherited> <!-- for multi-module config -->
<configuration>
<header>${license.header}</header>
<aggregate>true</aggregate> <!-- for multi-module config -->
<skipExistingHeaders>false</skipExistingHeaders>
<includes>
<!-- Add files where to include licensing -->
<include>src/**/*.java</include>
<include>src/**/*.xml</include>
<include>src/**/*.proto</include>
<include>**/*.css</include>
<include>**/*.sh</include>
</includes>
<excludes>
<!-- Add files to exclude from licensing -->
<!-- Exclude pom -->
<exclude>**/pom.xml</exclude>
<!-- Exclude config and scripts -->
<exclude>**/dev-utils/*</exclude>
<!-- Exclude assembly -->
<exclude>**/maven/assembly/*</exclude>
<!-- Project specific exclusions (e.g. they've been copied/modified from other open-source projects -->
<!-- Protocol buffers generated classes -->
<exclude>**/src/main/java/org/apache/omid/proto/TSOProto.java</exclude>
<!-- Taken from https://github.com/brianfrankcooper/YCSB -->
<exclude>**/src/main/java/org/apache/omid/benchmarks/utils/Generator.java</exclude>
<exclude>**/src/main/java/org/apache/omid/benchmarks/utils/IntegerGenerator.java</exclude>
<exclude>**/src/main/java/org/apache/omid/benchmarks/utils/ZipfianGenerator.java</exclude>
<exclude>**/src/main/java/org/apache/omid/benchmarks/utils/ScrambledZipfianGenerator.java
</exclude>
<!-- Taken from https://github.com/apache/hbase -->
<exclude>**/src/main/java/org/apache/omid/committable/hbase/RegionSplitter.java</exclude>
</excludes>
<!-- Add comment style for protocol buffers -->
<mapping>
<java>SLASHSTAR_STYLE</java>
<proto>DOUBLESLASH_STYLE</proto>
</mapping>
</configuration>
<executions>
<execution>
<id>check-license</id>
<phase>verify</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>${maven-site-plugin.version}</version>
<configuration>
<siteDirectory>${basedir}/doc/site</siteDirectory>
<outputDirectory>${basedir}/generated-website</outputDirectory>
<stagingDirectory>${basedir}/generated-website-staging</stagingDirectory>
</configuration>
<dependencies>
<dependency><!-- add support for ssh/scp -->
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ssh</artifactId>
<version>1.0</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<configuration>
<excludes>
<exclude>**/*.yml</exclude>
<exclude>**/*.properties</exclude>
<exclude>**/hbase-site.xml</exclude>
<exclude>**/test-output/**</exclude>
<exclude>bintray-settings.xml</exclude>
<exclude>doc/site/site.xml</exclude>
<exclude>doc/images/ModuleDependencies.graffle</exclude>
<exclude>misc/findbugs-exclude.xml</exclude>
<exclude>misc/omid_checks.xml</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
<extensions>
<extension>
<groupId>ar.com.synergian</groupId>
<artifactId>wagon-git</artifactId>
<version>0.2.5</version>
</extension>
</extensions>
</build>
<profiles>
<profile>
<id>release_profile</id>
<activation>
<property>
<name>release_profile</name>
</property>
</activation>
<properties>
<buildtype>release</buildtype>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<configuration>
<excludes>
<exclude>**/*.yml</exclude>
<exclude>**/*.properties</exclude>
<exclude>**/hbase-site.xml</exclude>
<exclude>**/test-output/**</exclude>
<exclude>bintray-settings.xml</exclude>
<exclude>doc/site/site.xml</exclude>
<exclude>doc/images/ModuleDependencies.graffle</exclude>
<exclude>misc/findbugs-exclude.xml</exclude>
<exclude>misc/omid_checks.xml</exclude>
</excludes>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.eluder.coveralls</groupId>
<artifactId>coveralls-maven-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>hbase-0</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<hbase.version>${hbase0.version}</hbase.version>
</properties>
</profile>
<profile>
<id>hbase-1</id>
<properties>
<hbase.version>${hbase1.version}</hbase.version>
</properties>
</profile>
</profiles>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-common</artifactId>
<version>${hbase.version}</version>
</dependency>
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-client</artifactId>
<version>${hbase.version}</version>
</dependency>
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-testing-util</artifactId>
<version>${hbase.version}</version>
</dependency>
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-server</artifactId>
<version>${hbase.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<reporting>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
</plugin>
<!-- Required for generating cross references with sources on reports: e.g. line numbers... -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jxr-plugin</artifactId>
<version>${maven-jxr-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>${maven-checkstyle-plugin.version}</version>
<configuration>
<configLocation>misc/omid_checks.xml</configLocation>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>${maven-pmd-plugin.version}</version>
<configuration>
<aggregate>true</aggregate>
</configuration>
</plugin>
</plugins>
</reporting>
</project>