You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xtable.apache.org by ti...@apache.org on 2026/08/25 14:10:16 UTC

(incubator-xtable) branch main updated: Merge ServiceLoader registrations when shading xtable-utilities (#906)

This is an automated email from the ASF dual-hosted git repository.

the-other-tim-brown pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-xtable.git


The following commit(s) were added to refs/heads/main by this push:
     new fdf9ac21 Merge ServiceLoader registrations when shading xtable-utilities (#906)
fdf9ac21 is described below

commit fdf9ac21f730288e434dd6ac6c1f9259d15e15c7
Author: Sylwester Lachiewicz <sl...@apache.org>
AuthorDate: Tue Aug 25 16:10:11 2026 +0200

    Merge ServiceLoader registrations when shading xtable-utilities (#906)
    
    The shade plugin had no ServicesResourceTransformer, so every
    META-INF/services/* file was last-one-wins: whichever artifact shade
    processed last silently overwrote the others.
    
    Two visible consequences. The bundled jar could not read Delta sources
    at all, because Delta's DataSourceRegister entry lost to Spark's and
    sourceFormat: DELTA died with ClassNotFoundException: delta.DefaultSource
    despite the class being present. And only one Hadoop FileSystem
    registration survived, which is why xtable-hadoop-defaults.xml has to
    name fs.file.impl, fs.s3a.impl and the GCS classes by hand.
    
    Closes #905.
---
 xtable-utilities/pom.xml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xtable-utilities/pom.xml b/xtable-utilities/pom.xml
index d584b070..3e644b7d 100644
--- a/xtable-utilities/pom.xml
+++ b/xtable-utilities/pom.xml
@@ -286,6 +286,7 @@
                             <resource>META-INF/NOTICE</resource>
                             <file>target/classes/META-INF/NOTICE-bundled</file>
                         </transformer>
+                        <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
                         <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                             <mainClass>org.apache.xtable.utilities.RunSync</mainClass>
                         </transformer>