Replies: 4 comments
-
I don't think the value is that great and it's easy to upgrade the guava version number. |
Beta Was this translation helpful? Give feedback.
-
Is it possiable to remove guava totally or part? All guava usage import com.google.common.base.Charsets;
import com.google.common.base.Function;
import com.google.common.base.Joiner;
import com.google.common.base.MoreObjects.ToStringHelper;
import com.google.common.base.MoreObjects;
import com.google.common.base.Objects;
import com.google.common.base.Preconditions;
import com.google.common.base.Splitter;
import com.google.common.base.Strings;
import com.google.common.cache.Cache;
import com.google.common.cache.CacheBuilder;
import com.google.common.cache.CacheLoader;
import com.google.common.cache.LoadingCache;
import com.google.common.cache.Weigher;
import com.google.common.collect.HashBasedTable;
import com.google.common.collect.HashMultimap;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSortedSet;
import com.google.common.collect.LinkedHashMultimap;
import com.google.common.collect.ListMultimap;
import com.google.common.collect.Lists;
import com.google.common.collect.MapDifference;
import com.google.common.collect.Maps;
import com.google.common.collect.Multimap;
import com.google.common.collect.MultimapBuilder.ListMultimapBuilder;
import com.google.common.collect.Multimaps;
import com.google.common.collect.Ordering;
import com.google.common.collect.Queues;
import com.google.common.collect.Sets.SetView;
import com.google.common.collect.Sets;
import com.google.common.collect.Table;
import com.google.common.collect.TreeMultimap;
import com.google.common.escape.Escaper;
import com.google.common.hash.Hashing;
import com.google.common.io.BaseEncoding;
import com.google.common.io.CharStreams;
import com.google.common.io.Files;
import com.google.common.net.HttpHeaders;
import com.google.common.net.UrlEscapers;
import com.google.common.primitives.Ints;
import com.google.common.reflect.TypeToken;
import com.google.common.util.concurrent.RateLimiter;
import com.google.common.util.concurrent.SettableFuture;
import static com.google.common.base.MoreObjects.toStringHelper; The cache, ratelimt is hard to remove... All grep google $(find . -type f -name "*.java") > google.log |
Beta Was this translation helpful? Give feedback.
-
One typical approach to eliminate the effect is to use maven-shade-plugin to rename packages to avoid class naming conflicts in the future guava version upgradings, for example rename com.google <http://com.google/>.common to com.ctrip.apollo.google <http://com.ctrip.apollo.google/>.common.
… On May 27, 2022, at 20:39, wxq ***@***.***> wrote:
Is it possiable to remove guava totally or part?
All guava usage
import com.google.common.base.Charsets;
import com.google.common.base.Function;
import com.google.common.base.Joiner;
import com.google.common.base.MoreObjects.ToStringHelper;
import com.google.common.base.MoreObjects;
import com.google.common.base.Objects;
import com.google.common.base.Preconditions;
import com.google.common.base.Splitter;
import com.google.common.base.Strings;
import com.google.common.cache.Cache;
import com.google.common.cache.CacheBuilder;
import com.google.common.cache.CacheLoader;
import com.google.common.cache.LoadingCache;
import com.google.common.cache.Weigher;
import com.google.common.collect.HashBasedTable;
import com.google.common.collect.HashMultimap;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSortedSet;
import com.google.common.collect.LinkedHashMultimap;
import com.google.common.collect.ListMultimap;
import com.google.common.collect.Lists;
import com.google.common.collect.MapDifference;
import com.google.common.collect.Maps;
import com.google.common.collect.Multimap;
import com.google.common.collect.MultimapBuilder.ListMultimapBuilder;
import com.google.common.collect.Multimaps;
import com.google.common.collect.Ordering;
import com.google.common.collect.Queues;
import com.google.common.collect.Sets.SetView;
import com.google.common.collect.Sets;
import com.google.common.collect.Table;
import com.google.common.collect.TreeMultimap;
import com.google.common.escape.Escaper;
import com.google.common.hash.Hashing;
import com.google.common.io.BaseEncoding;
import com.google.common.io.CharStreams;
import com.google.common.io.Files;
import com.google.common.net.HttpHeaders;
import com.google.common.net.UrlEscapers;
import com.google.common.primitives.Ints;
import com.google.common.reflect.TypeToken;
import com.google.common.util.concurrent.RateLimiter;
import com.google.common.util.concurrent.SettableFuture;
import com.google.inject.AbstractModule;
import com.google.inject.AbstractModule;
import com.google.inject.Guice;
import com.google.inject.Injector;
import com.google.inject.Singleton;
import static com.google.common.base.MoreObjects.toStringHelper;
The cache, ratelimt and inject part is hard to remove...
All google key word in .java file collected in google.log <https://github.com/apolloconfig/apollo/files/8786695/google.log>,
I collect them by run
grep google $(find . -type f -name "*.java") > google.log
—
Reply to this email directly, view it on GitHub <#4369 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AASQE77KSYFOPYTCLE3BH2DVMC7ABANCNFSM5WTHNN7A>.
You are receiving this because you are subscribed to this thread.
|
Beta Was this translation helpful? Give feedback.
-
I thnk it's okay to have guava dependency for apollo servers as it's easy to manage the dependency versions ourselves. Speaking of removing guava dependency, elasticsearch did that before, see elastic/elasticsearch#13224, it involves a large amount of work. |
Beta Was this translation helpful? Give feedback.
-
As we know, guava has known issues in backward compatibility, since apollo-client has guava as its dependency, it's easy to have dependency conflicts with the users' applications.
I want to raise this question of whether apollo-client needs to shade guava dependency or not? Or we may provide 2 versions of apollo-client, with one version has normal dependency and another shades guava?
Beta Was this translation helpful? Give feedback.
All reactions