You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flume.apache.org by "Ferenc Szabo (JIRA)" <ji...@apache.org> on 2017/09/12 13:36:05 UTC

[jira] [Updated] (FLUME-2944) Remove guava as dependency

     [ https://issues.apache.org/jira/browse/FLUME-2944?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ferenc Szabo updated FLUME-2944:
--------------------------------
    Fix Version/s:     (was: 1.8.0)
                   1.9.0

> Remove guava as dependency
> --------------------------
>
>                 Key: FLUME-2944
>                 URL: https://issues.apache.org/jira/browse/FLUME-2944
>             Project: Flume
>          Issue Type: Improvement
>    Affects Versions: 1.8.0
>            Reporter: Lior Zeno
>             Fix For: 1.9.0
>
>
> Guava is a very popular dependency, which often causes version collisions. Especially, due to lack of backwards compatibility. 
> Adding new dependencies that rely on guava requires us to shade these dependencies. This is hard to maintain and bloats our distribution. Therefore, we should omit guava as a dependency and delegate these problems to our users.
> If a user would like to use X-Source with Y-Sink, where X and Y rely on colliding versions of guava, the user will have to shade one of them.
> This task should be easier, now that we have moved to Java 1.7. If we move to 1.8 in this release, then most of it becomes virtually trivial.
> Flume relies on the following guava imports:
> * com.google.common.base.Preconditions
> * com.google.common.collect.ArrayListMultimap
> * com.google.common.collect.ListMultimap
> * com.google.common.collect.Lists
> * com.google.common.collect.Maps
> * com.google.common.annotations.VisibleForTesting
> * com.google.common.util.concurrent.ThreadFactoryBuilder
> * com.google.common.base.Charsets
> * com.google.common.base.Strings
> * com.google.common.base.Throwables
> * com.google.common.eventbus.EventBus
> * com.google.common.eventbus.Subscribe
> * com.google.common.primitives.UnsignedBytes
> * com.google.common.cache.CacheBuilder
> * com.google.common.cache.CacheLoader
> * com.google.common.cache.LoadingCache
> * com.google.common.util.concurrent.UncheckedExecutionException
> * com.google.common.collect.HashMultimap
> * com.google.common.collect.SetMultimap
> * com.google.common.collect.ImmutableMap
> * com.google.common.base.Joiner
> * com.google.common.io.Files
> * com.google.common.io.Resources
> * com.google.common.collect.ImmutableSortedSet
> * com.google.common.base.Splitter
> * com.google.common.collect.Iterables
> * com.google.common.base.Optional
> * com.google.common.io.ByteStreams
> * com.google.common.collect.HashBasedTable
> * com.google.common.primitives.Longs
> * com.google.common.collect.Sets
> * com.google.common.collect.ImmutableListMultimap
> * com.google.common.collect.ListMultimap
> * import com.google.common.collect.Table
> * com.google.common.base.Function



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)