<?xml version="1.0" encoding="UTF-8"?>
<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>io.airlift</groupId>
        <artifactId>airbase</artifactId>
        <version>97</version>
    </parent>

    <groupId>io.hetu.core</groupId>
    <artifactId>presto-root</artifactId>
    <version>1.7.0</version>
    <packaging>pom</packaging>

    <name>presto-root</name>
    <description>Presto</description>

    <inceptionYear>2012</inceptionYear>

    <licenses>
        <license>
            <name>Apache License 2.0</name>
            <url>http://www.apache.org/licenses/LICENSE-2.0</url>
            <distribution>repo</distribution>
        </license>
    </licenses>

    <properties>
        <air.main.basedir>${project.basedir}</air.main.basedir>

        <air.check.skip-spotbugs>true</air.check.skip-spotbugs>
        <air.check.skip-pmd>true</air.check.skip-pmd>
        <air.check.skip-jacoco>true</air.check.skip-jacoco>

        <air.java.version>1.8.0-144</air.java.version>
        <air.maven.version>3.3.9</air.maven.version>
        <dep.commons-codec.version>1.14</dep.commons-codec.version>
        <dep.antlr.version>4.7.1</dep.antlr.version>
        <dep.airlift.version>0.193</dep.airlift.version>
        <dep.packaging.version>${dep.airlift.version}</dep.packaging.version>
        <dep.slice.version>0.38</dep.slice.version>
        <dep.aws-sdk.version>1.11.445</dep.aws-sdk.version>
        <dep.okhttp.version>3.9.0</dep.okhttp.version>
        <dep.jdbi3.version>3.4.0</dep.jdbi3.version>
        <dep.netty.version>4.1.72.Final</dep.netty.version>
        <dep.drift.version>1.18</dep.drift.version>
        <dep.joda.version>2.10.5</dep.joda.version>
        <dep.tempto.version>165</dep.tempto.version>
        <dep.testng.version>6.10</dep.testng.version>
        <dep.assertj-core.version>3.8.0</dep.assertj-core.version>
        <dep.logback.version>1.2.9</dep.logback.version>
        <dep.jmxutils.version>1.21</dep.jmxutils.version>
        <dep.junit.version>4.13.1</dep.junit.version>
        <dep.gcs.version>1.9.10</dep.gcs.version>
        <dep.httpclient.version>4.5.13</dep.httpclient.version>
        <dep.prestosql.apache.hadoop.version>3.2.0-8</dep.prestosql.apache.hadoop.version>
        <carbon.version>2.0.1</carbon.version>
        <dep.prestosql.version>316</dep.prestosql.version>
        <dep.jackson.version>2.11.4</dep.jackson.version>
        <dep.hetu.version>${project.version}</dep.hetu.version>
        <dep.jetty.version>9.4.46.v20220331</dep.jetty.version>
        <dep.bcprov.version>1.66</dep.bcprov.version>
        <dep.hudi.version>0.7.0</dep.hudi.version>
        <dep.kryo.version>5.0.3</dep.kryo.version>
        <!--
          America/Bahia_Banderas has:
           - offset change since 1970 (offset Jan 1970: -08:00, offset Jan 2018: -06:00)
           - DST (e.g. at 2017-04-02 02:00:00 clocks turned forward 1 hour; 2017-10-29 02:00:00 clocks turned backward 1 hour)
           - has forward offset change on first day of epoch (1970-01-01 00:00:00 clocks turned forward 1 hour)
           - had forward change at midnight (1970-01-01 00:00:00 clocks turned forward 1 hour)
          -->
        <air.test.timezone>America/Bahia_Banderas</air.test.timezone>
        <air.test.parallel>methods</air.test.parallel>
        <air.test.thread-count>2</air.test.thread-count>
        <air.test.jvmsize>4g</air.test.jvmsize>

        <air.javadoc.lint>-missing</air.javadoc.lint>
    </properties>

    <modules>
        <module>presto-atop</module>
        <module>presto-spi</module>
        <module>presto-array</module>
        <module>presto-jmx</module>
        <module>presto-record-decoder</module>
        <module>presto-expressions</module>
        <module>presto-kafka</module>
        <module>presto-redis</module>
        <module>presto-memory</module>
        <module>presto-orc</module>
        <module>presto-parquet</module>
        <module>presto-rcfile</module>
        <module>presto-hive</module>
        <module>presto-hive-hadoop2</module>
        <module>presto-teradata-functions</module>
        <module>presto-example-http</module>
        <module>presto-local-file</module>
        <module>presto-tpch</module>
        <module>presto-tpcds</module>
        <module>presto-base-jdbc</module>
        <module>presto-mysql</module>
        <module>presto-postgresql</module>
        <module>presto-sqlserver</module>
        <module>presto-client</module>
        <module>presto-parser</module>
        <module>presto-main</module>
        <module>presto-ml</module>
        <module>presto-geospatial</module>
        <module>presto-geospatial-toolkit</module>
        <module>presto-benchmark</module>
        <module>presto-testing-docker</module>
        <module>presto-tests</module>
        <module>presto-product-tests</module>
        <module>presto-jdbc</module>
        <module>presto-cli</module>
        <module>presto-benchmark-driver</module>
        <!--        <module>presto-docs</module>-->
        <module>presto-verifier</module>
        <module>presto-testing-server-launcher</module>
        <module>presto-plugin-toolkit</module>
        <module>presto-resource-group-managers</module>
        <module>presto-password-authenticators</module>
        <module>presto-session-property-managers</module>
        <module>presto-benchto-benchmarks</module>
        <module>presto-thrift-api</module>
        <module>presto-thrift-testing-server</module>
        <module>presto-thrift</module>
        <module>presto-matching</module>
        <module>presto-memory-context</module>
        <module>presto-proxy</module>
        <module>presto-elasticsearch</module>
        <module>hetu-hive-functions</module>
        <module>hetu-oracle</module>
        <module>hetu-vdm</module>
        <module>hetu-heuristic-index</module>
        <module>hetu-datacenter</module>
        <module>hetu-hana</module>
        <module>hetu-listener</module>
        <module>hetu-seed-store</module>
        <module>hetu-state-store</module>
        <module>hetu-hbase</module>
        <module>hetu-mongodb</module>
        <module>hetu-carbondata</module>
        <module>hetu-opengauss</module>
        <module>hetu-filesystem-client</module>
        <module>hetu-cube</module>
        <module>hetu-startree</module>
        <module>hetu-metastore</module>
        <module>hetu-sql-migration-tool</module>
        <module>hetu-transport</module>
        <module>hetu-server</module>
        <module>hetu-server-rpm</module>
        <module>hetu-common</module>
        <module>hetu-hazelcast</module>
        <module>hetu-function-namespace-managers</module>
        <module>hetu-greenplum</module>
        <module>hetu-clickhouse</module>
        <module>hetu-kylin</module>
    </modules>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>commons-codec</groupId>
                <artifactId>commons-codec</artifactId>
                <version>${dep.commons-codec.version}</version>
            </dependency>

            <dependency>
                <groupId>org.bouncycastle</groupId>
                <artifactId>bcprov-jdk15on</artifactId>
                <version>${dep.bcprov.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>hetu-vdm</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>hetu-metastore</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>hetu-common</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>hetu-common</artifactId>
                <version>${project.version}</version>
                <type>test-jar</type>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>presto-spi</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>presto-spi</artifactId>
                <version>${project.version}</version>
                <type>test-jar</type>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>presto-expressions</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>presto-resource-group-managers</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>presto-resource-group-managers</artifactId>
                <version>${project.version}</version>
                <type>test-jar</type>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>presto-password-authenticators</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>presto-session-property-managers</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>presto-array</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>presto-plugin-toolkit</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>presto-record-decoder</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>presto-orc</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>presto-parquet</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>presto-rcfile</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>presto-hive</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>presto-hive-hadoop2</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>hetu-carbondata</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>presto-example-http</artifactId>
                <version>${project.version}</version>
                <type>zip</type>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>hetu-listener</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>hetu-filesystem-client</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>presto-local-file</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>presto-hive</artifactId>
                <version>${project.version}</version>
                <type>test-jar</type>
            </dependency>

            <dependency>
                <groupId>com.teradata</groupId>
                <artifactId>re2j-td</artifactId>
                <version>1.4</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>presto-tpch</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>presto-tpcds</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.prestosql</groupId>
                <artifactId>presto-blackhole</artifactId>
                <version>${dep.prestosql.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>presto-kafka</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>presto-memory</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>presto-base-jdbc</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>hetu-datacenter</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>presto-mysql</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>presto-geospatial</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>presto-geospatial-toolkit</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.prestosql</groupId>
                <artifactId>presto-raptor-legacy</artifactId>
                <version>${dep.prestosql.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>presto-cli</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>presto-client</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>presto-parser</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>presto-parser</artifactId>
                <version>${project.version}</version>
                <type>test-jar</type>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>presto-main</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>presto-main</artifactId>
                <version>${project.version}</version>
                <type>test-jar</type>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>presto-matching</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>presto-memory-context</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>presto-elasticsearch</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>hetu-jdbc</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>hetu-server</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>hetu-server-rpm</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>presto-testing-docker</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>presto-tests</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>presto-benchmark</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>presto-benchto-benchmarks</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>presto-product-tests</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>presto-sqlserver</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>hetu-heuristic-index</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.prestosql.hadoop</groupId>
                <artifactId>hadoop-apache</artifactId>
                <version>${dep.prestosql.apache.hadoop.version}</version>
            </dependency>

            <dependency>
                <groupId>io.prestosql.hive</groupId>
                <artifactId>hive-apache</artifactId>
                <version>3.1.2-1</version>
            </dependency>

            <dependency>
                <groupId>io.prestosql.orc</groupId>
                <artifactId>orc-protobuf</artifactId>
                <version>9</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>presto-thrift-api</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>presto-thrift-api</artifactId>
                <version>${project.version}</version>
                <type>test-jar</type>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>presto-thrift-testing-server</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>presto-thrift</artifactId>
                <version>${project.version}</version>
                <type>zip</type>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>hetu-seed-store</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>hetu-hazelcast</artifactId>
                <version>${project.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-api</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>hetu-state-store</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>hetu-cube</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>hetu-startree</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core</groupId>
                <artifactId>hetu-transport</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.airlift</groupId>
                <artifactId>aircompressor</artifactId>
                <version>0.15</version>
            </dependency>

            <dependency>
                <groupId>io.airlift</groupId>
                <artifactId>log</artifactId>
                <version>${dep.airlift.version}</version>
            </dependency>

            <dependency>
                <groupId>io.airlift</groupId>
                <artifactId>log-manager</artifactId>
                <version>${dep.airlift.version}</version>
            </dependency>

            <dependency>
                <groupId>io.airlift</groupId>
                <artifactId>json</artifactId>
                <version>${dep.airlift.version}</version>
            </dependency>

            <dependency>
                <groupId>io.airlift</groupId>
                <artifactId>security</artifactId>
                <version>${dep.airlift.version}</version>
            </dependency>

            <dependency>
                <groupId>io.airlift</groupId>
                <artifactId>units</artifactId>
                <version>1.3</version>
            </dependency>

            <dependency>
                <groupId>io.airlift</groupId>
                <artifactId>concurrent</artifactId>
                <version>${dep.airlift.version}</version>
            </dependency>

            <dependency>
                <groupId>io.airlift</groupId>
                <artifactId>configuration</artifactId>
                <version>${dep.airlift.version}</version>
            </dependency>

            <dependency>
                <groupId>io.airlift</groupId>
                <artifactId>discovery</artifactId>
                <version>${dep.airlift.version}</version>
            </dependency>

            <dependency>
                <groupId>io.airlift</groupId>
                <artifactId>testing</artifactId>
                <version>${dep.airlift.version}</version>
            </dependency>

            <dependency>
                <groupId>io.airlift</groupId>
                <artifactId>node</artifactId>
                <version>${dep.airlift.version}</version>
            </dependency>

            <dependency>
                <groupId>io.airlift</groupId>
                <artifactId>bootstrap</artifactId>
                <version>${dep.airlift.version}</version>
            </dependency>

            <dependency>
                <groupId>io.airlift</groupId>
                <artifactId>event</artifactId>
                <version>${dep.airlift.version}</version>
            </dependency>

            <dependency>
                <groupId>io.airlift</groupId>
                <artifactId>event-http</artifactId>
                <version>${dep.airlift.version}</version>
            </dependency>

            <dependency>
                <groupId>joda-time</groupId>
                <artifactId>joda-time</artifactId>
                <version>${dep.joda.version}</version>
            </dependency>

            <dependency>
                <groupId>io.airlift</groupId>
                <artifactId>http-server</artifactId>
                <version>${dep.airlift.version}</version>
            </dependency>

            <dependency>
                <groupId>io.airlift</groupId>
                <artifactId>jaxrs</artifactId>
                <version>${dep.airlift.version}</version>
            </dependency>

            <dependency>
                <groupId>io.airlift</groupId>
                <artifactId>jaxrs-testing</artifactId>
                <version>${dep.airlift.version}</version>
            </dependency>

            <dependency>
                <groupId>io.airlift</groupId>
                <artifactId>jmx</artifactId>
                <version>${dep.airlift.version}</version>
            </dependency>

            <dependency>
                <groupId>io.airlift</groupId>
                <artifactId>trace-token</artifactId>
                <version>${dep.airlift.version}</version>
            </dependency>

            <dependency>
                <groupId>io.airlift</groupId>
                <artifactId>dbpool</artifactId>
                <version>${dep.airlift.version}</version>
            </dependency>

            <dependency>
                <groupId>io.airlift</groupId>
                <artifactId>jmx-http</artifactId>
                <version>${dep.airlift.version}</version>
            </dependency>

            <dependency>
                <groupId>io.airlift</groupId>
                <artifactId>http-client</artifactId>
                <version>${dep.airlift.version}</version>
            </dependency>

            <dependency>
                <groupId>io.airlift</groupId>
                <artifactId>slice</artifactId>
                <version>${dep.slice.version}</version>
            </dependency>

            <dependency>
                <groupId>io.airlift</groupId>
                <artifactId>stats</artifactId>
                <version>${dep.airlift.version}</version>
            </dependency>

            <dependency>
                <groupId>io.airlift</groupId>
                <artifactId>bytecode</artifactId>
                <version>1.2</version>
            </dependency>

            <dependency>
                <groupId>io.airlift</groupId>
                <artifactId>joni</artifactId>
                <version>2.1.5.3</version>
            </dependency>

            <dependency>
                <groupId>io.airlift</groupId>
                <artifactId>joda-to-java-time-bridge</artifactId>
                <version>3</version>
            </dependency>

            <dependency>
                <groupId>io.airlift.drift</groupId>
                <artifactId>drift-api</artifactId>
                <version>${dep.drift.version}</version>
            </dependency>

            <dependency>
                <groupId>io.airlift.drift</groupId>
                <artifactId>drift-client</artifactId>
                <version>${dep.drift.version}</version>
            </dependency>

            <dependency>
                <groupId>io.airlift.drift</groupId>
                <artifactId>drift-codec</artifactId>
                <version>${dep.drift.version}</version>
            </dependency>

            <dependency>
                <groupId>io.airlift.drift</groupId>
                <artifactId>drift-protocol</artifactId>
                <version>${dep.drift.version}</version>
            </dependency>

            <dependency>
                <groupId>io.airlift.drift</groupId>
                <artifactId>drift-server</artifactId>
                <version>${dep.drift.version}</version>
            </dependency>

            <dependency>
                <groupId>io.airlift.drift</groupId>
                <artifactId>drift-transport-netty</artifactId>
                <version>${dep.drift.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>io.netty</groupId>
                        <artifactId>netty-all</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-all</artifactId>
                <version>${dep.netty.version}</version>
            </dependency>

            <dependency>
                <groupId>io.airlift.tpch</groupId>
                <artifactId>tpch</artifactId>
                <version>0.10</version>
            </dependency>

            <dependency>
                <groupId>com.teradata.tpcds</groupId>
                <artifactId>tpcds</artifactId>
                <version>1.2</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.code.findbugs</groupId>
                        <artifactId>annotations</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.ow2.asm</groupId>
                <artifactId>asm</artifactId>
                <version>7.1</version>
            </dependency>

            <dependency>
                <groupId>org.ow2.asm</groupId>
                <artifactId>asm-analysis</artifactId>
                <version>7.1</version>
            </dependency>

            <dependency>
                <groupId>org.ow2.asm</groupId>
                <artifactId>asm-tree</artifactId>
                <version>7.1</version>
            </dependency>

            <dependency>
                <groupId>com.h2database</groupId>
                <artifactId>h2</artifactId>
                <version>1.4.199</version>
            </dependency>

            <dependency>
                <groupId>org.sonatype.aether</groupId>
                <artifactId>aether-api</artifactId>
                <version>1.13.1</version>
            </dependency>

            <dependency>
                <groupId>io.airlift.resolver</groupId>
                <artifactId>resolver</artifactId>
                <version>1.5</version>
            </dependency>

            <dependency>
                <groupId>io.airlift</groupId>
                <artifactId>airline</artifactId>
                <version>0.8</version>
            </dependency>

            <dependency>
                <groupId>org.openjdk.jol</groupId>
                <artifactId>jol-core</artifactId>
                <version>0.2</version>
            </dependency>

            <dependency>
                <groupId>org.jetbrains</groupId>
                <artifactId>annotations</artifactId>
                <version>13.0</version>
            </dependency>

            <dependency>
                <groupId>it.unimi.dsi</groupId>
                <artifactId>fastutil</artifactId>
                <version>6.5.9</version>
            </dependency>

            <!-- https://mvnrepository.com/artifact/org.codehaus.plexus/plexus-utils -->
            <dependency>
                <groupId>org.codehaus.plexus</groupId>
                <artifactId>plexus-utils</artifactId>
                <version>3.3.0</version>
            </dependency>

            <dependency>
                <groupId>com.facebook.thirdparty</groupId>
                <artifactId>libsvm</artifactId>
                <version>3.18.1</version>
            </dependency>

            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>5.1.49</version>
            </dependency>

            <dependency>
                <groupId>org.jetbrains.kotlin</groupId>
                <artifactId>kotlin-stdlib</artifactId>
                <version>1.4.30</version>
            </dependency>

            <dependency>
                <groupId>org.postgresql</groupId>
                <artifactId>postgresql</artifactId>
                <version>42.2.14</version>
            </dependency>

            <dependency>
                <groupId>org.apache.maven</groupId>
                <artifactId>maven-artifact</artifactId>
                <version>3.6.0</version>
            </dependency>

            <dependency>
                <groupId>org.pcollections</groupId>
                <artifactId>pcollections</artifactId>
                <version>2.1.2</version>
            </dependency>

            <dependency>
                <groupId>org.antlr</groupId>
                <artifactId>antlr4-runtime</artifactId>
                <version>${dep.antlr.version}</version>
            </dependency>

            <dependency>
                <groupId>com.microsoft.sqlserver</groupId>
                <artifactId>mssql-jdbc</artifactId>
                <version>7.0.0.jre8</version>
            </dependency>

            <dependency>
                <groupId>jline</groupId>
                <artifactId>jline</artifactId>
                <version>2.14.6</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.fusesource.jansi</groupId>
                        <artifactId>jansi</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.jdbi</groupId>
                <artifactId>jdbi</artifactId>
                <version>2.78</version>
            </dependency>

            <dependency>
                <groupId>org.jdbi</groupId>
                <artifactId>jdbi3-core</artifactId>
                <version>${dep.jdbi3.version}</version>
            </dependency>

            <dependency>
                <groupId>org.jdbi</groupId>
                <artifactId>jdbi3-sqlobject</artifactId>
                <version>${dep.jdbi3.version}</version>
            </dependency>

            <dependency>
                <groupId>com.squareup.okhttp3</groupId>
                <artifactId>okhttp</artifactId>
                <version>${dep.okhttp.version}</version>
            </dependency>

            <dependency>
                <groupId>com.squareup.okhttp3</groupId>
                <artifactId>okhttp-urlconnection</artifactId>
                <version>${dep.okhttp.version}</version>
            </dependency>

            <dependency>
                <groupId>com.squareup.okhttp3</groupId>
                <artifactId>mockwebserver</artifactId>
                <version>${dep.okhttp.version}</version>
            </dependency>

            <dependency>
                <groupId>io.jsonwebtoken</groupId>
                <artifactId>jjwt</artifactId>
                <version>0.9.0</version>
            </dependency>

            <dependency>
                <groupId>org.apache.thrift</groupId>
                <artifactId>libthrift</artifactId>
                <version>0.9.3-1</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.apache.httpcomponents</groupId>
                        <artifactId>httpcore</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.httpcomponents</groupId>
                        <artifactId>httpclient</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>3.11</version>
            </dependency>

            <dependency>
                <groupId>org.codehaus.jettison</groupId>
                <artifactId>jettison</artifactId>
                <version>1.4.1</version>
            </dependency>

            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-distcp</artifactId>
                <version>2.10.1</version>
            </dependency>

            <dependency>
                <groupId>org.apache.hive</groupId>
                <artifactId>hive-contrib</artifactId>
                <version>3.1.2</version>
            </dependency>
            
            <dependency>
                <groupId>org.apache.hudi</groupId>
                <artifactId>hudi-hadoop-mr</artifactId>
                <version>${dep.hudi.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.objenesis</groupId>
                        <artifactId>objenesis</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>jcl-over-slf4j</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.fasterxml.jackson.core</groupId>
                        <artifactId>jackson-annotations</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.fasterxml.jackson.core</groupId>
                        <artifactId>jackson-databind</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.httpcomponents</groupId>
                        <artifactId>httpclient</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.httpcomponents</groupId>
                        <artifactId>fluent-hc</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.rocksdb</groupId>
                        <artifactId>rocksdbjni</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.esotericsoftware</groupId>
                        <artifactId>kryo-shaded</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.hbase</groupId>
                        <artifactId>hbase-server</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>com.opencsv</groupId>
                <artifactId>opencsv</artifactId>
                <version>4.6</version>
                <exclusions>
                    <exclusion>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.commons</groupId>
                        <artifactId>commons-lang3</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>net.sf.opencsv</groupId>
                <artifactId>opencsv</artifactId>
                <version>2.3</version>
            </dependency>

            <dependency>
                <groupId>com.google.errorprone</groupId>
                <artifactId>error_prone_annotations</artifactId>
                <version>2.3.2</version>
            </dependency>

            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-pool2</artifactId>
                <version>2.8.0</version>
            </dependency>

            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-math3</artifactId>
                <version>3.6.1</version>
            </dependency>

            <dependency>
                <groupId>io.airlift.discovery</groupId>
                <artifactId>discovery-server</artifactId>
                <version>1.29</version>
            </dependency>

            <dependency>
                <groupId>com.amazonaws</groupId>
                <artifactId>aws-java-sdk-core</artifactId>
                <version>${dep.aws-sdk.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>joda-time</groupId>
                        <artifactId>joda-time</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>com.amazonaws</groupId>
                <artifactId>aws-java-sdk-glue</artifactId>
                <version>${dep.aws-sdk.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>joda-time</groupId>
                        <artifactId>joda-time</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>com.amazonaws</groupId>
                <artifactId>aws-java-sdk-s3</artifactId>
                <version>${dep.aws-sdk.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>joda-time</groupId>
                        <artifactId>joda-time</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>com.amazonaws</groupId>
                <artifactId>aws-java-sdk-sts</artifactId>
                <version>${dep.aws-sdk.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>joda-time</groupId>
                        <artifactId>joda-time</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>io.airlift</groupId>
                <artifactId>testing-mysql-server</artifactId>
                <version>8.0.12-2</version>
            </dependency>

            <dependency>
                <groupId>com.google.cloud.bigdataoss</groupId>
                <artifactId>util</artifactId>
                <version>${dep.gcs.version}</version>
            </dependency>

            <dependency>
                <groupId>com.google.cloud.bigdataoss</groupId>
                <artifactId>gcsio</artifactId>
                <version>${dep.gcs.version}</version>
            </dependency>

            <dependency>
                <groupId>com.google.cloud.bigdataoss</groupId>
                <artifactId>util-hadoop</artifactId>
                <version>hadoop2-${dep.gcs.version}</version>
            </dependency>

            <dependency>
                <groupId>com.google.cloud.bigdataoss</groupId>
                <artifactId>gcs-connector</artifactId>
                <version>hadoop2-${dep.gcs.version}</version>
                <exclusions>
                    <exclusion>
                        <artifactId>log4j</artifactId>
                        <groupId>log4j</groupId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-log4j12</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

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

            <dependency>
                <groupId>io.airlift</groupId>
                <artifactId>testing-postgresql-server</artifactId>
                <version>9.6.3-3</version>
            </dependency>

            <dependency>
                <groupId>org.xerial.snappy</groupId>
                <artifactId>snappy-java</artifactId>
                <version>1.1.8.4</version>
            </dependency>

            <dependency>
                <groupId>org.apache.zookeeper</groupId>
                <artifactId>zookeeper</artifactId>
                <version>3.4.13</version>
                <exclusions>
                    <exclusion>
                        <artifactId>jline</artifactId>
                        <groupId>jline</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>log4j</artifactId>
                        <groupId>log4j</groupId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-log4j12</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.jgrapht</groupId>
                <artifactId>jgrapht-core</artifactId>
                <version>0.9.0</version>
            </dependency>

            <dependency>
                <groupId>redis.clients</groupId>
                <artifactId>jedis</artifactId>
                <version>2.6.2</version>
            </dependency>

            <dependency>
                <groupId>com.orange.redis-embedded</groupId>
                <artifactId>embedded-redis</artifactId>
                <version>0.6</version>
            </dependency>

            <dependency>
                <groupId>io.prestosql.tempto</groupId>
                <artifactId>tempto-core</artifactId>
                <version>${dep.tempto.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.datastax.cassandra</groupId>
                        <artifactId>cassandra-driver-core</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.google.code.findbugs</groupId>
                        <artifactId>annotations</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>io.prestosql.tempto</groupId>
                <artifactId>tempto-ldap</artifactId>
                <version>${dep.tempto.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.datastax.cassandra</groupId>
                        <artifactId>cassandra-driver-core</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>io.prestosql.tempto</groupId>
                <artifactId>tempto-kafka</artifactId>
                <version>${dep.tempto.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.datastax.cassandra</groupId>
                        <artifactId>cassandra-driver-core</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-log4j12</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>io.prestosql.tempto</groupId>
                <artifactId>tempto-runner</artifactId>
                <version>${dep.tempto.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.datastax.cassandra</groupId>
                        <artifactId>cassandra-driver-core</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>io.prestosql.hive</groupId>
                <artifactId>hive-apache-jdbc</artifactId>
                <version>0.13.1-7</version>
            </dependency>

            <dependency>
                <groupId>com.esri.geometry</groupId>
                <artifactId>esri-geometry-api</artifactId>
                <version>2.2.2</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.fasterxml.jackson.core</groupId>
                        <artifactId>jackson-core</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.apache.lucene</groupId>
                <artifactId>lucene-analyzers-common</artifactId>
                <version>7.2.1</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.apache.lucene</groupId>
                        <artifactId>lucene-core</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.locationtech.jts</groupId>
                <artifactId>jts-core</artifactId>
                <version>1.15.0</version>
            </dependency>

            <dependency>
                <groupId>org.anarres.lzo</groupId>
                <artifactId>lzo-hadoop</artifactId>
                <version>1.0.5</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.apache.hadoop</groupId>
                        <artifactId>hadoop-core</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.google.code.findbugs</groupId>
                        <artifactId>annotations</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>io.prestosql.cassandra</groupId>
                <artifactId>cassandra-server</artifactId>
                <version>2.1.16-2</version>
                <exclusions>
                    <exclusion>
                        <groupId>io.netty</groupId>
                        <artifactId>netty-all</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.objenesis</groupId>
                <artifactId>objenesis</artifactId>
                <version>3.1</version>
            </dependency>

            <dependency>
                <groupId>io.prestosql.cassandra</groupId>
                <artifactId>cassandra-driver</artifactId>
                <version>3.1.4-2</version>
            </dependency>

            <dependency>
                <groupId>com.starburstdata</groupId>
                <artifactId>starburst-spotify-docker-client</artifactId>
                <version>8.11.7-0.6</version>
            </dependency>

            <dependency>
                <groupId>net.jodah</groupId>
                <artifactId>failsafe</artifactId>
                <version>2.0.1</version>
            </dependency>

            <dependency>
                <groupId>com.github.ben-manes.caffeine</groupId>
                <artifactId>caffeine</artifactId>
                <version>2.7.0</version>
            </dependency>

            <!-- force newer version to be used for dependencies -->
            <dependency>
                <groupId>org.javassist</groupId>
                <artifactId>javassist</artifactId>
                <version>3.22.0-GA</version>
            </dependency>

            <!--            <dependency>-->
            <!--                <groupId>com.google.code.findbugs</groupId>-->
            <!--                <artifactId>annotations</artifactId>-->
            <!--                <version>3.0.1</version>-->
            <!--            </dependency>-->

            <dependency>
                <groupId>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version>2.8.0</version>
            </dependency>
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpcore</artifactId>
                <version>4.4.13</version>
            </dependency>
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
                <version>${dep.httpclient.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>commons-codec</groupId>
                        <artifactId>commons-codec</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.mockito</groupId>
                <artifactId>mockito-core</artifactId>
                <version>1.10.19</version>
            </dependency>
            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>26.0-jre</version>
            </dependency>
            <dependency>
                <groupId>com.google.code.gson</groupId>
                <artifactId>gson</artifactId>
                <version>2.5</version>
            </dependency>

            <!--jetty manual upgrade of version start-->
            <dependency>
                <artifactId>http2-server</artifactId>
                <groupId>org.eclipse.jetty.http2</groupId>
                <version>${dep.jetty.version}</version>
            </dependency>
            <dependency>
                <artifactId>jetty-http</artifactId>
                <groupId>org.eclipse.jetty</groupId>
                <version>${dep.jetty.version}</version>
            </dependency>
            <dependency>
                <artifactId>jetty-io</artifactId>
                <groupId>org.eclipse.jetty</groupId>
                <version>${dep.jetty.version}</version>
            </dependency>
            <dependency>
                <artifactId>jetty-jmx</artifactId>
                <groupId>org.eclipse.jetty</groupId>
                <version>${dep.jetty.version}</version>
            </dependency>
            <dependency>
                <artifactId>jetty-security</artifactId>
                <groupId>org.eclipse.jetty</groupId>
                <version>${dep.jetty.version}</version>
            </dependency>
            <dependency>
                <artifactId>jetty-server</artifactId>
                <groupId>org.eclipse.jetty</groupId>
                <version>${dep.jetty.version}</version>
            </dependency>
            <dependency>
                <artifactId>jetty-servlet</artifactId>
                <groupId>org.eclipse.jetty</groupId>
                <version>${dep.jetty.version}</version>
            </dependency>
            <dependency>
                <artifactId>jetty-util</artifactId>
                <groupId>org.eclipse.jetty</groupId>
                <version>${dep.jetty.version}</version>
            </dependency>
            <dependency>
                <artifactId>http2-common</artifactId>
                <groupId>org.eclipse.jetty.http2</groupId>
                <version>${dep.jetty.version}</version>
            </dependency>
            <dependency>
                <artifactId>http2-hpack</artifactId>
                <groupId>org.eclipse.jetty.http2</groupId>
                <version>${dep.jetty.version}</version>
            </dependency>
            <dependency>
                <artifactId>http2-http-client-transport</artifactId>
                <groupId>org.eclipse.jetty.http2</groupId>
                <version>${dep.jetty.version}</version>
            </dependency>
            <dependency>
                <artifactId>jetty-alpn-client</artifactId>
                <groupId>org.eclipse.jetty</groupId>
                <version>${dep.jetty.version}</version>
            </dependency>
            <dependency>
                <artifactId>jetty-client</artifactId>
                <groupId>org.eclipse.jetty</groupId>
                <version>${dep.jetty.version}</version>
            </dependency>
            <dependency>
                <artifactId>http2-client</artifactId>
                <groupId>org.eclipse.jetty.http2</groupId>
                <version>${dep.jetty.version}</version>
            </dependency>
            <!--jetty manual upgrade of version end-->
            <dependency>
                <groupId>org.apache.kylin</groupId>
                <artifactId>kylin-jdbc</artifactId>
                <version>3.0.2</version>
            </dependency>
            <dependency>
                <groupId>org.apache.calcite</groupId>
                <artifactId>calcite-core</artifactId>
                <version>1.18.0</version>
            </dependency>
            <dependency>
                <groupId>com.esotericsoftware</groupId>
                <artifactId>kryo</artifactId>
                <version>${dep.kryo.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.antlr</groupId>
                    <artifactId>antlr4-maven-plugin</artifactId>
                    <version>${dep.antlr.version}</version>
                    <executions>
                        <execution>
                            <goals>
                                <goal>antlr4</goal>
                            </goals>
                        </execution>
                    </executions>
                    <configuration>
                        <visitor>true</visitor>
                    </configuration>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-shade-plugin</artifactId>
                    <version>3.1.1</version>
                </plugin>

                <plugin>
                    <groupId>org.skife.maven</groupId>
                    <artifactId>really-executable-jar-maven-plugin</artifactId>
                    <version>1.0.5</version>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-antrun-plugin</artifactId>
                    <version>1.8</version>
                </plugin>

                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>exec-maven-plugin</artifactId>
                    <version>1.6.0</version>
                </plugin>

                <plugin>
                    <groupId>io.airlift.maven.plugins</groupId>
                    <artifactId>sphinx-maven-plugin</artifactId>
                    <version>2.1</version>
                </plugin>

                <plugin>
                    <groupId>io.airlift.drift</groupId>
                    <artifactId>drift-maven-plugin</artifactId>
                    <version>${dep.drift.version}</version>
                </plugin>

                <plugin>
                    <groupId>org.gaul</groupId>
                    <artifactId>modernizer-maven-plugin</artifactId>
                    <configuration>
                        <violationsFiles>
                            <violationsFile>${air.main.basedir}/src/modernizer/violations.xml</violationsFile>
                        </violationsFiles>
                        <exclusionPatterns>
                            <exclusionPattern>org/joda/time/.*</exclusionPattern>
                        </exclusionPatterns>
                    </configuration>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-enforcer-plugin</artifactId>
                    <configuration>
                        <rules>
                            <requireUpperBoundDeps>
                                <excludes combine.children="append">
                                    <!-- TODO: fix this in Airlift resolver -->
                                    <exclude>org.codehaus.plexus:plexus-utils</exclude>
                                </excludes>
                            </requireUpperBoundDeps>
                        </rules>
                    </configuration>
                    <dependencies>
                        <dependency>
                            <groupId>org.codehaus.mojo</groupId>
                            <artifactId>extra-enforcer-rules</artifactId>
                            <version>1.3</version>
                        </dependency>
                    </dependencies>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-release-plugin</artifactId>
                    <configuration>
                        <preparationGoals>clean verify -DskipTests</preparationGoals>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>findbugs-maven-plugin</artifactId>
                    <version>3.0.5</version>
                    <configuration>
                        <threshold>Low</threshold>
                        <effort>Default</effort>
                        <findbugsXmlOutput>true</findbugsXmlOutput>
                        <findbugsXmlWithMessages>true</findbugsXmlWithMessages>
                        <xmlOutput>true</xmlOutput>
                        <findbugsXmlOutputDirectory>target/site</findbugsXmlOutputDirectory>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-checkstyle-plugin</artifactId>
                    <version>3.0.0</version>
                    <dependencies>
                        <dependency>
                            <groupId>com.puppycrawl.tools</groupId>
                            <artifactId>checkstyle</artifactId>
                            <version>8.16</version>
                        </dependency>
                    </dependencies>
                </plugin>
                <plugin>
                    <groupId>com.mycila</groupId>
                    <artifactId>license-maven-plugin</artifactId>
                    <version>2.3</version>
                    <configuration>
                        <validHeaders>
                            <item>${air.main.basedir}/src/main/resource/license/license-header.txt</item>
                            <item>${air.main.basedir}/src/main/resource/license/license-header-alternate-2010.txt</item>
                            <item>${air.main.basedir}/src/main/resource/license/license-header-alternate-2012.txt</item>
                            <item>${air.main.basedir}/src/main/resource/license/license-header-alternate-2020.txt</item>
                            <item>${air.main.basedir}/src/main/resource/license/license-header-alternate-2021.txt</item>
                            <item>${air.main.basedir}/src/main/resource/license/license-header-alternate-2022.txt</item>
                            <item>${air.main.basedir}/src/main/resource/license/license-header-third.txt</item>
                        </validHeaders>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-pmd-plugin</artifactId>
                    <version>3.8</version>
                </plugin>
                <plugin>
                    <groupId>org.jacoco</groupId>
                    <artifactId>jacoco-maven-plugin</artifactId>
                    <version>0.8.2</version>
                    <executions>
                        <execution>
                            <goals>
                                <goal>prepare-agent</goal>
                            </goals>
                        </execution>
                        <execution>
                            <id>report</id>
                            <phase>test</phase>
                            <goals>
                                <goal>report</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </pluginManagement>

        <plugins>
            <plugin>
                <groupId>io.hetu</groupId>
                <artifactId>presto-maven-plugin</artifactId>
                <version>9</version>
                <extensions>true</extensions>
                <configuration>
                    <skipCheckSpiDependencies>true</skipCheckSpiDependencies>
                    <pluginClassName>io.prestosql.spi.Plugin</pluginClassName>
                </configuration>
            </plugin>

            <plugin>
                <groupId>io.takari.maven.plugins</groupId>
                <artifactId>provisio-maven-plugin</artifactId>
                <version>0.1.40</version>
                <extensions>true</extensions>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration combine.children="append">
                    <fork>false</fork>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <includes>
                        <include>**/Test*.java</include>
                        <include>**/Benchmark*.java</include>
                    </includes>
                    <excludes>
                        <exclude>**/*jmhTest*.java</exclude>
                        <exclude>**/*jmhType*.java</exclude>
                    </excludes>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>findbugs-maven-plugin</artifactId>
                <version>3.0.5</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-pmd-plugin</artifactId>
                <version>3.8</version>
            </plugin>
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <version>0.8.2</version>
            </plugin>
        </plugins>
    </build>

    <profiles>
        <profile>
            <id>tests-with-dependencies</id>
            <!--
                Assembles an uber (fat) jar that includes the entire "test" scope classpath for a module.

                For example after running:

                ./mvnw clean install -P tests-with-dependencies -pl presto-geospatial

                The uber jar that contains the entire "test" scope class path of the "presto-geospatial"
                is created and placed to that modules target directory:

                ./presto-geospatial/target/presto-geospatial-0.197-SNAPSHOT-tests-with-dependencies.jar

                Now using this jar we can easily run any benchmark from that module via command line:

                java \
                  -cp ./presto-geospatial/target/presto-geospatial-*-tests-with-dependencies.jar \
                  BenchmarkSTIntersects
            -->
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-assembly-plugin</artifactId>
                        <configuration>
                            <descriptors>
                                <descriptor>${air.main.basedir}/src/assembly/tests-with-dependencies.xml</descriptor>
                            </descriptors>
                        </configuration>
                        <executions>
                            <execution>
                                <id>make-assembly</id>
                                <phase>package</phase>
                                <goals>
                                    <goal>single</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>

  <scm>
    <tag>1.7.0</tag>
  </scm>
</project>
