[
https://issues.apache.org/jira/browse/TINKERPOP-3067?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Stephen Mallette closed TINKERPOP-3067.
---------------------------------------
Fix Version/s: 4.0.0
3.7.4
3.8.0
Assignee: Stephen Mallette
Resolution: Fixed
Should be fixed with:
[https://github.com/apache/tinkerpop/commit/0ed74b105b8f40303d671e445480abbf5af619a6]
{code:java}
jar -tvf gremlin-shaded-3.7.4-SNAPSHOT.jar
...
0 Sun Apr 30 05:00:48 EDT 2023 META-INF/versions/11/
0 Sun Apr 30 05:00:48 EDT 2023 META-INF/versions/11/org/
0 Sun Apr 30 05:00:48 EDT 2023 META-INF/versions/11/org/apache/
0 Sun Apr 30 05:00:48 EDT 2023 META-INF/versions/11/org/apache/tinkerpop/
0 Sun Apr 30 05:00:48 EDT 2023
META-INF/versions/11/org/apache/tinkerpop/shaded/
0 Sun Apr 30 05:00:48 EDT 2023
META-INF/versions/11/org/apache/tinkerpop/shaded/jackson/
0 Sun Apr 30 05:00:48 EDT 2023
META-INF/versions/11/org/apache/tinkerpop/shaded/jackson/core/
0 Sun Apr 30 05:00:48 EDT 2023
META-INF/versions/11/org/apache/tinkerpop/shaded/jackson/core/io/
0 Sun Apr 30 05:00:48 EDT 2023
META-INF/versions/11/org/apache/tinkerpop/shaded/jackson/core/io/doubleparser/
2654 Sun Apr 30 05:00:48 EDT 2023
META-INF/versions/11/org/apache/tinkerpop/shaded/jackson/core/io/doubleparser/BigSignificand.class
8187 Sun Apr 30 05:00:48 EDT 2023
META-INF/versions/11/org/apache/tinkerpop/shaded/jackson/core/io/doubleparser/FastDoubleSwar.class
641 Sun Apr 30 05:00:48 EDT 2023
META-INF/versions/11/org/apache/tinkerpop/shaded/jackson/core/io/doubleparser/FastIntegerMath$UInt128.class
5382 Sun Apr 30 05:00:48 EDT 2023
META-INF/versions/11/org/apache/tinkerpop/shaded/jackson/core/io/doubleparser/FastIntegerMath.class
0 Sun Apr 30 05:00:48 EDT 2023 META-INF/versions/17/
0 Sun Apr 30 05:00:48 EDT 2023 META-INF/versions/17/org/
0 Sun Apr 30 05:00:48 EDT 2023 META-INF/versions/17/org/apache/
0 Sun Apr 30 05:00:48 EDT 2023 META-INF/versions/17/org/apache/tinkerpop/
0 Sun Apr 30 05:00:48 EDT 2023
META-INF/versions/17/org/apache/tinkerpop/shaded/
0 Sun Apr 30 05:00:48 EDT 2023
META-INF/versions/17/org/apache/tinkerpop/shaded/jackson/
0 Sun Apr 30 05:00:48 EDT 2023
META-INF/versions/17/org/apache/tinkerpop/shaded/jackson/core/
0 Sun Apr 30 05:00:48 EDT 2023
META-INF/versions/17/org/apache/tinkerpop/shaded/jackson/core/io/
0 Sun Apr 30 05:00:48 EDT 2023
META-INF/versions/17/org/apache/tinkerpop/shaded/jackson/core/io/doubleparser/
8268 Sun Apr 30 05:00:48 EDT 2023
META-INF/versions/17/org/apache/tinkerpop/shaded/jackson/core/io/doubleparser/FastDoubleSwar.class
641 Sun Apr 30 05:00:48 EDT 2023
META-INF/versions/17/org/apache/tinkerpop/shaded/jackson/core/io/doubleparser/FastIntegerMath$UInt128.class
5382 Sun Apr 30 05:00:48 EDT 2023
META-INF/versions/17/org/apache/tinkerpop/shaded/jackson/core/io/doubleparser/FastIntegerMath.class
0 Sun Apr 30 05:00:48 EDT 2023 META-INF/versions/19/
0 Sun Apr 30 05:00:48 EDT 2023 META-INF/versions/19/org/
0 Sun Apr 30 05:00:48 EDT 2023 META-INF/versions/19/org/apache/
0 Sun Apr 30 05:00:48 EDT 2023 META-INF/versions/19/org/apache/tinkerpop/
0 Sun Apr 30 05:00:48 EDT 2023
META-INF/versions/19/org/apache/tinkerpop/shaded/
0 Sun Apr 30 05:00:48 EDT 2023
META-INF/versions/19/org/apache/tinkerpop/shaded/jackson/
0 Sun Apr 30 05:00:48 EDT 2023
META-INF/versions/19/org/apache/tinkerpop/shaded/jackson/core/
0 Sun Apr 30 05:00:48 EDT 2023
META-INF/versions/19/org/apache/tinkerpop/shaded/jackson/core/io/
0 Sun Apr 30 05:00:48 EDT 2023
META-INF/versions/19/org/apache/tinkerpop/shaded/jackson/core/io/doubleparser/
7821 Sun Apr 30 05:00:48 EDT 2023
META-INF/versions/19/org/apache/tinkerpop/shaded/jackson/core/io/doubleparser/FastDoubleSwar.class
641 Sun Apr 30 05:00:48 EDT 2023
META-INF/versions/19/org/apache/tinkerpop/shaded/jackson/core/io/doubleparser/FastIntegerMath$UInt128.class
5182 Sun Apr 30 05:00:48 EDT 2023
META-INF/versions/19/org/apache/tinkerpop/shaded/jackson/core/io/doubleparser/FastIntegerMath.class
{code}
And from the the 17 packaging I pulled a class to check internals:
{code:java}
$ javap FastDoubleSwar.class
Compiled from "FastDoubleSwar.java"
class org.apache.tinkerpop.shaded.jackson.core.io.doubleparser.FastDoubleSwar {
org.apache.tinkerpop.shaded.jackson.core.io.doubleparser.FastDoubleSwar();
{code}
> gremlin-shaded incomplete shading due to Jackson multi-release classes
> ----------------------------------------------------------------------
>
> Key: TINKERPOP-3067
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3067
> Project: TinkerPop
> Issue Type: Bug
> Components: build-release
> Affects Versions: 3.7.1
> Environment: JVM
> Reporter: Peter Laird
> Assignee: Stephen Mallette
> Priority: Critical
> Fix For: 4.0.0, 3.7.4, 3.8.0
>
>
> gremlin-shaded is using the Maven shade plugin to package the release jar.
> Unfortunately, it isn't configured to handle the Jackson multi-release
> classes, so the shading is incomplete. You can see that by inspecting the
> contents of the jar (focusing on just {{{}FastIntegerMath below){}}}:
> {{% jar -tvf gremlin-shaded-3.7.1.jar}}
> {{...}}
> {{org/apache/tinkerpop/shaded/jackson/core/io/doubleparser/FastIntegerMath.class}}
> {{META-INF/versions/11/com/fasterxml/jackson/core/io/doubleparser/FastIntegerMath.class}}
> {{META-INF/versions/17/com/fasterxml/jackson/core/io/doubleparser/FastIntegerMath.class}}
> {{META-INF/versions/19/com/fasterxml/jackson/core/io/doubleparser/FastIntegerMath.class}}
> {{...}}
> Notice how the shading is only applied to the default version of the class.
> The multi-release classes are not being shaded. This, in our case, is causing
> classpath conflicts with our chosen Jackson version.
> The shading config is here:
> [https://github.com/apache/tinkerpop/blob/master/gremlin-shaded/pom.xml#L60]
> According to stackoverflow, the shading plugin has a multi-release option:
> https://stackoverflow.com/questions/53049346/is-log4j2-compatible-with-java-11/54713830#54713830
--
This message was sent by Atlassian Jira
(v8.20.10#820010)