This is an automated email from the ASF dual-hosted git repository. voonhous pushed a commit to tag rfc-105-pre-cleanup in repository https://gitbox.apache.org/repos/asf/hudi.git
commit db35c3793fdd5c4e77ca8c61f1a2588374d8c7bf Author: voon <[email protected]> AuthorDate: Tue May 26 16:35:18 2026 +0800 fix(trino): gate hudi-client-common/hadoop-common/java-client behind test profile The connector's test sources reference hudi-client-common, hudi-hadoop-common and hudi-java-client. Those artifacts only exist when the full Hudi reactor is installed; CI's two-stage build installs only the runtime dependencies hudi-trino-plugin needs at compile time, so the test-scope resolution failed even with -Dmaven.test.skip=true (Maven still walks test-scope edges to build the dep graph). Moves the three Hudi client modules into the hudi-trino-tests profile alongside the Trino test-jars, keeping the rule consistent: anything that only resolves from a locally-built snapshot lives behind the profile. --- hudi-trino-plugin/pom.xml | 96 +++++++++++++++++++++++------------------------ 1 file changed, 46 insertions(+), 50 deletions(-) diff --git a/hudi-trino-plugin/pom.xml b/hudi-trino-plugin/pom.xml index a73341963b1f..9ccd44eef81b 100644 --- a/hudi-trino-plugin/pom.xml +++ b/hudi-trino-plugin/pom.xml @@ -421,50 +421,6 @@ <scope>test</scope> </dependency> - <dependency> - <groupId>org.apache.hudi</groupId> - <artifactId>hudi-client-common</artifactId> - <version>${project.version}</version> - <scope>test</scope> - <exclusions> - <exclusion> - <groupId>*</groupId> - <artifactId>*</artifactId> - </exclusion> - <!-- hudi-timeline-service pulls Jetty + javax.servlet-api; Trino's enforcer bans them. --> - <exclusion> - <groupId>org.apache.hudi</groupId> - <artifactId>hudi-timeline-service</artifactId> - </exclusion> - </exclusions> - </dependency> - - <dependency> - <groupId>org.apache.hudi</groupId> - <artifactId>hudi-hadoop-common</artifactId> - <version>${project.version}</version> - <scope>test</scope> - <exclusions> - <exclusion> - <groupId>*</groupId> - <artifactId>*</artifactId> - </exclusion> - </exclusions> - </dependency> - - <dependency> - <groupId>org.apache.hudi</groupId> - <artifactId>hudi-java-client</artifactId> - <version>${project.version}</version> - <scope>test</scope> - <exclusions> - <exclusion> - <groupId>org.apache.hudi</groupId> - <artifactId>*</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> <groupId>org.apache.parquet</groupId> <artifactId>parquet-avro</artifactId> @@ -576,12 +532,11 @@ <profiles> <!-- Test-only profile. Trino does not publish trino-spi / trino-filesystem / - trino-hive test-jars to Maven Central, and the published trino-main test-jar - still requires a matching SPI snapshot for the rest of the test classpath. - Activate this profile alongside hudi-trino when you have a locally-built - Trino snapshot in ~/.m2 (build via the Trino source tree and `mvn install`). - CI builds keep it off so the default reactor stays resolvable against - Maven Central. + trino-hive test-jars to Maven Central, and the Hudi client modules + (hudi-client-common, hudi-hadoop-common, hudi-java-client) only resolve + from a snapshot reactor build. Activate alongside hudi-trino once those + artifacts are in your local m2. CI keeps the profile off so the default + build resolves cleanly against Maven Central. --> <profile> <id>hudi-trino-tests</id> @@ -614,6 +569,47 @@ <type>test-jar</type> <scope>test</scope> </dependency> + <dependency> + <groupId>org.apache.hudi</groupId> + <artifactId>hudi-client-common</artifactId> + <version>${project.version}</version> + <scope>test</scope> + <exclusions> + <exclusion> + <groupId>*</groupId> + <artifactId>*</artifactId> + </exclusion> + <!-- hudi-timeline-service pulls Jetty + javax.servlet-api; Trino's enforcer bans them. --> + <exclusion> + <groupId>org.apache.hudi</groupId> + <artifactId>hudi-timeline-service</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.apache.hudi</groupId> + <artifactId>hudi-hadoop-common</artifactId> + <version>${project.version}</version> + <scope>test</scope> + <exclusions> + <exclusion> + <groupId>*</groupId> + <artifactId>*</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.apache.hudi</groupId> + <artifactId>hudi-java-client</artifactId> + <version>${project.version}</version> + <scope>test</scope> + <exclusions> + <exclusion> + <groupId>org.apache.hudi</groupId> + <artifactId>*</artifactId> + </exclusion> + </exclusions> + </dependency> </dependencies> </profile> </profiles>
