<?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>1.1.1-SNAPSHOT</version>

    <organization>
        <name>Apache Software Foundation</name>
        <url>http://www.apache.org</url>
    </organization>

    <parent>
        <groupId>org.apache</groupId>
        <artifactId>apache</artifactId>
        <version>30</version>
    </parent>

    <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>
        <developer>
            <id>yonigo</id>
            <name>Yonatan Gottesman</name>
            <email>yonigo@apache.org</email>
            <timezone>+2</timezone>
            <organization>Yahoo Inc</organization>
            <organizationUrl>http://www.yahoo.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-common</module>
        <module>hbase-commit-table</module>
        <module>hbase-client</module>
        <module>hbase-coprocessor</module>
        <module>hbase-tools</module>
        <module>examples</module>
    </modules>

    <repositories>
        <repository>
            <id>apache release</id>
            <url>https://repository.apache.org/content/repositories/releases/</url>
        </repository>
    </repositories>

    <scm>
        <connection>scm:git:https://gitbox.apache.org/repos/asf/phoenix-omid.git</connection>
        <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/phoenix-omid.git</developerConnection>
        <url>scm:git:https://gitbox.apache.org/repos/asf/phoenix-omid.git</url>
        <tag>master</tag>
    </scm>

    <distributionManagement>
        <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://gitbox.apache.org/repos/asf/phoenix-omid-site.git</url>
        </site>
    </distributionManagement>

    <properties>

        <java.version>1.8</java.version>

        <!-- Basic properties -->
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

        <!-- 3rd-Party Library Versioning -->
        <hbase.version>2.4.13</hbase.version>
        <hadoop.version>3.1.4</hadoop.version>
        <phoenix.thirdparty.version>2.0.0</phoenix.thirdparty.version>
        <guice.version>5.1.0</guice.version>
        <testng.version>6.10</testng.version>
        <slf4j.version>1.7.36</slf4j.version>
        <log4j2.version>2.18.0</log4j2.version>
        <netty4.version>4.1.100.Final</netty4.version>
        <!-- com.google repo will be used except on Aarch64 platform. -->
        <protobuf.group>com.google.protobuf</protobuf.group>
        <protobuf-java.version>2.5.0</protobuf-java.version>
        <protoc.version>2.5.0</protoc.version>
        <protobuf.plugin.version>0.6.1</protobuf.plugin.version>
        <junit.version>4.13.1</junit.version>
        <mockito.version>2.28.2</mockito.version>
        <disruptor.version>3.2.0</disruptor.version>
        <metrics.version>3.0.1</metrics.version>
        <jcommander.version>1.82</jcommander.version>
        <commons.conf.version>1.10</commons.conf.version>
        <hamcrest.version>1.3</hamcrest.version>
        <guava.version>32.1.3-jre</guava.version>
        <!-- 2.12+ shades guava -->
        <curator.version>4.2.0</curator.version>
        <zookeeper.version>3.5.9</zookeeper.version>
        <snakeyaml.version>2.0</snakeyaml.version>
        <beanutils.version>1.9.4</beanutils.version>
        <commons-io.version>2.11.0</commons-io.version>
        <commons-pool2.version>2.4.2</commons-pool2.version>
        <commons-lang3.version>3.12.0</commons-lang3.version>
        <bouncycastle.version>1.76</bouncycastle.version>

        <!-- Build related plugins -->
        <os.plugin.version>1.7.1</os.plugin.version>
        <google.findbugs.version>3.0.2</google.findbugs.version>

        <!-- Maven Plugin Versioning -->
        <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>4.3</maven-license-plugin.version>
        <maven-pmd-plugin.version>3.21.0</maven-pmd-plugin.version>
        <maven-checkstyle-plugin.version>3.3.0</maven-checkstyle-plugin.version>
        <maven-jxr-plugin.version>3.3.0</maven-jxr-plugin.version>
        <maven-findbugs-maven-plugin.version>3.0.5</maven-findbugs-maven-plugin.version>
        <maven-owasp-plugin.version>8.4.0</maven-owasp-plugin.version>

        <!-- Code coverage properties -->
        <maven-clover-plugin.version>4.5.0</maven-clover-plugin.version>
        <maven-sonar-plugin.version>3.10.0.2594</maven-sonar-plugin.version>

        <!-- Licensing properties (for license-maven-plugins) -->
        <LicenseSet.header>misc/header.txt</LicenseSet.header>

        <!-- Harmless extension default-->
        <harmless.groupId>org.apache.hbase</harmless.groupId>
        <harmless.artifactId>hbase-client</harmless.artifactId>
        <harmless.version>${hbase.version}</harmless.version>
        <additionalparam>-Xdoclint:none</additionalparam>
    </properties>

    <build>

        <pluginManagement>

            <plugins>

                <!-- ============================================================================================== -->
                <!-- Basic plugins                                                                                  -->
                <!-- ============================================================================================== -->

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <configuration>
                        <source>${java.version}</source>
                        <target>${java.version}</target>
                    </configuration>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <configuration>
                        <forkNode implementation="org.apache.maven.plugin.surefire.extensions.SurefireForkNodeFactory"/>
                        <forkCount>1C</forkCount>
                        <redirectTestOutputToFile>true</redirectTestOutputToFile>
                        <trimStackTrace>false</trimStackTrace>
                    </configuration>
                </plugin>


                <plugin>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <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>
                    <configuration>
                        <scmCommentPrefix>[ci skip]</scmCommentPrefix>
                        <useReleaseProfile>false</useReleaseProfile>
                        <releaseProfiles>release_profile</releaseProfiles>
                    </configuration>
                </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>
                    <forkNode implementation="org.apache.maven.plugin.surefire.extensions.SurefireForkNodeFactory"/>
                    <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>
                    <aggregate>true</aggregate> <!-- for multi-module config -->
                    <skipExistingHeaders>false</skipExistingHeaders>
                    <!-- Add comment style for protocol buffers -->
                    <mapping>
                        <java>SLASHSTAR_STYLE</java>
                        <proto>DOUBLESLASH_STYLE</proto>
                    </mapping>
                    <licenseSets>
                        <licenseSet>
                            <header>${LicenseSet.header}</header>
                            <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>dev-support/artifacts/**</exclude>
                                <exclude>dev-support/work/**</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>
                        </licenseSet>
                    </licenseSets>
                </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>
                <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>doc/site/site.xml</exclude>
                        <exclude>doc/images/ModuleDependencies.graffle</exclude>
                        <exclude>misc/findbugs-exclude.xml</exclude>
                        <exclude>misc/omid_checks.xml</exclude>
                        <exclude>dev-support/artifacts/**</exclude>
                        <exclude>dev-support/work/**</exclude>
                   </excludes>
                </configuration>
            </plugin>

        </plugins>

        <extensions>
            <extension>
                <groupId>${harmless.groupId}</groupId>
                <artifactId>${harmless.artifactId}</artifactId>
                <version>${harmless.version}</version>
            </extension>
        </extensions>

    </build>


    <profiles>

        <profile>
            <id>site-deploy</id>
            <pluginRepositories>

                <pluginRepository>
                    <id>synergian-repo</id>
                    <url>https://raw.githubusercontent.com/synergian/wagon-git/releases</url>
                </pluginRepository>

            </pluginRepositories>
            <properties>
                <harmless.groupId>ar.com.synergian</harmless.groupId>
                <harmless.artifactId>wagon-git</harmless.artifactId>
                <harmless.version>0.2.5</harmless.version>
            </properties>
        </profile>


        <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>
                        <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-1</id>
              <build>
                <plugins>
                  <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-enforcer-plugin</artifactId>
                    <executions>
                      <execution>
                        <id>enforce</id>
                        <goals>
                          <goal>enforce</goal>
                        </goals>
                        <configuration>
                          <rules>
                            <AlwaysFail/>
                          </rules>
                          <fail>true</fail>
                        </configuration>
                      </execution>
                    </executions>
                  </plugin>
                </plugins>
              </build>
        </profile>

        <profile>
            <id>hbase-2</id>
            <!-- Empty profile to prevent warning when compiling with -Phbase-2 -->
        </profile>

        <profile>
            <id>owasp-dependency-check</id>
            <build>
                <plugins>
                    <plugin>
                      <groupId>org.owasp</groupId>
                      <artifactId>dependency-check-maven</artifactId>
                      <version>${maven-owasp-plugin.version}</version>
                      <configuration>
                          <skipProvidedScope>true</skipProvidedScope>
                          <skipRuntimeScope>true</skipRuntimeScope>
                          <skipSystemScope>true</skipSystemScope>
                      </configuration>
                      <executions>
                          <execution>
                              <goals>
                                   <goal>aggregate</goal>
                              </goals>
                          </execution>
                      </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>linux-aarch64</id>
            <activation>
                <os>
                <family>linux</family>
                <arch>aarch64</arch>
                </os>
            </activation>
            <properties>
                <!-- PHOENIX-6475 Use custom protoc for Linux ARM64 -->
                <protobuf.group>org.openlabtesting.protobuf</protobuf.group>
                <protoc.version>2.5.0.2</protoc.version>
            </properties>
        </profile>

        <profile>
            <id>code-coverage</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <properties>
                <cloverDatabase>${project.build.directory}/clover/code-coverage.db</cloverDatabase>
                <sonar.core.codeCoveragePlugin>clover</sonar.core.codeCoveragePlugin>
                <sonar.clover.version>${maven-clover-plugin.version}</sonar.clover.version>
                <sonar.clover.reportPath>${project.build.directory}/clover/clover.xml</sonar.clover.reportPath>
                <sonar.surefire.reportsPath>${project.build.directory}/surefire-reports</sonar.surefire.reportsPath>
                <sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
            </properties>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.openclover</groupId>
                        <artifactId>clover-maven-plugin</artifactId>
                        <version>${maven-clover-plugin.version}</version>
                        <configuration>
                            <cloverDatabase>${cloverDatabase}</cloverDatabase>
                            <cloverMergeDatabase>${cloverDatabase}</cloverMergeDatabase>
                            <outputDirectory>${project.build.directory}/clover</outputDirectory>
                            <alwaysReport>true</alwaysReport>
                            <generateHistorical>false</generateHistorical>
                            <generateHtml>true</generateHtml>
                            <generateXml>true</generateXml>
                            <includesTestSourceRoots>true</includesTestSourceRoots>
                            <includesAllSourceRoots>true</includesAllSourceRoots>
                            <includes>
                                <include>**/org/apache/**/*.java</include>
                            </includes>
                        </configuration>
                        <executions>
                            <execution>
                                <id>clover-setup</id>
                                <goals>
                                    <goal>setup</goal>
                                </goals>
                                <phase>process-sources</phase>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.sonarsource.scanner.maven</groupId>
                        <artifactId>sonar-maven-plugin</artifactId>
                        <version>${maven-sonar-plugin.version}</version>
                    </plugin>
                </plugins>
            </build>
        </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>
                <exclusions>
                    <exclusion>
                        <groupId>log4j</groupId>
                        <artifactId>log4j</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-log4j12</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.apache.hbase</groupId>
                <artifactId>hbase-server</artifactId>
                <version>${hbase.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.hbase</groupId>
                <artifactId>hbase-endpoint</artifactId>
                <version>${hbase.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>${commons-lang3.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-annotations</artifactId>
                <version>${hadoop.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-auth</artifactId>
                <version>${hadoop.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>log4j</groupId>
                        <artifactId>log4j</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-log4j12</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-client</artifactId>
                <version>${hadoop.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-common</artifactId>
                <version>${hadoop.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>log4j</groupId>
                        <artifactId>log4j</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-log4j12</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-distcp</artifactId>
                <version>${hadoop.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-hdfs-client</artifactId>
                <version>${hadoop.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-hdfs-client</artifactId>
                <version>${hadoop.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-hdfs</artifactId>
                <version>${hadoop.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>log4j</groupId>
                        <artifactId>log4j</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-log4j12</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-hdfs</artifactId>
                <version>${hadoop.version}</version>
                <type>test-jar</type>
            </dependency>

            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-mapreduce-client-app</artifactId>
                <version>${hadoop.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-mapreduce-client-common</artifactId>
                <version>${hadoop.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-mapreduce-client-core</artifactId>
                <version>${hadoop.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>log4j</groupId>
                        <artifactId>log4j</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-log4j12</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-mapreduce-client-hs</artifactId>
                <version>${hadoop.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-mapreduce-client-jobclient</artifactId>
                <version>${hadoop.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-mapreduce-client-jobclient</artifactId>
                <version>${hadoop.version}</version>
                <type>test-jar</type>
            </dependency>

            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-mapreduce-client-shuffle</artifactId>
                <version>${hadoop.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-minicluster</artifactId>
                <version>${hadoop.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-yarn-api</artifactId>
                <version>${hadoop.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-yarn-client</artifactId>
                <version>${hadoop.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-yarn-common</artifactId>
                <version>${hadoop.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-yarn-registry</artifactId>
                <version>${hadoop.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-yarn-server-applicationhistoryservice</artifactId>
                <version>${hadoop.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-yarn-server-common</artifactId>
                <version>${hadoop.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-yarn-server-nodemanager</artifactId>
                <version>${hadoop.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-yarn-server-resourcemanager</artifactId>
                <version>${hadoop.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-yarn-server-tests</artifactId>
                <version>${hadoop.version}</version>
                <type>test-jar</type>
            </dependency>

            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-yarn-server-timelineservice</artifactId>
                <version>${hadoop.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-yarn-server-timelineservice</artifactId>
                <version>${hadoop.version}</version>
                <type>test-jar</type>
            </dependency>

            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-yarn-server-web-proxy</artifactId>
                <version>${hadoop.version}</version>
                <type>test-jar</type>
            </dependency>

            <dependency>
                <groupId>org.apache.curator</groupId>
                <artifactId>curator-client</artifactId>
                <exclusions>
                  <exclusion>
                    <groupId>com.google.guava</groupId>
                    <artifactId>guava</artifactId>
                  </exclusion>
                  <exclusion>
                    <groupId>org.apache.zookeeper</groupId>
                    <artifactId>zookeeper</artifactId>
                  </exclusion>
                </exclusions>
                <version>${curator.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.curator</groupId>
                <artifactId>curator-framework</artifactId>
                <exclusions>
                  <exclusion>
                    <groupId>org.apache.zookeeper</groupId>
                    <artifactId>zookeeper</artifactId>
                  </exclusion>
                </exclusions>
                <version>${curator.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.curator</groupId>
                <artifactId>curator-recipes</artifactId>
                <exclusions>
                  <exclusion>
                    <groupId>com.google.guava</groupId>
                    <artifactId>guava</artifactId>
                  </exclusion>
                  <exclusion>
                    <groupId>org.apache.zookeeper</groupId>
                    <artifactId>zookeeper</artifactId>
                  </exclusion>
                </exclusions>
                <version>${curator.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.curator</groupId>
                <artifactId>curator-test</artifactId>
                <exclusions>
                  <exclusion>
                    <groupId>com.google.guava</groupId>
                    <artifactId>guava</artifactId>
                  </exclusion>
                  <exclusion>
                    <groupId>org.apache.zookeeper</groupId>
                    <artifactId>zookeeper</artifactId>
                  </exclusion>
                </exclusions>
                <version>${curator.version}</version>
            </dependency>

            <!-- These are directly used -->
            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-transport</artifactId>
                <version>${netty4.version}</version>
            </dependency>
            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-common</artifactId>
                <version>${netty4.version}</version>
            </dependency>
            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-codec</artifactId>
                <version>${netty4.version}</version>
            </dependency>

            <!-- These are to manage the indirect dependencies -->
            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-buffer</artifactId>
                <version>${netty4.version}</version>
            </dependency>
            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-handler</artifactId>
                <version>${netty4.version}</version>
            </dependency>
            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-transport-native-epoll</artifactId>
                <version>${netty4.version}</version>
            </dependency>
            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-transport-native-unix-common</artifactId>
                <version>${netty4.version}</version>
            </dependency>

            <!-- set version for snakeyaml transitive dependencies -->
            <dependency>
                <groupId>org.yaml</groupId>
                <artifactId>snakeyaml</artifactId>
                <version>${snakeyaml.version}</version>
            </dependency>



            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>${slf4j.version}</version>
            </dependency>

            <!-- log4j2 dependencies -->
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-api</artifactId>
                <version>${log4j2.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-core</artifactId>
                <version>${log4j2.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-slf4j-impl</artifactId>
                <version>${log4j2.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-1.2-api</artifactId>
                <version>${log4j2.version}</version>
            </dependency>

            <!-- Other test dependencies -->

            <dependency>
                <groupId>org.testng</groupId>
                <artifactId>testng</artifactId>
                <version>${testng.version}</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>${junit.version}</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>org.mockito</groupId>
                <artifactId>mockito-core</artifactId>
                <version>${mockito.version}</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>org.hamcrest</groupId>
                <artifactId>hamcrest-all</artifactId>
                <version>${hamcrest.version}</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>org.bouncycastle</groupId>
                <artifactId>bcpkix-jdk18on</artifactId>
                <version>${bouncycastle.version}</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>org.bouncycastle</groupId>
                <artifactId>bcprov-jdk18on</artifactId>
                <version>${bouncycastle.version}</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>${guava.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>
