envoyproxy / java-control-plane

Java implementation of an Envoy gRPC control plane
Apache License 2.0
288 stars 138 forks source link

duplicated opentelemetry packages #342

Open joybestourous opened 4 months ago

joybestourous commented 4 months ago

Problem It looks like java-control-plane replicates opentelemetry-proto-java without relocating the dependencies (i.e. you folks use the same package and class names). This duplicates the classes such that now that we've added the io.envoyproxy.controlplane dependency to a core library, maven's dependency:analyze tool is forcing us to import io.envoyproxy.controlplane in modules that do not interact with controlplane code at all. In a few places, we were forced to replace the opentelemetry import with envoyproxy.controlplane. Our (pruned) jdeps output reveals this issue:

jdeps -verbose --class-path ~/.m2/repository/io/envoyproxy/controlplane/api/1.0.41/api-1.0.41.jar  path/to/now_requires_controlplane_import.jar | grep 'api-1.0.41.jar'

now_requires_controlplane_import.jar -> /Users/joy.bestourous/.m2/repository/io/envoyproxy/controlplane/api/1.0.41/api-1.0.41.jar
<FILE IN JAR> -> io.opentelemetry.proto.common.v1.AnyValue          api-1.0.41.jar
...

Solution Requested We're hoping you folks could either depend directly on opentelemetry-proto or use a different package to avoid this duplication and subsequent maven confusion.

Thanks in advance!

hisener commented 2 days ago

Relates to https://github.com/envoyproxy/java-control-plane/issues/171.