<?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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.apache</groupId>
    <artifactId>apache</artifactId>
    <version>23</version>
  </parent>
  <groupId>org.apache.hive</groupId>
  <artifactId>hive</artifactId>
  <version>4.0.0-SNAPSHOT</version>
  <packaging>pom</packaging>

  <name>Hive</name>
  <url>https://hive.apache.org</url>

  <modules>
    <module>storage-api</module>
    <module>accumulo-handler</module>
    <module>vector-code-gen</module>
    <module>beeline</module>
    <module>classification</module>
    <module>cli</module>
    <module>common</module>
    <module>contrib</module>
    <module>druid-handler</module>
    <module>hbase-handler</module>
    <module>jdbc-handler</module>
    <module>hcatalog</module>
    <module>hplsql</module>
    <module>jdbc</module>
    <module>metastore</module>
    <module>parser</module>
    <module>udf</module>
    <module>ql</module>
    <module>serde</module>
    <module>service-rpc</module>
    <module>service</module>
    <module>streaming</module>
    <module>llap-common</module>
    <module>llap-client</module>
    <module>llap-ext-client</module>
    <module>llap-tez</module>
    <module>llap-server</module>
    <module>shims</module>
    <module>spark-client</module>
    <module>kryo-registrator</module>
    <module>kudu-handler</module>
    <module>testutils</module>
    <module>packaging</module>
    <module>standalone-metastore</module>
    <module>upgrade-acid</module>
    <module>kafka-handler</module>
  </modules>

  <properties>
    <hive.version.shortname>4.0.0</hive.version.shortname>

    <!-- Build Properties -->
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
    <maven.compiler.useIncrementalCompilation>false</maven.compiler.useIncrementalCompilation>
    <maven.repo.local>${settings.localRepository}</maven.repo.local>
    <hive.path.to.root>.</hive.path.to.root>
    <hive.jdbc.driver.classifier>standalone</hive.jdbc.driver.classifier>
    <checkstyle.conf.dir>${basedir}/${hive.path.to.root}/checkstyle</checkstyle.conf.dir>

    <!-- Test Properties -->
    <test.extra.path></test.extra.path>
    <itest.jdbc.jars>set-this-to-colon-separated-full-path-list-of-jars-to-run-integration-tests
    </itest.jdbc.jars>
    <!--suppress UnresolvedMavenProperty -->
    <test.hive.hadoop.classpath>${maven.test.classpath}</test.hive.hadoop.classpath>
    <test.log4j.scheme>file://</test.log4j.scheme>
    <test.tmp.dir>${project.build.directory}/tmp</test.tmp.dir>
    <test.conf.dir>${project.build.directory}/testconf</test.conf.dir>
    <test.tmp.dir.uri>file://${test.tmp.dir}</test.tmp.dir.uri>
    <!-- Determines the log level of the console logger, hive.log is independent of this-->
    <test.console.log.level>INFO</test.console.log.level>
    <test.warehouse.dir>${project.build.directory}/warehouse</test.warehouse.dir>
    <test.local.warehouse.dir>${project.build.directory}/localfs/warehouse</test.local.warehouse.dir>
    <test.warehouse.scheme>pfile://</test.warehouse.scheme>

    <!-- To add additional exclude patterns set this property -->
    <test.excludes.additional></test.excludes.additional>
    <skip.spark.files>**/TestSparkStatistics*,**/TestSparkSessionTimeout*,**/TestJdbcWithMiniHS2ErasureCoding*,**/TestLocalHiveSparkClient*</skip.spark.files>

    <!-- Plugin and Plugin Dependency Versions -->
    <ant.contrib.version>1.0b3</ant.contrib.version>
    <maven.test.jvm.args>-Xmx2048m</maven.test.jvm.args>
    <maven.checkstyle.plugin.version>2.17</maven.checkstyle.plugin.version>
    <maven.build-helper.plugin.version>1.12</maven.build-helper.plugin.version>
    <maven.eclipse.plugin.version>2.10</maven.eclipse.plugin.version>
    <maven.surefire.plugin.version>3.0.0-M4</maven.surefire.plugin.version>
    <!-- Library Dependency Versions -->
    <accumulo.version>1.7.3</accumulo.version>
    <ant.version>1.9.1</ant.version>
    <antlr.version>3.5.2</antlr.version>
    <apache-directory-server.version>1.5.7</apache-directory-server.version>
    <!-- Include arrow for LlapOutputFormatService -->
    <arrow.version>0.10.0</arrow.version>
    <avatica.version>1.12.0</avatica.version>
    <avro.version>1.8.2</avro.version>
    <calcite.version>1.21.0</calcite.version>
    <datanucleus-api-jdo.version>5.2.2</datanucleus-api-jdo.version>
    <datanucleus-core.version>5.2.2</datanucleus-core.version>
    <datanucleus-jdo.version>3.2.0-m13</datanucleus-jdo.version>
    <datanucleus-rdbms.version>5.2.2</datanucleus-rdbms.version>
    <commons-cli.version>1.2</commons-cli.version>
    <commons-codec.version>1.7</commons-codec.version>
    <commons-collections.version>3.2.2</commons-collections.version>
    <commons-compress.version>1.19</commons-compress.version>
    <commons-configuration.version>1.10</commons-configuration.version>
    <commons-exec.version>1.1</commons-exec.version>
    <commons-io.version>2.6</commons-io.version>
    <commons-lang3.version>3.9</commons-lang3.version>
    <commons-dbcp2.version>2.7.0</commons-dbcp2.version>
    <commons-text.version>1.8</commons-text.version>
    <derby.version>10.14.1.0</derby.version>
    <dropwizard.version>3.1.0</dropwizard.version>
    <dropwizard-metrics-hadoop-metrics2-reporter.version>0.1.2</dropwizard-metrics-hadoop-metrics2-reporter.version>
    <druid.version>0.17.1</druid.version>
    <flatbuffers.version>1.6.0.1</flatbuffers.version>
    <guava.version>19.0</guava.version>
    <groovy.version>2.4.11</groovy.version>
    <h2database.version>1.3.166</h2database.version>
    <hadoop.version>3.1.0</hadoop.version>
    <hadoop.bin.path>${basedir}/${hive.path.to.root}/testutils/hadoop</hadoop.bin.path>
    <hamcrest.version>1.3</hamcrest.version>
    <hbase.version>2.0.0-alpha4</hbase.version>
    <hppc.version>0.7.2</hppc.version>
    <!-- required for logging test to avoid including hbase which pulls disruptor transitively -->
    <disruptor.version>3.3.7</disruptor.version>
    <hikaricp.version>2.6.1</hikaricp.version>
    <!-- httpcomponents are not always in version sync -->
    <httpcomponents.client.version>4.5.6</httpcomponents.client.version>
    <httpcomponents.core.version>4.4.10</httpcomponents.core.version>
    <ivy.version>2.4.0</ivy.version>
    <jackson.version>2.10.5</jackson.version>
    <jamon.plugin.version>2.3.4</jamon.plugin.version>
    <jamon-runtime.version>2.3.1</jamon-runtime.version>
    <javaewah.version>0.3.2</javaewah.version>
    <javax-servlet.version>3.1.0</javax-servlet.version>
    <javax-servlet-jsp.version>2.3.1</javax-servlet-jsp.version>
    <javolution.version>5.5.1</javolution.version>
    <jettison.version>1.1</jettison.version>
    <jetty.version>9.3.27.v20190418</jetty.version>
    <jersey.version>1.19</jersey.version>
    <!-- Glassfish jersey is included for Spark client test only -->
    <glassfish.jersey.version>2.22.2</glassfish.jersey.version>
    <jline.version>2.14.6</jline.version>
    <jms.version>2.0.2</jms.version>
    <joda.version>2.9.9</joda.version>
    <jodd.version>3.5.2</jodd.version>
    <json.version>1.8</json.version>
    <junit.version>4.13</junit.version>
    <junit.jupiter.version>5.6.2</junit.jupiter.version>
    <junit.vintage.version>5.6.2</junit.vintage.version>
    <kafka.version>2.5.0</kafka.version>
    <kryo.version>4.0.2</kryo.version>
    <kudu.version>1.12.0</kudu.version>
    <!-- Leaving libfb303 at 0.9.3 regardless of libthrift: As per THRIFT-4613 The Apache Thrift project does not publish items related to fb303 at this point -->
    <libfb303.version>0.9.3</libfb303.version>
    <libthrift.version>0.13.0</libthrift.version>
    <log4j2.version>2.12.1</log4j2.version>
    <mariadb.version>2.5.0</mariadb.version>
    <opencsv.version>2.3</opencsv.version>
    <orc.version>1.5.10</orc.version>
    <mockito-core.version>3.3.3</mockito-core.version>
    <powermock.version>2.0.2</powermock.version>
    <mina.version>2.0.0-M5</mina.version>
    <netty.version>4.1.48.Final</netty.version>
    <netty3.version>3.10.5.Final</netty3.version>
    <netty.hadoop.version>4.0.52.Final</netty.hadoop.version>
    <paranamer.version>2.8</paranamer.version>
    <parquet.version>1.11.0</parquet.version>
    <pig.version>0.16.0</pig.version>
    <plexus.version>1.5.6</plexus.version>
    <protobuf.version>2.5.0</protobuf.version>
    <stax.version>1.0.1</stax.version>
    <slf4j.version>1.7.30</slf4j.version>
    <ST4.version>4.0.4</ST4.version>
    <storage-api.version>2.7.0-SNAPSHOT</storage-api.version>
    <tez.version>0.9.1</tez.version>
    <super-csv.version>2.2.0</super-csv.version>
    <spark.version>2.4.5</spark.version>
    <scala.binary.version>2.12</scala.binary.version>
    <scala.version>2.12.10</scala.version>
    <tempus-fugit.version>1.1</tempus-fugit.version>
    <snappy.version>1.1.4</snappy.version>
    <wadl-resourcedoc-doclet.version>1.4</wadl-resourcedoc-doclet.version>
    <velocity.version>1.5</velocity.version>
    <xerces.version>2.9.1</xerces.version>
    <zookeeper.version>3.5.5</zookeeper.version>
    <jpam.version>1.1</jpam.version>
    <felix.version>2.4.0</felix.version>
    <curator.version>4.2.0</curator.version>
    <jsr305.version>3.0.0</jsr305.version>
    <tephra.version>0.6.0</tephra.version>
    <gson.version>2.2.4</gson.version>
    <jjwt.version>0.10.5</jjwt.version>
    <re2j.version>1.2</re2j.version>
    <rs-api.version>2.0.1</rs-api.version>
    <json-path.version>2.4.0</json-path.version>
    <janino.version>3.0.11</janino.version>
    <datasketches.version>1.1.0-incubating</datasketches.version>
    <spotbugs.version>4.0.3</spotbugs.version>
  </properties>

  <repositories>
   <!-- This needs to be removed before checking in-->
    <repository>
      <id>central</id>
      <name>central</name>
      <url>https://repo.maven.apache.org/maven2</url>
      <layout>default</layout>
      <releases>
        <enabled>true</enabled>
        <checksumPolicy>warn</checksumPolicy>
      </releases>
    </repository>
    <repository>
       <id>repository-release</id>
       <url>https://repository.apache.org/content/repositories/releases/</url>
       <releases>
         <enabled>true</enabled>
       </releases>
       <snapshots>
         <enabled>true</enabled>
       </snapshots>
    </repository>
  </repositories>

  <dependencyManagement>
    <dependencies>
      <!-- dependencies are always listed in sorted order by groupId, artifactId -->
      <dependency>
        <groupId>com.esotericsoftware</groupId>
        <artifactId>kryo-shaded</artifactId>
        <version>${kryo.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>${guava.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.protobuf</groupId>
        <artifactId>protobuf-java</artifactId>
        <version>${protobuf.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.code.tempus-fugit</groupId>
        <artifactId>tempus-fugit</artifactId>
        <version>${tempus-fugit.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest-core</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>com.googlecode.javaewah</groupId>
        <artifactId>JavaEWAH</artifactId>
        <version>${javaewah.version}</version>
      </dependency>
      <dependency>
        <groupId>com.zaxxer</groupId>
        <artifactId>HikariCP</artifactId>
        <version>${hikaricp.version}</version>
      </dependency>
      <dependency>
        <groupId>com.thoughtworks.paranamer</groupId>
        <artifactId>paranamer</artifactId>
        <version>${paranamer.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.parquet</groupId>
        <artifactId>parquet</artifactId>
        <version>${parquet.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.parquet</groupId>
        <artifactId>parquet-column</artifactId>
        <version>${parquet.version}</version>
        <classifier>tests</classifier>
      </dependency>
      <dependency>
        <groupId>org.apache.parquet</groupId>
        <artifactId>parquet-hadoop-bundle</artifactId>
        <version>${parquet.version}</version>
      </dependency>
      <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-core</artifactId>
        <version>${jersey.version}</version>
      </dependency>
      <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-json</artifactId>
        <version>${jersey.version}</version>
      </dependency>
      <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-server</artifactId>
        <version>${jersey.version}</version>
      </dependency>
      <dependency>
        <groupId>com.sun.jersey.contribs</groupId>
        <artifactId>wadl-resourcedoc-doclet</artifactId>
        <version>${wadl-resourcedoc-doclet.version}</version>
      </dependency>
      <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-servlet</artifactId>
        <version>${jersey.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-cli</groupId>
        <artifactId>commons-cli</artifactId>
        <version>${commons-cli.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
        <version>${commons-codec.version}</version>
      </dependency>
       <dependency>
        <groupId>commons-collections</groupId>
        <artifactId>commons-collections</artifactId>
        <version>${commons-collections.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>${commons-io.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-dbcp2</artifactId>
        <version>${commons-dbcp2.version}</version>
      </dependency>
      <dependency>
        <groupId>io.jsonwebtoken</groupId>
        <artifactId>jjwt-api</artifactId>
        <version>${jjwt.version}</version>
      </dependency>
      <dependency>
        <groupId>io.jsonwebtoken</groupId>
        <artifactId>jjwt-impl</artifactId>
        <version>${jjwt.version}</version>
      </dependency>
      <dependency>
        <groupId>io.jsonwebtoken</groupId>
        <artifactId>jjwt-jackson</artifactId>
        <version>${jjwt.version}</version>
      </dependency>
      <dependency>
        <groupId>io.netty</groupId>
        <artifactId>netty-all</artifactId>
        <version>${netty.version}</version>
      </dependency>
      <dependency>
        <groupId>jakarta.jms</groupId>
        <artifactId>jakarta.jms-api</artifactId>
        <version>${jms.version}</version>
      </dependency>
      <dependency>
        <groupId>javolution</groupId>
        <artifactId>javolution</artifactId>
        <version>${javolution.version}</version>
      </dependency>
      <dependency>
        <groupId>jline</groupId>
        <artifactId>jline</artifactId>
        <version>${jline.version}</version>
      </dependency>
      <dependency>
        <groupId>joda-time</groupId>
        <artifactId>joda-time</artifactId>
        <version>${joda.version}</version>
      </dependency>
      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>${junit.version}</version>
      </dependency>
      <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-engine</artifactId>
        <version>${junit.jupiter.version}</version>
      </dependency>
      <dependency>
        <groupId>org.junit.vintage</groupId>
        <artifactId>junit-vintage-engine</artifactId>
        <version>${junit.vintage.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-text</artifactId>
        <version>${commons-text.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-1.2-api</artifactId>
        <version>${log4j2.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-web</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.antlr</groupId>
        <artifactId>antlr-runtime</artifactId>
        <version>${antlr.version}</version>
      </dependency>
      <dependency>
        <groupId>org.antlr</groupId>
        <artifactId>ST4</artifactId>
        <version>${ST4.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-compress</artifactId>
        <version>${commons-compress.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-exec</artifactId>
        <version>${commons-exec.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.accumulo</groupId>
        <artifactId>accumulo-core</artifactId>
        <version>${accumulo.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.accumulo</groupId>
        <artifactId>accumulo-fate</artifactId>
        <version>${accumulo.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.accumulo</groupId>
        <artifactId>accumulo-minicluster</artifactId>
        <version>${accumulo.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.accumulo</groupId>
        <artifactId>accumulo-start</artifactId>
        <version>${accumulo.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.accumulo</groupId>
        <artifactId>accumulo-trace</artifactId>
        <version>${accumulo.version}</version>
      </dependency>
      <dependency>
          <groupId>org.apache.calcite.avatica</groupId>
          <artifactId>avatica</artifactId>
          <version>${avatica.version}</version>
      </dependency>
      <dependency>
          <groupId>org.apache.calcite.avatica</groupId>
          <artifactId>avatica-core</artifactId>
          <version>${avatica.version}</version>
      </dependency>
      <dependency>
          <groupId>org.apache.calcite.avatica</groupId>
          <artifactId>avatica-metrics</artifactId>
          <version>${avatica.version}</version>
      </dependency>
      <dependency>
          <groupId>org.apache.calcite.avatica</groupId>
          <artifactId>avatica-server</artifactId>
          <version>${avatica.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.avro</groupId>
        <artifactId>avro</artifactId>
        <version>${avro.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.avro</groupId>
        <artifactId>avro-mapred</artifactId>
        <classifier>hadoop2</classifier>
        <version>${avro.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.mortbay.jetty</groupId>
            <artifactId>jetty-util</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.mortbay.jetty</groupId>
            <artifactId>servlet-api</artifactId>
          </exclusion>
        </exclusions>
     </dependency>
      <dependency>
        <groupId>org.apache.derby</groupId>
        <artifactId>derby</artifactId>
        <version>${derby.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>${httpcomponents.client.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpcore</artifactId>
        <version>${httpcomponents.core.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.velocity</groupId>
        <artifactId>velocity</artifactId>
        <version>${velocity.version}</version>
      </dependency>
      <dependency>
        <groupId>stax</groupId>
        <artifactId>stax-api</artifactId>
        <version>${stax.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.calcite</groupId>
        <artifactId>calcite-core</artifactId>
        <version>${calcite.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.calcite</groupId>
        <artifactId>calcite-linq4j</artifactId>
        <version>${calcite.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.calcite</groupId>
        <artifactId>calcite-druid</artifactId>
        <version>${calcite.version}</version>
      </dependency>
       <dependency>
        <groupId>org.apache.orc</groupId>
        <artifactId>orc-core</artifactId>
        <version>${orc.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-common</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.hive</groupId>
            <artifactId>hive-storage-api</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.hive</groupId>
        <artifactId>hive-storage-api</artifactId>
        <version>${storage-api.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-client</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-recipes</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.pig</groupId>
        <artifactId>pig</artifactId>
        <version>${pig.version}</version>
     </dependency>
      <dependency>
        <groupId>org.apache.thrift</groupId>
        <artifactId>libfb303</artifactId>
        <version>${libfb303.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.thrift</groupId>
        <artifactId>libthrift</artifactId>
        <version>${libthrift.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.zookeeper</groupId>
        <artifactId>zookeeper</artifactId>
        <version>${zookeeper.version}</version>
        <exclusions>
            <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
          </exclusion>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpcore</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
          </exclusion>
         <exclusion>
            <groupId>io.netty</groupId>
            <artifactId>netty-all</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.curator</groupId>
        <artifactId>curator-client</artifactId>
        <version>${curator.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.curator</groupId>
        <artifactId>curator-framework</artifactId>
        <version>${curator.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.curator</groupId>
        <artifactId>curator-recipes</artifactId>
        <version>${curator.version}</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.groovy</groupId>
        <artifactId>groovy-all</artifactId>
        <version>${groovy.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson</groupId>
        <artifactId>jackson-bom</artifactId>
        <version>${jackson.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>org.codehaus.jettison</groupId>
        <artifactId>jettison</artifactId>
        <version>${jettison.version}</version>
        <exclusions>
          <exclusion>
            <groupId>stax</groupId>
            <artifactId>stax-api</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-rewrite</artifactId>
        <version>${jetty.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-server</artifactId>
        <version>${jetty.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-servlet</artifactId>
        <version>${jetty.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-runner</artifactId>
        <version>${jetty.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-webapp</artifactId>
        <version>${jetty.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-util</artifactId>
        <version>${jetty.version}</version>
      </dependency>
      <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>${javax-servlet.version}</version>
      </dependency>
      <dependency>
        <groupId>org.datanucleus</groupId>
        <artifactId>datanucleus-api-jdo</artifactId>
        <version>${datanucleus-api-jdo.version}</version>
      </dependency>
      <dependency>
        <groupId>org.datanucleus</groupId>
        <artifactId>datanucleus-core</artifactId>
        <version>${datanucleus-core.version}</version>
      </dependency>
      <dependency>
        <groupId>org.datanucleus</groupId>
        <artifactId>datanucleus-rdbms</artifactId>
        <version>${datanucleus-rdbms.version}</version>
      </dependency>
      <dependency>
        <groupId>org.datanucleus</groupId>
        <artifactId>javax.jdo</artifactId>
        <version>${datanucleus-jdo.version}</version>
      </dependency>
      <dependency>
        <groupId>com.tdunning</groupId>
        <artifactId>json</artifactId>
        <version>${json.version}</version>
      </dependency>
      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-core</artifactId>
        <version>${mockito-core.version}</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${slf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>xerces</groupId>
        <artifactId>xercesImpl</artifactId>
        <version>${xerces.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-client</artifactId>
        <version>${hadoop.version}</version>
         <exclusions>
           <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
         </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-auth</artifactId>
        <version>${hadoop.version}</version>
         <exclusions>
           <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-framework</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-test</artifactId>
          </exclusion>
         </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-common</artifactId>
        <version>${hadoop.version}</version>
        <exclusions>
         <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
          </exclusion>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpcore</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-test</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-client</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-recipes</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-hdfs</artifactId>
        <version>${hadoop.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-mapreduce-client-jobclient</artifactId>
        <version>${hadoop.version}</version>
          <exclusions>
            <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
          </exclusion>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.codahale.metrics</groupId>
            <artifactId>metrics-core</artifactId>
          </exclusion>
        </exclusions>
     </dependency>
      <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-mapreduce-client-common</artifactId>
        <version>${hadoop.version}</version>
         <exclusions>
            <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
          </exclusion>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
        </exclusions>
     </dependency>
      <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-mapreduce-client-core</artifactId>
        <version>${hadoop.version}</version>
         <exclusions>
            <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
          </exclusion>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-minikdc</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-web-common</artifactId>
        <version>${hadoop.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-yarn-server-web-proxy</artifactId>
        <version>${hadoop.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-client</artifactId>
        <version>${hbase.version}</version>
      </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-hadoop2-compat</artifactId>
        <version>${hbase.version}</version>
        <exclusions>
          <exclusion>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.jruby</groupId>
            <artifactId>jruby-complete</artifactId>
          </exclusion>
          <exclusion>
            <groupId>io.netty</groupId>
            <artifactId>netty-all</artifactId>
          </exclusion>
          <exclusion>
            <groupId>io.netty</groupId>
            <artifactId>netty</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.sun.jersey</groupId>
            <artifactId>jersey-core</artifactId>
         </exclusion>
          <exclusion>
            <groupId>com.sun.jersey</groupId>
            <artifactId>jersey-json</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.sun.jersey</groupId>
            <artifactId>jersey-server</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.codahale.metrics</groupId>
            <artifactId>metrics-core</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.hbase</groupId>
        <artifactId>hbase-server</artifactId>
        <version>${hbase.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.glassfish.web</groupId>
            <artifactId>javax.servlet.jsp</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.hbase</groupId>
        <artifactId>hbase-mapreduce</artifactId>
        <version>${hbase.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-minicluster</artifactId>
        <version>${hadoop.version}</version>
      </dependency>
      <dependency>
        <groupId>org.scala-lang</groupId>
        <artifactId>scala-library</artifactId>
        <version>${scala.version}</version>
      </dependency>
      <dependency>
        <groupId>org.scala-lang</groupId>
        <artifactId>scala-compiler</artifactId>
        <version>${scala.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-core_${scala.binary.version}</artifactId>
        <version>${spark.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-core</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.jamon</groupId>
        <artifactId>jamon-runtime</artifactId>
        <version>${jamon-runtime.version}</version>
      </dependency>
      <dependency>
        <groupId>org.xerial.snappy</groupId>
        <artifactId>snappy-java</artifactId>
        <version>${snappy.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.re2j</groupId>
        <artifactId>re2j</artifactId>
        <version>${re2j.version}</version>
      </dependency>
      <dependency>
        <groupId>com.jayway.jsonpath</groupId>
        <artifactId>json-path</artifactId>
        <version>${json-path.version}</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.janino</groupId>
        <artifactId>commons-compiler</artifactId>
        <version>${janino.version}</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.janino</groupId>
        <artifactId>janino</artifactId>
        <version>${janino.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.tez</groupId>
        <artifactId>tez-runtime-internals</artifactId>
        <version>${tez.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.tez</groupId>
        <artifactId>tez-runtime-library</artifactId>
        <version>${tez.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.tez</groupId>
        <artifactId>tez-api</artifactId>
        <version>${tez.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.tez</groupId>
        <artifactId>tez-dag</artifactId>
        <version>${tez.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.tez</groupId>
        <artifactId>tez-mapreduce</artifactId>
        <version>${tez.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.tez</groupId>
        <artifactId>tez-common</artifactId>
        <version>${tez.version}</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <dependencies>
    <!-- dependencies are always listed in sorted order by groupId, artifactId -->
    <!-- global dependencies -->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
    </dependency>
    <dependency>
      <groupId>io.netty</groupId>
      <artifactId>netty</artifactId>
      <version>${netty3.version}</version>
    </dependency>
    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-core</artifactId>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <groupId>org.eclipse.jetty</groupId>
          <artifactId>jetty-util</artifactId>
        </exclusion>
        <exclusion>
          <groupId>io.netty</groupId>
          <artifactId>*</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
  </dependencies>

  <build>
    <pluginManagement>
      <plugins>
        <!-- plugins are always listed in sorted order by groupId, artifactId -->
        <plugin>
          <groupId>org.antlr</groupId>
          <artifactId>antlr3-maven-plugin</artifactId>
          <version>${antlr.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.avro</groupId>
          <artifactId>avro-maven-plugin</artifactId>
          <version>${avro.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-antrun-plugin</artifactId>
          <dependencies>
            <dependency>
              <groupId>ant-contrib</groupId>
              <artifactId>ant-contrib</artifactId>
              <version>${ant.contrib.version}</version>
              <exclusions>
                <exclusion>
                  <groupId>ant</groupId>
                  <artifactId>ant</artifactId>
                </exclusion>
              </exclusions>
            </dependency>
          </dependencies>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-eclipse-plugin</artifactId>
          <version>${maven.eclipse.plugin.version}</version>
          <configuration>
            <downloadJavadocs>false</downloadJavadocs>
            <downloadSources>true</downloadSources>
            <buildOutputDirectory>target/eclipse/classes</buildOutputDirectory>
            <workspaceActiveCodeStyleProfileName>Hive</workspaceActiveCodeStyleProfileName>
            <workspaceCodeStylesURL>${basedir}/dev-support/eclipse-styles.xml</workspaceCodeStylesURL>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-checkstyle-plugin</artifactId>
          <version>${maven.checkstyle.plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>${maven.surefire.plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.felix</groupId>
          <artifactId>maven-bundle-plugin</artifactId>
          <version>${felix.version}</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>build-helper-maven-plugin</artifactId>
          <version>${maven.build-helper.plugin.version}</version>
        </plugin>
      </plugins>
    </pluginManagement>

    <plugins>
      <!-- plugins are always listed in sorted order by groupId, artifactId -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-antrun-plugin</artifactId>
        <executions>
          <execution>
            <id>define-classpath</id>
            <phase>process-resources</phase>
            <goals>
              <goal>run</goal>
            </goals>
            <configuration>
              <exportAntProperties>true</exportAntProperties>
              <target>
                <property name="maven.test.classpath" refid="maven.test.classpath"/>
              </target>
            </configuration>
          </execution>
          <execution>
            <id>setup-test-dirs</id>
            <phase>process-test-resources</phase>
            <goals>
              <goal>run</goal>
            </goals>
            <configuration>
              <target>
                <delete dir="${test.tmp.dir}" />
                <delete dir="${test.conf.dir}" />
                <delete dir="${test.warehouse.dir}" />
                <mkdir dir="${test.tmp.dir}" />
                <mkdir dir="${test.warehouse.dir}" />
                <mkdir dir="${test.conf.dir}" />
                <!-- copies hive-site.xml so it can be modified -->
                <copy todir="${test.conf.dir}">
                  <fileset dir="${basedir}/${hive.path.to.root}/data/conf/"/>
                </copy>
              </target>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-clean-plugin</artifactId>
        <configuration>
          <filesets>
            <fileset>
              <directory>./</directory>
              <includes>
                <include>datanucleus.log</include>
                <include>derby.log</include>
              </includes>
              <followSymlinks>false</followSymlinks>
            </fileset>
            <fileset>
              <directory>build</directory>
              <followSymlinks>false</followSymlinks>
            </fileset>
          </filesets>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <configuration>
          <configLocation>${checkstyle.conf.dir}/checkstyle.xml</configLocation>
          <propertyExpansion>config_loc=${checkstyle.conf.dir}</propertyExpansion>
          <includeTestSourceDirectory>true</includeTestSourceDirectory>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
        <dependencies>
          <dependency>
            <groupId>de.skuzzle.enforcer</groupId>
            <artifactId>restrict-imports-enforcer-rule</artifactId>
            <version>0.9.0</version>
          </dependency>
        </dependencies>
        <executions>
          <execution>
            <id>enforce-no-snapshots</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <requireReleaseDeps>
                  <message>Release builds are not allowed to have SNAPSHOT depenendencies</message>
                  <searchTransitive>true</searchTransitive>
                  <onlyWhenRelease>true</onlyWhenRelease>
                </requireReleaseDeps>
              </rules>
              <fail>true</fail>
            </configuration>
          </execution>
          <execution>
            <id>enforce-banned-dependencies-licenses</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <bannedDependencies>
                  <excludes>
                    <!--LGPL licenced library-->
                    <exclude>com.google.code.findbugs:annotations</exclude>
                  </excludes>
                  <message>A banned license dependency was found!</message>
                </bannedDependencies>
              </rules>
              <fail>true</fail>
            </configuration>
          </execution>
          <execution>
            <id>enforce-banned-dependencies-logging</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <bannedDependencies>
                  <excludes>
                    <!-- Move to SLF4J -->
                    <exclude>commons-logging:commons-logging</exclude>
                    <exclude>log4j:log4j</exclude>
                  </excludes>
                  <searchTransitive>false</searchTransitive>
                  <message>A banned logging dependency was found!</message>
                </bannedDependencies>
              </rules>
              <fail>true</fail>
            </configuration>
          </execution>
          <execution>
            <id>check-banned-imports</id>
            <phase>initialize</phase>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <restrictImports implementation="de.skuzzle.enforcer.restrictimports.RestrictImports">
                  <reason>Do not use shaded imports</reason>
                  <bannedImports>
                    <bannedImport>**.shaded.**</bannedImport>
                    <bannedImport>org.spark_project.guava.**</bannedImport>
                    <bannedImport>jersey.repackaged.com.google.**</bannedImport>
                  </bannedImports>
                  <includeTestCode>true</includeTestCode>
                </restrictImports>
                <restrictImports implementation="de.skuzzle.enforcer.restrictimports.RestrictImports">
                  <reason>Do not use commons-lang</reason>
                  <bannedImports>
                    <bannedImport>org.apache.commons.lang.**</bannedImport>
                  </bannedImports>
                  <includeTestCode>true</includeTestCode>
                </restrictImports>
              </rules>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
          <excludes>
            <exclude>**/TestSerDe.java</exclude>
            <exclude>**/TestHiveMetaStore.java</exclude>
            <exclude>**/ql/exec/vector/util/*.java</exclude>
            <exclude>**/ql/exec/vector/udf/legacy/*.java</exclude>
            <exclude>**/ql/exec/vector/udf/generic/*.java</exclude>
            <exclude>**/TestHiveServer2Concurrency.java</exclude>
            <exclude>${test.excludes.additional}</exclude>
            <exclude>${skip.spark.files}</exclude>
          </excludes>
          <redirectTestOutputToFile>true</redirectTestOutputToFile>
          <reuseForks>false</reuseForks>
          <failIfNoTests>false</failIfNoTests>
          <argLine>${maven.test.jvm.args}</argLine>
          <trimStackTrace>false</trimStackTrace>
          <additionalClasspathElements>
            <additionalClasspathElement>${test.conf.dir}</additionalClasspathElement>
            <additionalClasspathElement>${basedir}/${hive.path.to.root}/conf</additionalClasspathElement>
            <additionalClasspathElement>${itest.jdbc.jars}</additionalClasspathElement>
          </additionalClasspathElements>
          <environmentVariables>
            <TZ>US/Pacific</TZ>
            <LANG>en_US.UTF-8</LANG>
            <HADOOP_CLASSPATH>${test.conf.dir}:${basedir}/${hive.path.to.root}/conf</HADOOP_CLASSPATH>
            <HIVE_HADOOP_TEST_CLASSPATH>${test.hive.hadoop.classpath}</HIVE_HADOOP_TEST_CLASSPATH>
            <SPARK_SUBMIT_CLASSPATH>${spark.home}/lib/spark-assembly-${spark.version}-hadoop2.4.0.jar:${test.hive.hadoop.classpath}</SPARK_SUBMIT_CLASSPATH>
            <SPARK_OSX_TEST_OPTS>-Dorg.xerial.snappy.tempdir=/tmp -Dorg.xerial.snappy.lib.name=libsnappyjava.jnilib</SPARK_OSX_TEST_OPTS>
            <SPARK_SCALA_VERSION>2.11</SPARK_SCALA_VERSION>
            <SPARK_HOME>${spark.home}</SPARK_HOME>
            <PATH>${env.PATH}${test.extra.path}</PATH>
          </environmentVariables>
          <systemPropertyVariables>
            <build.dir>${project.build.directory}</build.dir>
            <!-- required by zk test ClientBase -->
            <build.test.dir>${test.tmp.dir}</build.test.dir>
            <!-- required by a few tests to find the derby jar -->
            <derby.version>${derby.version}</derby.version>
            <derby.stream.error.file>${test.tmp.dir}/derby.log</derby.stream.error.file>
            <hadoop.bin.path>${hadoop.bin.path}</hadoop.bin.path>
            <!-- required by Hadoop's JobHistory -->
            <hadoop.log.dir>${test.tmp.dir}</hadoop.log.dir>
            <hive.root>${basedir}/${hive.path.to.root}/</hive.root>
            <hive.version>${project.version}</hive.version>
            <!-- required for hive-exec jar path and tests which reference a jar -->
            <maven.local.repository>${maven.repo.local}</maven.local.repository>
            <mapred.job.tracker>local</mapred.job.tracker>
            <log4j.configurationFile>${test.log4j.scheme}${test.conf.dir}/hive-log4j2.properties</log4j.configurationFile>
            <hive.test.console.log.level>${test.console.log.level}</hive.test.console.log.level>
            <log4j.debug>true</log4j.debug>
            <!-- don't diry up /tmp -->
            <java.io.tmpdir>${test.tmp.dir}</java.io.tmpdir>
            <spark.home>${spark.home}</spark.home>
            <!-- Hadoop's minidfs class uses this -->
            <test.build.data>${test.tmp.dir}</test.build.data>
            <!-- required by QTestUtil -->
            <test.data.files>${basedir}/${hive.path.to.root}/data/files</test.data.files>
            <test.data.dir>${basedir}/${hive.path.to.root}/data/files</test.data.dir>
            <test.tmp.dir>${test.tmp.dir}</test.tmp.dir>
            <test.tmp.dir.uri>${test.tmp.dir.uri}</test.tmp.dir.uri>
            <test.dfs.mkdir>${test.dfs.mkdir}</test.dfs.mkdir>
            <test.output.overwrite>${test.output.overwrite}</test.output.overwrite>
            <test.warehouse.dir>${test.warehouse.scheme}${test.warehouse.dir}</test.warehouse.dir>
            <test.local.warehouse.dir>${test.warehouse.scheme}${test.local.warehouse.dir}</test.local.warehouse.dir>
            <java.net.preferIPv4Stack>true</java.net.preferIPv4Stack>
            <!-- EnforceReadOnlyTables hook and QTestUtil -->
            <test.src.tables></test.src.tables>
            <java.security.krb5.conf>${test.conf.dir}/krb5.conf</java.security.krb5.conf>
            <!-- Required by spark to work around SPARK-14958 -->
            <antlr.version>${antlr.version}</antlr.version>
            <hadoop.version>${hadoop.version}</hadoop.version>
            <qfile>${qfile}</qfile>
            <initScript>${initScript}</initScript>
            <clustermode>${clustermode}</clustermode>
            <qfile_regex>${qfile_regex}</qfile_regex>
            <run_disabled>${run_disabled}</run_disabled>
          </systemPropertyVariables>
        </configuration>
      </plugin>
      <plugin>
	<groupId>org.apache.rat</groupId>
	<artifactId>apache-rat-plugin</artifactId>
        <executions>
          <execution>
            <phase>process-resources</phase>
            <goals>
              <goal>check</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
	  <excludes>
	    <exclude>.github/**</exclude>
	    <exclude>binary-package-licenses/**</exclude>
	    <exclude>data/**</exclude>
	    <exclude>conf/**</exclude>
	    <exclude>checkstyle/**</exclude>
            <exclude>docs/Gemfile</exclude>
	    <exclude>bin/**</exclude>
	    <exclude>itests/**</exclude>
            <exclude>**/README.md</exclude>
            <exclude>**/*.iml</exclude>
	    <exclude>**/*.txt</exclude>
	    <exclude>**/*.log</exclude>
	    <exclude>**/.factorypath</exclude>
	    <exclude>**/.classpath</exclude>
	    <exclude>**/.project</exclude>
	    <exclude>**/.settings/**</exclude>
	    <exclude>**/*.arcconfig</exclude>
	    <exclude>**/package-info.java</exclude>
	    <exclude>**/*.properties</exclude>
	    <exclude>**/*.q</exclude>
	    <exclude>**/*.q.out</exclude>
	    <exclude>**/*.q.out_*</exclude>
	    <exclude>**/*.xml</exclude>
	    <exclude>**/*.yml</exclude>
	    <exclude>**/gen/**</exclude>
	    <exclude>**/target/**</exclude>
	    <exclude>**/scripts/**</exclude>
	    <exclude>**/resources/**</exclude>
	    <exclude>**/*.rc</exclude>
	    <exclude>**/*.rcfile</exclude>
	    <exclude>**/*.qv</exclude>
	    <exclude>**/*.out</exclude>
	    <exclude>**/RecordTestObj.java</exclude>
	    <exclude>**/*.m</exclude>
	    <exclude>**/gen-java/**</exclude>
	    <exclude>**/testdata/**</exclude>
	    <exclude>**/ptest2/*.md</exclude>
	    <exclude>**/test/org/apache/hadoop/hive/hbase/avro/**</exclude>
	    <exclude>**/avro_test.avpr</exclude>
	    <exclude>**/xmlReport.pl</exclude>
	    <exclude>**/*.html</exclude>
	    <exclude>**/sit</exclude>
            <exclude>**/test/queries/**/*.sql</exclude>
            <exclude>**/patchprocess/**</exclude>
            <exclude>**/metastore_db/**</exclude>
            <exclude>**/test/resources/**/*.ldif</exclude>
	  </excludes>
	</configuration>
      </plugin>
      <plugin>
        <groupId>org.jamon</groupId>
        <artifactId>jamon-maven-plugin</artifactId>
        <version>${jamon.plugin.version}</version>
      </plugin>
    </plugins>
  </build>

  <profiles>
    <profile>
      <id>thriftif</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-antrun-plugin</artifactId>
            <executions>
              <execution>
                <id>generate-thrift-sources</id>
                <phase>generate-sources</phase>
                <configuration>
                  <target>
                    <taskdef name="for" classname="net.sf.antcontrib.logic.ForTask"
                      classpathref="maven.plugin.classpath" />
                    <property name="thrift.args" value="-I ${thrift.home} --gen java:beans,generated_annotations=undated --gen cpp --gen php --gen py --gen rb"/>
                    <property name="thrift.gen.dir" value="${basedir}/src/gen/thrift"/>
                    <delete dir="${thrift.gen.dir}"/>
                    <mkdir dir="${thrift.gen.dir}"/>
                    <for param="thrift.file">
                      <path>
                        <fileset dir="." includes="if/*.thrift,if/test/*.thrift,src/main/thrift/*.thrift" />
                      </path>
                      <sequential>
                        <echo message="Generating Thrift code for @{thrift.file}"/>
                        <exec executable="${thrift.home}/bin/thrift"  failonerror="true" dir=".">
                          <arg line="${thrift.args} -I ${basedir}/include -I ${basedir}/.. -o ${thrift.gen.dir} @{thrift.file} " />
                        </exec>
                      </sequential>
                    </for>
                  </target>
                </configuration>
                <goals>
                  <goal>run</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-enforcer-plugin</artifactId>
            <executions>
              <execution>
                <id>enforce-property</id>
                <goals>
                  <goal>enforce</goal>
                </goals>
                <configuration>
                  <rules>
                    <requireProperty>
                      <property>thrift.home</property>
                    </requireProperty>
                  </rules>
                  <fail>true</fail>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>sources</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <executions>
              <execution>
                <id>attach-sources</id>
                <goals>
                  <goal>jar</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>javadoc</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <configuration>
              <additionalparam>-Xdoclint:none</additionalparam>
              <useStandardDocletOptions>false</useStandardDocletOptions>
            </configuration>
            <executions>
              <execution>
                <id>attach-javadocs</id>
                <goals>
                  <goal>jar</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
    <id>spotbugs</id>
      <build>
        <plugins>
        <!-- Execute as: com.github.spotbugs:spotbugs-maven-plugin:4.0.0:spotbugs -->
          <plugin>
            <groupId>com.github.spotbugs</groupId>
            <artifactId>spotbugs-maven-plugin</artifactId>
            <version>4.0.0</version>
            <dependencies>
              <!-- Specify the version of spotbugs -->
              <dependency>
                <groupId>com.github.spotbugs</groupId>
                <artifactId>spotbugs</artifactId>
                <version>${spotbugs.version}</version>
              </dependency>
            </dependencies>
            <configuration>
              <fork>true</fork>
              <maxHeap>2048</maxHeap>
              <jvmArgs>-Djava.awt.headless=true -Xmx2048m -Xms512m</jvmArgs>
              <excludeFilterFile>${basedir}/${hive.path.to.root}/spotbugs/spotbugs-exclude.xml</excludeFilterFile>
            </configuration>
          </plugin>
        </plugins>
      </build>
      <reporting>
        <plugins>
          <plugin>
            <groupId>com.github.spotbugs</groupId>
            <artifactId>spotbugs-maven-plugin</artifactId>
            <version>4.0.0</version>
            <configuration>
              <fork>true</fork>
              <maxHeap>2048</maxHeap>
              <jvmArgs>-Djava.awt.headless=true -Xmx2048m -Xms512m</jvmArgs>
              <excludeFilterFile>${basedir}/${hive.path.to.root}/spotbugs/spotbugs-exclude.xml</excludeFilterFile>
            </configuration>
          </plugin>
        </plugins>
      </reporting>
    </profile>
    <profile>
      <!-- Windows-specific settings to allow unit tests to work -->
      <id>windows-test</id>
      <activation>
        <os>
          <family>Windows</family>
       </os>
      </activation>
      <build>
        <plugins>
          <!-- maven.test.classpath (used for HIVE_HADOOP_TEST_CLASSPATH) exceeds the 8K Windows -->
          <!-- command shell limit which causes tests which call hadoop command to fail.         -->
          <!-- Workaround is to copy all necessary jars to a single location to shorten the      -->
          <!-- the length of the environment variable.                                           -->
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <version>2.8</version>
            <executions>
              <execution>
                <id>copy-dependencies</id>
                <phase>package</phase>
                <goals>
                  <goal>copy-dependencies</goal>
                </goals>
                <configuration>
                  <outputDirectory>${project.build.directory}/deplibs/</outputDirectory>
                  <overWriteReleases>false</overWriteReleases>
                  <overWriteSnapshots>false</overWriteSnapshots>
                  <overWriteIfNewer>true</overWriteIfNewer>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
      <properties>
        <hadoop.bin.path>${basedir}/${hive.path.to.root}/testutils/hadoop.cmd</hadoop.bin.path>
        <!--suppress UnresolvedMavenProperty -->
        <test.extra.path>;${env.HADOOP_HOME}/bin</test.extra.path>
        <test.hive.hadoop.classpath>${project.build.directory}/deplibs/*</test.hive.hadoop.classpath>
        <test.tmp.dir.uri>file:///${test.tmp.dir}</test.tmp.dir.uri>
        <test.log4j.scheme>file:/</test.log4j.scheme>
      </properties>
    </profile>
    <profile>
      <id>spark-test</id>
      <properties>
        <skip.spark.files>
          **/ql/exec/spark/session/TestSparkSessionManagerImpl.java,**/TestMultiSessionsHS2WithLocalClusterSpark.java,**/TestJdbcWithLocalClusterSpark.java
        </skip.spark.files>
      </properties>
    </profile>
    <profile>
      <id>itests</id>
      <modules>
        <module>itests</module>
      </modules>
    </profile>
  </profiles>
</project>
