| <?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>0.1-SNAPSHOT</version> |
| <packaging>pom</packaging> |
| <name>Apache Impala Parent POM</name> |
| |
| <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>2.3.0.${env.IMPALA_HIVE_VERSION}</hive.storage.api.version> |
| <hive.major.version>${env.IMPALA_HIVE_MAJOR_VERSION}</hive.major.version> |
| <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> |
| <thrift.version>0.9.3-1</thrift.version> |
| <impala.extdatasrc.api.version>1.0-SNAPSHOT</impala.extdatasrc.api.version> |
| <impala.query.event.hook.api.version>1.0-SNAPSHOT</impala.query.event.hook.api.version> |
| <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| <kudu.version>${env.IMPALA_KUDU_JAVA_VERSION}</kudu.version> |
| <commons-io.version>2.6</commons-io.version> |
| <slf4j.version>1.7.25</slf4j.version> |
| <junit.version>4.12</junit.version> |
| <!-- Beware compatibility requirements with Thrift and |
| KMS; see IMPALA-4210. --> |
| <httpcomponents.core.version>4.4.9</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>28.1-jre</guava.version> |
| <derby.version>10.14.2.0</derby.version> |
| <jackson-databind.version>2.10.0</jackson-databind.version> |
| <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| <iceberg.version>${env.IMPALA_ICEBERG_VERSION}</iceberg.version> |
| </properties> |
| |
| <repositories> |
| <!-- |
| Blacklist 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 blacklisting |
| cdh.snapshots.repo so that Maven does not accidentally downloads 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> |
| <id>cdh.rcs.releases.repo</id> |
| <url>https://repository.cloudera.com/content/groups/cdh-releases-rcs</url> |
| <name>CDH Releases Repository</name> |
| <snapshots> |
| <enabled>true</enabled> |
| </snapshots> |
| </repository> |
| <repository> |
| <id>cdh.releases.repo</id> |
| <url>https://repository.cloudera.com/content/repositories/releases</url> |
| <name>CDH Releases Repository</name> |
| <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> |
| <repository> |
| <!-- |
| The Maven repository for the CDH build identified by CDH_BUILD_NUMBER. |
| CDH uses maven SNAPSHOT versions for non-released versions of components. |
| --> |
| <id>impala.cdh.repo</id> |
| <url>${env.CDH_MAVEN_REPOSITORY}</url> |
| <name>Impala CDH Repository</name> |
| <snapshots> |
| <enabled>true</enabled> |
| </snapshots> |
| </repository> |
| <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> |
| <snapshots> |
| <enabled>${env.IMPALA_TOOLCHAIN_KUDU_MAVEN_REPOSITORY_ENABLED}</enabled> |
| </snapshots> |
| </repository> |
| <repository> |
| <id>cloudera.thirdparty.repo</id> |
| <url>https://repository.cloudera.com/content/repositories/third-party</url> |
| <name>Cloudera Third Party Repository</name> |
| <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 CDH artifacts |
| that can conflict with the artifacts in the maven repository associated with |
| the CDH_BUILD_NUMBER. Maven can end up downloading a mix of artifacts that are |
| mutually incompatible. Snapshots are not necessary at this time. |
| 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>cloudera.thirdparty.repo</id> |
| <url>https://repository.cloudera.com/content/repositories/third-party</url> |
| <name>Cloudera Third Party Repository</name> |
| <snapshots> |
| <enabled>false</enabled> |
| </snapshots> |
| </pluginRepository> |
| </pluginRepositories> |
| |
| </project> |