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

Reply via email to