Lior Zeno created FLUME-2944:
--------------------------------

             Summary: Remove guava as dependency
                 Key: FLUME-2944
                 URL: https://issues.apache.org/jira/browse/FLUME-2944
             Project: Flume
          Issue Type: Improvement
    Affects Versions: v1.8.0
            Reporter: Lior Zeno
             Fix For: v1.8.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.3.4#6332)

Reply via email to