<?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>130</version>
    </parent>

    <groupId>io.trino</groupId>
    <artifactId>trino-root</artifactId>
    <version>399-h0.cbu.mrs.330.r37</version>

    <name>trino-root</name>
    <description>Trino</description>
    <packaging>pom</packaging>
    <url>https://trino.io</url>

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

    <scm>
        <connection>scm:git:git://github.com/trinodb/trino.git</connection>
        <url>https://github.com/trinodb/trino</url>
        <tag>399</tag>
    </scm>

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

        <project.build.targetJdk>17</project.build.targetJdk>
        <air.java.version>17.0.4</air.java.version>
        <air.modernizer.java-version>8</air.modernizer.java-version>

        <air.release.preparation-goals>clean verify -DskipTests</air.release.preparation-goals>

        <dep.accumulo.version>1.7.4</dep.accumulo.version>
        <dep.accumulo-hadoop.version>2.7.7-1</dep.accumulo-hadoop.version>
        <dep.antlr.version>4.11.1</dep.antlr.version>
        <dep.airlift.version>219-h0.cbu.mrs.330.r37</dep.airlift.version>
        <dep.packaging.version>${dep.airlift.version}</dep.packaging.version>
        <dep.aws-sdk.version>1.12.172</dep.aws-sdk.version>
        <dep.okhttp.version>4.11.0</dep.okhttp.version>
        <dep.joda.version>2.10.13</dep.joda.version>
        <dep.jsonwebtoken.version>0.11.2</dep.jsonwebtoken.version>
        <dep.oracle.version>19.3.0.0</dep.oracle.version>
        <dep.drift.version>1.14</dep.drift.version>
        <dep.tempto.version>189</dep.tempto.version>
        <dep.gcs.version>2.2.11</dep.gcs.version>
        <dep.errorprone.version>2.21.0</dep.errorprone.version>
        <dep.testcontainers.version>1.17.3</dep.testcontainers.version>
        <dep.duct-tape.version>1.0.8</dep.duct-tape.version>
        <dep.coral.version>2.0.77</dep.coral.version>
        <dep.confluent.version>5.5.2</dep.confluent.version>
        <dep.casandra.version>4.14.0</dep.casandra.version>
        <dep.minio.version>7.1.4</dep.minio.version>
        <dep.iceberg.version>1.3.0</dep.iceberg.version>
        <dep.spotbugs-annotations.version>4.7.2</dep.spotbugs-annotations.version>
        <dep.lombok.version>1.18.24</dep.lombok.version>
        <dep.docker.images.version>65</dep.docker.images.version>
        <dep.org.osgi.version>6.0.0</dep.org.osgi.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>
        <!-- Be conservative about memory allotment, because tests start background process (e.g. docker containers) -->
        <air.test.jvmsize>3g</air.test.jvmsize>

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

        <!-- Huawei-developed version -->
        <huawei.opensource.version>h0.cbu.mrs.330.r37</huawei.opensource.version>
        <huawei.mrs.version>8.3.0-330.r37</huawei.mrs.version>
        <dep.avro.version>1.11.3</dep.avro.version>
        <dep.bval.version>2.0.5</dep.bval.version>
        <dep.bcprov.version>1.69</dep.bcprov.version>
        <dep.commons-compress.version>1.26.0</dep.commons-compress.version>
        <dep.commons-lang3.version>3.12.0</dep.commons-lang3.version>
        <dep.commons-pool2.version>2.11.1</dep.commons-pool2.version>
        <dep.curator.version>5.2.1</dep.curator.version>
        <dep.metrics-core.version>4.2.9</dep.metrics-core.version>

        <!-- The airbase have dep.junit.version use to junit-bom, so we need named individually-->
        <dep.junit-junit.version>4.13.2</dep.junit-junit.version>
        <!-- The MRS version must be changed to xxx-${huawei.opensource.version} -->
        <dep.trino.apache.hadoop.version>3.2.0-16-${huawei.opensource.version}</dep.trino.apache.hadoop.version>
        <dep.hetu.apache.hive.version>3.1.2-20-${huawei.opensource.version}</dep.hetu.apache.hive.version>
        <dep.hadoop-yarn.version>3.3.1-${huawei.opensource.version}</dep.hadoop-yarn.version>

        <dep.reload4j.version>1.2.22</dep.reload4j.version>
        <dep.us.common.version>1.0.73</dep.us.common.version>
        <dep.zookeeper.version>3.8.1-${huawei.opensource.version}</dep.zookeeper.version>
        <dep.jetty.version>9.4.54.v20240208</dep.jetty.version>
        <dep.commons-collections4.version>4.4</dep.commons-collections4.version>
        <dep.hikaricp.version>4.0.3</dep.hikaricp.version>
        <dep.commons-codec.version>1.15</dep.commons-codec.version>
        <dep.commons-cli.version>1.5.0</dep.commons-cli.version>
        <dep.javax.validation.version>2.0.1.Final</dep.javax.validation.version>
        <dep.jackson.version>2.15.3</dep.jackson.version>
        <dep.commons-io.version>2.11.0</dep.commons-io.version>
        <dep.mockito.version>4.0.0</dep.mockito.version>
        <calcite.version>1.27.0-${huawei.opensource.version}</calcite.version>
        <calcite.core.version>1.21.0.152-${huawei.opensource.version}</calcite.core.version>
        <dep.huaweicloud.version>3.1.1-hw-53.7</dep.huaweicloud.version>
        <dep.mrs.obs.provider.version>8.3.0-330.r37</dep.mrs.obs.provider.version>
        <dep.token-server-client.version>1.0.6-${huawei.opensource.version}</dep.token-server-client.version>
        <log4j2.version>2.19.0</log4j2.version>
        <netty.version>4.1.108.Final</netty.version>
        <dep.netty-tcnative.version>2.0.65.Final</dep.netty-tcnative.version>
        <dep.libthrift.version>0.14.1-hw-ei-311001</dep.libthrift.version>
        <dep.rubix-presto.version>0.3.18-${huawei.opensource.version}</dep.rubix-presto.version>
        <dep.hetu-calcite-linkedin.version>1.21.0.152-${huawei.opensource.version}</dep.hetu-calcite-linkedin.version>
        <dep.woodstox-core.version>6.5.1</dep.woodstox-core.version>
        <dep.okio.version>3.4.0</dep.okio.version>
        <dep.logback.version>1.2.13</dep.logback.version>
        <dep.json-smart.version>2.4.9</dep.json-smart.version>
    </properties>

    <!--<modules>
        <module>client/trino-cli</module>
        <module>client/trino-client</module>
        <module>client/trino-jdbc</module>
        <module>core/trino-main</module>
        <module>core/trino-parser</module>
        <module>core/trino-server</module>
        <module>core/trino-server-main</module>
        <module>core/trino-server-rpm</module>
        <module>core/trino-spi</module>
        <module>docs</module>
        <module>lib/trino-array</module>
        <module>lib/trino-collect</module>
        <module>lib/trino-filesystem</module>
        <module>lib/trino-geospatial-toolkit</module>
        <module>lib/trino-hadoop-toolkit</module>
        <module>lib/trino-hdfs</module>
        <module>lib/trino-matching</module>
        <module>lib/trino-memory-context</module>
        <module>lib/trino-orc</module>
        <module>lib/trino-parquet</module>
        <module>lib/trino-phoenix5-patched</module>
        <module>lib/trino-plugin-toolkit</module>
        <module>lib/trino-rcfile</module>
        <module>lib/trino-record-decoder</module>
        <module>plugin/trino-accumulo</module>
        <module>plugin/trino-accumulo-iterators</module>
        <module>plugin/trino-atop</module>
        <module>plugin/trino-base-jdbc</module>
        <module>plugin/trino-bigquery</module>
        <module>plugin/trino-blackhole</module>
        <module>plugin/trino-cassandra</module>
        <module>plugin/trino-clickhouse</module>
        <module>plugin/trino-delta-lake</module>
        <module>plugin/trino-druid</module>
        <module>plugin/trino-elasticsearch</module>
        <module>plugin/trino-example-http</module>
        <module>plugin/trino-exchange-filesystem</module>
        <module>plugin/trino-exchange-hdfs</module>
        <module>plugin/trino-geospatial</module>
        <module>plugin/trino-google-sheets</module>
        <module>plugin/trino-hive</module>
        <module>plugin/trino-hive-hadoop2</module>
        <module>plugin/trino-http-event-listener</module>
        <module>plugin/trino-hudi</module>
        <module>plugin/trino-iceberg</module>
        <module>plugin/trino-jmx</module>
        <module>plugin/trino-kafka</module>
        <module>plugin/trino-kinesis</module>
        <module>plugin/trino-kudu</module>
        <module>plugin/trino-local-file</module>
        <module>plugin/trino-mariadb</module>
        <module>plugin/trino-memory</module>
        <module>plugin/trino-ml</module>
        <module>plugin/trino-mongodb</module>
        <module>plugin/trino-mysql</module>
        <module>plugin/trino-oracle</module>
        <module>plugin/trino-password-authenticators</module>
        <module>plugin/trino-phoenix5</module>
        <module>plugin/trino-pinot</module>
        <module>plugin/trino-postgresql</module>
        <module>plugin/trino-prometheus</module>
        <module>plugin/trino-raptor-legacy</module>
        <module>plugin/trino-redis</module>
        <module>plugin/trino-redshift</module>
        <module>plugin/trino-resource-group-managers</module>
        <module>plugin/trino-session-property-managers</module>
        <module>plugin/trino-singlestore</module>
        <module>plugin/trino-sqlserver</module>
        <module>plugin/trino-teradata-functions</module>
        <module>plugin/trino-thrift</module>
        <module>plugin/trino-thrift-api</module>
        <module>plugin/trino-thrift-testing-server</module>
        <module>plugin/trino-tpcds</module>
        <module>plugin/trino-tpch</module>
        <module>service/trino-proxy</module>
        <module>service/trino-verifier</module>
        <module>testing/trino-benchmark</module>
        <module>testing/trino-benchmark-queries</module>
        <module>testing/trino-benchto-benchmarks</module>
        <module>testing/trino-faulttolerant-tests</module>
        <module>testing/trino-plugin-reader</module>
        <module>testing/trino-product-tests</module>
        <module>testing/trino-product-tests-launcher</module>
        <module>testing/trino-server-dev</module>
        <module>testing/trino-test-jdbc-compatibility-old-driver</module>
        <module>testing/trino-test-jdbc-compatibility-old-server</module>
        <module>testing/trino-testing</module>
        <module>testing/trino-testing-containers</module>
        <module>testing/trino-testing-kafka</module>
        <module>testing/trino-testing-resources</module>
        <module>testing/trino-testing-services</module>
        <module>testing/trino-tests</module>
    </modules>-->

    <dependencyManagement>
        <dependencies>
            <!-- Trino -->
            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>hetu-common</artifactId>
                <version>${project.version}</version>
            </dependency>

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

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>hetu-high-availability</artifactId>
                <version>${project.version}</version>
            </dependency>

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

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>hetu-hudi</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>hetu-iotdb</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>hetu-jdbc</artifactId>
                <version>${project.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>hetu-job-system-interface</artifactId>
                <version>${project.version}</version>
            </dependency>

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

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>hetu-mv</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>hetu-mv-rewrite</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>hetu-virtual-model</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>hetu-yarn</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-array</artifactId>
                <version>${project.version}</version>
            </dependency>

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

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-base-jdbc</artifactId>
                <type>test-jar</type>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-benchmark</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-benchmark-queries</artifactId>
                <version>${project.version}</version>
            </dependency>

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

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-blackhole</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-cli</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-client</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-collect</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-collect</artifactId>
                <type>test-jar</type>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-delta-lake</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-delta-lake</artifactId>
                <type>test-jar</type>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-elasticsearch</artifactId>
                <version>${project.version}</version>
            </dependency>

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

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-exchange-filesystem</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-exchange-filesystem</artifactId>
                <type>test-jar</type>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-faulttolerant-tests</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-filesystem</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-geospatial</artifactId>
                <version>${project.version}</version>
            </dependency>

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

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-hadoop-toolkit</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-hdfs</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-hive</artifactId>
                <version>${project.version}</version>
            </dependency>

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

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

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-hudi</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-iceberg</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-iceberg</artifactId>
                <type>test-jar</type>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-jdbc</artifactId>
                <version>${project.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.huawei.us</groupId>
                        <artifactId>us-common</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.osgi</groupId>
                        <artifactId>org.osgi.core</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-jmx</artifactId>
                <version>${project.version}</version>
            </dependency>

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

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-main</artifactId>
                <version>${project.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-nop</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-main</artifactId>
                <type>test-jar</type>
                <version>${project.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-nop</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-mariadb</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-matching</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-memory</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-memory</artifactId>
                <type>test-jar</type>
                <version>${project.version}</version>
            </dependency>

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

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-mongodb</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-mysql</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-orc</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-parquet</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-parser</artifactId>
                <version>${project.version}</version>
            </dependency>

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

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

            <!-- TODO(https://github.com/trinodb/trino/issues/13051): Remove when Phoenix5 is released -->
            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-phoenix5-patched</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-pinot</artifactId>
                <version>${project.version}</version>
            </dependency>

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

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-plugin-toolkit</artifactId>
                <type>test-jar</type>
                <version>${project.version}</version>
            </dependency>

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

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-raptor-legacy</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-rcfile</artifactId>
                <version>${project.version}</version>
            </dependency>

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

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

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

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

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

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

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-session-property-managers</artifactId>
                <type>test-jar</type>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-spi</artifactId>
                <version>${project.version}</version>
            </dependency>

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

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-sqlserver</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-testing</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-testing-containers</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-testing-kafka</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-testing-resources</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-testing-services</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-tests</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-tests</artifactId>
                <type>test-jar</type>
                <version>${project.version}</version>
            </dependency>

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

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

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

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

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-tpcds</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.trino</groupId>
                <artifactId>trino-tpch</artifactId>
                <version>${project.version}</version>
            </dependency>

            <!-- Trino external -->
            <dependency>
                <groupId>io.trino.benchto</groupId>
                <artifactId>benchto-driver</artifactId>
                <version>0.19</version>
            </dependency>

            <dependency>
                <groupId>io.trino.hadoop</groupId>
                <artifactId>hadoop-apache</artifactId>
                <version>${dep.trino.apache.hadoop.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.code.gson</groupId>
                        <artifactId>gson</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.fasterxml.jackson.core</groupId>
                        <artifactId>jackson-databind</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.squareup.okhttp3</groupId>
                        <artifactId>okhttp</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>jakarta.activation</groupId>
                        <artifactId>jakarta.activation-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <artifactId>jcl-over-slf4j</artifactId>
                        <groupId>org.slf4j</groupId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.avro</groupId>
                        <artifactId>avro</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.commons</groupId>
                        <artifactId>commons-compress</artifactId>
                    </exclusion>
                    <!-- Duplicate class conflicts with com.linkedin.calcite:calcite-core. -->
                    <exclusion>
                        <groupId>org.apache.commons</groupId>
                        <artifactId>commons-lang3</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.eclipse.jetty</groupId>
                        <artifactId>jetty-servlet</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.eclipse.jetty</groupId>
                        <artifactId>jetty-util-ajax</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-nop</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.wildfly.common</groupId>
                        <artifactId>wildfly-common</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>io.trino.hive</groupId>
                <artifactId>hetu-hive-apache</artifactId>
                <version>${dep.hetu.apache.hive.version}</version>
                <exclusions>
                    <!-- Duplicate class conflicts with com.linkedin.calcite:calcite-core. -->
                    <exclusion>
                        <groupId>org.apache.commons</groupId>
                        <artifactId>commons-lang3</artifactId>
                    </exclusion>
                    <!-- hive-exec 3.1.0 will bring org.apache.thrift:libthrift:0.14.1-hw-ei-311001 version-->
                    <exclusion>
                        <groupId>org.apache.thrift</groupId>
                        <artifactId>libthrift</artifactId>
                    </exclusion>
                    <!-- conflicts with slf4j-jdk14-->
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-nop</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>io.trino.hive</groupId>
                        <artifactId>hive-apache</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>io.trino.hive</groupId>
                <artifactId>hive-apache-jdbc</artifactId>
                <version>0.13.1-9</version>
            </dependency>

            <dependency>
                <groupId>io.trino.orc</groupId>
                <artifactId>orc-protobuf</artifactId>
                <version>14</version>
            </dependency>

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

            <dependency>
                <groupId>io.trino.tempto</groupId>
                <artifactId>tempto-kafka</artifactId>
                <version>${dep.tempto.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-log4j12</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>io.trino.tempto</groupId>
                <artifactId>tempto-ldap</artifactId>
                <version>${dep.tempto.version}</version>
            </dependency>

            <dependency>
                <groupId>io.trino.tempto</groupId>
                <artifactId>tempto-runner</artifactId>
                <version>${dep.tempto.version}</version>
            </dependency>

            <dependency>
                <groupId>io.trino.tpcds</groupId>
                <artifactId>tpcds</artifactId>
                <version>1.4</version>
            </dependency>

            <dependency>
                <groupId>io.trino.tpch</groupId>
                <artifactId>tpch</artifactId>
                <version>1.1</version>
            </dependency>

            <!-- Airlift -->
            <dependency>
                <groupId>io.airlift</groupId>
                <artifactId>aircompressor</artifactId>
                <version>0.21</version>
            </dependency>

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

            <dependency>
                <groupId>io.airlift</groupId>
                <artifactId>bytecode</artifactId>
                <version>1.4</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>dbpool</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>event</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>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>jmx-http</artifactId>
                <version>${dep.airlift.version}</version>
            </dependency>

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

            <dependency>
                <groupId>io.airlift</groupId>
                <artifactId>json</artifactId>
                <version>${dep.airlift.version}</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>node</artifactId>
                <version>${dep.airlift.version}</version>
            </dependency>

            <dependency>
                <groupId>io.airlift</groupId>
                <artifactId>parameternames</artifactId>
                <version>1.4</version>
            </dependency>

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

            <dependency>
                <groupId>io.airlift</groupId>
                <artifactId>stats</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>trace-token</artifactId>
                <version>${dep.airlift.version}</version>
            </dependency>

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

            <dependency>
                <groupId>io.airlift.discovery</groupId>
                <artifactId>discovery-server</artifactId>
                <version>1.30</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>
            </dependency>

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

            <dependency>
                <groupId>ch.qos.reload4j</groupId>
                <artifactId>reload4j</artifactId>
                <version>${dep.reload4j.version}</version>
            </dependency>

            <!-- 3rd party -->
            <dependency>
                <groupId>com.amazonaws</groupId>
                <artifactId>amazon-kinesis-client</artifactId>
                <version>1.6.3</version>
                <exclusions>
                    <exclusion>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>commons-lang</groupId>
                        <artifactId>commons-lang</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>joda-time</groupId>
                        <artifactId>joda-time</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.google.protobuf</groupId>
                        <artifactId>protobuf-java</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.amazonaws</groupId>
                        <artifactId>aws-java-sdk</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.amazonaws</groupId>
                        <artifactId>aws-java-sdk-core</artifactId>
                    </exclusion>
                </exclusions>
            </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-dynamodb</artifactId>
                <version>${dep.aws-sdk.version}</version>
            </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-kinesis</artifactId>
                <version>${dep.aws-sdk.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>joda-time</groupId>
                        <artifactId>joda-time</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</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>com.clearspring.analytics</groupId>
                <artifactId>stream</artifactId>
                <version>2.9.8</version>
            </dependency>

            <dependency>
                <groupId>com.clickhouse</groupId>
                <artifactId>clickhouse-jdbc</artifactId>
                <version>0.3.2-patch3</version>
                <classifier>all</classifier>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>com.databricks</groupId>
                <artifactId>databricks-jdbc</artifactId>
                <version>2.6.25-1</version>
            </dependency>

            <dependency>
                <groupId>com.datastax.oss</groupId>
                <artifactId>java-driver-core</artifactId>
                <version>${dep.casandra.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.ow2.asm</groupId>
                        <artifactId>asm-analysis</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

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

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

            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-annotations</artifactId>
                <version>${dep.jackson.version}</version>
            </dependency>

            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>${dep.jackson.version}</version>
            </dependency>

            <dependency>
                <groupId>com.fasterxml.jackson.dataformat</groupId>
                <artifactId>jackson-dataformat-xml</artifactId>
                <version>${dep.jackson.version}</version>
            </dependency>

            <dependency>
                <groupId>com.fasterxml.woodstox</groupId>
                <artifactId>woodstox-core</artifactId>
                <version>${dep.woodstox-core.version}</version>
            </dependency>

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

            <dependency>
                <groupId>com.github.docker-java</groupId>
                <artifactId>docker-java-api</artifactId>
                <version>3.2.13</version>
            </dependency>

            <dependency>
                <groupId>com.github.oshi</groupId>
                <artifactId>oshi-core</artifactId>
                <version>5.8.5</version>
            </dependency>

            <dependency>
                <groupId>com.google.cloud.bigdataoss</groupId>
                <artifactId>gcs-connector</artifactId>
                <version>hadoop3-${dep.gcs.version}</version>
                <classifier>shaded</classifier>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>com.google.errorprone</groupId>
                <artifactId>error_prone_annotations</artifactId>
                <version>${dep.errorprone.version}</version>
            </dependency>

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

            <dependency>
                <groupId>com.huawei.mrs</groupId>
                <artifactId>manager-ommhttp11</artifactId>
                <version>${huawei.mrs.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.code.findbugs</groupId>
                        <artifactId>annotations</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.squareup.okhttp3</groupId>
                        <artifactId>okhttp</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.hadoop</groupId>
                        <artifactId>hadoop-common</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <!-- obs -->
            <dependency>
                <groupId>com.huawei.mrs</groupId>
                <artifactId>mrs-obs-provider</artifactId>
                <version>${dep.mrs.obs.provider.version}</version>
            </dependency>

            <dependency>
                <groupId>com.huawei.mrs</groupId>
                <artifactId>token-server-client</artifactId>
                <version>${dep.token-server-client.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>com.huawei.us</groupId>
                <artifactId>us-common</artifactId>
                <version>${dep.us.common.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.bouncycastle</groupId>
                        <artifactId>bcprov-jdk15on</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.osgi</groupId>
                        <artifactId>org.osgi.core</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>com.huaweicloud.obs</groupId>
                <artifactId>hadoop-huaweicloud</artifactId>
                <version>${dep.huaweicloud.version}</version>
            </dependency>

            <dependency>
                <groupId>com.linkedin.calcite</groupId>
                <artifactId>calcite-core</artifactId>
                <version>${dep.hetu-calcite-linkedin.version}</version>
                <classifier>shaded</classifier>
                <exclusions>
                    <exclusion>
                        <!-- Exclude everything because shaded version of calcite-core still pulls in all the original dependencies -->
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>com.linkedin.coral</groupId>
                <artifactId>coral-common</artifactId>
                <version>${dep.coral.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.apache.hive</groupId>
                        <artifactId>hive-metastore</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.hadoop</groupId>
                        <artifactId>hadoop-common</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>com.linkedin.coral</groupId>
                <artifactId>coral-hive</artifactId>
                <version>${dep.coral.version}</version>
            </dependency>

            <dependency>
                <groupId>com.linkedin.coral</groupId>
                <artifactId>coral-trino</artifactId>
                <version>${dep.coral.version}</version>
                <exclusions>
                    <!--
                        The `trino-parser` library is being used internally within the `coral-trino` library for
                        parsing Trino SQL statements. This functionality is irrelevant in the context of
                        using Coral for Hive view translations within Trino.
                        This dependency is excluded because `trino-parser` does not guarantee API or behavioral
                        backwards compatibility.
                        Trino cannot provide the version on which `coral-trino` library depends on, because the
                        current version of `trino-parser` is used in tests of this module.
                        The dependency is therefore intentionally excluded to avoid breaking in an unexpected way,
                        or silent correctness issues.
                    -->
                    <exclusion>
                        <groupId>io.trino</groupId>
                        <artifactId>trino-parser</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>com.microsoft.sqlserver</groupId>
                <artifactId>mssql-jdbc</artifactId>
                <version>10.2.0.jre11</version>
            </dependency>

            <dependency>
                <groupId>com.nimbusds</groupId>
                <artifactId>nimbus-jose-jwt</artifactId>
                <version>9.14</version>
            </dependency>

            <dependency>
                <groupId>com.nimbusds</groupId>
                <artifactId>oauth2-oidc-sdk</artifactId>
                <version>9.18</version>
            </dependency>

            <dependency>
                <groupId>com.qubole.rubix</groupId>
                <artifactId>rubix-presto-shaded</artifactId>
                <version>${dep.rubix-presto.version}</version>
            </dependency>

            <dependency>
                <groupId>com.squareup.okhttp3</groupId>
                <artifactId>okhttp-bom</artifactId>
                <type>pom</type>
                <version>4.10.0</version>
                <scope>import</scope>
            </dependency>

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

            <dependency>
                <groupId>com.squareup.okio</groupId>
                <artifactId>okio-jvm</artifactId>
                <version>${dep.okio.version}</version>
            </dependency>

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

            <dependency>
                <groupId>com.zaxxer</groupId>
                <artifactId>HikariCP</artifactId>
                <version>${dep.hikaricp.version}</version>
            </dependency>

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

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

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

            <dependency>
                <groupId>info.picocli</groupId>
                <artifactId>picocli</artifactId>
                <version>4.6.1</version>
            </dependency>

            <dependency>
                <groupId>io.confluent</groupId>
                <artifactId>kafka-avro-serializer</artifactId>
                <version>${dep.confluent.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.apache.kafka</groupId>
                        <artifactId>kafka-clients</artifactId>
                    </exclusion>
                    <!--
                        This library depends on:
                         - org.glassfish.hk2.external:jakarta.inject that conflicts with javax.inject:javax.inject
                    -->
                    <exclusion>
                        <groupId>org.glassfish.hk2.external</groupId>
                        <artifactId>jakarta.inject</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>net.sf.jopt-simple</groupId>
                        <artifactId>jopt-simple</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>commons-cli</groupId>
                        <artifactId>commons-cli</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>io.confluent</groupId>
                <artifactId>kafka-json-schema-serializer</artifactId>
                <version>${dep.confluent.version}</version>
                <!-- This is under Confluence Community License and it should not be used with compile scope -->
                <scope>test</scope>
                <exclusions>
                    <exclusion>
                        <groupId>org.apache.kafka</groupId>
                        <artifactId>kafka-clients</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.google.re2j</groupId>
                        <artifactId>re2j</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>io.confluent</groupId>
                <artifactId>kafka-schema-registry-client</artifactId>
                <version>${dep.confluent.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.apache.kafka</groupId>
                        <artifactId>kafka-clients</artifactId>
                    </exclusion>
                    <!--
                        This library depends on conflicting:
                        - com.sun.activation:jakarta.activation and jakarta.activation:jakarta.activation-api
                        - jakarta.el:jakarta.el-api and org.glassfish:jakarta.el
                        This library depends on:
                        - org.glassfish.hk2.external:jakarta.inject that conflicts with javax.inject:javax.inject
                        - jakarta.validation:jakarta.validation-api that conflicts with javax.validation:validation-api
                        - jakarta.annotation:jakarta.annotation-api that conflicts with javax.annotation:javax.annotation-api
                        - com.sun.activation:jakarta.activation that conflicts with javax.activation:javax.activation-api
                        - jakarta.ws.rs:jakarta.ws.rs-api that conflicts with javax.ws.rs:javax.ws.rs-api
                        - jakarta.xml.bind:jakarta.xml.bind-api that conflicts with javax.xml.bind:jaxb-api
                    -->
                    <exclusion>
                        <groupId>com.sun.activation</groupId>
                        <artifactId>jakarta.activation</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>jakarta.activation</groupId>
                        <artifactId>jakarta.activation-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>jakarta.annotation</groupId>
                        <artifactId>jakarta.annotation-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>jakarta.validation</groupId>
                        <artifactId>jakarta.validation-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>jakarta.ws.rs</groupId>
                        <artifactId>jakarta.ws.rs-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>jakarta.xml.bind</groupId>
                        <artifactId>jakarta.xml.bind-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.glassfish</groupId>
                        <artifactId>jakarta.el</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.glassfish.hk2.external</groupId>
                        <artifactId>jakarta.inject</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>io.confluent</groupId>
                <artifactId>kafka-schema-serializer</artifactId>
                <version>${dep.confluent.version}</version>
            </dependency>

            <dependency>
                <groupId>io.dropwizard.metrics</groupId>
                <artifactId>metrics-core</artifactId>
                <version>${dep.metrics-core.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core.calcite</groupId>
                <artifactId>calcite-apache</artifactId>
                <version>${calcite.version}</version>
            </dependency>

            <dependency>
                <groupId>io.hetu.core.coral</groupId>
                <artifactId>calcite-core</artifactId>
                <version>${calcite.core.version}</version>
            </dependency>

            <dependency>
                <groupId>io.jsonwebtoken</groupId>
                <artifactId>jjwt-api</artifactId>
                <version>${dep.jsonwebtoken.version}</version>
            </dependency>

            <dependency>
                <groupId>io.jsonwebtoken</groupId>
                <artifactId>jjwt-impl</artifactId>
                <version>${dep.jsonwebtoken.version}</version>
            </dependency>

            <dependency>
                <groupId>io.jsonwebtoken</groupId>
                <artifactId>jjwt-jackson</artifactId>
                <version>${dep.jsonwebtoken.version}</version>
            </dependency>

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

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

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

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

            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-codec-dns</artifactId>
                <version>${netty.version}</version>
            </dependency>

            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-codec-http</artifactId>
                <version>${netty.version}</version>
            </dependency>

            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-codec-http2</artifactId>
                <version>${netty.version}</version>
            </dependency>

            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-codec-socks</artifactId>
                <version>${netty.version}</version>
            </dependency>

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

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

            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-handler-proxy</artifactId>
                <version>${netty.version}</version>
            </dependency>

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

            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-resolver-dns</artifactId>
                <version>${netty.version}</version>
            </dependency>

            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-resolver-dns-native-macos</artifactId>
                <version>${netty.version}</version>
                <classifier>osx-x86_64</classifier>
            </dependency>

            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-tcnative-boringssl-static</artifactId>
                <version>${dep.netty-tcnative.version}</version>
            </dependency>

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

            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-transport-classes-epoll</artifactId>
                <version>${netty.version}</version>
            </dependency>

            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-transport-native-epoll</artifactId>
                <version>${netty.version}</version>
                <classifier>linux-x86_64</classifier>
            </dependency>

            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-transport-native-epoll</artifactId>
                <version>${netty.version}</version>
                <classifier>linux-aarch_64</classifier>
            </dependency>

            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-transport-native-kqueue</artifactId>
                <version>${netty.version}</version>
                <classifier>osx-x86_64</classifier>
            </dependency>

            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-transport-native-unix-common</artifactId>
                <version>${netty.version}</version>
            </dependency>

            <!-- io.confluent:kafka-avro-serializer uses multiple versions of this transitive dependency -->
            <dependency>
                <groupId>io.swagger</groupId>
                <artifactId>swagger-annotations</artifactId>
                <version>1.6.2</version>
            </dependency>

            <!-- io.confluent:kafka-avro-serializer uses multiple versions of this transitive dependency -->
            <dependency>
                <groupId>io.swagger</groupId>
                <artifactId>swagger-core</artifactId>
                <version>1.6.2</version>
            </dependency>

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

            <dependency>
                <groupId>javax.validation</groupId>
                <artifactId>validation-api</artifactId>
                <version>${dep.javax.validation.version}</version>
            </dependency>

            <dependency>
                <groupId>javax.xml.bind</groupId>
                <artifactId>jaxb-api</artifactId>
                <version>2.3.1</version>
            </dependency>

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

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

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

            <dependency>
                <!-- org.testcontainers:testcontainer's dependencies pull two different versions of this artifact and this is to negotiate the version -->
                <groupId>net.java.dev.jna</groupId>
                <artifactId>jna</artifactId>
                <version>5.12.1</version>
            </dependency>

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

            <dependency>
                <groupId>net.minidev</groupId>
                <artifactId>json-smart</artifactId>
                <version>${dep.json-smart.version}</version>
            </dependency>

            <dependency>
                <groupId>net.sf.opencsv</groupId>
                <artifactId>opencsv</artifactId>
                <version>2.3</version>
            </dependency>

            <dependency>
                <groupId>org.alluxio</groupId>
                <artifactId>alluxio-shaded-client</artifactId>
                <version>2.8.1</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-log4j12</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>log4j</groupId>
                        <artifactId>log4j</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

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

            <dependency>
                <groupId>org.apache.avro</groupId>
                <artifactId>avro</artifactId>
                <version>${dep.avro.version}</version>
            </dependency>

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

            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-compress</artifactId>
                <version>${dep.commons-compress.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>commons-io</groupId>
                        <artifactId>commons-io</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.commons</groupId>
                        <artifactId>commons-lang3</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

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

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

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

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

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

            <dependency>
                <groupId>org.apache.curator</groupId>
                <artifactId>curator-recipes</artifactId>
                <version>${dep.curator.version}</version>
            </dependency>

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

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

            <dependency>
                <groupId>org.apache.iceberg</groupId>
                <artifactId>iceberg-api</artifactId>
                <version>${dep.iceberg.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-api</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.apache.iceberg</groupId>
                <artifactId>iceberg-core</artifactId>
                <version>${dep.iceberg.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.apache.avro</groupId>
                        <artifactId>avro</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-api</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.apache.iceberg</groupId>
                <artifactId>iceberg-hive-metastore</artifactId>
                <version>${dep.iceberg.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-api</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.apache.iceberg</groupId>
                <artifactId>iceberg-orc</artifactId>
                <version>${dep.iceberg.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.apache.avro</groupId>
                        <artifactId>avro</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-api</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.apache.iceberg</groupId>
                <artifactId>iceberg-parquet</artifactId>
                <version>${dep.iceberg.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.apache.parquet</groupId>
                        <artifactId>parquet-avro</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-api</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.apache.kafka</groupId>
                <artifactId>kafka-clients</artifactId>
                <version>2.4.1</version>
            </dependency>

            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-api</artifactId>
                <version>${log4j2.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-to-slf4j</artifactId>
                <version>${log4j2.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.maven</groupId>
                <artifactId>maven-model</artifactId>
                <version>3.8.4</version>
            </dependency>

            <dependency>
                <groupId>org.apache.thrift</groupId>
                <artifactId>libthrift</artifactId>
                <version>${dep.libthrift.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.apache.httpcomponents</groupId>
                        <artifactId>httpcore</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.httpcomponents</groupId>
                        <artifactId>httpclient</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>javax.servlet</groupId>
                        <artifactId>servlet-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.tomcat.embed</groupId>
                        <artifactId>tomcat-embed-core</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.apache.zookeeper</groupId>
                <artifactId>zookeeper</artifactId>
                <version>${dep.zookeeper.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>io.dropwizard.metrics</groupId>
                        <artifactId>metrics-core</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>io.netty</groupId>
                        <artifactId>netty</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>io.netty</groupId>
                        <artifactId>netty-commom</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>io.netty</groupId>
                        <artifactId>netty-buffer</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>io.netty</groupId>
                        <artifactId>netty-handler</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>io.netty</groupId>
                        <artifactId>netty-transport-native-epoll</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.commons</groupId>
                        <artifactId>commons-lang3</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.bouncycastle</groupId>
                        <artifactId>bcprov-jdk18on</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.eclipse.jetty</groupId>
                        <artifactId>jetty-server</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.eclipse.jetty</groupId>
                        <artifactId>jetty-servlet</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.projectlombok</groupId>
                        <artifactId>lombok</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.osgi</groupId>
                        <artifactId>org.osgi.core</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-reload4j</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>ch.qos.reload4j</groupId>
                        <artifactId>reload4j</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.yetus</groupId>
                        <artifactId>audience-annotations</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.apache.zookeeper</groupId>
                <artifactId>zookeeper-jute</artifactId>
                <version>${dep.zookeeper.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

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

            <dependency>
                <groupId>org.checkerframework</groupId>
                <artifactId>checker-qual</artifactId>
                <version>3.25.0</version>
            </dependency>

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

            <dependency>
                <groupId>org.codehaus.plexus</groupId>
                <artifactId>plexus-utils</artifactId>
                <version>3.4.1</version>
            </dependency>

            <!-- jetty -->
            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-bom</artifactId>
                <type>pom</type>
                <version>${dep.jetty.version}</version>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>org.flywaydb</groupId>
                <artifactId>flyway-core</artifactId>
                <version>7.15.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>org.jdbi</groupId>
                <artifactId>jdbi3-bom</artifactId>
                <type>pom</type>
                <version>3.32.0</version>
                <scope>import</scope>
            </dependency>

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

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

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

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

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

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

            <dependency>
                <groupId>org.locationtech.jts.io</groupId>
                <artifactId>jts-io-common</artifactId>
                <version>1.16.1</version>
                <exclusions>
                    <exclusion>
                        <groupId>junit</groupId>
                        <artifactId>junit</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.mariadb.jdbc</groupId>
                <artifactId>mariadb-java-client</artifactId>
                <version>3.0.5</version>
            </dependency>

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

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

            <dependency>
                <groupId>org.osgi</groupId>
                <artifactId>org.osgi.core</artifactId>
                <version>${dep.org.osgi.version}</version>
            </dependency>

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

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

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

            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>${dep.lombok.version}</version>
            </dependency>

            <dependency>
                <groupId>org.roaringbitmap</groupId>
                <artifactId>RoaringBitmap</artifactId>
                <version>0.9.30</version>
            </dependency>

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

            <dependency>
                <groupId>org.testcontainers</groupId>
                <artifactId>testcontainers</artifactId>
                <version>${dep.testcontainers.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.osgi</groupId>
                        <artifactId>org.osgi.core</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.testcontainers</groupId>
                <artifactId>testcontainers-bom</artifactId>
                <type>pom</type>
                <version>${dep.testcontainers.version}</version>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>org.xerial.snappy</groupId>
                <artifactId>snappy-java</artifactId>
                <version>1.1.10.3</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.osgi</groupId>
                        <artifactId>org.osgi.core</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <!-- Transitive dependency from jackson-dataformat-yaml. Avoid different versions being used -->
            <dependency>
                <groupId>org.yaml</groupId>
                <artifactId>snakeyaml</artifactId>
                <version>2.0</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.5.0</version>
                </plugin>

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

                <plugin>
                    <groupId>org.codehaus.gmaven</groupId>
                    <artifactId>groovy-maven-plugin</artifactId>
                    <version>2.1.1</version>
                </plugin>

                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>exec-maven-plugin</artifactId>
                    <version>1.6.0</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}/.mvn/modernizer/violations.xml</violationsFile>
                        </violationsFiles>
                        <exclusionPatterns>
                            <exclusionPattern>org/joda/time/.*</exclusionPattern>
                            <exclusionPattern>com/google/common/.*</exclusionPattern>
                        </exclusionPatterns>
                        <exclusions>
                            <!-- getOnlyElement is more readable than the stream analogue -->
                            <exclusion>com/google/common/collect/Iterables.getOnlyElement:(Ljava/lang/Iterable;)Ljava/lang/Object;</exclusion>
                            <!-- getLast has lower complexity for array based lists than the stream analogue (O(1) vs O(log(N)) -->
                            <exclusion>com/google/common/collect/Iterables.getLast:(Ljava/lang/Iterable;)Ljava/lang/Object;</exclusion>
                            <exclusion>com/google/common/collect/Iterables.getLast:(Ljava/lang/Iterable;Ljava/lang/Object;)Ljava/lang/Object;</exclusion>
                            <!-- TODO: requires getting to common understanding which of those we want to enable -->
                            <exclusion>com/google/common/collect/Iterables.transform:(Ljava/lang/Iterable;Lcom/google/common/base/Function;)Ljava/lang/Iterable;</exclusion>
                            <exclusion>com/google/common/collect/Lists.transform:(Ljava/util/List;Lcom/google/common/base/Function;)Ljava/util/List;</exclusion>
                            <exclusion>com/google/common/collect/Iterables.isEmpty:(Ljava/lang/Iterable;)Z</exclusion>
                            <exclusion>com/google/common/collect/Iterables.concat:(Ljava/lang/Iterable;Ljava/lang/Iterable;)Ljava/lang/Iterable;</exclusion>
                            <exclusion>com/google/common/collect/Iterables.concat:(Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;)Ljava/lang/Iterable;</exclusion>
                            <exclusion>com/google/common/collect/Iterables.concat:(Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;)Ljava/lang/Iterable;</exclusion>
                            <exclusion>com/google/common/collect/Iterables.concat:(Ljava/lang/Iterable;)Ljava/lang/Iterable;</exclusion>
                            <exclusion>com/google/common/collect/Iterables.all:(Ljava/lang/Iterable;Lcom/google/common/base/Predicate;)Z</exclusion>
                            <exclusion>com/google/common/collect/Iterables.any:(Ljava/lang/Iterable;Lcom/google/common/base/Predicate;)Z</exclusion>
                            <exclusion>com/google/common/collect/Iterables.skip:(Ljava/lang/Iterable;I)Ljava/lang/Iterable;</exclusion>
                            <exclusion>com/google/common/collect/Iterables.limit:(Ljava/lang/Iterable;I)Ljava/lang/Iterable;</exclusion>
                            <exclusion>com/google/common/collect/Iterables.get:(Ljava/lang/Iterable;I)Ljava/lang/Object;</exclusion>
                            <exclusion>com/google/common/collect/Iterables.getFirst:(Ljava/lang/Iterable;Ljava/lang/Object;)Ljava/lang/Object;</exclusion>
                            <exclusion>com/google/common/collect/Iterables.getLast:(Ljava/lang/Iterable;)Ljava/lang/Object;</exclusion>
                            <exclusion>com/google/common/collect/Iterables.cycle:(Ljava/lang/Iterable;)Ljava/lang/Iterable;</exclusion>
                            <exclusion>com/google/common/collect/Iterables.cycle:([Ljava/lang/Object;)Ljava/lang/Iterable;</exclusion>
                            <exclusion>com/google/common/collect/Iterables.getOnlyElement:(Ljava/lang/Iterable;Ljava/lang/Object;)Ljava/lang/Object;</exclusion>
                            <!-- com.google.common.io.BaseEncoding.base64 provides more reach interfaces than java.util.Base64 -->
                            <exclusion>com/google/common/io/BaseEncoding.base64:()Lcom/google/common/io/BaseEncoding;</exclusion>
                        </exclusions>
                    </configuration>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-enforcer-plugin</artifactId>
                    <configuration>
                        <rules>
                            <compound implementation="com.github.ferstl.maven.pomenforcers.CompoundPedanticEnforcer">
                                <enforcers>POM_SECTION_ORDER,MODULE_ORDER,DEPENDENCY_MANAGEMENT_ORDER,DEPENDENCY_ORDER,DEPENDENCY_ELEMENT</enforcers>
                                <pomSectionPriorities>modelVersion,parent,groupId,artifactId,version,name,description,packaging,url,inceptionYear,licenses,scm,properties,modules</pomSectionPriorities>
                                <dependenciesGroupIdPriorities>io.trino,io.airlift</dependenciesGroupIdPriorities>
                                <dependenciesOrderBy>scope,groupId,artifactId</dependenciesOrderBy>
                                <dependenciesScopePriorities>compile,runtime,provided,test</dependenciesScopePriorities>
                                <dependencyManagementOrderBy>groupId,artifactId</dependencyManagementOrderBy>
                                <dependencyManagementGroupIdPriorities>io.trino,io.airlift</dependencyManagementGroupIdPriorities>
                                <dependencyElementOrdering>groupId,artifactId,type,version</dependencyElementOrdering>
                            </compound>
                            <requireUpperBoundDeps>
                                <excludes combine.children="append">
                                    <!-- TODO: fix this in Airlift resolver -->
                                    <exclude>org.codehaus.plexus:plexus-utils</exclude>
                                    <exclude>com.google.guava:guava</exclude>
                                    <exclude>com.fasterxml.jackson.core:jackson-core</exclude>
                                    <exclude>com.google.j2objc:j2objc-annotations</exclude>
                                </excludes>
                            </requireUpperBoundDeps>
                            <bannedDependencies>
                                <excludes combine.children="append">
                                    <!-- We don't use log4j2, additionally versions < 2.15.0 are vulnerable to the RCE Log4Shell (CVE-2021-44228) -->
                                    <exclude>org.apache.logging.log4j:log4j-core</exclude>
                                </excludes>
                            </bannedDependencies>
                        </rules>
                    </configuration>
                    <dependencies>
                        <dependency>
                            <groupId>com.github.ferstl</groupId>
                            <artifactId>pedantic-pom-enforcers</artifactId>
                            <version>2.0.0</version>
                        </dependency>
                    </dependencies>
                </plugin>

                <plugin>
                    <groupId>ca.vanzyl.provisio.maven.plugins</groupId>
                    <artifactId>provisio-maven-plugin</artifactId>
                    <version>1.0.18</version>
                </plugin>

                <plugin>
                    <groupId>pl.project13.maven</groupId>
                    <artifactId>git-commit-id-plugin</artifactId>
                    <configuration>
                        <runOnlyOnce>true</runOnlyOnce>
                        <injectAllReactorProjects>true</injectAllReactorProjects>
                        <offline>true</offline>
                        <!-- A workaround to make build work in a Git worktree, see https://github.com/git-commit-id/git-commit-id-maven-plugin/issues/215 -->
                        <useNativeGit>true</useNativeGit>
                        <skip>true</skip>
                    </configuration>
                </plugin>

                <plugin>
                    <groupId>org.basepom.maven</groupId>
                    <artifactId>duplicate-finder-maven-plugin</artifactId>
                    <configuration>
                        <exceptions combine.children="append">
                            <exception>
                                <conflictingDependencies>
                                    <dependency>
                                        <groupId>com.google.cloud.bigdataoss</groupId>
                                        <artifactId>gcs-connector</artifactId>
                                    </dependency>
                                    <dependency>
                                        <groupId>org.apache.httpcomponents</groupId>
                                        <artifactId>httpclient</artifactId>
                                    </dependency>
                                </conflictingDependencies>
                                <resources>
                                    <resource>mozilla/public-suffix-list.txt</resource>
                                </resources>
                            </exception>
                            <exception>
                                <conflictingDependencies>
                                    <dependency>
                                        <groupId>com.google.api</groupId>
                                        <artifactId>gax</artifactId>
                                    </dependency>
                                    <dependency>
                                        <groupId>com.google.cloud.bigdataoss</groupId>
                                        <artifactId>gcs-connector</artifactId>
                                    </dependency>
                                </conflictingDependencies>
                                <resources>
                                    <resource>dependencies.properties</resource>
                                </resources>
                            </exception>
                        </exceptions>
                        <ignoredResourcePatterns>
                            <ignoredResourcePattern>yarn-default.xml</ignoredResourcePattern>
                            <ignoredResourcePattern>about.html</ignoredResourcePattern>
                        </ignoredResourcePatterns>
                        <!-- hadoop-apache and rubix-presto-shaded are packaged in shade mode.
                             When two JAR packages are in the same project, will occur duplicate classes and cannot be excluded.
                        -->
                        <ignoredDependencies>
                            <dependency>
                                <groupId>io.trino.hadoop</groupId>
                                <artifactId>hadoop-apache</artifactId>
                            </dependency>
                            <dependency>
                                <groupId>com.qubole.rubix</groupId>
                                <artifactId>rubix-presto-shaded</artifactId>
                            </dependency>
                            <dependency>
                                <groupId>io.trino.hive</groupId>
                                <artifactId>hetu-hive-apache</artifactId>
                            </dependency>
                            <dependency>
                                <groupId>org.postgresql</groupId>
                                <artifactId>postgresql</artifactId>
                            </dependency>
                            <dependency>
                                <groupId>io.hetu.core.calcite</groupId>
                                <artifactId>calcite-apache</artifactId>
                            </dependency>
                            <dependency>
                                <groupId>io.trino</groupId>
                                <artifactId>hetu-common</artifactId>
                            </dependency>
                            <dependency>
                                <groupId>com.huawei.mrs</groupId>
                                <artifactId>hadoop-plugins</artifactId>
                            </dependency>
                        </ignoredDependencies>
                    </configuration>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-checkstyle-plugin</artifactId>
                    <version>3.2.0</version>
                    <dependencies>
                        <dependency>
                            <groupId>com.puppycrawl.tools</groupId>
                            <artifactId>checkstyle</artifactId>
                            <version>10.3.3</version>
                        </dependency>
                        <!-- This version must match the Airbase version. It will be updated by -->
                        <!-- the Maven Release plugin. The "project.version" property cannot be -->
                        <!-- used here as it will resolve to the version of the child project.  -->
                        <dependency>
                            <groupId>io.airlift</groupId>
                            <artifactId>airbase-policy</artifactId>
                            <version>130</version>
                        </dependency>
                    </dependencies>
                    <executions>
                        <execution>
                            <id>checkstyle</id>
                            <phase>validate</phase>
                            <goals>
                                <goal>check</goal>
                            </goals>
                            <configuration>
                                <skip>${air.check.skip-checkstyle}</skip>
                                <failOnViolation>${air.check.fail-checkstyle}</failOnViolation>
                                <includeTestSourceDirectory>true</includeTestSourceDirectory>
                                <configLocation>checkstyle/airbase-checks.xml</configLocation>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>

                <!-- Override 'manifestEntries' from airbase -->
                <!-- Always build a jar with the test classes -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>3.2.0</version>
                    <executions>
                        <execution>
                            <id>attach-tests</id>
                            <phase>package</phase>
                            <goals>
                                <goal>test-jar</goal>
                            </goals>
                        </execution>
                    </executions>
                    <configuration>
                        <!-- do not build an empty jar if the project is
                             e.g. a pom project -->
                        <skipIfEmpty>true</skipIfEmpty>
                        <archive>
                            <manifest>
                                <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                                <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
                                <addClasspath>false</addClasspath>
                            </manifest>
                            <manifestEntries>
                                <!-- This is actually the time when the build was done -->
                                <Build-Time>${maven.build.timestamp} UTC+00:00</Build-Time>
                                <Implementation-Version>399</Implementation-Version>
                            </manifestEntries>
                        </archive>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>

        <plugins>
            <plugin>
                <groupId>io.trino</groupId>
                <artifactId>trino-maven-plugin</artifactId>
                <version>11</version>
                <extensions>true</extensions>
            </plugin>

            <plugin>
                <groupId>ca.vanzyl.provisio.maven.plugins</groupId>
                <artifactId>provisio-maven-plugin</artifactId>
                <extensions>true</extensions>
            </plugin>

            <plugin>
                <groupId>com.mycila</groupId>
                <artifactId>license-maven-plugin</artifactId>
                <configuration>
                    <excludes combine.children="append">
                        <exclude>**/src/main/java/com/huawei/hetu/**</exclude>
                        <exclude>**/src/test/java/com/huawei/hetu/**</exclude>
                    </excludes>
                </configuration>
            </plugin>

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

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <includes>
                        <!-- Tests classes should start with "Test", but we do also want to include tests incorrectly named, with "Test" at the end -->
                        <include>**/Test*.java</include>
                        <include>**/*Test.java</include>
                        <include>**/Benchmark*.java</include>
                    </includes>
                    <excludes>
                        <exclude>**/*jmhTest*.java</exclude>
                        <exclude>**/*jmhType*.java</exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <profiles>
        <profile>
            <id>errorprone-compiler</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-compiler-plugin</artifactId>
                        <!--suppress MavenModelInspection -->
                        <configuration combine.children="merge">
                            <!-- forking not required due to JVM flags in .mvn/jvm.config -->
                            <!-- see https://errorprone.info/docs/installation#maven -->
                            <compilerArgs>
                                <arg>-XDcompilePolicy=simple</arg>
                                <arg>
                                    -Xplugin:ErrorProne \
                                    -Xep:BadInstanceof:ERROR \
                                    -Xep:BoxedPrimitiveConstructor:ERROR \
                                    -Xep:ClassCanBeStatic:ERROR \
                                    -Xep:CompareToZero:ERROR \
                                    -Xep:DefaultCharset:ERROR \
                                    -Xep:EqualsGetClass:OFF <!-- we would rather want the opposite check --> \
                                    -Xep:EqualsIncompatibleType:ERROR \
                                    -Xep:FallThrough:ERROR \
                                    -Xep:GuardedBy:OFF <!-- needs some careful inspection --> \
                                    -Xep:HidingField:ERROR \
                                    -Xep:ImmutableEnumChecker:OFF <!-- flags enums with List fields even if initialized with ImmutableList, and other false positives --> \
                                    -Xep:ImmutableSetForContains:ERROR \
                                    -Xep:InconsistentCapitalization:ERROR <!-- fields/variables should not differ only in case --> \
                                    -Xep:InconsistentHashCode:ERROR \
                                    -Xep:InjectOnConstructorOfAbstractClass:ERROR \
                                    -Xep:MissingCasesInEnumSwitch:ERROR \
                                    -Xep:MissingOverride:ERROR \
                                    -Xep:MutablePublicArray:ERROR \
                                    -Xep:NullOptional:ERROR \
                                    -Xep:ObjectToString:ERROR \
                                    -Xep:PreferredInterfaceType:OFF <!-- flags List fields even if initialized with ImmutableList --> \
                                    -Xep:StreamResourceLeak:ERROR \
                                    -Xep:UnnecessaryLambda:OFF <!-- we deliberately use it in a couple of places --> \
                                    -Xep:UnnecessaryMethodReference:ERROR \
                                    -Xep:UnnecessaryOptionalGet:ERROR \
                                    -Xep:UnusedVariable:ERROR \
                                    -Xep:UseEnumSwitch:ERROR \
                                    -XepExcludedPaths:.*/target/generated-(|test-)sources/.*
                                </arg>
                            </compilerArgs>
                            <annotationProcessorPaths>
                                <path>
                                    <groupId>com.google.errorprone</groupId>
                                    <artifactId>error_prone_core</artifactId>
                                    <version>${dep.errorprone.version}</version>
                                </path>
                            </annotationProcessorPaths>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <!-- Allow to run goals with an empty local Maven repository -->
            <id>disable-check-spi-dependencies</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>io.trino</groupId>
                        <artifactId>trino-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>default-check-spi-dependencies</id>
                                <phase>none</phase>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>gib</id>
            <properties>
                <!-- the *local* master, not refs/remotes/... -->
                <gib.referenceBranch>master</gib.referenceBranch>
            </properties>
            <build>
                <plugins>
                    <plugin>
                        <groupId>io.github.gitflow-incremental-builder</groupId>
                        <artifactId>gitflow-incremental-builder</artifactId>
                        <version>4.1.1</version>
                        <extensions>true</extensions>
                        <configuration>
                            <disableIfBranchMatches>master</disableIfBranchMatches>
                            <compareToMergeBase>true</compareToMergeBase>
                            <uncommitted>true</uncommitted>
                            <untracked>true</untracked>
                            <buildDownstream>true</buildDownstream>
                            <buildUpstream>true</buildUpstream>
                            <buildUpstreamMode>impacted</buildUpstreamMode>
                            <!-- Skip tests and checks for upstream modules since they have not been modified but are still required to be built -->
                            <skipTestsForUpstreamModules>true</skipTestsForUpstreamModules>
                            <argsForUpstreamModules>-Dmaven.source.skip=true -Dair.check.skip-all</argsForUpstreamModules>
                            <!-- Any modules selected with -pl will be built fully (with tests etc.) if the selected module itself is changed
                            or one of its (non-selected) upstream modules -->
                            <disableSelectedProjectsHandling>true</disableSelectedProjectsHandling>
                            <failOnMissingGitDir>true</failOnMissingGitDir>
                            <failOnError>true</failOnError>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>huawei</id>
            <modules>
                <module>client/trino-cli</module>
                <module>client/trino-client</module>
                <module>client/trino-jdbc</module>
                <module>client/hetu-jdbc</module>
                <module>client/hetu-sql-migration-tool</module>
                <module>core/trino-main</module>
                <module>core/trino-parser</module>
                <module>core/trino-server</module>
                <module>core/trino-server-main</module>
                <module>core/trino-spi</module>
                <module>lib/hetu-common</module>
                <module>lib/hetu-fabric-interface</module>
                <module>lib/hetu-high-availability</module>
                <module>lib/hetu-hsbroker-client</module>
                <module>lib/hetu-yarn</module>
                <module>lib/hetu-mv-rewrite</module>
                <module>lib/hetu-job-system-interface</module>
                <module>lib/trino-array</module>
                <module>lib/trino-collect</module>
                <module>lib/trino-filesystem</module>
                <module>lib/trino-geospatial-toolkit</module>
                <module>lib/trino-hadoop-toolkit</module>
                <module>lib/trino-hdfs</module>
                <module>lib/trino-matching</module>
                <module>lib/trino-memory-context</module>
                <module>lib/trino-orc</module>
                <module>lib/trino-parquet</module>
                <module>lib/trino-plugin-toolkit</module>
                <module>lib/trino-rcfile</module>
                <module>lib/trino-record-decoder</module>
                <module>plugin/hetu-audit</module>
                <module>plugin/hetu-clickhouse</module>
                <module>plugin/hetu-fi-hive</module>
                <module>plugin/hetu-hbase</module>
                <module>plugin/hetu-hudi</module>
                <module>plugin/hetu-iotdb</module>
                <module>plugin/hetu-metastore</module>
                <module>plugin/hetu-virtual-model</module>
                <module>plugin/hetu-mv</module>
                <module>plugin/trino-base-jdbc</module>
                <module>plugin/hetu-gaussdba</module>
                <module>plugin/hetu-fabric</module>
                <module>plugin/hetu-hive-function</module>
                <module>plugin/hetu-job-system</module>
                <module>plugin/trino-blackhole</module>
                <module>plugin/trino-clickhouse</module>
                <module>plugin/trino-elasticsearch</module>
                <module>plugin/trino-exchange-filesystem</module>
                <module>plugin/trino-exchange-hdfs</module>
                <module>plugin/trino-hive</module>
                <module>plugin/trino-hive-hadoop2</module>
                <module>plugin/trino-http-event-listener</module>
                <module>plugin/trino-jmx</module>
                <module>plugin/trino-local-file</module>
                <module>plugin/trino-memory</module>
                <module>plugin/trino-password-authenticators</module>
                <module>plugin/trino-postgresql</module>
                <module>plugin/trino-resource-group-managers</module>
                <module>plugin/trino-session-property-managers</module>
                <module>plugin/trino-teradata-functions</module>
                <module>plugin/trino-thrift</module>
                <module>plugin/trino-thrift-api</module>
                <module>plugin/trino-thrift-testing-server</module>
                <module>plugin/trino-tpcds</module>
                <module>plugin/trino-tpch</module>
                <module>plugin/trino-geospatial</module>
                <module>plugin/trino-mysql</module>
                <module>plugin/hetu-udf</module>
                <module>service/trino-proxy</module>
                <module>service/trino-verifier</module>
                <module>testing/trino-benchmark</module>
                <module>testing/trino-testing</module>
                <module>testing/trino-testing-containers</module>
                <module>testing/trino-testing-resources</module>
                <module>testing/trino-testing-services</module>
            </modules>
        </profile>
        <profile>
            <id>opensource</id>
            <modules>
                <module>client/trino-cli</module>
                <module>client/trino-client</module>
                <module>client/trino-jdbc</module>
                <module>client/hetu-jdbc</module>
                <module>client/hetu-sql-migration-tool</module>
                <module>core/trino-main</module>
                <module>core/trino-parser</module>
                <module>core/trino-server</module>
                <module>core/trino-server-main</module>
                <module>core/trino-spi</module>
                <module>lib/hetu-common</module>
                <module>lib/hetu-fabric-interface</module>
                <module>lib/hetu-high-availability</module>
                <module>lib/hetu-hsbroker-client</module>
                <module>lib/hetu-yarn</module>
                <module>lib/hetu-mv-rewrite</module>
                <module>lib/trino-array</module>
                <module>lib/trino-collect</module>
                <module>lib/trino-filesystem</module>
                <module>lib/trino-geospatial-toolkit</module>
                <module>lib/trino-hadoop-toolkit</module>
                <module>lib/trino-hdfs</module>
                <module>lib/trino-matching</module>
                <module>lib/trino-memory-context</module>
                <module>lib/trino-orc</module>
                <module>lib/trino-parquet</module>
                <module>lib/trino-phoenix5-patched</module>
                <module>lib/trino-plugin-toolkit</module>
                <module>lib/trino-rcfile</module>
                <module>lib/trino-record-decoder</module>
                <module>lib/hetu-job-system-interface</module>
                <module>plugin/hetu-audit</module>
                <module>plugin/hetu-clickhouse</module>
                <module>plugin/hetu-fi-hive</module>
                <module>plugin/hetu-hbase</module>
                <module>plugin/hetu-hudi</module>
                <module>plugin/hetu-iotdb</module>
                <module>plugin/hetu-metastore</module>
                <module>plugin/hetu-virtual-model</module>
                <module>plugin/hetu-mv</module>
                <module>plugin/trino-accumulo</module>
                <module>plugin/trino-accumulo-iterators</module>
                <module>plugin/trino-atop</module>
                <module>plugin/trino-base-jdbc</module>
                <module>plugin/hetu-gaussdba</module>
                <module>plugin/hetu-fabric</module>
                <module>plugin/hetu-hive-function</module>
                <module>plugin/hetu-job-system</module>
                <module>plugin/trino-bigquery</module>
                <module>plugin/trino-blackhole</module>
                <module>plugin/trino-cassandra</module>
                <module>plugin/trino-clickhouse</module>
                <module>plugin/trino-delta-lake</module>
                <module>plugin/trino-druid</module>
                <module>plugin/trino-elasticsearch</module>
                <module>plugin/trino-example-http</module>
                <module>plugin/trino-exchange-filesystem</module>
                <module>plugin/trino-exchange-hdfs</module>
                <module>plugin/trino-geospatial</module>
                <module>plugin/trino-google-sheets</module>
                <module>plugin/trino-hive</module>
                <module>plugin/trino-hive-hadoop2</module>
                <module>plugin/trino-http-event-listener</module>
                <module>plugin/trino-hudi</module>
                <module>plugin/trino-iceberg</module>
                <module>plugin/trino-jmx</module>
                <module>plugin/trino-kafka</module>
                <module>plugin/trino-kinesis</module>
                <module>plugin/trino-kudu</module>
                <module>plugin/trino-local-file</module>
                <module>plugin/trino-mariadb</module>
                <module>plugin/trino-memory</module>
                <module>plugin/trino-ml</module>
                <module>plugin/trino-mongodb</module>
                <module>plugin/trino-mysql</module>
                <module>plugin/trino-oracle</module>
                <module>plugin/trino-password-authenticators</module>
                <module>plugin/trino-phoenix5</module>
                <module>plugin/trino-pinot</module>
                <module>plugin/trino-postgresql</module>
                <module>plugin/trino-prometheus</module>
                <module>plugin/trino-raptor-legacy</module>
                <module>plugin/trino-redis</module>
                <module>plugin/trino-redshift</module>
                <module>plugin/trino-resource-group-managers</module>
                <module>plugin/trino-session-property-managers</module>
                <module>plugin/trino-singlestore</module>
                <module>plugin/trino-sqlserver</module>
                <module>plugin/trino-teradata-functions</module>
                <module>plugin/trino-thrift</module>
                <module>plugin/trino-thrift-api</module>
                <module>plugin/trino-thrift-testing-server</module>
                <module>plugin/trino-tpcds</module>
                <module>plugin/trino-tpch</module>
                <module>plugin/hetu-udf</module>
                <module>service/trino-proxy</module>
                <module>service/trino-verifier</module>
                <module>testing/trino-benchmark</module>
                <module>testing/trino-benchmark-queries</module>
                <module>testing/trino-benchto-benchmarks</module>
                <module>testing/trino-faulttolerant-tests</module>
                <module>testing/trino-plugin-reader</module>
                <module>testing/trino-product-tests</module>
                <module>testing/trino-product-tests-launcher</module>
                <module>testing/trino-server-dev</module>
                <module>testing/trino-test-jdbc-compatibility-old-driver</module>
                <module>testing/trino-test-jdbc-compatibility-old-server</module>
                <module>testing/trino-testing</module>
                <module>testing/trino-testing-containers</module>
                <module>testing/trino-testing-kafka</module>
                <module>testing/trino-testing-resources</module>
                <module>testing/trino-testing-services</module>
                <module>testing/trino-tests</module>
            </modules>
        </profile>
        <profile>
            <id>jar-deploy</id>
            <modules>
                <module>core/trino-spi</module>
                <module>testing/trino-testing-services</module>
            </modules>
        </profile>
    </profiles>
</project>
