curator-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert Metzger (JIRA)" <>
Subject [jira] [Commented] (CURATOR-256) Provide curator artifact in Maven Central with Guava shaded away
Date Tue, 01 Sep 2015 15:25:46 GMT


Robert Metzger commented on CURATOR-256:

I didn't know that Guava has now compatible releases.

Flink started creating a shaded hadoop version without Guava because Hadoop was using Guava
11, Flink Guava 18 (FLINK-1069). I think the curator version we are referencing depends on
Guava 16.
Also, we had too many Flink users complaining about version conflicts with us. Therefore,
Flink does not have any externally visible Guava dependencies.

{quote}attempting to shade it away might cause more problems than it solves.{quote}
It may sound scary in the beginning but many big projects such as Maven, Spark or Flink use
it. The Guava classes will appear as if they were from curator.

{quote}Why not shade all the dependencies?{quote}
That's totally doable, but may not be necessary for dependencies with good version compatibility.
I haven't looked closer at curator's dependencies.

> Provide curator artifact in Maven Central with Guava shaded away
> ----------------------------------------------------------------
>                 Key: CURATOR-256
>                 URL:
>             Project: Apache Curator
>          Issue Type: Improvement
>            Reporter: Robert Metzger
>            Assignee: Jordan Zimmerman
> Guava is used by a lot of projects, often leading to version conflicts (Guava releases
are incompatible).
> A common solution to resolve this issue is to use the "maven-shade-plugin" and pack the
(Apache licensed) guava classes into the curator jars.
> The Flink project is currently adding a {{flink-shaded-curator}} Maven module which is
shading Curator's Guava away, so that it does not affect our users or code:
> It would be great if Curator would directly provide an artifact in Maven central without
a (visible) Guava dependency.
> If the project agrees to add this feature, I'm willing to provide a patch/pull request
for this.

This message was sent by Atlassian JIRA

View raw message