Hi Devs,
Currently I am working on implementing gRPC support for my product. Since grpc-core has a transitive dependency to guava library. I need to include guava library alone with grpc libraries in my distribution. Since guava library size is around 2.3MB, I am trying to create miniature version of guava library using ProGuard[1].
After going through the gRPC-java code, identified following classes/packages are used in gRPC-core library and dependent opencensus-api,
com.google.common.base.**
com.google.common.util.concurrent.**
com.google.common.collect.Maps
com.google.common.collect.ImmutableMultiset
com.google.common.collect.ImmutableList
com.google.common.collect.HashMultiset
com.google.common.collect.Lists
com.google.common.collect.Multiset
com.google.common.io.**
I am able to create miniature version which is only 850kB size and it worked fine for the basic gRPC operation. I would like to know whether it is ok to create miniature guava version to work with gRPC or is there other recommended way. It would be great, if you can give me list of guava classes/packages(minimum version of
Guava we require) used in gRPC.
1.
https://github.com/google/guava/wiki/UsingProGuardWithGuavaAppreciate your response.
Thanks
Danesh