You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@impala.apache.org by cs...@apache.org on 2026/09/16 09:18:26 UTC
(impala) 02/03: IMPALA-15351: Split maven-enforcer-plugin rules in 2 passes
This is an automated email from the ASF dual-hosted git repository.
asf-gitbox-commits pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/impala.git
commit 363382e90f320937e1bff64119cdf80b7fca1dd7
Author: Csaba Ringhofer <cs...@cloudera.com>
AuthorDate: Tue Sep 15 11:03:23 2026 +0200
IMPALA-15351: Split maven-enforcer-plugin rules in 2 passes
The goal is to be able to exclude specific artifacts in groups
pinned to specific versions. The include list in version pinned
groups have * for artifact, which would override the exclude rules.
Also removed a duplicate rule (org.bouncycastle:bcprov-jdk15on).
Change-Id: I8f496f95199af1d7131c528b65e0b1277ba3aaff
Reviewed-on: http://gerrit.cloudera.org:8080/24846
Reviewed-by: Impala Public Jenkins <im...@cloudera.com>
Tested-by: Impala Public Jenkins <im...@cloudera.com>
---
fe/pom.xml | 47 +++++++++++++++++++++++++++++++++++------------
1 file changed, 35 insertions(+), 12 deletions(-)
diff --git a/fe/pom.xml b/fe/pom.xml
index 521eb15b0..fb5259a15 100644
--- a/fe/pom.xml
+++ b/fe/pom.xml
@@ -817,6 +817,9 @@ under the License.
<artifactId>maven-enforcer-plugin</artifactId>
<version>3.1.0</version>
<executions>
+ <!-- Dependencies that must never appear on the classpath, at any
+ version. Version pinning of the components that are shipped is in
+ execution enforce-dependency-versions. -->
<execution>
<id>enforce-banned-dependencies</id>
<goals>
@@ -856,20 +859,9 @@ under the License.
<exclude>org.springframework:spring-jcl</exclude>
<!-- We don't support junit 5 yet. -->
<exclude>org.junit.jupiter:*</exclude>
- <!-- Assert that we only use artifacts from only the specified
- version of these components. -->
- <exclude>org.apache.hadoop:*</exclude>
- <exclude>org.apache.hbase:*</exclude>
- <exclude>org.apache.hive:*</exclude>
- <exclude>org.apache.kudu:*</exclude>
- <exclude>org.apache.parquet:*</exclude>
- <exclude>org.apache.avro:*</exclude>
- <exclude>org.apache.orc:*</exclude>
<exclude>org.jdom:jdom</exclude>
- <exclude>org.apache.logging.log4j:*</exclude>
<exclude>org.bouncycastle:bcprov-jdk15on:*</exclude>
<exclude>org.bouncycastle:bcprov-jdk15to18:*</exclude>
- <exclude>org.bouncycastle:bcprov-jdk15on:*</exclude>
<exclude>org.bouncycastle:bcpkix-jdk15to18:*</exclude>
</excludes>
<includes>
@@ -880,13 +872,44 @@ under the License.
<!-- jetty-security is needed by jetty-servlet. -->
<include>org.eclipse.jetty:jetty-security</include>
<!-- jetty-servlet is required by hive-standalone-metastore after HIVE-26071. -->
- <include>org.eclipse.jetty:jetty-servlet</include>
+ <include>org.eclipse.jetty:jetty-servlet</include>
<!-- jetty-server is required when HiveMetaStoreClient is instantiated after HIVE-21456. -->
<include>org.eclipse.jetty:jetty-server</include>
<!-- hadoop-yarn-common depends on some Jetty utilities. -->
<include>org.eclipse.jetty:jetty-util</include>
<include>org.eclipse.jetty:jetty-util-ajax</include>
<include>org.eclipse.jetty:jetty-continuation</include>
+ </includes>
+ </bannedDependencies>
+ </rules>
+ <fail>true</fail>
+ </configuration>
+ </execution>
+ <!-- Components shipped, but only at the specific pinned version.
+ Kept separate from enforce-banned-dependencies execution to avoid
+ sharing include list (the * for artifact in include list would
+ override the excludes). -->
+ <execution>
+ <id>enforce-dependency-versions</id>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <bannedDependencies>
+ <excludes>
+ <!-- Assert that we only use artifacts from only the specified
+ version of these components. -->
+ <exclude>org.apache.hadoop:*</exclude>
+ <exclude>org.apache.hbase:*</exclude>
+ <exclude>org.apache.hive:*</exclude>
+ <exclude>org.apache.kudu:*</exclude>
+ <exclude>org.apache.parquet:*</exclude>
+ <exclude>org.apache.avro:*</exclude>
+ <exclude>org.apache.orc:*</exclude>
+ <exclude>org.apache.logging.log4j:*</exclude>
+ </excludes>
+ <includes>
<!-- Include the allowed versions specifically -->
<include>org.apache.hadoop:*:${hadoop.version}</include>
<include>org.apache.hadoop:*:${ozone.version}</include>