<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.apache.impala</groupId>
  <artifactId>impala-parent</artifactId>
  <version>4.4.0-SNAPSHOT</version>
  <packaging>pom</packaging>
  <name>Apache Impala Parent POM</name>

  <!--
  When adding new properties to control library versions, also add them to
  bin/impala-config.sh as environment variables so other branches can easily override
  them in bin/impala-config-branch.sh for cleaner patches.
  -->
  <properties>
    <surefire.reports.dir>${env.IMPALA_LOGS_DIR}/fe_tests</surefire.reports.dir>
    <jacoco.skip>true</jacoco.skip>
    <jacoco.data.file>${env.IMPALA_FE_TEST_COVERAGE_DIR}/jacoco.exec</jacoco.data.file>
    <jacoco.report.dir>${env.IMPALA_FE_TEST_COVERAGE_DIR}</jacoco.report.dir>
    <hadoop.version>${env.IMPALA_HADOOP_VERSION}</hadoop.version>
    <hive.version>${env.IMPALA_HIVE_VERSION}</hive.version>
    <hive.storage.api.version>${env.IMPALA_HIVE_STORAGE_API_VERSION}</hive.storage.api.version>
    <hive.major.version>${env.IMPALA_HIVE_MAJOR_VERSION}</hive.major.version>
    <hive.dist.type>${env.IMPALA_HIVE_DIST_TYPE}</hive.dist.type>
    <hudi.version>${env.IMPALA_HUDI_VERSION}</hudi.version>
    <ranger.version>${env.IMPALA_RANGER_VERSION}</ranger.version>
    <postgres.jdbc.version>${env.IMPALA_POSTGRES_JDBC_DRIVER_VERSION}</postgres.jdbc.version>
    <hbase.version>${env.IMPALA_HBASE_VERSION}</hbase.version>
    <avro.version>${env.IMPALA_AVRO_JAVA_VERSION}</avro.version>
    <orc.version>${env.IMPALA_ORC_JAVA_VERSION}</orc.version>
    <ozone.version>${env.IMPALA_OZONE_VERSION}</ozone.version>
    <parquet.version>${env.IMPALA_PARQUET_VERSION}</parquet.version>
    <kite.version>${env.IMPALA_KITE_VERSION}</kite.version>
    <knox.version>${env.IMPALA_KNOX_VERSION}</knox.version>
    <cos.version>${env.IMPALA_COS_VERSION}</cos.version>
    <obs.version>${env.IMPALA_OBS_VERSION}</obs.version>
    <thrift.version>${env.IMPALA_THRIFT_POM_VERSION}</thrift.version>
    <impala.extdatasrc.api.version>${project.version}</impala.extdatasrc.api.version>
    <impala.query.event.hook.api.version>${project.version}</impala.query.event.hook.api.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <kudu.version>${env.IMPALA_KUDU_VERSION}</kudu.version>
    <slf4j.version>${env.IMPALA_SLF4J_VERSION}</slf4j.version>
    <reload4j.version>${env.IMPALA_RELOAD4j_VERSION}</reload4j.version>
    <junit.version>${env.IMPALA_JUNIT_VERSION}</junit.version>
    <!-- Beware compatibility requirements with Thrift and
         KMS; see IMPALA-4210. -->
    <httpcomponents.core.version>${env.IMPALA_HTTP_CORE_VERSION}</httpcomponents.core.version>
    <yarn-extras.version>${project.version}</yarn-extras.version>
    <eclipse.output.directory>eclipse-classes</eclipse.output.directory>
    <!-- hive-exec seems to leak this version of guava onto our classpath,
         so it's important to depend on the same one -->
    <guava.version>${env.IMPALA_GUAVA_VERSION}</guava.version>
    <derby.version>${env.IMPALA_DERBY_VERSION}</derby.version>
    <jackson-databind.version>${env.IMPALA_JACKSON_DATABIND_VERSION}</jackson-databind.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <iceberg.version>${env.IMPALA_ICEBERG_VERSION}</iceberg.version>
    <pac4j.version>${env.IMPALA_PAC4J_VERSION}</pac4j.version>
    <!-- xmlsec, bcprov-jdk15on and springframework are not used by Impala directly,
         but they are needed by pac4j. This uses newer versions to address CVEs. -->
    <xmlsec.version>${env.IMPALA_XMLSEC_VERSION}</xmlsec.version>
    <bouncy-castle.version>${env.IMPALA_BOUNCY_CASTLE_VERSION}</bouncy-castle.version>
    <springframework.version>${env.IMPALA_SPRINGFRAMEWORK_VERSION}</springframework.version>
    <json-smart.version>${env.IMPALA_JSON_SMART_VERSION}</json-smart.version>
    <commons-dbcp2.version>${env.IMPALA_DBCP2_VERSION}</commons-dbcp2.version>
  </properties>

  <repositories>
    <!--
    Repository order matters, especially when using mirrors. This optimizes
    for the common case where the mirror is intended to catch artifacts
    that would otherwise come from central and other physical servers.
    That means putting repositories in this order:
    1. Local / S3 repositories
    2. Regular remote repositories
    3. Banned repositories
    This allows builds to get artifacts from the local repositories
    and s3 buckets without trying the mirror first, while still
    getting other artifacts from the mirror.
    -->
    <!-- Local/S3 repositories -->
    <repository>
      <id>impala.toolchain.kudu.repo</id>
      <url>${env.IMPALA_TOOLCHAIN_KUDU_MAVEN_REPOSITORY}</url>
      <name>Impala Toolchain Kudu Repository</name>
      <releases>
        <enabled>${env.IMPALA_TOOLCHAIN_KUDU_MAVEN_REPOSITORY_ENABLED}</enabled>
      </releases>
      <!--
      This repository now uses explicit versions, so snapshots are no longer required.
      -->
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
    <repository>
      <!--
      The Maven repository for the CDP build identified by CDP_BUILD_NUMBER.
      CDP does not use maven SNAPSHOT versions - every build has a version number.
      -->
      <id>impala.cdp.repo</id>
      <url>${env.CDP_MAVEN_REPOSITORY}</url>
      <name>Impala CDP Repository</name>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>

    <!-- Regular remote repositories -->
    <repository>
      <id>cdh.rcs.releases.repo</id>
      <url>https://repository.cloudera.com/artifactory/cdh-releases-rcs</url>
      <name>CDH Releases Repository</name>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>

    <!-- Banned repositories -->
    <!--
    Ban Apache repositories that tend to cause timeouts - see IMPALA-8516.
    These are pulled in via transitive deps, e.g. Sentry. Other repositories contain
    mirrored versions of these dependencies but don't have the same timeout issues.
    -->
    <repository>
      <id>apache.snapshots</id>
      <name>Apache Development Snapshot Repository</name>
      <url>https://repository.apache.org/content/repositories/snapshots/</url>
      <releases>
        <enabled>false</enabled>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
    <repository>
      <!--
       Hadoop defines the same repo with this name. We need to include it here to
      effectively blacklist it.
      -->
      <id>apache.snapshots.https</id>
      <name>Apache Development Snapshot Repository</name>
      <url>https://repository.apache.org/content/repositories/snapshots/</url>
      <releases>
        <enabled>false</enabled>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
    <repository>
      <id>apache</id>
      <name>Apache Repository</name>
      <url>https://repository.apache.org/content/repositories/</url>
      <releases>
        <enabled>false</enabled>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
    <repository>
      <!--
      This is a transitive dependency from Sentry. Disable downloading snapshots from here
      since we only want to consume actual releases and we can save Maven from reaching
      out to this repo unnecessarily to look for snapshot versions. Sentry has been
      removed, so this may eventually be removed.
      -->
      <id>glassfish-repo-archive.repo</id>
      <name>Glassfish repository - Transitive from Sentry</name>
      <url>https://mvnrepository.com/artifact/org.glassfish/javax.el/</url>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <releases>
        <enabled>false</enabled>
      </releases>
    </repository>
    <repository>
      <!--
      The Impala development bootstrapping depends on CDH Maven snapshots
      which transitively pull dependencies from other repositories which
      can cause the build to be non-reproducible, e.g. IMPALA-7316. This
      patch makes the build to be reproducible by banning
      cdh.snapshots.repo so that Maven does not accidentally download the
      latest CDH snapshots when running a build, which can cause
      incompatibility issues.
      -->
      <id>cdh.snapshots.repo</id>
      <url>https://repository.cloudera.com/content/repositories/snapshots</url>
      <name>CDH Snapshots Repository</name>
      <releases>
        <enabled>false</enabled>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
    <repository>
      <!--
      HWX Nexus is disabled. This is a tombstone to list out why:
      1. Snapshots are disabled because HWX Nexus contains snapshots of artifacts
      that can conflict with the artifacts in any of the other repositories with
      SNAPSHOT versions. We don't want any conflicting sources for SNAPSHOT versions,
      so it is better to keep this disabled. In the past, this was a particular
      problem for CDH Hadoop components that used SNAPSHOT versions.
      2.  In a previous change, we depended on the hadoop-cloud-storage artifact from
      the impala.cdp.repo. This had the odd property that it referenced versions of
      artifacts that were not in the impala.cdp.repo. For example, artifact A at
      version 280 may have a dependency on artifact B at version 279, but the maven
      repository may only have artifact B at version 280. Nexus was meant to handle
      these dangling dependencies (see IMPALA-8766). However, HWX Nexus ages out jars
      from old build numbers. When the artifact B at version 279 ages out, it breaks
      the build. Just as seriously, if Impala uses the impala.cdp.repo in a way that
      requires an external maven repository, old commits may become unbuildable if that
      external maven repository removes any of the jars we need.
      So, HWX Nexus is disabled and should face strong scrutiny before being reenabled.
      -->
      <id>hwx.public.repo</id>
      <url>https://nexus-private.hortonworks.com/nexus/content/groups/public</url>
      <name>Hortonworks public repository</name>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <releases>
        <enabled>false</enabled>
      </releases>
    </repository>
  </repositories>
  <pluginRepositories>
    <pluginRepository>
      <id>cdh.rcs.releases.repo</id>
      <url>https://repository.cloudera.com/artifactory/cdh-releases-rcs</url>
      <name>CDH Releases Repository</name>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </pluginRepository>
  </pluginRepositories>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>${guava.version}</version>
      </dependency>

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

      <!--
      Pin org.glassfish:javax.el explicitly.

      HBase depends on this indirectly, and it's configured with
      a range of versions. This causes Maven to talk to all configured
      repositories, leading both to a lot of chattiness, and also
      failures if one of the repositories is unavailable.
      -->
      <dependency>
        <groupId>org.glassfish</groupId>
        <artifactId>javax.el</artifactId>
        <version>3.0.1-b08</version>
      </dependency>

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

      <!-- Override httpcore from libthrift to a later maintenance version. Noticed
          certain SPNEGO auth errors when connecting to kerberized HTTP endpoints
          using v4.4.1 pulled by libthrift. -->
      <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpcore</artifactId>
        <version>${httpcomponents.core.version}</version>
      </dependency>

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

      <dependency>
        <groupId>org.apache.santuario</groupId>
        <artifactId>xmlsec</artifactId>
        <version>${xmlsec.version}</version>
      </dependency>

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

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

      <dependency>
        <groupId>ch.qos.reload4j</groupId>
        <artifactId>reload4j</artifactId>
        <version>${reload4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jcl-over-slf4j</artifactId>
        <version>${slf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${slf4j.version}</version>
      </dependency>
      <!-- Later versions of slf4j-log4j12 map to slf4j-reload4j. This is the simplest
           way to ensure any instances of slf4j-log4j12 are mapped to slf4j-reload4j. -->
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>${slf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-reload4j</artifactId>
        <version>${slf4j.version}</version>
      </dependency>

      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>${springframework.version}</version>
      </dependency>

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

  <modules>
    <module>datagenerator</module>
    <module>executor-deps</module>
    <module>ext-data-source</module>
    <module>../fe</module>
    <module>external-frontend</module>
    <module>query-event-hook-api</module>
    <module>shaded-deps/hive-exec</module>
    <module>shaded-deps/s3a-aws-sdk</module>
    <module>TableFlattener</module>
    <module>test-hive-udfs</module>
    <module>test-corrupt-hive-udfs</module>
    <module>yarn-extras</module>
  </modules>

</project>
