Julian Reschke created OAK-10685:
------------------------------------
Summary: reduce overall usage of (shaded) Guava
Key: OAK-10685
URL: https://issues.apache.org/jira/browse/OAK-10685
Project: Jackrabbit Oak
Issue Type: Task
Reporter: Julian Reschke
{noformat}
for i in oak*/src/main ; do grep -h "import.*guava.*" -R $(find . -name
"*.java") ; done | sort | uniq -c | sort -n
{noformat}
currently yields
{noformat}
40 import org.apache.jackrabbit.guava.common.base.CaseFormat;
40 import org.apache.jackrabbit.guava.common.base.CharMatcher;
40 import org.apache.jackrabbit.guava.common.collect.BiMap;
40 import org.apache.jackrabbit.guava.common.collect.ClassToInstanceMap;
40 import org.apache.jackrabbit.guava.common.collect.ContiguousSet;
40 import org.apache.jackrabbit.guava.common.collect.DiscreteDomain;
40 import org.apache.jackrabbit.guava.common.collect.ImmutableListMultimap;
40 import
org.apache.jackrabbit.guava.common.collect.MutableClassToInstanceMap;
40 import org.apache.jackrabbit.guava.common.collect.Range;
40 import org.apache.jackrabbit.guava.common.escape.Escapers;
40 import org.apache.jackrabbit.guava.common.graph.SuccessorsFunction;
40 import org.apache.jackrabbit.guava.common.graph.Traverser;
40 import org.apache.jackrabbit.guava.common.hash.Funnel;
40 import org.apache.jackrabbit.guava.common.hash.Funnels;
40 import org.apache.jackrabbit.guava.common.hash.HashCode;
40 import org.apache.jackrabbit.guava.common.hash.PrimitiveSink;
40 import org.apache.jackrabbit.guava.common.primitives.Chars;
40 import org.apache.jackrabbit.guava.common.primitives.UnsignedBytes;
40 import org.apache.jackrabbit.guava.common.util.concurrent.Atomics;
40 import
org.apache.jackrabbit.guava.common.util.concurrent.ForwardingListenableFuture;
40 import
org.apache.jackrabbit.guava.common.util.concurrent.ForwardingListeningExecutorService;
40 import static org.apache.jackrabbit.guava.common.base.Functions.compose;
40 import static
org.apache.jackrabbit.guava.common.base.Functions.constant;
40 import static
org.apache.jackrabbit.guava.common.base.Preconditions.checkNotNull;
40 import static
org.apache.jackrabbit.guava.common.base.Preconditions.checkPositionIndex;
40 import static
org.apache.jackrabbit.guava.common.base.Predicates.alwaysTrue;
40 import static
org.apache.jackrabbit.guava.common.base.Predicates.compose;
40 import static org.apache.jackrabbit.guava.common.base.Predicates.isNull;
40 import static
org.apache.jackrabbit.guava.common.base.StandardSystemProperty.OS_NAME;
40 import static
org.apache.jackrabbit.guava.common.base.Strings.nullToEmpty;
40 import static
org.apache.jackrabbit.guava.common.base.Throwables.getStackTraceAsString;
40 import static
org.apache.jackrabbit.guava.common.cache.CacheBuilder.newBuilder;
40 import static
org.apache.jackrabbit.guava.common.cache.RemovalCause.COLLECTED;
40 import static
org.apache.jackrabbit.guava.common.cache.RemovalCause.EXPIRED;
40 import static
org.apache.jackrabbit.guava.common.cache.RemovalCause.SIZE;
40 import static
org.apache.jackrabbit.guava.common.collect.Collections2.transform;
40 import static
org.apache.jackrabbit.guava.common.collect.ImmutableMap.copyOf;
40 import static org.apache.jackrabbit.guava.common.collect.Iterables.*;
40 import static
org.apache.jackrabbit.guava.common.collect.Iterables.mergeSorted;
40 import static
org.apache.jackrabbit.guava.common.collect.Iterators.partition;
40 import static
org.apache.jackrabbit.guava.common.collect.Iterators.peekingIterator;
40 import static org.apache.jackrabbit.guava.common.collect.Iterators.size;
40 import static org.apache.jackrabbit.guava.common.collect.Lists.asList;
40 import static
org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
40 import static
org.apache.jackrabbit.guava.common.collect.Lists.newArrayListWithExpectedSize;
40 import static
org.apache.jackrabbit.guava.common.collect.Lists.newCopyOnWriteArrayList;
40 import static
org.apache.jackrabbit.guava.common.collect.Lists.transform;
40 import static
org.apache.jackrabbit.guava.common.collect.Queues.newArrayBlockingQueue;
40 import static
org.apache.jackrabbit.guava.common.collect.Queues.newArrayDeque;
40 import static org.apache.jackrabbit.guava.common.collect.Sets.filter;
40 import static
org.apache.jackrabbit.guava.common.collect.Sets.symmetricDifference;
40 import static
org.apache.jackrabbit.guava.common.escape.Escapers.builder;
40 import static org.apache.jackrabbit.guava.common.io.ByteStreams.read;
40 import static
org.apache.jackrabbit.guava.common.io.FileWriteMode.APPEND;
40 import static org.apache.jackrabbit.guava.common.io.Files.asByteSink;
40 import static
org.apache.jackrabbit.guava.common.math.DoubleMath.fuzzyCompare;
40 import static
org.apache.jackrabbit.guava.common.math.DoubleMath.fuzzyEquals;
40 import static
org.apache.jackrabbit.guava.common.util.concurrent.Atomics.newReference;
40 import static
org.apache.jackrabbit.guava.common.util.concurrent.MoreExecutors.directExecutor;
40 import static
org.apache.jackrabbit.guava.common.util.concurrent.Uninterruptibles.joinUninterruptibly;
80 import org.apache.jackrabbit.guava.common.annotations.VisibleForTesting;
80 import org.apache.jackrabbit.guava.common.base.Functions;
80 import org.apache.jackrabbit.guava.common.cache.AbstractCache;
80 import org.apache.jackrabbit.guava.common.collect.HashBiMap;
80 import org.apache.jackrabbit.guava.common.collect.LinkedListMultimap;
80 import org.apache.jackrabbit.guava.common.hash.BloomFilter;
80 import org.apache.jackrabbit.guava.common.hash.Hasher;
80 import
org.apache.jackrabbit.guava.common.util.concurrent.AbstractListeningExecutorService;
80 import
org.apache.jackrabbit.guava.common.util.concurrent.FutureCallback;
80 import org.apache.jackrabbit.guava.common.util.concurrent.Striped;
80 import static
org.apache.jackrabbit.guava.common.base.StandardSystemProperty.JAVA_IO_TMPDIR;
80 import static
org.apache.jackrabbit.guava.common.base.StandardSystemProperty.USER_HOME;
80 import static
org.apache.jackrabbit.guava.common.base.Stopwatch.createStarted;
80 import static org.apache.jackrabbit.guava.common.base.Strings.repeat;
80 import static
org.apache.jackrabbit.guava.common.base.Suppliers.ofInstance;
80 import static
org.apache.jackrabbit.guava.common.collect.ImmutableMap.of;
80 import static org.apache.jackrabbit.guava.common.collect.Iterables.all;
80 import static
org.apache.jackrabbit.guava.common.collect.Iterables.cycle;
80 import static
org.apache.jackrabbit.guava.common.collect.Iterables.isEmpty;
80 import static
org.apache.jackrabbit.guava.common.collect.Iterables.limit;
80 import static
org.apache.jackrabbit.guava.common.collect.Iterators.concat;
80 import static
org.apache.jackrabbit.guava.common.collect.Iterators.singletonIterator;
80 import static
org.apache.jackrabbit.guava.common.collect.Maps.filterValues;
80 import static
org.apache.jackrabbit.guava.common.collect.Maps.immutableEntry;
80 import static
org.apache.jackrabbit.guava.common.collect.Maps.newHashMapWithExpectedSize;
80 import static
org.apache.jackrabbit.guava.common.collect.Queues.newConcurrentLinkedQueue;
80 import static
org.apache.jackrabbit.guava.common.collect.Sets.difference;
80 import static
org.apache.jackrabbit.guava.common.collect.Sets.intersection;
80 import static
org.apache.jackrabbit.guava.common.collect.Sets.newConcurrentHashSet;
80 import static
org.apache.jackrabbit.guava.common.collect.Sets.newHashSetWithExpectedSize;
80 import static
org.apache.jackrabbit.guava.common.io.ByteStreams.toByteArray;
80 import static org.apache.jackrabbit.guava.common.io.Files.move;
80 import static org.apache.jackrabbit.guava.common.io.Files.newWriter;
80 import static
org.apache.jackrabbit.guava.common.util.concurrent.MoreExecutors.listeningDecorator;
80 import static
org.apache.jackrabbit.guava.common.util.concurrent.Uninterruptibles.awaitUninterruptibly;
80 import static
org.apache.jackrabbit.guava.common.util.concurrent.Uninterruptibles.sleepUninterruptibly;
120 import org.apache.jackrabbit.guava.common.base.Throwables;
120 import org.apache.jackrabbit.guava.common.cache.RemovalListener;
120 import org.apache.jackrabbit.guava.common.cache.RemovalNotification;
120 import org.apache.jackrabbit.guava.common.collect.EvictingQueue;
120 import org.apache.jackrabbit.guava.common.io.BaseEncoding;
120 import org.apache.jackrabbit.guava.common.util.concurrent.Monitor.Guard;
120 import
org.apache.jackrabbit.guava.common.util.concurrent.Uninterruptibles;
120 import static
org.apache.jackrabbit.guava.common.base.StandardSystemProperty.LINE_SEPARATOR;
120 import static
org.apache.jackrabbit.guava.common.base.Strings.isNullOrEmpty;
120 import static
org.apache.jackrabbit.guava.common.collect.ImmutableSet.copyOf;
120 import static
org.apache.jackrabbit.guava.common.collect.Iterables.elementsEqual;
120 import static
org.apache.jackrabbit.guava.common.collect.Iterables.partition;
120 import static
org.apache.jackrabbit.guava.common.collect.Iterators.filter;
120 import static org.apache.jackrabbit.guava.common.collect.Lists.reverse;
120 import static org.apache.jackrabbit.guava.common.io.Closeables.close;
160 import org.apache.jackrabbit.guava.common.cache.LoadingCache;
160 import org.apache.jackrabbit.guava.common.collect.Collections2;
160 import org.apache.jackrabbit.guava.common.collect.HashBasedTable;
160 import org.apache.jackrabbit.guava.common.collect.HashMultimap;
160 import org.apache.jackrabbit.guava.common.collect.Ordering;
160 import org.apache.jackrabbit.guava.common.collect.Table;
160 import org.apache.jackrabbit.guava.common.util.concurrent.AtomicDouble;
160 import
org.apache.jackrabbit.guava.common.util.concurrent.ListenableFutureTask;
160 import
org.apache.jackrabbit.guava.common.util.concurrent.ThreadFactoryBuilder;
160 import static org.apache.jackrabbit.guava.common.base.Objects.equal;
160 import static
org.apache.jackrabbit.guava.common.base.StandardSystemProperty.FILE_SEPARATOR;
160 import static
org.apache.jackrabbit.guava.common.collect.Lists.newLinkedList;
160 import static
org.apache.jackrabbit.guava.common.collect.Maps.filterKeys;
160 import static
org.apache.jackrabbit.guava.common.collect.Maps.newTreeMap;
160 import static
org.apache.jackrabbit.guava.common.collect.Sets.newIdentityHashSet;
200 import org.apache.jackrabbit.guava.common.base.MoreObjects;
200 import org.apache.jackrabbit.guava.common.base.Optional;
200 import org.apache.jackrabbit.guava.common.collect.ObjectArrays;
200 import org.apache.jackrabbit.guava.common.io.CountingInputStream;
200 import org.apache.jackrabbit.guava.common.util.concurrent.Monitor;
200 import static org.apache.jackrabbit.guava.common.base.Predicates.not;
200 import static org.apache.jackrabbit.guava.common.collect.Iterables.any;
200 import static org.apache.jackrabbit.guava.common.collect.Iterables.size;
200 import static
org.apache.jackrabbit.guava.common.collect.Lists.partition;
200 import static
org.apache.jackrabbit.guava.common.collect.Sets.newTreeSet;
240 import org.apache.jackrabbit.guava.common.base.Suppliers;
240 import org.apache.jackrabbit.guava.common.base.Ticker;
240 import org.apache.jackrabbit.guava.common.collect.ComparisonChain;
240 import org.apache.jackrabbit.guava.common.collect.PeekingIterator;
240 import org.apache.jackrabbit.guava.common.collect.TreeTraverser;
240 import org.apache.jackrabbit.guava.common.hash.Hashing;
240 import
org.apache.jackrabbit.guava.common.util.concurrent.UncheckedExecutionException;
240 import static org.apache.jackrabbit.guava.common.collect.Sets.union;
280 import org.apache.jackrabbit.guava.common.collect.Multimap;
280 import org.apache.jackrabbit.guava.common.primitives.Longs;
280 import static
org.apache.jackrabbit.guava.common.base.Preconditions.checkPositionIndexes;
280 import static
org.apache.jackrabbit.guava.common.collect.Iterables.addAll;
280 import static
org.apache.jackrabbit.guava.common.collect.Iterables.concat;
280 import static
org.apache.jackrabbit.guava.common.collect.Iterables.contains;
320 import org.apache.jackrabbit.guava.common.cache.CacheLoader;
320 import
org.apache.jackrabbit.guava.common.util.concurrent.SettableFuture;
320 import static org.apache.jackrabbit.guava.common.base.Predicates.in;
320 import static org.apache.jackrabbit.guava.common.base.Suppliers.memoize;
360 import org.apache.jackrabbit.guava.common.base.StandardSystemProperty;
360 import org.apache.jackrabbit.guava.common.cache.RemovalCause;
360 import org.apache.jackrabbit.guava.common.io.ByteSource;
360 import org.apache.jackrabbit.guava.common.primitives.Ints;
360 import static
org.apache.jackrabbit.guava.common.base.MoreObjects.toStringHelper;
360 import static
org.apache.jackrabbit.guava.common.collect.Iterables.toArray;
360 import static
org.apache.jackrabbit.guava.common.collect.Maps.newLinkedHashMap;
400 import org.apache.jackrabbit.guava.common.cache.CacheStats;
400 import org.apache.jackrabbit.guava.common.collect.Queues;
400 import static
org.apache.jackrabbit.guava.common.base.Preconditions.checkElementIndex;
400 import static
org.apache.jackrabbit.guava.common.base.Predicates.notNull;
400 import static
org.apache.jackrabbit.guava.common.collect.Iterators.transform;
400 import static
org.apache.jackrabbit.guava.common.collect.Maps.newConcurrentMap;
440 import org.apache.jackrabbit.guava.common.cache.CacheBuilder;
440 import org.apache.jackrabbit.guava.common.util.concurrent.Futures;
440 import
org.apache.jackrabbit.guava.common.util.concurrent.ListeningExecutorService;
440 import static
org.apache.jackrabbit.guava.common.collect.Sets.newLinkedHashSet;
480 import org.apache.jackrabbit.guava.common.collect.ArrayListMultimap;
480 import org.apache.jackrabbit.guava.common.collect.ListMultimap;
480 import
org.apache.jackrabbit.guava.common.util.concurrent.ListenableFuture;
520 import org.apache.jackrabbit.guava.common.collect.FluentIterable;
520 import org.apache.jackrabbit.guava.common.io.Closeables;
560 import static
org.apache.jackrabbit.guava.common.collect.ImmutableList.copyOf;
640 import org.apache.jackrabbit.guava.common.io.ByteStreams;
680 import org.apache.jackrabbit.guava.common.base.Preconditions;
680 import org.apache.jackrabbit.guava.common.cache.Weigher;
760 import org.apache.jackrabbit.guava.common.util.concurrent.MoreExecutors;
880 import org.apache.jackrabbit.guava.common.base.Predicates;
880 import org.apache.jackrabbit.guava.common.base.Splitter;
880 import static
org.apache.jackrabbit.guava.common.util.concurrent.MoreExecutors.newDirectExecutorService;
920 import static org.apache.jackrabbit.guava.common.base.Charsets.UTF_8;
960 import static
org.apache.jackrabbit.guava.common.collect.Lists.newArrayListWithCapacity;
1040 import org.apache.jackrabbit.guava.common.cache.Cache;
1040 import static
org.apache.jackrabbit.guava.common.collect.Iterables.filter;
1080 import static
org.apache.jackrabbit.guava.common.collect.ImmutableList.of;
1240 import org.apache.jackrabbit.guava.common.base.Objects;
1280 import org.apache.jackrabbit.guava.common.base.Supplier;
1280 import static
org.apache.jackrabbit.guava.common.collect.Iterables.transform;
1360 import org.apache.jackrabbit.guava.common.collect.AbstractIterator;
1640 import org.apache.jackrabbit.guava.common.io.Files;
1920 import org.apache.jackrabbit.guava.common.base.Joiner;
1920 import static
org.apache.jackrabbit.guava.common.collect.ImmutableSet.of;
2000 import org.apache.jackrabbit.guava.common.base.Charsets;
2040 import static
org.apache.jackrabbit.guava.common.collect.Maps.newHashMap;
3400 import org.apache.jackrabbit.guava.common.base.Predicate;
3400 import org.apache.jackrabbit.guava.common.base.Stopwatch;
3400 import org.apache.jackrabbit.guava.common.base.Strings;
3680 import static
org.apache.jackrabbit.guava.common.base.Preconditions.checkState;
3920 import org.apache.jackrabbit.guava.common.io.Closer;
4000 import static
org.apache.jackrabbit.guava.common.collect.Sets.newHashSet;
4360 import org.apache.jackrabbit.guava.common.base.Function;
4880 import static
org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
5000 import static
org.apache.jackrabbit.guava.common.base.Preconditions.checkArgument;
5840 import org.apache.jackrabbit.guava.common.collect.Iterators;
6520 import org.apache.jackrabbit.guava.common.collect.Maps;
8160 import org.apache.jackrabbit.guava.common.collect.Sets;
8400 import org.apache.jackrabbit.guava.common.collect.ImmutableMap;
9520 import org.apache.jackrabbit.guava.common.collect.Iterables;
10520 import org.apache.jackrabbit.guava.common.collect.ImmutableList;
13080 import org.apache.jackrabbit.guava.common.collect.ImmutableSet;
13760 import org.apache.jackrabbit.guava.common.collect.Lists;
15640 import static
org.apache.jackrabbit.guava.common.base.Preconditions.checkNotNull;
{noformat}
For now, we should try to reduce the number of usages where a simple
JDK/apache-commons equivalent is available.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)