grpc / grpc-java

The Java gRPC implementation. HTTP/2 based RPC
https://grpc.io/docs/languages/java/
Apache License 2.0
11.27k stars 3.79k forks source link

xds: investigate io.envoyproxy.controlplane:api #7117

Open dapengzhang0 opened 4 years ago

dapengzhang0 commented 4 years ago

Similar to #6016 which was not possible because the latest version of io.envoyproxy.protoc-gen-validate:pgv-java-stub in maven is not up to date as what we needed.

io.envoyproxy.controlplane:api in maven is more up to date and even includes com.google.cloudapi that #7109 needs. However, we don't know how frequently it updates on a regular basis. It may still fall behind our need.

ejona86 commented 4 years ago

io.envoyproxy.controlplane:api is completely broken, as it includes generated code for all the transitive dependencies. Those are published elsewhere. We shouldn't touch that with a ten-foot pole, and we should strongly discourage anyone else from using it.

dapengzhang0 commented 4 years ago

I agree with you @ejona86 . My idea was still shading the envoy generated code and all its dependent generated code inside grpc-xds, not depending on io.envoyproxy.controlplane:api directly. The grpc-xds artifact will look the same as what we have now, just replacing the boilerplate of manually importing proto files.

ejona86 commented 4 years ago

@dapengzhang0, that sounds fine. Just confirm that the protos are dropped from our jar (which I think we should be doing already).