You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by za...@apache.org on 2022/12/14 10:27:30 UTC

[hive] branch master updated: HIVE-26843: Filter all dependency module descriptors from shaded jars (Chris Nauroth reviewed by Stamatis Zampetakis)

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

zabetak pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hive.git


The following commit(s) were added to refs/heads/master by this push:
     new 89bf37bb45d HIVE-26843: Filter all dependency module descriptors from shaded jars (Chris Nauroth reviewed by Stamatis Zampetakis)
89bf37bb45d is described below

commit 89bf37bb45d57ea90391cfa27de0e72568dd2346
Author: Chris Nauroth <cn...@apache.org>
AuthorDate: Tue Dec 13 21:13:13 2022 +0000

    HIVE-26843: Filter all dependency module descriptors from shaded jars (Chris Nauroth reviewed by Stamatis Zampetakis)
    
    Closes #3853
---
 beeline/pom.xml | 16 ++++++----------
 jdbc/pom.xml    | 13 +++++++------
 ql/pom.xml      |  6 ++++--
 3 files changed, 17 insertions(+), 18 deletions(-)

diff --git a/beeline/pom.xml b/beeline/pom.xml
index d14affb5382..c3b65f283fa 100644
--- a/beeline/pom.xml
+++ b/beeline/pom.xml
@@ -256,21 +256,17 @@
               </transformers>
               <filters>
                 <filter>
-                  <!--
-                  Shading signed JARs will fail without this.
-                  http://stackoverflow.com/questions/999489/invalid-signature-file-when-attempting-to-run-a-jar
-                  -->
                   <artifact>*:*</artifact>
                   <excludes>
+                    <!--
+                    Shading signed JARs will fail without this.
+                    http://stackoverflow.com/questions/999489/invalid-signature-file-when-attempting-to-run-a-jar
+                    -->
                     <exclude>META-INF/*.SF</exclude>
                     <exclude>META-INF/*.DSA</exclude>
                     <exclude>META-INF/*.RSA</exclude>
-                  </excludes>
-                </filter>
-                <filter>
-                  <artifact>com.zaxxer:HikariCP</artifact>
-                  <excludes>
-                    <exclude>META-INF/versions/11/module-info.class</exclude>
+                    <!-- Exclude dependency module descriptors, which would be incorrect in a Hive jar. -->
+                    <exclude>META-INF/versions/*/module-info.class</exclude>
                   </excludes>
                 </filter>
               </filters>
diff --git a/jdbc/pom.xml b/jdbc/pom.xml
index 47c285d024e..15d35357a36 100644
--- a/jdbc/pom.xml
+++ b/jdbc/pom.xml
@@ -202,20 +202,21 @@
                     <filter>
                       <artifact>*:*</artifact>
                       <excludes>
+                        <!--
+                        Shading signed JARs will fail without this.
+                        http://stackoverflow.com/questions/999489/invalid-signature-file-when-attempting-to-run-a-jar
+                        -->
                         <exclude>META-INF/*.SF</exclude>
                         <exclude>META-INF/*.DSA</exclude>
                         <exclude>META-INF/*.RSA</exclude>
+                        <!-- Exclude irrelevant webapp files of dependencies. -->
                         <exclude>core-default.xml</exclude>
                         <exclude>webapps/</exclude>
                         <exclude>hive-webapps/</exclude>
                         <exclude>hbase-webapps/</exclude>
                         <exclude>static/</exclude>
-                      </excludes>
-                    </filter>
-                    <filter>
-                      <artifact>com.zaxxer:HikariCP</artifact>
-                      <excludes>
-                        <exclude>META-INF/versions/11/module-info.class</exclude>
+                        <!-- Exclude dependency module descriptors, which would be incorrect in a Hive jar. -->
+                        <exclude>META-INF/versions/*/module-info.class</exclude>
                       </excludes>
                     </filter>
                   </filters>
diff --git a/ql/pom.xml b/ql/pom.xml
index 7b4c1d2751d..d924ac5b577 100644
--- a/ql/pom.xml
+++ b/ql/pom.xml
@@ -1108,15 +1108,17 @@
                 <filter>
                   <artifact>org.apache.calcite.avatica:avatica</artifact>
                   <excludes>
+                    <!-- Exclude Avatica bundled SLF4J, because Hive manages its own SLF4J version. -->
                     <exclude>org/slf4j/**</exclude>
                     <exclude>META-INF/maven/org.slf4j/**</exclude>
                     <exclude>META-INF/licenses/slf4j*/**</exclude>
                   </excludes>
                 </filter>
                 <filter>
-                  <artifact>com.zaxxer:HikariCP</artifact>
+                  <artifact>*:*</artifact>
                   <excludes>
-                    <exclude>META-INF/versions/11/module-info.class</exclude>
+                    <!-- Exclude dependency module descriptors, which would be incorrect in a Hive jar. -->
+                    <exclude>META-INF/versions/*/module-info.class</exclude>
                   </excludes>
                 </filter>
               </filters>