<?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>14</version>
  </parent>
  <groupId>org.apache.hive</groupId>
  <artifactId>hive</artifactId>
  <version>2.3.8</version>
  <packaging>pom</packaging>

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

  <modules>
    <module>accumulo-handler</module>
    <module>vector-code-gen</module>
    <module>beeline</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>ql</module>
    <module>serde</module>
    <module>service-rpc</module>
    <module>service</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>testutils</module>
    <module>packaging</module>
  </modules>

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

    <!-- Build Properties -->
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <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>${hive.path.to.root}/checkstyle</checkstyle.conf.dir>

    <!-- Test Properties -->
    <test.extra.path></test.extra.path>
    <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.warehouse.scheme>pfile://</test.warehouse.scheme>

    <!-- To add additional exclude patterns set this property -->
    <test.excludes.additional></test.excludes.additional>
    <skip.spark.files></skip.spark.files>

    <!-- Plugin and Plugin Dependency Versions -->
    <ant.contrib.version>1.0b3</ant.contrib.version>
    <datanucleus.maven.plugin.version>3.3.0-release</datanucleus.maven.plugin.version>
    <maven.test.jvm.args>-Xmx1024m -XX:MaxPermSize=256M</maven.test.jvm.args>
    <maven.antrun.plugin.version>1.7</maven.antrun.plugin.version>
    <maven.assembly.plugin.version>2.3</maven.assembly.plugin.version>
    <maven.checkstyle.plugin.version>2.12.1</maven.checkstyle.plugin.version>
    <maven.compiler.plugin.version>3.1</maven.compiler.plugin.version>
    <maven.enforcer.plugin.version>1.3.1</maven.enforcer.plugin.version>
    <maven.install.plugin.version>2.4</maven.install.plugin.version>
    <maven.jar.plugin.version>2.4</maven.jar.plugin.version>
    <maven.javadoc.plugin.version>2.4</maven.javadoc.plugin.version>
    <maven.shade.plugin.version>2.4.3</maven.shade.plugin.version>
    <maven.surefire.plugin.version>3.0.0-M4</maven.surefire.plugin.version>
    <maven.war.plugin.version>2.4</maven.war.plugin.version>
    <maven.dependency.plugin.version>2.8</maven.dependency.plugin.version>
    <maven.eclipse.plugin.version>2.9</maven.eclipse.plugin.version>
    <maven.build-helper.plugin.version>1.8</maven.build-helper.plugin.version>

    <!-- Library Dependency Versions -->
    <accumulo.version>1.6.0</accumulo.version>
    <activemq.version>5.5.0</activemq.version>
    <ant.version>1.9.1</ant.version>
    <antlr.version>3.5.2</antlr.version>
    <apache-directory-server.version>1.5.6</apache-directory-server.version>
    <apache-directory-clientapi.version>0.1</apache-directory-clientapi.version>
    <avatica.version>1.8.0</avatica.version>
    <avro.version>1.8.2</avro.version>
    <bonecp.version>0.8.0.RELEASE</bonecp.version>
    <calcite.version>1.10.0</calcite.version>
    <datanucleus-api-jdo.version>4.2.4</datanucleus-api-jdo.version>
    <datanucleus-core.version>4.1.17</datanucleus-core.version>
    <datanucleus-rdbms.version>4.1.19</datanucleus-rdbms.version>
    <datanucleus-jdo.version>3.2.0-m3</datanucleus-jdo.version>
    <commons-cli.version>1.2</commons-cli.version>
    <commons-codec.version>1.4</commons-codec.version>
    <commons-collections.version>3.2.2</commons-collections.version>
    <commons-compress.version>1.9</commons-compress.version>
    <commons-exec.version>1.1</commons-exec.version>
    <commons-httpclient.version>3.0.1</commons-httpclient.version>
    <commons-io.version>2.4</commons-io.version>
    <commons-lang.version>2.6</commons-lang.version>
    <commons-lang3.version>3.1</commons-lang3.version>
    <commons-pool.version>1.5.4</commons-pool.version>
    <commons-dbcp.version>1.4</commons-dbcp.version>
    <derby.version>10.10.2.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.9.2</druid.version>
    <guava.version>14.0.1</guava.version>
    <groovy.version>2.4.4</groovy.version>
    <h2database.version>1.3.166</h2database.version>
    <hadoop.version>2.7.2</hadoop.version>
    <hadoop.bin.path>${basedir}/${hive.path.to.root}/testutils/hadoop</hadoop.bin.path>
    <hamcrest.version>1.1</hamcrest.version>
    <hbase.version>1.1.1</hbase.version>
    <!-- required for logging test to avoid including hbase which pulls disruptor transitively -->
    <disruptor.version>3.3.0</disruptor.version>
    <hikaricp.version>2.5.1</hikaricp.version>
    <!-- httpcomponents are not always in version sync -->
    <httpcomponents.client.version>4.4</httpcomponents.client.version>
    <httpcomponents.core.version>4.4</httpcomponents.core.version>
    <ivy.version>2.4.0</ivy.version>
    <jackson.version>1.9.13</jackson.version>
    <!-- jackson 1 and 2 lines can coexist without issue, as they have different artifactIds -->
    <jackson.new.version>2.6.5</jackson.new.version>
    <jasper.version>5.5.23</jasper.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.0.0.v201112011016</javax-servlet.version>
    <javolution.version>5.5.1</javolution.version>
    <jdo-api.version>3.0.1</jdo-api.version>
    <jetty.version>7.6.0.v20120127</jetty.version>
    <jettison.version>1.1</jettison.version>
    <jersey.version>1.14</jersey.version>
    <!-- Glassfish jersey is included for Spark client test only -->
    <glassfish.jersey.version>2.22.2</glassfish.jersey.version>
    <jline.version>2.12</jline.version>
    <jms.version>2.0.2</jms.version>
    <joda.version>2.8.1</joda.version>
    <jodd.version>3.5.2</jodd.version>
    <json.version>1.8</json.version>
    <junit.version>4.11</junit.version>
    <kryo.version>3.0.3</kryo.version>
    <libfb303.version>0.9.3</libfb303.version>
    <libthrift.version>0.9.3</libthrift.version>
    <log4j2.version>2.6.2</log4j2.version>
    <opencsv.version>2.3</opencsv.version>
    <orc.version>1.3.4</orc.version>
    <mockito-all.version>1.9.5</mockito-all.version>
    <mina.version>2.0.0-M5</mina.version>
    <netty.version>4.0.52.Final</netty.version>
    <parquet.version>1.8.1</parquet.version>
    <pig.version>0.16.0</pig.version>
    <protobuf.version>2.5.0</protobuf.version>
    <stax.version>1.0.1</stax.version>
    <slf4j.version>1.7.10</slf4j.version>
    <ST4.version>4.0.4</ST4.version>
    <storage-api.version>2.4.0</storage-api.version>
    <tez.version>0.8.4</tez.version>
    <slider.version>0.90.2-incubating</slider.version>
    <super-csv.version>2.2.0</super-csv.version>
    <spark.version>2.0.0</spark.version>
    <scala.binary.version>2.11</scala.binary.version>
    <scala.version>2.11.8</scala.version>
    <tempus-fugit.version>1.1</tempus-fugit.version>
    <snappy.version>0.2</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.4.6</zookeeper.version>
    <jpam.version>1.1</jpam.version>
    <felix.version>2.4.0</felix.version>
    <curator.version>2.7.1</curator.version>
    <jsr305.version>3.0.0</jsr305.version>
    <tephra.version>0.6.0</tephra.version>
    <gson.version>2.2.4</gson.version>
  </properties>

  <repositories>
    <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>
  </repositories>

  <dependencyManagement>
    <dependencies>
      <!-- dependencies are always listed in sorted order by groupId, artifectId -->
      <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.jolbox</groupId>
        <artifactId>bonecp</artifactId>
        <version>${bonecp.version}</version>
      </dependency>
      <dependency>
        <groupId>com.zaxxer</groupId>
        <artifactId>HikariCP</artifactId>
        <version>${hikaricp.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>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-httpclient</groupId>
        <artifactId>commons-httpclient</artifactId>
        <version>${commons-httpclient.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>${commons-io.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-lang</groupId>
        <artifactId>commons-lang</artifactId>
        <version>${commons-lang.version}</version>
      </dependency>
      <dependency>
        <groupId>io.netty</groupId>
        <artifactId>netty-all</artifactId>
        <version>${netty.version}</version>
      </dependency>
      <dependency>
        <groupId>javax.jdo</groupId>
        <artifactId>jdo-api</artifactId>
        <version>${jdo-api.version}</version>
      </dependency>
      <dependency>
        <groupId>javax.jms</groupId>
        <artifactId>jms</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>junit</groupId>
        <artifactId>junit</artifactId>
        <version>${junit.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.activemq</groupId>
        <artifactId>activemq-core</artifactId>
        <version>${activemq.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.activemq</groupId>
        <artifactId>kahadb</artifactId>
        <version>${activemq.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>
      </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.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>
      </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>commmons-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.jboss.netty</groupId>
            <artifactId>netty</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>org.codehaus.jackson</groupId>
        <artifactId>jackson-core-asl</artifactId>
        <version>${jackson.version}</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-mapper-asl</artifactId>
        <version>${jackson.version}</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-jaxrs</artifactId>
        <version>${jackson.version}</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-xc</artifactId>
        <version>${jackson.version}</version>
      </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.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-all</artifactId>
        <version>${mockito-all.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>commmons-logging</groupId>
            <artifactId>commons-logging</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>commmons-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>
        </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>commmons-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>commmons-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.hbase</groupId>
        <artifactId>hbase-common</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>
      </dependency>
      <dependency>
        <groupId>org.apache.hbase</groupId>
        <artifactId>hbase-server</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.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>
    </dependencies>
  </dependencyManagement>

  <dependencies>
    <!-- dependencies are always listed in sorted order by groupId, artifectId -->
    <!-- global dependencies -->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>${slf4j.version}</version>
    </dependency>
    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-all</artifactId>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <pluginManagement>
      <plugins>
        <!-- plugins are always listed in sorted order by groupId, artifectId -->
        <plugin>
          <groupId>org.antlr</groupId>
          <artifactId>antlr3-maven-plugin</artifactId>
          <version>${antlr.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>${maven.compiler.plugin.version}</version>
          <configuration>
            <source>1.7</source>
            <target>1.7</target>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-antrun-plugin</artifactId>
          <version>${maven.antrun.plugin.version}</version>
          <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-assembly-plugin</artifactId>
          <version>${maven.assembly.plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-eclipse-plugin</artifactId>
          <version>${maven.eclipse.plugin.version}</version>
          <configuration>
            <downloadJavadocs>true</downloadJavadocs>
            <downloadSources>true</downloadSources>
            <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-enforcer-plugin</artifactId>
          <version>${maven.enforcer.plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-install-plugin</artifactId>
          <version>${maven.install.plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-shade-plugin</artifactId>
          <version>${maven.shade.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.maven.plugins</groupId>
          <artifactId>maven-jar-plugin</artifactId>
          <version>${maven.jar.plugin.version}</version>
          <configuration>
            <archive>
              <manifest>
                <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
              </manifest>
            </archive>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-war-plugin</artifactId>
          <version>${maven.war.plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.datanucleus</groupId>
          <artifactId>datanucleus-maven-plugin</artifactId>
          <version>${datanucleus.maven.plugin.version}</version>
          <dependencies>
            <dependency>
              <groupId>org.datanucleus</groupId>
              <artifactId>datanucleus-core</artifactId>
              <version>${datanucleus-core.version}</version>
            </dependency>
          </dependencies>
        </plugin>
        <plugin>
          <groupId>org.apache.felix</groupId>
          <artifactId>maven-bundle-plugin</artifactId>
          <version>${felix.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-dependency-plugin</artifactId>
          <version>${maven.dependency.plugin.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, artifectId -->
      <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>
        <version>2.5</version>
        <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>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
        <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</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <bannedDependencies>
                  <excludes>
                    <!--LGPL licenced library-->
                    <exclude>com.google.code.findbugs:annotations</exclude>
                  </excludes>
                </bannedDependencies>
              </rules>
              <fail>true</fail>
            </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>
          </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>
            <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>
            <java.net.preferIPv4Stack>true</java.net.preferIPv4Stack>
            <!-- EnforceReadOnlyTables hook and QTestUtil -->
            <test.src.tables>src,src1,srcbucket,srcbucket2,src_json,src_thrift,src_sequencefile,srcpart,alltypesorc,src_hbase,cbo_t1,cbo_t2,cbo_t3,src_cbo,part,lineitem</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>
            <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>
	<version>0.10</version>
	<configuration>
	  <excludes>
	    <exclude>binary-package-licenses/**</exclude>
	    <exclude>data/**</exclude>
	    <exclude>conf/**</exclude>
	    <exclude>checkstyle/**</exclude>
	    <exclude>bin/**</exclude>
	    <exclude>itests/**</exclude>
	    <exclude>docs/**</exclude>
            <exclude>**/README.md</exclude>
            <exclude>**/*.iml</exclude>
	    <exclude>**/*.txt</exclude>
	    <exclude>**/*.log</exclude>
	    <exclude>**/*.arcconfig</exclude>
	    <exclude>**/package-info.java</exclude>
	    <exclude>**/*.properties</exclude>
	    <exclude>**/*.q</exclude>
	    <exclude>**/*.q.out</exclude>
	    <exclude>**/*.xml</exclude>
	    <exclude>**/gen/**</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>
	  </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,hashcode,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" />
                      </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>
            <executions>
              <execution>
                <id>attach-javadocs</id>
                <goals>
                  <goal>jar</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
    <id>findbugs</id>
      <reporting>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>findbugs-maven-plugin</artifactId>
            <version>3.0.0</version>
            <configuration>
              <fork>true</fork>
              <maxHeap>2048</maxHeap>
              <jvmArgs>-Djava.awt.headless=true -Xmx2048m -Xms512m</jvmArgs>
              <excludeFilterFile>${basedir}/${hive.path.to.root}/findbugs/findbugs-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>
        <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>
      <activation>
	<property>
          <name>!skipSparkTests</name>
	</property>
      </activation>
      <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>
