[ 
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)

Reply via email to