Skip to content

Is antlr-complete a necessary Java dependency ? #103

@spydesk

Description

@spydesk

Hi !

I'am using the new Riak 2.0.0 java client as a Maven dependency in my project.

Looking at the dependency tree :

mvn dependency:tree

[INFO] com.myapp:myapp:jar:1.0.0-SNAPSHOT
[INFO] \- com.basho.riak:riak-client:jar:2.0.0:compile
[INFO]    +- com.sun:tools:jar:1.4.2:system
[INFO]    +- org.slf4j:slf4j-api:jar:1.7.2:compile
[INFO]    +- com.fasterxml.jackson.core:jackson-databind:jar:2.2.2:compile
[INFO]    |  +- com.fasterxml.jackson.core:jackson-annotations:jar:2.2.2:compile
[INFO]    |  \- com.fasterxml.jackson.core:jackson-core:jar:2.2.2:compile
[INFO]    +- com.fasterxml.jackson.datatype:jackson-datatype-joda:jar:2.2.2:compile
[INFO]    |  \- joda-time:joda-time:jar:2.1:compile
[INFO]    +- io.netty:netty-all:jar:4.0.17.Final:compile
[INFO]    \- com.basho.riak.protobuf:riak-pb:jar:2.0.0.16:compile
[INFO]       +- com.google.protobuf:protobuf-java:jar:2.5.0:compile
[INFO]       \- org.antlr:antlr-complete:jar:3.5.1:compile
[INFO]          +- org.antlr:antlr:jar:3.5.1:compile
[INFO]          |  \- org.antlr:ST4:jar:4.0.7:compile
[INFO]          +- org.antlr:antlr-runtime:jar:3.5.1:compile
[INFO]          \- org.antlr:gunit:jar:3.5.1:compile
[INFO]             +- junit:junit:jar:4.10:compile
[INFO]             |  \- org.hamcrest:hamcrest-core:jar:1.1:compile
[INFO]             \- org.antlr:stringtemplate:jar:3.2.1:compile
[INFO]                \- antlr:antlr:jar:2.7.7:compile

It seems that a lot of unnecessary dependencies are coming fromriak-pb through antlr-complete...

The project seems to compile fine without this dependency :

<dependency>
    <groupId>org.antlr</groupId>
    <artifactId>antlr-complete</artifactId>
    <version>3.5.1</version>
</dependency>

At the moment I'm excluding it explicitly out of my project :

<dependency>
    <groupId>com.basho.riak</groupId>
    <artifactId>riak-client</artifactId>
    <version>2.0.0</version>
    <exclusions>
        <exclusion>
            <groupId>org.antlr</groupId>
            <artifactId>antlr-complete</artifactId>
        </exclusion>
    </exclusions>
</dependency>

It would be nicer to not include it at all in your project... Or is it needed ?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions