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)