> creating a uber jar with our client is not easy as it doesn't include many GRPC dependencies Useful links: - gRPC has a [dynamic resolution](https://github.com/grpc/grpc-java/blob/master/api/src/main/java/io/grpc/NameResolverRegistry.java#L124) to load their name resolution provider - At load time, it would [inspect & load all classes](https://github.com/grpc/grpc-java/blob/1fc4ab0bb203a7934753d4d29d8d4689a1012390/api/src/main/java/io/grpc/ServiceProviders.java#L60) that are implementing an interface - Related GitHub issue: https://github.com/grpc/grpc-java/issues/10826