Skip to content

Version 17 brings transitively antlr4 instead of just antlr4-runtime #2746

@svilen-ivanov

Description

@svilen-ivanov

Describe the bug
Starting version 17, the library brings transitively antlr4 instead of just antlr4-runtime:

\--- com.graphql-java:graphql-java:17.0
     +--- org.antlr:antlr4-runtime:4.9.2
     +--- org.slf4j:slf4j-api:1.7.30
     +--- com.google.guava:guava:30.0-jre
     |    +--- com.google.guava:failureaccess:1.0.1
     |    +--- com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
     |    +--- com.google.code.findbugs:jsr305:3.0.2
     |    +--- org.checkerframework:checker-qual:3.5.0
     |    +--- com.google.errorprone:error_prone_annotations:2.3.4
     |    \--- com.google.j2objc:j2objc-annotations:1.3
     +--- com.graphql-java:java-dataloader:2.2.3
     +--- org.reactivestreams:reactive-streams:1.0.2
     \--- org.antlr:antlr4:4.9.2
          +--- org.antlr:antlr4-runtime:4.9.2
          +--- org.antlr:antlr-runtime:3.5.2
          +--- org.antlr:ST4:4.3
          |    \--- org.antlr:antlr-runtime:3.5.2
          +--- org.abego.treelayout:org.abego.treelayout.core:1.0.3
          +--- org.glassfish:javax.json:1.0.4
          \--- com.ibm.icu:icu4j:61.1

The change is noticeable because com.ibm.icu:icu4j from antlr4 "weighs" ~11MB.

To Reproduce
Here is sample repo (the repo as zip). Here is execution in Github Actions

Run:

./gradlew :app:dependencies --configuration runtimeClasspath

The result is:


> Task :app:dependencies

------------------------------------------------------------
Project ':app'
------------------------------------------------------------

runtimeClasspath - Runtime classpath of compilation 'main' (target  (jvm)).
+--- org.jetbrains.kotlin:kotlin-bom:1.5.0
|    +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.0 (c)
|    +--- org.jetbrains.kotlin:kotlin-stdlib:1.5.0 (c)
|    +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.5.0 (c)
|    \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.5.0 (c)
+--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.0
|    +--- org.jetbrains.kotlin:kotlin-stdlib:1.5.0
|    |    +--- org.jetbrains:annotations:13.0
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.5.0
|    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.5.0
|         \--- org.jetbrains.kotlin:kotlin-stdlib:1.5.0 (*)
\--- com.graphql-java:graphql-java:17.3
     +--- org.antlr:antlr4-runtime:4.9.2
     +--- org.slf4j:slf4j-api:1.7.30
     +--- com.google.guava:guava:30.0-jre
     |    +--- com.google.guava:failureaccess:1.0.1
     |    +--- com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
     |    +--- com.google.code.findbugs:jsr305:3.0.2
     |    +--- org.checkerframework:checker-qual:3.5.0
     |    +--- com.google.errorprone:error_prone_annotations:2.3.4
     |    \--- com.google.j2objc:j2objc-annotations:1.3
     +--- com.graphql-java:java-dataloader:3.1.0
     |    \--- org.slf4j:slf4j-api:1.7.30
     +--- org.reactivestreams:reactive-streams:1.0.2
     \--- org.antlr:antlr4:4.9.2
          +--- org.antlr:antlr4-runtime:4.9.2
          +--- org.antlr:antlr-runtime:3.5.2
          +--- org.antlr:ST4:4.3
          |    \--- org.antlr:antlr-runtime:3.5.2
          +--- org.abego.treelayout:org.abego.treelayout.core:1.0.3
          +--- org.glassfish:javax.json:1.0.4
          \--- com.ibm.icu:icu4j:61.1

Version 16 is unaffected:

runtimeClasspath - Runtime classpath of compilation 'main' (target  (jvm)).
+--- org.jetbrains.kotlin:kotlin-bom:1.5.0
|    +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.0 (c)
|    +--- org.jetbrains.kotlin:kotlin-stdlib:1.5.0 (c)
|    +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.5.0 (c)
|    \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.5.0 (c)
+--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.0
|    +--- org.jetbrains.kotlin:kotlin-stdlib:1.5.0
|    |    +--- org.jetbrains:annotations:13.0
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.5.0
|    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.5.0
|         \--- org.jetbrains.kotlin:kotlin-stdlib:1.5.0 (*)
\--- com.graphql-java:graphql-java:16.2
     +--- com.graphql-java:java-dataloader:2.2.3
     +--- org.reactivestreams:reactive-streams:1.0.2
     +--- org.antlr:antlr4-runtime:4.8
     \--- org.slf4j:slf4j-api:1.7.30

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions