Martijn Visser created FLINK-40686:
--------------------------------------

             Summary: Shaded jars declare a bundled dependency's JPMS module 
name
                 Key: FLINK-40686
                 URL: https://issues.apache.org/jira/browse/FLINK-40686
             Project: Flink
          Issue Type: Bug
          Components: Build System
            Reporter: Martijn Visser


maven-shade copies a bundled dependency's 
{{META-INF/versions/N/module-info.class}} into the uber
jar. Where the jar also sets {{Multi-Release: true}} it is then read as that 
dependency's module,
which is what broke the javadoc build in FLINK-40145.

Thirteen poms set {{Multi-Release}}. Four already exclude the descriptor for 
every artifact and
FLINK-40145 fixed the two {{flink-models}} modules. Seven are left: 
{{flink-dist}},
{{flink-s3-fs-hadoop}}, {{flink-s3-fs-presto}}, {{flink-gs-fs-hadoop}}, 
{{flink-azure-fs-hadoop}},
{{flink-oss-fs-hadoop}}, and {{flink-kubernetes}} which excludes only for 
jackson and
{{org.yaml}}. Five of them already ship a foreign identity: the first three 
declare
{{java.xml.bind}}, {{flink-gs-fs-hadoop}} declares 
{{io.netty.internal.tcnative}} and
{{flink-azure-fs-hadoop}} declares {{com.fasterxml.jackson.core}}.

None of them fails the build, because a descriptor is only fatal when it 
requires a module the jar
also bundles. {{flink-gs-fs-hadoop}} is the one to watch: its {{versions/9}} 
descriptor is
{{com.fasterxml.jackson.dataformat.xml}}, which requires {{org.codehaus.stax2}} 
and three jackson
modules that the same jar bundles. It is masked only because plexus-java counts 
down from the
release version and finds netty-tcnative's {{versions/11}} descriptor first.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to