<?xml version="1.0" encoding="UTF-8"?>
<!--

    Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
    distributed with this work for additional information
    regarding copyright ownership.  The ASF licenses this file
    to you 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>21</version>
    <relativePath />
  </parent>

  <groupId>org.apache.drill</groupId>
  <artifactId>drill-root</artifactId>
  <version>1.17.0</version>
  <packaging>pom</packaging>

  <name>Apache Drill Root POM</name>
  <description>Apache Drill is an open source, low latency SQL query engine for Hadoop and NoSQL.</description>
  <url>http://drill.apache.org/</url>

  <properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
    <sourceReleaseAssemblyDescriptor>source-release-zip-tar</sourceReleaseAssemblyDescriptor>

    <target.gen.source.path>${project.basedir}/target/generated-sources</target.gen.source.path>
    <proto.cas.path>${project.basedir}/src/main/protobuf/</proto.cas.path>
    <junit.version>4.12</junit.version>
    <slf4j.version>1.7.26</slf4j.version>
    <shaded.guava.version>23.0</shaded.guava.version>
    <guava.version>19.0</guava.version>
    <forkCount>2</forkCount>
    <parquet.version>1.10.0</parquet.version>
    <!--
      For development purposes to be able to use custom Calcite versions (e.g. not present in jitpack
      repository or from local repository) update this property to desired value (e.g. org.apache.calcite).
      In case if new value is org.apache.calcite, one needs to remove `org.apache.calcite:*` from
      avoid_bad_dependencies plugin found in the file.
    -->
    <calcite.groupId>com.github.vvysotskyi.drill-calcite</calcite.groupId>
    <calcite.version>1.20.0-drill-r2</calcite.version>
    <avatica.version>1.15.0</avatica.version>
    <janino.version>3.0.11</janino.version>
    <sqlline.version>1.9.0</sqlline.version>
    <jackson.version>2.9.9</jackson.version>
    <jackson.databind.version>2.9.9</jackson.databind.version>
    <zookeeper.version>3.4.12</zookeeper.version>
    <mapr.release.version>6.1.0-mapr</mapr.release.version>
    <ojai.version>3.0-mapr-1808</ojai.version>
    <kerby.version>1.0.0</kerby.version>
    <findbugs.version>3.0.0</findbugs.version>
    <netty.tcnative.classifier />
    <commons.io.version>2.4</commons.io.version>
    <hamcrest.core.version>1.3</hamcrest.core.version>
    <maven.embedder.version>3.5.3</maven.embedder.version>
    <curator.version>2.7.1</curator.version>
    <wiremock.standalone.version>2.23.2</wiremock.standalone.version>
    <jmockit.version>1.47</jmockit.version>
    <logback.version>1.2.3</logback.version>
    <mockito.version>2.28.2</mockito.version>
    <!--
      Currently Hive storage plugin only supports Apache Hive 2.3.2 or vendor specific variants of the
      Apache Hive 2.3.2. If the version is changed, make sure the jars and their dependencies are updated.
    -->
    <hive.version>2.3.2</hive.version>
    <hadoop.version>3.2.1</hadoop.version>
    <hbase.version>2.2.2</hbase.version>
    <fmpp.version>1.0</fmpp.version>
    <freemarker.version>2.3.28</freemarker.version>
    <javassist.version>3.26.0-GA</javassist.version>
    <msgpack.version>0.6.6</msgpack.version>
    <reflections.version>0.9.10</reflections.version>
    <avro.version>1.9.0</avro.version>
    <metrics.version>4.0.2</metrics.version>
    <jetty.version>9.3.25.v20180904</jetty.version>
    <jersey.version>2.25.1</jersey.version>
    <asm.version>7.2</asm.version>
    <excludedGroups />
    <memoryMb>4096</memoryMb>
    <directMemoryMb>4096</directMemoryMb>
    <rat.skip>true</rat.skip>
    <license.skip>true</license.skip>
    <docker.repository>drill/apache-drill</docker.repository>
    <antlr.version>4.7.2</antlr.version>
    <lowestMavenVersion>3.3.3</lowestMavenVersion>
    <commons.net.version>3.6</commons.net.version>
    <commons.validator.version>1.6</commons.validator.version>
    <commons.text.version>1.6</commons.text.version>
    <protobuf.version>3.6.1</protobuf.version>
    <codemodel.version>2.6</codemodel.version>
    <joda.version>2.10.5</joda.version>
    <javax.el.version>3.0.0</javax.el.version>
    <surefire.version>3.0.0-M4</surefire.version>
  </properties>

  <scm>
    <connection>scm:git:https://gitbox.apache.org/repos/asf/drill.git</connection>
    <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/drill.git</developerConnection>
    <url>https://github.com/apache/drill</url>
    <tag>drill-1.17.0</tag>
  </scm>

  <mailingLists>
    <mailingList>
      <name>User List</name>
      <subscribe>user-subscribe@drill.apache.org</subscribe>
      <unsubscribe>user-unsubscribe@drill.apache.org</unsubscribe>
      <post>user@drill.apache.org</post>
      <archive>http://mail-archives.apache.org/mod_mbox/drill-user/</archive>
    </mailingList>
    <mailingList>
      <name>Developer List</name>
      <subscribe>dev-subscribe@drill.apache.org</subscribe>
      <unsubscribe>dev-unsubscribe@drill.apache.org</unsubscribe>
      <post>dev@drill.apache.org</post>
      <archive>http://mail-archives.apache.org/mod_mbox/drill-dev/</archive>
    </mailingList>
    <mailingList>
      <name>Commits List</name>
      <subscribe>commits-subscribe@drill.apache.org</subscribe>
      <unsubscribe>commits-unsubscribe@drill.apache.org</unsubscribe>
      <post>commits@drill.apache.org</post>
      <archive>http://mail-archives.apache.org/mod_mbox/drill-commits/</archive>
    </mailingList>
    <mailingList>
      <name>Issues List</name>
      <subscribe>issues-subscribe@drill.apache.org</subscribe>
      <unsubscribe>issues-unsubscribe@drill.apache.org</unsubscribe>
      <archive>http://mail-archives.apache.org/mod_mbox/drill-issues/</archive>
    </mailingList>
  </mailingLists>

  <repositories>
    <repository>
      <id>conjars</id>
      <name>Conjars</name>
      <url>http://conjars.org/repo</url>
      <layout>default</layout>
      <releases>
        <enabled>true</enabled>
        <updatePolicy>never</updatePolicy>
        <checksumPolicy>warn</checksumPolicy>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>

    <repository>
      <id>mapr-releases</id>
      <url>http://repository.mapr.com/maven/</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>

    <repository>
      <id>sonatype-nexus-snapshots</id>
      <url>https://oss.sonatype.org/content/repositories/snapshots</url>
      <releases>
        <enabled>false</enabled>
      </releases>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </repository>

    <repository>
      <id>jitpack.io</id>
      <url>https://jitpack.io</url>
    </repository>
  </repositories>

  <issueManagement>
    <system>Jira</system>
    <url>https://issues.apache.org/jira/browse/DRILL</url>
  </issueManagement>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <configuration>
          <sourcepath>${basedir}</sourcepath>
          <sourceFileExcludes>
            <!-- Don't include codegen -->
            <exclude>**/src/main/codegen/**/*.java</exclude>
            <!-- Don't include target -->
            <exclude>**/target/**/*.java</exclude>
          </sourceFileExcludes>
          <additionalDependencies>
            <!-- These dependencies are required for javadoc in order to properly resolve class references in some javadocs. -->
            <dependency>
              <groupId>org.apache.hbase</groupId>
              <artifactId>hbase-server</artifactId>
              <version>${hbase.version}</version>
              <classifier>tests</classifier>
            </dependency>
            <dependency>
              <groupId>org.apache.avro</groupId>
              <artifactId>avro</artifactId>
              <version>${avro.version}</version>
              <classifier>tests</classifier>
            </dependency>
            <dependency>
              <groupId>org.apache.kerby</groupId>
              <artifactId>kerb-core</artifactId>
              <version>${kerby.version}</version>
            </dependency>
            <dependency>
              <groupId>org.apache.kerby</groupId>
              <artifactId>kerb-client</artifactId>
              <version>${kerby.version}</version>
            </dependency>
            <dependency>
              <groupId>org.apache.kerby</groupId>
              <artifactId>kerb-simplekdc</artifactId>
              <version>${kerby.version}</version>
            </dependency>
            <dependency>
              <groupId>org.apache.maven</groupId>
              <artifactId>maven-embedder</artifactId>
              <version>${maven.embedder.version}</version>
            </dependency>
            <dependency>
              <groupId>org.apache.curator</groupId>
              <artifactId>curator-test</artifactId>
              <version>${curator.version}</version>
            </dependency>
            <dependency>
              <groupId>org.apache.hadoop</groupId>
              <artifactId>hadoop-hdfs</artifactId>
              <version>${hadoop.version}</version>
              <classifier>tests</classifier>
            </dependency>
 <!--  Remove dependency on tests - see DRILL-6637
            <dependency>
              <groupId>org.apache.drill.exec</groupId>
              <artifactId>drill-java-exec</artifactId>
              <version>${project.version}</version>
              <classifier>tests</classifier>
            </dependency>
            <dependency>
              <groupId>org.apache.drill</groupId>
              <artifactId>drill-common</artifactId>
              <version>${project.version}</version>
              <classifier>tests</classifier>
            </dependency>
 -->
            <dependency>
              <groupId>com.github.tomakehurst</groupId>
              <artifactId>wiremock-standalone</artifactId>
              <version>${wiremock.standalone.version}</version>
            </dependency>
            <dependency>
              <groupId>org.apache.kerby</groupId>
              <artifactId>kerb-client</artifactId>
              <version>${kerby.version}</version>
            </dependency>
            <dependency>
              <groupId>org.apache.parquet</groupId>
              <artifactId>parquet-hadoop</artifactId>
              <version>${parquet.version}</version>
            </dependency>
            <dependency>
              <groupId>org.jmockit</groupId>
              <artifactId>jmockit</artifactId>
              <version>${jmockit.version}</version>
            </dependency>
            <additionalDependency>
              <groupId>org.hamcrest</groupId>
              <artifactId>hamcrest-core</artifactId>
              <version>${hamcrest.core.version}</version>
            </additionalDependency>
            <dependency>
              <groupId>org.mockito</groupId>
              <artifactId>mockito-core</artifactId>
              <version>${mockito.version}</version>
            </dependency>
            <dependency>
              <groupId>ch.qos.logback</groupId>
              <artifactId>logback-classic</artifactId>
              <version>${logback.version}</version>
            </dependency>
            <dependency>
              <groupId>ch.qos.logback</groupId>
              <artifactId>logback-core</artifactId>
              <version>${logback.version}</version>
            </dependency>
          </additionalDependencies>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.rat</groupId>
        <artifactId>apache-rat-plugin</artifactId>
        <version>0.13</version>
        <executions>
          <execution>
            <id>rat-checks</id>
            <goals>
              <goal>check</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <excludes>
            <!-- Types log1, log2, sqllog and sqllog2, ssdlog are used to test he logRegex format plugin. -->
            <exclude>**/*.log1</exclude>
            <exclude>**/*.log2</exclude>
            <exclude>**/*.sqllog</exclude>
            <exclude>**/*.sqllog2</exclude>
            <exclude>**/*.syslog</exclude>
            <exclude>**/*.syslog1</exclude>
            <exclude>**/*.ssdlog</exclude>
            <exclude>**/*.ltsv</exclude>
            <exclude>**/*.log</exclude>
            <exclude>**/*.css</exclude>
            <exclude>**/*.js</exclude>
            <exclude>**/*.md</exclude>
            <exclude>**/*.eps</exclude>
            <exclude>**/*.json</exclude>
            <exclude>**/*.seq</exclude>
            <exclude>**/*.parquet</exclude>
            <exclude>**/*.sql</exclude>
            <exclude>**/git.properties</exclude>
            <exclude>**/*.csv</exclude>
            <exclude>**/*.csvh</exclude>
            <exclude>**/*.csvh-test</exclude>
            <exclude>**/*.tsv</exclude>
            <exclude>**/*.txt</exclude>
            <exclude>**/*.ssv</exclude>
            <exclude>**/drill-*.conf</exclude>
            <exclude>**/.buildpath</exclude>
            <exclude>**/*.proto</exclude>
            <exclude>**/*.fmpp</exclude>
            <exclude>**/target/**</exclude>
            <exclude>**/*.iml</exclude>
            <exclude>**/.idea/**</exclude>
            <exclude>**/*.tdd</exclude>
            <exclude>**/*.project</exclude>
            <exclude>**/TAGS</exclude>
            <exclude>**/*.checkstyle</exclude>
            <exclude>**/.classpath</exclude>
            <exclude>**/.settings/**</exclude>
            <exclude>.*/**</exclude>
            <exclude>**/*.patch</exclude>
            <exclude>**/*.pb.cc</exclude>
            <exclude>**/*.pb.h</exclude>
            <exclude>**/*.linux</exclude>
            <exclude>**/client/*build*/**</exclude>
            <exclude>**/client/tags</exclude>
            <exclude>**/cmake_install.cmake</exclude>
            <exclude>**/ssl/*.csr</exclude>
            <exclude>**/ssl/*.pem</exclude>
            <exclude>**/ssl/*.p12</exclude>
            <exclude>**/*.tbl</exclude>
            <exclude>**/*.httpd</exclude>
            <exclude>**/*.autotools</exclude>
            <exclude>**/*.cproject</exclude>
            <exclude>**/*.drill</exclude>
            <exclude>**/.drill.parquet_metadata</exclude>
            <!-- TODO DRILL-4336: try to avoid the need to add this -->
            <exclude>dependency-reduced-pom.xml</exclude>
            <exclude>**/*.prj</exclude>
            <exclude>**/*.shp</exclude>
            <exclude>**/*.dbf</exclude>
          </excludes>
        </configuration>
      </plugin>
      <!--
        DRILL-6320: The license-maven-plugin does a better job of checking headers than
        the apache-rat-plugin. However, it is standard to include the apache-rat-plugin
        in apache projects so both are used.
      -->
      <plugin>
        <groupId>com.mycila</groupId>
        <artifactId>license-maven-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <dependencies>
          <dependency>
            <groupId>com.puppycrawl.tools</groupId>
            <artifactId>checkstyle</artifactId>
            <version>8.16</version>
          </dependency>
        </dependencies>
        <configuration>
          <includes>**/*.java</includes>
          <encoding>UTF-8</encoding>
          <failsOnError>true</failsOnError>
          <consoleOutput>true</consoleOutput>
          <includeResources>true</includeResources>
          <includeTestResources>true</includeTestResources>
          <resourceIncludes>**/*.properties,**/*.conf,**/*.xml</resourceIncludes>
          <includeTestSourceDirectory>true</includeTestSourceDirectory>
          <configLocation>src/main/resources/checkstyle-config.xml</configLocation>
          <suppressionsLocation>src/main/resources/checkstyle-suppressions.xml</suppressionsLocation>
        </configuration>
        <executions>
          <execution>
            <id>checkstyle-validation</id>
            <phase>verify</phase>
            <goals>
              <goal>check</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <configuration>
          <excludes>
            <exclude>**/logging.properties</exclude>
            <exclude>**/logback.out.xml</exclude>
            <exclude>**/logback.xml</exclude>
            <!-- Excludes files generated by maven debug option -->
            <exclude>**/javac.sh</exclude>
            <exclude>**/org.codehaus.plexus.compiler.javac.JavacCompiler*</exclude>
          </excludes>
          <archive>
            <index>true</index>
            <manifest>
              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
              <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
            </manifest>
            <manifestEntries>
              <Extension-Name>org.apache.drill</Extension-Name>
              <Built-By>${user.name}</Built-By>
              <url>http://drill.apache.org/</url>
            </manifestEntries>
          </archive>
        </configuration>
        <executions>
          <execution>
            <goals>
              <goal>test-jar</goal>
            </goals>
            <configuration>
              <skipIfEmpty>true</skipIfEmpty>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>pl.project13.maven</groupId>
        <artifactId>git-commit-id-plugin</artifactId>
        <version>4.0.0</version>
        <executions>
          <execution>
            <id>for-source-tarball</id>
            <goals>
              <goal>revision</goal>
            </goals>
            <inherited>false</inherited>
            <configuration>
              <generateGitPropertiesFilename>./git.properties</generateGitPropertiesFilename>
            </configuration>
          </execution>
        </executions>

        <configuration>
          <dateFormat>dd.MM.yyyy '@' HH:mm:ss z</dateFormat>
          <verbose>false</verbose>
          <skipPoms>false</skipPoms>
          <generateGitPropertiesFile>true</generateGitPropertiesFile>
          <failOnNoGitDirectory>false</failOnNoGitDirectory>
          <gitDescribe>
            <skip>false</skip>
            <always>false</always>
            <abbrev>7</abbrev>
            <dirty>-dirty</dirty>
            <forceLongFormat>true</forceLongFormat>
          </gitDescribe>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-resources-plugin</artifactId>
        <configuration>
          <encoding>UTF-8</encoding>
        </configuration>
        <executions>
          <execution>
            <!-- copy root git.properties file to target/classes folder for every module
                to ensure that it will be placed into jar -->
            <phase>initialize</phase>
            <goals>
              <goal>copy-resources</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.build.outputDirectory}</outputDirectory>
              <resources>
                <resource>
                  <!--suppress UnresolvedMavenProperty -->
                  <directory>${maven.multiModuleProjectDirectory}</directory>
                  <includes>
                    <include>git.properties</include>
                  </includes>
                </resource>
              </resources>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <maxmem>2048m</maxmem>
          <useIncrementalCompilation>false</useIncrementalCompilation>
          <fork>true</fork>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-enforcer-plugin</artifactId>
        <executions>
          <execution>
            <id>validate_java_and_maven_version</id>
            <phase>verify</phase>
            <goals>
              <goal>enforce</goal>
            </goals>
            <inherited>false</inherited>
            <configuration>
              <rules>
                <requireMavenVersion>
                  <version>[{$lowestMavenVersion},4)</version>
                </requireMavenVersion>
                <requireJavaVersion>
                  <version>[1.8,14)</version>
                </requireJavaVersion>
              </rules>
            </configuration>
          </execution>
          <execution>
            <id>avoid_bad_dependencies</id>
            <phase>verify</phase>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <bannedDependencies>
                  <excludes>
                    <exclude>commons-logging</exclude>
                    <exclude>javax.servlet:servlet-api</exclude>
                    <exclude>org.mortbay.jetty:servlet-api</exclude>
                    <exclude>org.mortbay.jetty:servlet-api-2.5</exclude>
                    <exclude>log4j:log4j</exclude>
                    <exclude>jdk.tools:jdk.tools</exclude>
                    <exclude>org.json:json</exclude>
                    <exclude>org.beanshell:bsh</exclude>
                    <exclude>org.apache.calcite:*</exclude>
                  </excludes>
                </bannedDependencies>
              </rules>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jar-plugin</artifactId>
          <executions>
            <execution>
              <goals>
                <goal>test-jar</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>com.mycila</groupId>
          <artifactId>license-maven-plugin</artifactId>
          <version>3.0</version>
          <configuration>
            <aggregate>true</aggregate>
            <!--suppress UnresolvedMavenProperty -->
            <header>${maven.multiModuleProjectDirectory}/header</header>
            <excludes>
              <exclude>**/clientlib/y2038/*.c</exclude> <!-- All the files here should have MIT License -->
              <exclude>**/clientlib/y2038/*.h</exclude> <!-- All the files here should have MIT License -->
              <exclude>**/resources/parquet/**/*</exclude>
              <exclude>**/*.g</exclude>
              <exclude>**/*.woff2</exclude>
              <exclude>**/*.ks</exclude>
              <exclude>**/*.pcap</exclude>
              <exclude>**/*.syslog</exclude>
              <exclude>**/*.xls</exclude>
              <exclude>**/*.xlsx</exclude>
              <exclude>**/*.syslog1</exclude>
              <exclude>**/*.props</exclude>
              <exclude>**/*.conf</exclude>
              <exclude>**/*.log</exclude>
              <exclude>**/*.css</exclude>
              <exclude>**/*.js</exclude>
              <exclude>**/*.md</exclude>
              <exclude>**/*.eps</exclude>
              <exclude>**/*.json</exclude>
              <exclude>**/*.seq</exclude>
              <exclude>**/*.parquet</exclude>
              <exclude>**/*.sql</exclude>
              <exclude>**/git.properties</exclude>
              <exclude>**/*.csv</exclude>
              <exclude>**/*.csvh</exclude>
              <exclude>**/*.csvh-test</exclude>
              <exclude>**/*.tsv</exclude>
              <exclude>**/*.txt</exclude>
              <exclude>**/*.ssv</exclude>
              <exclude>**/drill-*.conf</exclude>
              <exclude>**/.buildpath</exclude>
              <exclude>**/*.proto</exclude>
              <exclude>**/*.fmpp</exclude>
              <exclude>**/target/**</exclude>
              <exclude>**/*.iml</exclude>
              <exclude>**/.idea/**</exclude>
              <exclude>**/*.tdd</exclude>
              <exclude>**/*.project</exclude>
              <exclude>**/TAGS</exclude>
              <exclude>**/*.checkstyle</exclude>
              <exclude>**/.classpath</exclude>
              <exclude>**/.settings/**</exclude>
              <exclude>.*/**</exclude>
              <exclude>**/*.patch</exclude>
              <exclude>**/*.pb.cc</exclude>
              <exclude>**/*.pb.h</exclude>
              <exclude>**/*.linux</exclude>
              <exclude>**/client/*build*/**</exclude>
              <exclude>**/client/tags</exclude>
              <exclude>**/cmake_install.cmake</exclude>
              <exclude>**/ssl/*.csr</exclude>
              <exclude>**/ssl/*.pem</exclude>
              <exclude>**/ssl/*.p12</exclude>
              <exclude>**/*.tbl</exclude>
              <exclude>**/*.httpd</exclude>
              <exclude>**/*.autotools</exclude>
              <exclude>**/*.cproject</exclude>
              <exclude>**/*.drill</exclude>
              <exclude>**/*.plist</exclude>
              <exclude>**/LICENSE</exclude>
              <exclude>**/NOTICE</exclude>
              <exclude>KEYS</exclude>
              <exclude>header</exclude>
              <exclude>**/.drill.parquet_metadata</exclude>
              <exclude>**/*.mov</exclude>
              <exclude>**/*.mp4</exclude>
              <exclude>**/*.avi</exclude>
              <exclude>**/*.pcx</exclude>
              <exclude>**/*.webp</exclude>
              <exclude>**/*.pcapng</exclude>
              <exclude>**/*.psd</exclude>
              <exclude>**/*.pcx</exclude>
              <exclude>**/*.log1</exclude>
              <exclude>**/*.log2</exclude>
              <exclude>**/*.sqllog</exclude>
              <exclude>**/*.sqllog2</exclude>
              <exclude>**/*.ltsv</exclude>
              <exclude>**/*.wav</exclude>
              <exclude>**/control</exclude>
              <!-- TODO DRILL-4336: try to avoid the need to add this -->
              <exclude>dependency-reduced-pom.xml</exclude>
            </excludes>
            <mapping>
              <java>SLASHSTAR_STYLE</java>
              <cpp>SLASHSTAR_STYLE</cpp>
              <hpp>SLASHSTAR_STYLE</hpp>
              <in>SLASHSTAR_STYLE</in>
              <ipp>SLASHSTAR_STYLE</ipp>
              <sasl>SLASHSTAR_STYLE</sasl>
              <ssl>SLASHSTAR_STYLE</ssl>
              <txt>SLASHSTAR_STYLE</txt>
              <macos>SLASHSTAR_STYLE</macos>
              <linux>SLASHSTAR_STYLE</linux>
              <boost>SLASHSTAR_STYLE</boost>
              <cmake>SCRIPT_STYLE</cmake>
              <g4>SLASHSTAR_STYLE</g4>
              <runbit>SCRIPT_STYLE</runbit>
              <runexec>SCRIPT_STYLE</runexec>
              <drill-conf>SCRIPT_STYLE</drill-conf>
              <sqlline>SCRIPT_STYLE</sqlline>
              <drillbit>SCRIPT_STYLE</drillbit>
              <dumpcat>SCRIPT_STYLE</dumpcat>
              <drill-localhost>SCRIPT_STYLE</drill-localhost>
              <submit_plan>SCRIPT_STYLE</submit_plan>
              <drill-embedded>SCRIPT_STYLE</drill-embedded>
              <conffiles>SCRIPT_STYLE</conffiles>
            </mapping>
          </configuration>
          <executions>
            <execution>
              <goals>
                <goal>check</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.8.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-enforcer-plugin</artifactId>
          <version>3.0.0-M2</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>build-helper-maven-plugin</artifactId>
          <version>3.0.0</version>
        </plugin>
        <plugin> <!-- classpath scanning  -->
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>exec-maven-plugin</artifactId>
          <version>1.6.0</version>
          <executions>
            <execution>
              <phase>process-classes</phase>
              <goals>
                <goal>java</goal>
              </goals>
            </execution>
          </executions>
          <configuration>
            <mainClass>org.apache.drill.common.scanner.BuildTimeScan</mainClass>
            <classpathScope>test</classpathScope>
            <arguments>
              <argument>${project.build.outputDirectory}</argument>
            </arguments>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>${surefire.version}</version>
          <executions>
            <execution>
              <id>default-test</id>
              <phase>test</phase>
              <goals>
                <goal>test</goal>
              </goals>
          </execution>
          </executions>
          <dependencies>
            <dependency>
              <groupId>org.apache.maven.surefire</groupId>
              <artifactId>surefire-junit47</artifactId>
              <version>${surefire.version}</version>
            </dependency>
          </dependencies>
          <configuration>
            <argLine>-Xms512m -Xmx${memoryMb}m -Ddrill.exec.http.enabled=false
              -Ddrill.exec.memory.enable_unsafe_bounds_check=true
              -Ddrill.exec.sys.store.provider.local.write=false
              -Dorg.apache.drill.exec.server.Drillbit.system_options="org.apache.drill.exec.compile.ClassTransformer.scalar_replacement=on"
              -Ddrill.catastrophic_to_standard_out=true
              -XX:MaxDirectMemorySize=${directMemoryMb}M
              -Djava.net.preferIPv4Stack=true
              -Djava.awt.headless=true
              -XX:+CMSClassUnloadingEnabled -ea
              -Djdk.attach.allowAttachSelf=true
              -javaagent:${settings.localRepository}/org/jmockit/jmockit/${jmockit.version}/jmockit-${jmockit.version}.jar
            </argLine>
            <forkCount>${forkCount}</forkCount>
            <reuseForks>true</reuseForks>
            <additionalClasspathElements>
              <additionalClasspathElement>./exec/jdbc/src/test/resources/storage-plugins.json</additionalClasspathElement>
            </additionalClasspathElements>
            <systemPropertyVariables>
              <java.io.tmpdir>${project.build.directory}</java.io.tmpdir>
            </systemPropertyVariables>
            <excludedGroups>${excludedGroups}</excludedGroups>
            <useSystemClassLoader>false</useSystemClassLoader>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-release-plugin</artifactId>
          <configuration>
            <useReleaseProfile>false</useReleaseProfile>
            <pushChanges>false</pushChanges>
            <goals>deploy</goals>
            <arguments>-Papache-release ${arguments}</arguments>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>findbugs-maven-plugin</artifactId>
          <version>${findbugs.version}</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>xml-maven-plugin</artifactId>
          <version>1.0</version>
        </plugin>

        <!--This plugin's configuration is used to store Eclipse m2e settings
          only. It has no influence on the Maven build itself. -->
        <plugin>
          <groupId>org.eclipse.m2e</groupId>
          <artifactId>lifecycle-mapping</artifactId>
          <version>1.0.0</version>
          <configuration>
            <lifecycleMappingMetadata>
              <pluginExecutions>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-antrun-plugin</artifactId>
                    <versionRange>[1.6,)</versionRange>
                    <goals>
                      <goal>run</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore />
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>com.github.igor-petruk.protobuf</groupId>
                    <artifactId>protobuf-maven-plugin</artifactId>
                    <versionRange>[0.6.3,)</versionRange>
                    <goals>
                      <goal>run</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore />
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-enforcer-plugin</artifactId>
                    <versionRange>[1.2,)</versionRange>
                    <goals>
                      <goal>enforce</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore />
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>
                      maven-remote-resources-plugin
                    </artifactId>
                    <versionRange>[1.1,)</versionRange>
                    <goals>
                      <goal>process</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore />
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.apache.rat</groupId>
                    <artifactId>apache-rat-plugin</artifactId>
                    <versionRange>[0.10,)</versionRange>
                    <goals>
                      <goal>check</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore />
                  </action>
                </pluginExecution>
              </pluginExecutions>
            </lifecycleMappingMetadata>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-shade-plugin</artifactId>
          <version>3.2.1</version>
          <executions>
            <execution>
              <phase>package</phase>
              <goals>
                <goal>shade</goal>
              </goals>
            </execution>
          </executions>
          <dependencies>
            <!-- Specifies asm version which supports JDK 12+ -->
            <dependency>
              <groupId>org.ow2.asm</groupId>
              <artifactId>asm</artifactId>
              <version>${asm.version}</version>
            </dependency>
          </dependencies>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-assembly-plugin</artifactId>
          <version>3.2.0</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-checkstyle-plugin</artifactId>
          <version>3.0.0</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-javadoc-plugin</artifactId>
          <version>3.1.1</version>
          <configuration>
            <doclint>none</doclint>
          </configuration>
        </plugin>

        <!--Note: apache-21.pom has the latest versions of apache-rat-plugin, maven-dependency-plugin and
        maven-clean-plugin. Once the newer versions are needed and present in maven repo, the plugins versions can be
        overridden here-->
      </plugins>
    </pluginManagement>
  </build>
  <dependencies>

    <dependency>
      <groupId>commons-codec</groupId>
      <artifactId>commons-codec</artifactId>
      <version>1.10</version>
    </dependency>

    <dependency>
      <groupId>io.netty</groupId>
      <artifactId>netty-handler</artifactId>
      <version>4.0.48.Final</version>
    </dependency>

    <dependency>
      <groupId>io.netty</groupId>
      <artifactId>netty-common</artifactId>
      <version>4.0.48.Final</version>
    </dependency>

    <dependency>
      <groupId>org.apache.drill</groupId>
      <artifactId>drill-shaded-guava</artifactId>
    </dependency>

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

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

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

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

    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
      <version>${commons.io.version}</version>
    </dependency>

    <!-- Test Dependencies -->
    <dependency>
      <!-- JMockit needs to be on class path before JUnit. -->
      <groupId>org.jmockit</groupId>
      <artifactId>jmockit</artifactId>
      <version>${jmockit.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>${junit.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <!-- Mockito needs to be on the class path after JUnit (or Hamcrest) as
           long as Mockito _contains_ older Hamcrest classes.  See DRILL-2130. -->
      <groupId>org.mockito</groupId>
      <artifactId>mockito-core</artifactId>
      <version>2.23.4</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-classic</artifactId>
      <version>${logback.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-core</artifactId>
      <version>${logback.version}</version>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>de.huxhorn.lilith</groupId>
      <artifactId>de.huxhorn.lilith.logback.appender.multiplex-classic</artifactId>
      <version>0.9.44</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.xerial.snappy</groupId>
      <artifactId>snappy-java</artifactId>
      <version>1.1.2.6</version>
    </dependency>
    <dependency>
      <groupId>org.apache.kerby</groupId>
      <artifactId>kerb-client</artifactId>
      <scope>test</scope>
      <version>${kerby.version}</version>
      <exclusions>
        <exclusion>
          <artifactId>log4j</artifactId>
          <groupId>log4j</groupId>
        </exclusion>
        <exclusion>
          <artifactId>slf4j-log4j12</artifactId>
          <groupId>org.slf4j</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.kerby</groupId>
      <artifactId>kerb-core</artifactId>
      <scope>test</scope>
      <version>${kerby.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.kerby</groupId>
      <artifactId>kerb-simplekdc</artifactId>
      <scope>test</scope>
      <version>${kerby.version}</version>
    </dependency>

  </dependencies>

  <!-- Managed Dependencies -->
  <dependencyManagement>
    <dependencies>
      <dependency>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-api</artifactId>
          <version>${slf4j.version}</version>
      </dependency>
      <dependency>
          <groupId>org.slf4j</groupId>
          <artifactId>jul-to-slf4j</artifactId>
          <version>${slf4j.version}</version>
      </dependency>
      <dependency>
          <groupId>org.slf4j</groupId>
          <artifactId>jcl-over-slf4j</artifactId>
          <version>${slf4j.version}</version>
      </dependency>
      <dependency>
          <groupId>org.slf4j</groupId>
          <artifactId>log4j-over-slf4j</artifactId>
          <version>${slf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>${calcite.groupId}</groupId>
        <artifactId>calcite-core</artifactId>
        <version>${calcite.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.apache.calcite.avatica</groupId>
            <artifactId>avatica-core</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.jgrapht</groupId>
            <artifactId>jgrapht-jdk1.5</artifactId>
          </exclusion>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.calcite.avatica</groupId>
        <artifactId>avatica</artifactId>
        <version>${avatica.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.apache.calcite.avatica</groupId>
            <artifactId>avatica-core</artifactId>
          </exclusion>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
          <exclusion>
            <artifactId>protobuf-java</artifactId>
            <groupId>com.google.protobuf</groupId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.drill</groupId>
        <artifactId>drill-shaded-guava</artifactId>
        <version>${shaded.guava.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>${guava.version}</version>
      </dependency>
      <dependency>
        <groupId>org.msgpack</groupId>
        <artifactId>msgpack</artifactId>
        <version>${msgpack.version}</version>
      </dependency>
      <dependency>
        <groupId>org.reflections</groupId>
        <artifactId>reflections</artifactId>
        <version>${reflections.version}</version>
      </dependency>
      <dependency>
        <groupId>org.javassist</groupId>
        <artifactId>javassist</artifactId>
        <version>${javassist.version}</version>
      </dependency>
      <dependency>
        <groupId>org.hamcrest</groupId>
        <artifactId>hamcrest-core</artifactId>
        <version>${hamcrest.core.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.freemarker</groupId>
        <artifactId>freemarker</artifactId>
        <version>${freemarker.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-annotations</artifactId>
        <version>${hadoop.version}</version>
        <exclusions>
          <exclusion>
            <groupId>jdk.tools</groupId>
            <artifactId>jdk.tools</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-yarn-api</artifactId>
        <version>${hadoop.version}</version>
        <scope>test</scope>
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.google.protobuf</groupId>
            <artifactId>protobuf-java</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.hbase</groupId>
        <artifactId>hbase-annotations</artifactId>
        <version>${hbase.version}</version>
        <exclusions>
          <exclusion>
            <groupId>jdk.tools</groupId>
            <artifactId>jdk.tools</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.avro</groupId>
        <artifactId>avro</artifactId>
        <version>${avro.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.xerial.snappy</groupId>
            <artifactId>snappy-java</artifactId>
          </exclusion>
          <exclusion>
            <groupId>io.netty</groupId>
            <artifactId>netty</artifactId>
          </exclusion>
          <exclusion>
            <groupId>io.netty</groupId>
            <artifactId>netty-all</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.avro</groupId>
        <artifactId>avro-mapred</artifactId>
        <version>${avro.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.mortbay.jetty</groupId>
            <artifactId>servlet-api</artifactId>
          </exclusion>
          <exclusion>
            <groupId>io.netty</groupId>
            <artifactId>netty</artifactId>
          </exclusion>
          <exclusion>
            <groupId>io.netty</groupId>
            <artifactId>netty-all</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.hive</groupId>
        <artifactId>hive-exec</artifactId>
        <version>${hive.version}</version>
        <scope>compile</scope>
        <exclusions>
          <exclusion>
            <groupId>org.mortbay.jetty</groupId>
            <artifactId>servlet-api</artifactId>
          </exclusion>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging-api</artifactId>
          </exclusion>
          <exclusion>
            <artifactId>slf4j-log4j12</artifactId>
            <groupId>org.slf4j</groupId>
          </exclusion>
          <exclusion>
            <groupId>jline</groupId>
            <artifactId>jline</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
          </exclusion>
          <exclusion>
            <groupId>jline</groupId>
            <artifactId>jline</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.google.protobuf</groupId>
            <artifactId>protobuf-java</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.hive</groupId>
            <artifactId>hive-shims</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>apache-curator</artifactId>
          </exclusion>
          <exclusion>
              <groupId>io.netty</groupId>
              <artifactId>netty</artifactId>
          </exclusion>
          <exclusion>
            <groupId>io.netty</groupId>
            <artifactId>netty-all</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.mortbay.jetty</groupId>
            <artifactId>servlet-api-2.5</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-mapreduce-client-core</artifactId>
          </exclusion>
          <exclusion>
            <artifactId>log4j</artifactId>
            <groupId>log4j</groupId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.hive</groupId>
        <artifactId>hive-metastore</artifactId>
        <version>${hive.version}</version>
        <exclusions>
          <exclusion>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.hive</groupId>
            <artifactId>hive-serde</artifactId>
          </exclusion>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
          <exclusion>
            <artifactId>slf4j-log4j12</artifactId>
            <groupId>org.slf4j</groupId>
          </exclusion>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging-api</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.mortbay.jetty</groupId>
            <artifactId>servlet-api</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.hive</groupId>
            <artifactId>hive-shims</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.hive</groupId>
        <artifactId>hive-hbase-handler</artifactId>
        <version>${hive.version}</version>
        <exclusions>
          <exclusion>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.hbase</groupId>
            <artifactId>hbase</artifactId>
          </exclusion>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.hive</groupId>
            <artifactId>hive-service</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.hive</groupId>
            <artifactId>hive-exec</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.hive</groupId>
            <artifactId>hive-shims</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.hive</groupId>
            <artifactId>hive-serde</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.hive</groupId>
            <artifactId>hive-metastore</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.hive</groupId>
            <artifactId>hive-common</artifactId>
          </exclusion>
          <exclusion>
              <groupId>io.netty</groupId>
              <artifactId>netty</artifactId>
          </exclusion>
          <exclusion>
            <groupId>io.netty</groupId>
            <artifactId>netty-all</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.hive</groupId>
        <artifactId>hive-contrib</artifactId>
        <version>${hive.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.apache.hive</groupId>
            <artifactId>hive-serde</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.hive</groupId>
            <artifactId>hive-shims</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.hive</groupId>
            <artifactId>hive-exec</artifactId>
          </exclusion>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
          <exclusion>
            <artifactId>slf4j-log4j12</artifactId>
            <groupId>org.slf4j</groupId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>io.dropwizard.metrics</groupId>
        <artifactId>metrics-core</artifactId>
        <version>${metrics.version}</version>
      </dependency>
      <dependency>
        <groupId>io.dropwizard.metrics</groupId>
        <artifactId>metrics-servlets</artifactId>
        <version>${metrics.version}</version>
      </dependency>
      <dependency>
        <groupId>io.dropwizard.metrics</groupId>
        <artifactId>metrics-jvm</artifactId>
        <version>${metrics.version}</version>
      </dependency>
      <dependency>
        <groupId>io.dropwizard.metrics</groupId>
        <artifactId>metrics-json</artifactId>
        <version>${metrics.version}</version>
      </dependency>
      <dependency>
        <groupId>io.dropwizard.metrics</groupId>
        <artifactId>metrics-jmx</artifactId>
        <version>${metrics.version}</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.janino</groupId>
        <artifactId>janino</artifactId>
        <version>${janino.version}</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.janino</groupId>
        <artifactId>commons-compiler</artifactId>
        <version>${janino.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-annotations</artifactId>
        <version>${jackson.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>${jackson.databind.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
        <version>${jackson.version}</version>
      </dependency>
      <dependency>
        <groupId>org.honton.chas.hocon</groupId>
        <artifactId>jackson-dataformat-hocon</artifactId>
        <version>1.1.1</version>
      </dependency>
      <dependency>
        <groupId>com.mapr.db</groupId>
        <artifactId>maprdb</artifactId>
        <version>${mapr.release.version}</version>
      </dependency>
      <dependency>
        <groupId>com.mapr.fs</groupId>
        <artifactId>mapr-hbase</artifactId>
        <version>${mapr.release.version}</version>
        <exclusions>
          <exclusion>
            <groupId>io.netty</groupId>
            <artifactId>netty-all</artifactId>
          </exclusion>
          <exclusion>
            <artifactId>log4j</artifactId>
            <groupId>log4j</groupId>
          </exclusion>
          <exclusion>
            <artifactId>slf4j-log4j12</artifactId>
            <groupId>org.slf4j</groupId>
          </exclusion>
          <exclusion>
            <groupId>com.sun.jersey</groupId>
            <artifactId>jersey-core</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.sun.jersey</groupId>
            <artifactId>jersey-server</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.sun.jersey</groupId>
            <artifactId>jersey-json</artifactId>
          </exclusion>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
          <exclusion>
            <groupId>asm</groupId>
            <artifactId>asm</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.mortbay.jetty</groupId>
            <artifactId>servlet-api-2.5</artifactId>
          </exclusion>
          <exclusion>
              <groupId>io.netty</groupId>
              <artifactId>netty</artifactId>
          </exclusion>
          <exclusion>
            <groupId>io.netty</groupId>
            <artifactId>netty-all</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.json</groupId>
            <artifactId>json</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>com.mapr.hadoop</groupId>
        <artifactId>maprfs</artifactId>
        <version>${mapr.release.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.yaml</groupId>
            <artifactId>snakeyaml</artifactId>
          </exclusion>
          <exclusion>
            <artifactId>commons-logging</artifactId>
            <groupId>commons-logging</groupId>
          </exclusion>
          <exclusion>
            <artifactId>log4j</artifactId>
            <groupId>log4j</groupId>
          </exclusion>
          <exclusion>
            <artifactId>slf4j-log4j12</artifactId>
            <groupId>org.slf4j</groupId>
          </exclusion>
          <exclusion>
              <groupId>io.netty</groupId>
              <artifactId>netty</artifactId>
          </exclusion>
          <exclusion>
            <groupId>io.netty</groupId>
            <artifactId>netty-all</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.json</groupId>
            <artifactId>json</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.ojai</groupId>
        <artifactId>ojai</artifactId>
        <version>${ojai.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-common</artifactId>
          </exclusion>
          <exclusion>
              <groupId>io.netty</groupId>
              <artifactId>netty</artifactId>
          </exclusion>
          <exclusion>
            <groupId>io.netty</groupId>
            <artifactId>netty-all</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>io.netty</groupId>
        <artifactId>netty-tcnative</artifactId>
        <version>2.0.1.Final</version>
        <classifier>${netty.tcnative.classifier}</classifier>
        <scope>runtime</scope>
        <optional>true</optional>
      </dependency>
      <dependency>
        <groupId>com.tdunning</groupId>
        <artifactId>json</artifactId>
        <version>1.8</version>
        <scope>runtime</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.parquet</groupId>
        <artifactId>parquet-column</artifactId>
        <version>${parquet.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-client</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-common</artifactId>
          </exclusion>
          <exclusion>
            <groupId>commons-codec</groupId>
            <artifactId>commons-codec</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.parquet</groupId>
        <artifactId>parquet-format</artifactId>
        <version>2.5.0</version>
        <exclusions>
          <exclusion>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-client</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-common</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.parquet</groupId>
        <artifactId>parquet-common</artifactId>
        <version>${parquet.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-client</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-common</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>3.2</version>
      </dependency>
      <dependency>
        <groupId>com.typesafe</groupId>
        <artifactId>config</artifactId>
        <version>1.0.0</version>
      </dependency>
      <dependency>
        <groupId>org.apache.zookeeper</groupId>
        <artifactId>zookeeper</artifactId>
        <version>${zookeeper.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.curator</groupId>
        <artifactId>curator-client</artifactId>
        <version>${curator.version}</version>
        <exclusions>
          <exclusion>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
          </exclusion>
          <exclusion>
            <groupId>io.netty</groupId>
            <artifactId>netty</artifactId>
          </exclusion>
        </exclusions>
      </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.apache.curator</groupId>
        <artifactId>curator-x-discovery</artifactId>
        <version>${curator.version}</version>
        <exclusions>
          <exclusion>
            <artifactId>slf4j-log4j12</artifactId>
            <groupId>org.slf4j</groupId>
          </exclusion>
          <exclusion>
            <artifactId>log4j</artifactId>
            <groupId>log4j</groupId>
          </exclusion>
          <exclusion>
            <groupId>io.netty</groupId>
            <artifactId>netty</artifactId>
          </exclusion>
          <exclusion>
            <groupId>io.netty</groupId>
            <artifactId>netty-all</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.curator</groupId>
        <artifactId>curator-test</artifactId>
        <version>${curator.version}</version>
        <scope>test</scope>
        <exclusions>
          <exclusion>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.antlr</groupId>
        <artifactId>antlr4-runtime</artifactId>
        <version>${antlr.version}</version>
      </dependency>
      <dependency>
        <groupId>sqlline</groupId>
        <artifactId>sqlline</artifactId>
        <version>${sqlline.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-net</groupId>
        <artifactId>commons-net</artifactId>
        <version>${commons.net.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-validator</groupId>
        <artifactId>commons-validator</artifactId>
        <version>${commons.validator.version}</version>
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-text</artifactId>
        <version>${commons.text.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.protobuf</groupId>
        <artifactId>protobuf-java</artifactId>
        <version>${protobuf.version}</version>
      </dependency>
      <dependency>
        <groupId>joda-time</groupId>
        <artifactId>joda-time</artifactId>
        <version>${joda.version}</version>
      </dependency>
      <dependency>
        <groupId>javax.el</groupId>
        <artifactId>javax.el-api</artifactId>
        <version>${javax.el.version}</version>
      </dependency>
      <dependency>
        <groupId>org.glassfish</groupId>
        <artifactId>javax.el</artifactId>
        <version>${javax.el.version}</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <profiles>
    <profile>
      <!-- this profile adds/overrides few features of the 'apache-release'
        profile in the parent pom. -->
      <id>apache-release</id>
      <build>
        <plugins>
          <plugin>
            <groupId>net.nicoulaj.maven.plugins</groupId>
            <artifactId>checksum-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>source-release-checksum</id>
                <goals>
                  <goal>files</goal>
                </goals>
              </execution>
            </executions>
            <configuration>
              <algorithms>
                <algorithm>SHA-512</algorithm>
              </algorithms>
              <fileSets>
                <!--Override fileSet from the Apache Parent POM-->
                <fileSet>
                  <directory>${project.build.directory}</directory>
                  <includes>
                    <include>apache-drill-${project.version}.tar.gz</include>
                    <include>apache-drill-${project.version}-src.tar.gz</include>
                    <include>apache-drill-${project.version}-src.zip</include>
                  </includes>
                </fileSet>
              </fileSets>
            </configuration>
          </plugin>

          <!-- override the parent assembly execution to customize the assembly final name -->
          <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <executions>
              <execution>
                <id>source-release-assembly</id>
                <configuration>
                  <appendAssemblyId>false</appendAssemblyId>
                  <finalName>apache-drill-${project.version}-src</finalName>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>default-hadoop</id>
      <activation>
        <property>
          <name>!alt-hadoop</name>
        </property>
      </activation>
      <dependencyManagement>
        <dependencies>
          <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-common</artifactId>
            <version>${hadoop.version}</version>
            <exclusions>
              <exclusion>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>servlet-api</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>servlet-api-2.5</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>servlet-api-2.5</artifactId>
              </exclusion>
              <exclusion>
                <groupId>javax.servlet</groupId>
                <artifactId>servlet-api</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>jetty-util</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-yarn-api</artifactId>
              </exclusion>
              <exclusion>
                <artifactId>jets3t</artifactId>
                <groupId>net.java.dev.jets3t</groupId>
              </exclusion>
              <exclusion>
                <artifactId>log4j</artifactId>
                <groupId>log4j</groupId>
              </exclusion>
              <exclusion>
                <artifactId>slf4j-log4j12</artifactId>
                <groupId>org.slf4j</groupId>
              </exclusion>
              <exclusion>
                <artifactId>mockito-all</artifactId>
                <groupId>org.mockito</groupId>
              </exclusion>
              <exclusion>
                <artifactId>commons-logging-api</artifactId>
                <groupId>commons-logging</groupId>
              </exclusion>
              <exclusion>
                <artifactId>commons-logging</artifactId>
                <groupId>commons-logging</groupId>
              </exclusion>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-core</artifactId>
              </exclusion>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-server</artifactId>
              </exclusion>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-json</artifactId>
              </exclusion>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-client</artifactId>
              </exclusion>
              <exclusion>
                <artifactId>core</artifactId>
                <groupId>org.eclipse.jdt</groupId>
              </exclusion>
              <exclusion>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-core-asl</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-mapper-asl</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-xc</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-jaxrs</artifactId>
              </exclusion>
              <exclusion>
                  <groupId>io.netty</groupId>
                  <artifactId>netty</artifactId>
              </exclusion>
            </exclusions>
          </dependency>
          <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-auth</artifactId>
            <version>${hadoop.version}</version>
            <exclusions>
              <exclusion>
                <groupId>net.minidev</groupId>
                <artifactId>json-smart</artifactId>
              </exclusion>
              <exclusion>
                <groupId>com.nimbusds</groupId>
                <artifactId>nimbus-jose-jwt</artifactId>
              </exclusion>
            </exclusions>
          </dependency>
          <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-mapreduce-client-jobclient</artifactId>
            <version>${hadoop.version}</version>
          </dependency>
          <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-mapreduce-client-core</artifactId>
            <version>${hadoop.version}</version>
          </dependency>
          <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-archives</artifactId>
            <version>${hadoop.version}</version>
          </dependency>
          <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-yarn-server-resourcemanager</artifactId>
            <version>${hadoop.version}</version>
          </dependency>
          <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-yarn-registry</artifactId>
            <version>${hadoop.version}</version>
          </dependency>
          <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-distcp</artifactId>
            <version>${hadoop.version}</version>
          </dependency>
          <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-minicluster</artifactId>
            <version>${hadoop.version}</version>
          </dependency>
          <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-common</artifactId>
            <version>${hadoop.version}</version>
            <scope>test</scope>
            <classifier>tests</classifier>
            <exclusions>
              <exclusion>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>servlet-api</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>servlet-api-2.5</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>servlet-api-2.5</artifactId>
              </exclusion>
              <exclusion>
                <groupId>javax.servlet</groupId>
                <artifactId>servlet-api</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>jetty-util</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-yarn-api</artifactId>
              </exclusion>
              <exclusion>
                <artifactId>jets3t</artifactId>
                <groupId>net.java.dev.jets3t</groupId>
              </exclusion>
              <exclusion>
                <artifactId>log4j</artifactId>
                <groupId>log4j</groupId>
              </exclusion>
              <exclusion>
                <artifactId>slf4j-log4j12</artifactId>
                <groupId>org.slf4j</groupId>
              </exclusion>
              <exclusion>
                <artifactId>mockito-all</artifactId>
                <groupId>org.mockito</groupId>
              </exclusion>
              <exclusion>
                <artifactId>commons-logging-api</artifactId>
                <groupId>commons-logging</groupId>
              </exclusion>
              <exclusion>
                <artifactId>commons-logging</artifactId>
                <groupId>commons-logging</groupId>
              </exclusion>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-core</artifactId>
              </exclusion>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-server</artifactId>
              </exclusion>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-json</artifactId>
              </exclusion>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-client</artifactId>
              </exclusion>
              <exclusion>
                <artifactId>core</artifactId>
                <groupId>org.eclipse.jdt</groupId>
              </exclusion>
              <exclusion>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-core-asl</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-mapper-asl</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-xc</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-jaxrs</artifactId>
              </exclusion>
              <exclusion>
                  <groupId>io.netty</groupId>
                  <artifactId>netty</artifactId>
              </exclusion>
            </exclusions>
          </dependency>
          <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-hdfs</artifactId>
            <version>${hadoop.version}</version>
            <scope>test</scope>
            <exclusions>
              <exclusion>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>servlet-api</artifactId>
              </exclusion>
              <exclusion>
                <groupId>javax.servlet</groupId>
                <artifactId>servlet-api</artifactId>
              </exclusion>
              <exclusion>
                <groupId>io.netty</groupId>
                <artifactId>netty-all</artifactId>
              </exclusion>
              <exclusion>
                <groupId>io.netty</groupId>
                <artifactId>netty</artifactId>
              </exclusion>
              <exclusion>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
              </exclusion>
            </exclusions>
          </dependency>

          <!-- Hadoop Test Dependencies -->

          <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-hdfs</artifactId>
            <version>${hadoop.version}</version>
            <scope>test</scope>
            <classifier>tests</classifier>
            <exclusions>
              <exclusion>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>servlet-api</artifactId>
              </exclusion>
              <exclusion>
                <groupId>javax.servlet</groupId>
                <artifactId>servlet-api</artifactId>
              </exclusion>
              <exclusion>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
              </exclusion>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-core</artifactId>
              </exclusion>
              <exclusion>
                <groupId>io.netty</groupId>
                <artifactId>netty-all</artifactId>
              </exclusion>
              <exclusion>
                <groupId>io.netty</groupId>
                <artifactId>netty</artifactId>
              </exclusion>
            </exclusions>
          </dependency>

          <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-client</artifactId>
            <version>${hadoop.version}</version>
            <exclusions>
              <exclusion>
                <groupId>io.netty</groupId>
                <artifactId>netty-all</artifactId>
              </exclusion>
              <exclusion>
                <groupId>javax.servlet</groupId>
                <artifactId>servlet-api</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>servlet-api</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>servlet-api-2.5</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>jetty-util</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-yarn-api</artifactId>
              </exclusion>
              <exclusion>
                <artifactId>jets3t</artifactId>
                <groupId>net.java.dev.jets3t</groupId>
              </exclusion>
              <exclusion>
                <artifactId>log4j</artifactId>
                <groupId>log4j</groupId>
              </exclusion>
              <exclusion>
                <artifactId>slf4j-log4j12</artifactId>
                <groupId>org.slf4j</groupId>
              </exclusion>
              <exclusion>
                <artifactId>mockito-all</artifactId>
                <groupId>org.mockito</groupId>
              </exclusion>
              <exclusion>
                <artifactId>commons-logging-api</artifactId>
                <groupId>commons-logging</groupId>
              </exclusion>
              <exclusion>
                <artifactId>commons-logging</artifactId>
                <groupId>commons-logging</groupId>
              </exclusion>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-core</artifactId>
              </exclusion>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-server</artifactId>
              </exclusion>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-json</artifactId>
              </exclusion>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-client</artifactId>
              </exclusion>
              <exclusion>
                <artifactId>core</artifactId>
                <groupId>org.eclipse.jdt</groupId>
              </exclusion>
              <exclusion>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-core-asl</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-mapper-asl</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-xc</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-jaxrs</artifactId>
              </exclusion>
              <exclusion>
                  <groupId>io.netty</groupId>
                  <artifactId>netty</artifactId>
              </exclusion>
            </exclusions>
          </dependency>
          <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-yarn-client</artifactId>
            <version>${hadoop.version}</version>
            <scope>compile</scope>
            <exclusions>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-core</artifactId>
              </exclusion>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-server</artifactId>
              </exclusion>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-json</artifactId>
              </exclusion>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-client</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-core-asl</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-mapper-asl</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-xc</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-jaxrs</artifactId>
              </exclusion>

              <!-- Exclude the following to prevent enforcer failures. YARN uses them,
                   but Drill forbids them. -->

              <exclusion>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
              </exclusion>
              <exclusion>
                <groupId>javax.servlet</groupId>
                <artifactId>servlet-api</artifactId>
              </exclusion>
              <exclusion>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
              </exclusion>
            </exclusions>
          </dependency>
          <dependency>
            <groupId>org.apache.hbase</groupId>
            <artifactId>hbase-client</artifactId>
            <version>${hbase.version}</version>
            <exclusions>
              <exclusion>
                <artifactId>netty-all</artifactId>
                <groupId>io.netty</groupId>
              </exclusion>
              <exclusion>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>servlet-api-2.5</artifactId>
              </exclusion>
              <exclusion>
                <artifactId>slf4j-log4j12</artifactId>
                <groupId>org.slf4j</groupId>
              </exclusion>
              <exclusion>
                <artifactId>slf4j-log4j12</artifactId>
                <groupId>org.slf4j</groupId>
              </exclusion>
              <exclusion>
                <artifactId>log4j</artifactId>
                <groupId>log4j</groupId>
              </exclusion>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-core</artifactId>
              </exclusion>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-server</artifactId>
              </exclusion>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-json</artifactId>
              </exclusion>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-client</artifactId>
              </exclusion>
              <exclusion>
                <artifactId>asm</artifactId>
                <groupId>asm</groupId>
              </exclusion>
              <exclusion>
                <artifactId>libthrift</artifactId>
                <groupId>org.apache.thrift</groupId>
              </exclusion>
              <exclusion>
                <artifactId>jruby-complete</artifactId>
                <groupId>org.jruby</groupId>
              </exclusion>
              <exclusion>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
              </exclusion>
              <exclusion>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging-api</artifactId>
              </exclusion>
              <exclusion>
                <artifactId>avro-ipc</artifactId>
                <groupId>org.apache.avro</groupId>
              </exclusion>
              <exclusion>
                <artifactId>avro</artifactId>
                <groupId>org.apache.avro</groupId>
              </exclusion>
              <exclusion>
                <artifactId>commons-codec</artifactId>
                <groupId>commons-codec</groupId>
              </exclusion>
              <exclusion>
                <artifactId>jasper-runtime</artifactId>
                <groupId>tomcat</groupId>
              </exclusion>
              <exclusion>
                <artifactId>jackson-core-asl</artifactId>
                <groupId>org.codehaus.jackson</groupId>
              </exclusion>
              <exclusion>
                <artifactId>jackson-mapper-asl</artifactId>
                <groupId>org.codehaus.jackson</groupId>
              </exclusion>
              <exclusion>
                <artifactId>jasper-compiler</artifactId>
                <groupId>tomcat</groupId>
              </exclusion>
              <exclusion>
                <artifactId>jamon-runtime</artifactId>
                <groupId>org.jamon</groupId>
              </exclusion>
              <exclusion>
                <artifactId>jaxb-api</artifactId>
                <groupId>javax.xml.bind</groupId>
              </exclusion>
              <exclusion>
                <artifactId>zookeeper</artifactId>
                <groupId>org.apache.zookeeper</groupId>
              </exclusion>
              <exclusion>
                <artifactId>stax-api</artifactId>
                <groupId>stax</groupId>
              </exclusion>
            </exclusions>
          </dependency>
          <dependency>
          	<groupId>org.apache.parquet</groupId>
          	<artifactId>parquet-hadoop</artifactId>
          	<version>${parquet.version}</version>
          	<exclusions>
              <exclusion>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-client</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-common</artifactId>
              </exclusion>
          		<exclusion>
          			<groupId>org.xerial.snappy</groupId>
          			<artifactId>snappy-java</artifactId>
          		</exclusion>
          	</exclusions>
          </dependency>
          <dependency>
            <groupId>org.apache.hbase</groupId>
            <artifactId>hbase-server</artifactId>
            <version>${hbase.version}</version>
            <exclusions>
              <exclusion>
                  <groupId>io.netty</groupId>
                  <artifactId>netty</artifactId>
              </exclusion>
              <exclusion>
                <groupId>io.netty</groupId>
                <artifactId>netty-all</artifactId>
              </exclusion>
              <exclusion>
                <groupId>tomcat</groupId>
                <artifactId>jasper-compiler</artifactId>
              </exclusion>
              <exclusion>
                <groupId>tomcat</groupId>
                <artifactId>jasper-runtime</artifactId>
              </exclusion>
              <exclusion>
                <groupId>javax.servlet</groupId>
                <artifactId>servlet-api</artifactId>
              </exclusion>
              <exclusion>
                <artifactId>servlet-api-2.5</artifactId>
                <groupId>org.mortbay.jetty</groupId>
              </exclusion>
              <exclusion>
                <artifactId>jsp-2.1</artifactId>
                <groupId>org.mortbay.jetty</groupId>
              </exclusion>
              <exclusion>
                <artifactId>jsp-api-2.1</artifactId>
                <groupId>org.mortbay.jetty</groupId>
              </exclusion>
              <exclusion>
                <artifactId>jetty-sslengine</artifactId>
                <groupId>org.mortbay.jetty</groupId>
              </exclusion>
              <exclusion>
                <artifactId>jamon-runtime</artifactId>
                <groupId>org.jamon</groupId>
              </exclusion>
              <exclusion>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
              </exclusion>
              <exclusion>
                <artifactId>slf4j-log4j12</artifactId>
                <groupId>org.slf4j</groupId>
              </exclusion>
              <exclusion>
                <artifactId>log4j</artifactId>
                <groupId>log4j</groupId>
              </exclusion>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-core</artifactId>
              </exclusion>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-server</artifactId>
              </exclusion>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-json</artifactId>
              </exclusion>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-client</artifactId>
              </exclusion>
            </exclusions>
          </dependency>
          <dependency>
            <groupId>org.apache.hbase</groupId>
            <artifactId>hbase-testing-util</artifactId>
            <classifier>tests</classifier>
            <version>${hbase.version}</version>
            <scope>test</scope>
            <exclusions>
              <exclusion>
                  <groupId>io.netty</groupId>
                  <artifactId>netty</artifactId>
              </exclusion>
              <exclusion>
                <groupId>io.netty</groupId>
                <artifactId>netty-all</artifactId>
              </exclusion>
              <exclusion>
                <groupId>javax.servlet</groupId>
                <artifactId>servlet-api</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>servlet-api-2.5</artifactId>
              </exclusion>
              <exclusion>
                <artifactId>commons-logging</artifactId>
                <groupId>commons-logging</groupId>
              </exclusion>
              <exclusion>
                <artifactId>slf4j-log4j12</artifactId>
                <groupId>org.slf4j</groupId>
              </exclusion>
              <exclusion>
                <artifactId>asm</artifactId>
                <groupId>asm</groupId>
              </exclusion>
              <exclusion>
                <groupId>org.apache.hbase</groupId>
                <artifactId>hbase-annotations</artifactId>
              </exclusion>
            </exclusions>
          </dependency>
          <dependency>
            <groupId>xerces</groupId>
            <artifactId>xercesImpl</artifactId>
            <version>2.11.0</version>
          </dependency>
          <dependency>
            <groupId>xalan</groupId>
            <artifactId>xalan</artifactId>
            <version>2.7.1</version>
          </dependency>
          <dependency>
            <groupId>net.sf.jpam</groupId>
            <artifactId>jpam</artifactId>
            <version>1.1</version>
            <exclusions>
              <exclusion>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
              </exclusion>
              <exclusion>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
              </exclusion>
              <exclusion>
                <groupId>checkstyle</groupId>
                <artifactId>checkstyle</artifactId>
              </exclusion>
              <exclusion>
                <groupId>checkstyle</groupId>
                <artifactId>checkstyle-optional</artifactId>
              </exclusion>
            </exclusions>
          </dependency>

          <dependency>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcpkix-jdk15on</artifactId>
            <version>1.60</version>
          </dependency>

          <!--Eclipse Jetty dependecies-->
          <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-servlets</artifactId>
            <version>${jetty.version}</version>
          </dependency>
          <dependency>
            <groupId>org.eclipse.jetty</groupId>
            <artifactId>jetty-security</artifactId>
            <version>${jetty.version}</version>
          </dependency>
          <dependency>
            <groupId>org.eclipse.jetty</groupId>
            <artifactId>jetty-util</artifactId>
            <version>${jetty.version}</version>
          </dependency>
          <dependency>
            <groupId>org.eclipse.jetty</groupId>
            <artifactId>jetty-io</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-xml</artifactId>
            <version>${jetty.version}</version>
          </dependency>
          <!--Eclipse Jetty dependecies-->

          <!--GlassFish Jersey dependecies-->
          <dependency>
            <groupId>org.glassfish.jersey.ext</groupId>
            <artifactId>jersey-mvc-freemarker</artifactId>
            <version>${jersey.version}</version>
          </dependency>
          <dependency>
            <groupId>org.glassfish.jersey.media</groupId>
            <artifactId>jersey-media-multipart</artifactId>
            <version>${jersey.version}</version>
          </dependency>
          <dependency>
            <groupId>org.glassfish.jersey.media</groupId>
            <artifactId>jersey-media-json-jackson</artifactId>
            <version>${jersey.version}</version>
          </dependency>
          <dependency>
            <groupId>org.glassfish.jersey.containers</groupId>
            <artifactId>jersey-container-jetty-servlet</artifactId>
            <version>${jersey.version}</version>
          </dependency>
          <dependency>
            <groupId>org.glassfish.jersey.containers</groupId>
            <artifactId>jersey-container-servlet-core</artifactId>
            <version>${jersey.version}</version>
          </dependency>
          <dependency>
            <groupId>org.glassfish.jersey.containers</groupId>
            <artifactId>jersey-container-servlet</artifactId>
            <version>${jersey.version}</version>
          </dependency>
          <!--/GlassFish Jersey dependecies-->
        </dependencies>
      </dependencyManagement>
    </profile>
    <profile>
      <id>mapr</id>
      <properties>
        <alt-hadoop>mapr</alt-hadoop>
        <hive.version>2.3.3-mapr-1808</hive.version>
        <hbase.version>1.1.1-mapr-1602-m7-5.2.0</hbase.version>
        <hadoop.version>2.7.0-mapr-1808</hadoop.version>
        <zookeeper.version>3.4.11-mapr-1808</zookeeper.version>
      </properties>
      <dependencyManagement>
        <dependencies>
          <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-common</artifactId>
            <version>${hadoop.version}</version>
            <exclusions>
              <exclusion>
                <artifactId>commons-logging</artifactId>
                <groupId>commons-logging</groupId>
              </exclusion>
              <exclusion>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>servlet-api</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>servlet-api-2.5</artifactId>
              </exclusion>
              <exclusion>
                <groupId>javax.servlet</groupId>
                <artifactId>servlet-api</artifactId>
              </exclusion>

              <exclusion>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>jetty-util</artifactId>
              </exclusion>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-core</artifactId>
              </exclusion>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-server</artifactId>
              </exclusion>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-json</artifactId>
              </exclusion>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-client</artifactId>
              </exclusion>
              <exclusion>
                <artifactId>jets3t</artifactId>
                <groupId>net.java.dev.jets3t</groupId>
              </exclusion>
              <exclusion>
                <artifactId>log4j</artifactId>
                <groupId>log4j</groupId>
              </exclusion>
              <exclusion>
                <artifactId>slf4j-log4j12</artifactId>
                <groupId>org.slf4j</groupId>
              </exclusion>
              <exclusion>
                <artifactId>mockito-all</artifactId>
                <groupId>org.mockito</groupId>
              </exclusion>
              <exclusion>
                <artifactId>commons-logging-api</artifactId>
                <groupId>commons-logging</groupId>
              </exclusion>
              <exclusion>
                <artifactId>core</artifactId>
                <groupId>org.eclipse.jdt</groupId>
              </exclusion>
              <exclusion>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-core-asl</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-mapper-asl</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-xc</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-jaxrs</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-core</artifactId>
              </exclusion>
              <exclusion>
                  <groupId>io.netty</groupId>
                  <artifactId>netty</artifactId>
              </exclusion>
              <exclusion>
                <groupId>io.netty</groupId>
                <artifactId>netty-all</artifactId>
              </exclusion>
            </exclusions>
          </dependency>
          <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-client</artifactId>
            <version>${hadoop.version}</version>
            <exclusions>
              <exclusion>
                <groupId>io.netty</groupId>
                <artifactId>netty-all</artifactId>
              </exclusion>
              <exclusion>
                <artifactId>commons-logging</artifactId>
                <groupId>commons-logging</groupId>
              </exclusion>
              <exclusion>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>servlet-api</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>servlet-api-2.5</artifactId>
              </exclusion>
              <exclusion>
                <groupId>javax.servlet</groupId>
                <artifactId>servlet-api</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>jetty-util</artifactId>
              </exclusion>
              <exclusion>
                <artifactId>jets3t</artifactId>
                <groupId>net.java.dev.jets3t</groupId>
              </exclusion>
              <exclusion>
                <artifactId>log4j</artifactId>
                <groupId>log4j</groupId>
              </exclusion>
              <exclusion>
                <artifactId>slf4j-log4j12</artifactId>
                <groupId>org.slf4j</groupId>
              </exclusion>
              <exclusion>
                <artifactId>mockito-all</artifactId>
                <groupId>org.mockito</groupId>
              </exclusion>
              <exclusion>
                <artifactId>commons-logging-api</artifactId>
                <groupId>commons-logging</groupId>
              </exclusion>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-core</artifactId>
              </exclusion>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-server</artifactId>
              </exclusion>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-json</artifactId>
              </exclusion>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-client</artifactId>
              </exclusion>
              <exclusion>
                <artifactId>core</artifactId>
                <groupId>org.eclipse.jdt</groupId>
              </exclusion>
              <exclusion>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-core-asl</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-mapper-asl</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-xc</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-jaxrs</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-core</artifactId>
              </exclusion>
              <exclusion>
                  <groupId>io.netty</groupId>
                  <artifactId>netty</artifactId>
              </exclusion>
              <exclusion>
                <groupId>io.netty</groupId>
                <artifactId>netty-all</artifactId>
              </exclusion>
            </exclusions>
          </dependency>
          <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-yarn-client</artifactId>
            <version>${hadoop.version}</version>
            <scope>compile</scope>
            <exclusions>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-core</artifactId>
              </exclusion>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-server</artifactId>
              </exclusion>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-json</artifactId>
              </exclusion>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-client</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-core-asl</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-mapper-asl</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-xc</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-jaxrs</artifactId>
              </exclusion>

              <!-- Exclude the following to prevent enforcer failures. YARN uses them,
                   but Drill forbids them. -->

              <exclusion>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
              </exclusion>
              <exclusion>
                <groupId>javax.servlet</groupId>
                <artifactId>servlet-api</artifactId>
              </exclusion>
              <exclusion>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
              </exclusion>
            </exclusions>
          </dependency>
          <dependency>
            <groupId>org.apache.hive</groupId>
            <artifactId>hive-maprdb-json-handler</artifactId>
            <version>${hive.version}</version>
            <exclusions>
              <exclusion>
                <groupId>org.apache.hive</groupId>
                <artifactId>hive-exec</artifactId>
              </exclusion>
            </exclusions>
          </dependency>
          <dependency>
            <groupId>com.mapr.db</groupId>
            <artifactId>maprdb-mapreduce</artifactId>
            <version>${mapr.release.version}</version>
            <exclusions>
              <exclusion>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
              </exclusion>
              <exclusion>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
              </exclusion>
              <exclusion>
                <groupId>javax.servlet</groupId>
                <artifactId>servlet-api</artifactId>
              </exclusion>
            </exclusions>
          </dependency>
          <dependency>
            <groupId>xerces</groupId>
            <artifactId>xercesImpl</artifactId>
            <version>2.11.0</version>
          </dependency>
          <dependency>
            <groupId>xalan</groupId>
            <artifactId>xalan</artifactId>
            <version>2.7.1</version>
          </dependency>
          <dependency>
          	<groupId>org.apache.parquet</groupId>
          	<artifactId>parquet-hadoop</artifactId>
          	<version>${parquet.version}</version>
          	<exclusions>
          		<exclusion>
          			<groupId>org.xerial.snappy</groupId>
          			<artifactId>snappy-java</artifactId>
          		</exclusion>
          	</exclusions>
          </dependency>
          <!-- Test Dependencies -->
          <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-hdfs</artifactId>
            <version>${hadoop.version}</version>
            <scope>test</scope>
            <exclusions>
              <exclusion>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
              </exclusion>
              <exclusion>
                <groupId>javax.servlet</groupId>
                <artifactId>servlet-api</artifactId>
              </exclusion>
              <exclusion>
                <groupId>io.netty</groupId>
                <artifactId>netty-all</artifactId>
              </exclusion>
              <exclusion>
                  <groupId>io.netty</groupId>
                  <artifactId>netty</artifactId>
              </exclusion>
            </exclusions>
          </dependency>
          <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-yarn-api</artifactId>
            <version>${hadoop.version}</version>
            <scope>test</scope>
            <exclusions>
              <exclusion>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>servlet-api</artifactId>
              </exclusion>
              <exclusion>
                <groupId>javax.servlet</groupId>
                <artifactId>servlet-api</artifactId>
              </exclusion>
              <exclusion>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
              </exclusion>
            </exclusions>
          </dependency>
          <dependency>
            <groupId>org.apache.hbase</groupId>
            <artifactId>hbase-client</artifactId>
            <version>${hbase.version}</version>
            <exclusions>
              <exclusion>
                  <groupId>io.netty</groupId>
                  <artifactId>netty</artifactId>
              </exclusion>
              <exclusion>
                <groupId>io.netty</groupId>
                <artifactId>netty-all</artifactId>
              </exclusion>
              <exclusion>
                <groupId>javax.servlet</groupId>
                <artifactId>servlet-api</artifactId>
              </exclusion>
              <exclusion>
                <artifactId>servlet-api-2.5</artifactId>
                <groupId>org.mortbay.jetty</groupId>
              </exclusion>
              <exclusion>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
              </exclusion>
              <exclusion>
                <artifactId>slf4j-log4j12</artifactId>
                <groupId>org.slf4j</groupId>
              </exclusion>
              <exclusion>
                <artifactId>log4j</artifactId>
                <groupId>log4j</groupId>
              </exclusion>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-core</artifactId>
              </exclusion>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-server</artifactId>
              </exclusion>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-json</artifactId>
              </exclusion>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-client</artifactId>
              </exclusion>
            </exclusions>
          </dependency>
          <dependency>
            <groupId>org.apache.hbase</groupId>
            <artifactId>hbase-server</artifactId>
            <version>${hbase.version}</version>
            <exclusions>
              <exclusion>
                  <groupId>io.netty</groupId>
                  <artifactId>netty</artifactId>
              </exclusion>
              <exclusion>
                <groupId>io.netty</groupId>
                <artifactId>netty-all</artifactId>
              </exclusion>
              <exclusion>
                <groupId>tomcat</groupId>
                <artifactId>jasper-compiler</artifactId>
              </exclusion>
              <exclusion>
                <groupId>tomcat</groupId>
                <artifactId>jasper-runtime</artifactId>
              </exclusion>
              <exclusion>
                <groupId>javax.servlet</groupId>
                <artifactId>servlet-api</artifactId>
              </exclusion>
              <exclusion>
                <artifactId>servlet-api-2.5</artifactId>
                <groupId>org.mortbay.jetty</groupId>
              </exclusion>
              <exclusion>
                <artifactId>jsp-2.1</artifactId>
                <groupId>org.mortbay.jetty</groupId>
              </exclusion>
              <exclusion>
                <artifactId>jsp-api-2.1</artifactId>
                <groupId>org.mortbay.jetty</groupId>
              </exclusion>
              <exclusion>
                <artifactId>jetty-sslengine</artifactId>
                <groupId>org.mortbay.jetty</groupId>
              </exclusion>
              <exclusion>
                <artifactId>jamon-runtime</artifactId>
                <groupId>org.jamon</groupId>
              </exclusion>
              <exclusion>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
              </exclusion>
              <exclusion>
                <artifactId>slf4j-log4j12</artifactId>
                <groupId>org.slf4j</groupId>
              </exclusion>
              <exclusion>
                <artifactId>log4j</artifactId>
                <groupId>log4j</groupId>
              </exclusion>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-core</artifactId>
              </exclusion>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-server</artifactId>
              </exclusion>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-json</artifactId>
              </exclusion>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-client</artifactId>
              </exclusion>
            </exclusions>
          </dependency>
          <dependency>
            <groupId>org.apache.hbase</groupId>
            <artifactId>hbase-testing-util</artifactId>
            <classifier>tests</classifier>
            <version>${hbase.version}</version>
            <scope>test</scope>
            <exclusions>
              <exclusion>
                  <groupId>io.netty</groupId>
                  <artifactId>netty</artifactId>
              </exclusion>
              <exclusion>
                <groupId>io.netty</groupId>
                <artifactId>netty-all</artifactId>
              </exclusion>
              <exclusion>
                <groupId>javax.servlet</groupId>
                <artifactId>servlet-api</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>servlet-api-2.5</artifactId>
              </exclusion>
              <exclusion>
                <artifactId>commons-logging</artifactId>
                <groupId>commons-logging</groupId>
              </exclusion>
              <exclusion>
                <artifactId>slf4j-log4j12</artifactId>
                <groupId>org.slf4j</groupId>
              </exclusion>
              <exclusion>
                <artifactId>asm</artifactId>
                <groupId>asm</groupId>
              </exclusion>
              <exclusion>
                <groupId>org.apache.hbase</groupId>
                <artifactId>hbase-annotations</artifactId>
              </exclusion>
            </exclusions>
          </dependency>
          <dependency>
            <groupId>org.apache.hbase</groupId>
            <artifactId>hbase-annotations</artifactId>
            <version>${hbase.version}</version>
            <exclusions>
              <exclusion>
                <artifactId>log4j</artifactId>
                <groupId>log4j</groupId>
              </exclusion>
              <exclusion>
                <groupId>jdk.tools</groupId>
                <artifactId>jdk.tools</artifactId>
              </exclusion>
            </exclusions>
          </dependency>
          <dependency>
            <groupId>org.apache.hbase</groupId>
            <artifactId>hbase-common</artifactId>
            <version>${hbase.version}</version>
            <exclusions>
              <exclusion>
                <artifactId>log4j</artifactId>
                <groupId>log4j</groupId>
              </exclusion>
              <exclusion>
                <artifactId>commons-logging</artifactId>
                <groupId>commons-logging</groupId>
              </exclusion>
            </exclusions>
          </dependency>
          <dependency>
            <groupId>org.apache.hbase</groupId>
            <artifactId>hbase-protocol</artifactId>
            <version>${hbase.version}</version>
            <exclusions>
              <exclusion>
                <artifactId>log4j</artifactId>
                <groupId>log4j</groupId>
              </exclusion>
              <exclusion>
                <artifactId>commons-logging</artifactId>
                <groupId>commons-logging</groupId>
              </exclusion>
            </exclusions>
          </dependency>
        </dependencies>
      </dependencyManagement>
    </profile>
    <profile>
      <id>cdh</id>
      <properties>
        <alt-hadoop>cdh4</alt-hadoop>
      </properties>
      <dependencyManagement>
        <dependencies>
          <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-common</artifactId>
            <version>2.3.0-cdh5.0.3</version>
            <exclusions>
              <exclusion>
                <artifactId>commons-logging</artifactId>
                <groupId>commons-logging</groupId>
              </exclusion>
              <exclusion>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>servlet-api</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>servlet-api-2.5</artifactId>
              </exclusion>
              <exclusion>
                  <groupId>io.netty</groupId>
                  <artifactId>netty</artifactId>
              </exclusion>
              <exclusion>
                  <groupId>io.netty</groupId>
                  <artifactId>netty-all</artifactId>
              </exclusion>
            </exclusions>
          </dependency>
          <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-client</artifactId>
            <version>2.3.0-cdh5.0.3</version>
            <exclusions>
              <exclusion>
                <groupId>javax.servlet</groupId>
                <artifactId>servlet-api</artifactId>
              </exclusion>
              <exclusion>
                <artifactId>commons-logging</artifactId>
                <groupId>commons-logging</groupId>
              </exclusion>
              <exclusion>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>servlet-api</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>servlet-api-2.5</artifactId>
              </exclusion>
              <exclusion>
                  <groupId>io.netty</groupId>
                  <artifactId>netty</artifactId>
              </exclusion>
              <exclusion>
                  <groupId>io.netty</groupId>
                  <artifactId>netty-all</artifactId>
              </exclusion>
            </exclusions>
          </dependency>
          <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-yarn-client</artifactId>
            <version>2.3.0-cdh5.0.3</version>
            <scope>compile</scope>
            <exclusions>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-core</artifactId>
              </exclusion>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-server</artifactId>
              </exclusion>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-json</artifactId>
              </exclusion>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-client</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-core-asl</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-mapper-asl</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-xc</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-jaxrs</artifactId>
              </exclusion>

              <!-- Exclude the following to prevent enforcer failures. YARN uses them,
                   but Drill forbids them. -->

              <exclusion>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
              </exclusion>
              <exclusion>
                <groupId>javax.servlet</groupId>
                <artifactId>servlet-api</artifactId>
              </exclusion>
              <exclusion>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
              </exclusion>
            </exclusions>
          </dependency>
        </dependencies>
      </dependencyManagement>
      <repositories>
        <repository>
          <id>cloudera</id>
          <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>
        </repository>
      </repositories>
    </profile>
    <profile>
      <id>hdp</id>
      <properties>
        <alt-hadoop>hdp</alt-hadoop>
      </properties>
      <dependencyManagement>
        <dependencies>
          <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-common</artifactId>
            <version>2.4.0.2.1.3.0-563</version>
            <exclusions>
              <exclusion>
                <artifactId>commons-logging</artifactId>
                <groupId>commons-logging</groupId>
              </exclusion>
              <exclusion>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>servlet-api</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>servlet-api-2.5</artifactId>
              </exclusion>
              <exclusion>
                  <groupId>io.netty</groupId>
                  <artifactId>netty</artifactId>
              </exclusion>
              <exclusion>
                  <groupId>io.netty</groupId>
                  <artifactId>netty-all</artifactId>
              </exclusion>
            </exclusions>
          </dependency>
          <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-client</artifactId>
            <version>2.4.0.2.1.3.0-563</version>
            <exclusions>
              <exclusion>
                <groupId>javax.servlet</groupId>
                <artifactId>servlet-api</artifactId>
              </exclusion>
              <exclusion>
                <artifactId>commons-logging</artifactId>
                <groupId>commons-logging</groupId>
              </exclusion>
              <exclusion>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>servlet-api</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>servlet-api-2.5</artifactId>
              </exclusion>
              <exclusion>
                  <groupId>io.netty</groupId>
                  <artifactId>netty</artifactId>
              </exclusion>
              <exclusion>
                  <groupId>io.netty</groupId>
                  <artifactId>netty-all</artifactId>
              </exclusion>
            </exclusions>
          </dependency>
          <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-yarn-client</artifactId>
            <version>2.4.0.2.1.3.0-563</version>
            <scope>compile</scope>
            <exclusions>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-core</artifactId>
              </exclusion>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-server</artifactId>
              </exclusion>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-json</artifactId>
              </exclusion>
              <exclusion>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-client</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-core-asl</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-mapper-asl</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-xc</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-jaxrs</artifactId>
              </exclusion>

              <!-- Exclude the following to prevent enforcer failures. YARN uses them,
                   but Drill forbids them. -->

              <exclusion>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
              </exclusion>
              <exclusion>
                <groupId>javax.servlet</groupId>
                <artifactId>servlet-api</artifactId>
              </exclusion>
              <exclusion>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
              </exclusion>
            </exclusions>
          </dependency>
        </dependencies>
      </dependencyManagement>
      <repositories>
        <repository>
          <releases>
            <enabled>true</enabled>
            <updatePolicy>always</updatePolicy>
            <checksumPolicy>warn</checksumPolicy>
          </releases>
          <snapshots>
            <enabled>false</enabled>
            <updatePolicy>never</updatePolicy>
            <checksumPolicy>fail</checksumPolicy>
          </snapshots>
          <id>HDPReleases</id>
          <name>HDP Releases</name>
          <url>http://repo.hortonworks.com/content/repositories/releases</url>
          <layout>default</layout>
        </repository>
      </repositories>
    </profile>
    <profile>
      <id>build-contrib</id>
      <activation>
        <property>
          <name>!skipContrib</name>
        </property>
      </activation>
      <modules>
        <module>contrib</module>
      </modules>
    </profile>
    <profile>
      <!--
        If the IDE is Eclipse, it requires you to install an additional Eclipse plugin available here:
        http://repo1.maven.org/maven2/kr/motd/maven/os-maven-plugin/1.6.1/os-maven-plugin-1.6.1.jar
        or from your local maven repository:
        ~/.m2/repository/kr/motd/maven/os-maven-plugin/1.6.1/os-maven-plugin-1.6.1.jar
        Note that installing this plugin may require you to start with a new workspace
      -->
      <id>openssl</id>
      <activation>
        <property>
          <name>enableOpenSSL</name>
          <value>true</value>
        </property>
      </activation>
      <properties>
        <!-- Configure the os-maven-plugin extension to expand the classifier on -->
        <!-- Fedora-"like" systems. Used for netty-tcnative inclusion -->
        <os.detection.classifierWithLikes>fedora</os.detection.classifierWithLikes>
        <netty.tcnative.classifier>${os.detected.classifier}</netty.tcnative.classifier>
      </properties>
    </profile>
    <profile>
      <id>findbugs</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>findbugs-maven-plugin</artifactId>
            <version>3.0.0</version>
            <configuration>
              <!--
               Enables analysis which takes more memory but finds more bugs.
               If you run out of memory, changes the value of the effort element
               to 'Low'.
               -->
              <effort>Normal</effort>
              <!-- Reports all bugs (other values are medium and max) -->
              <threshold>Low</threshold>
              <!-- Build doesn't fail if problems are found -->
              <failOnError>false</failOnError>
              <!-- Produces XML report -->
              <xmlOutput>true</xmlOutput>
              <!-- Configures the directory in which the XML report is created -->
              <findbugsXmlOutputDirectory>${project.build.directory}/findbugs
              </findbugsXmlOutputDirectory>
            </configuration>
            <executions>
              <!--
                Ensures that FindBugs inspects source code when project is compiled.
              -->
              <execution>
                <phase>verify</phase>
                <goals>
                  <goal>check</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>xml-maven-plugin</artifactId>
            <version>1.0</version>
            <executions>
              <execution>
                <phase>verify</phase>
                <goals>
                  <goal>transform</goal>
                </goals>
              </execution>
            </executions>
            <configuration>
              <transformationSets>
                <transformationSet>
                  <dir>${project.build.directory}/findbugs</dir>
                  <outputDir>${project.build.directory}/findbugs</outputDir>
                  <stylesheet>fancy-hist.xsl</stylesheet>
                  <!--<stylesheet>default.xsl</stylesheet>-->
                  <!--<stylesheet>plain.xsl</stylesheet>-->
                  <!--<stylesheet>fancy.xsl</stylesheet>-->
                  <!--<stylesheet>summary.xsl</stylesheet>-->
                  <fileMappers>
                    <fileMapper implementation="org.codehaus.plexus.components.io.filemappers.FileExtensionMapper">
                      <targetExtension>.html</targetExtension>
                    </fileMapper>
                  </fileMappers>
                </transformationSet>
              </transformationSets>
            </configuration>
            <dependencies>
              <dependency>
                <groupId>com.google.code.findbugs</groupId>
                <artifactId>findbugs</artifactId>
                <version>2.0.0</version>
              </dependency>
            </dependencies>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
  <modules>
    <module>tools</module>
    <module>protocol</module>
    <module>common</module>
    <module>logical</module>
    <module>exec</module>
    <module>drill-yarn</module>
    <module>distribution</module>
    <module>metastore</module>
  </modules>
</project>
