Consider adding a Bill of Materials pom.xml
See https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Importing_Dependencies. The Bill of Materials (BOM) could help users specify a consistent set of dependencies for OpenCensus implementations and exporters.
Gradle issue for managing dependencies with a BOM: https://github.com/gradle/gradle/issues/1162 Gradle plugin: https://github.com/lkishalmi/gradle-bom-plugin Examples: https://github.com/GoogleCloudPlatform/google-cloud-java/tree/master/google-cloud-bom https://github.com/sebhoss/maven-boms
I want Opencensus BOM too, from the observation in https://github.com/spring-cloud/spring-cloud-gcp/issues/1735, where grpc-core-1.21.0 and opencensus-api-0.15 in transitive dependency.
I expect the BOM includes at least the following Maven artifacts:
- io.opencensus:opencensus-api
- io.opencensus:opencensus-contrib-grpc-metrics
- io.opencensus:opencensus-contrib-grpc-util
- io.opencensus:opencensus-contrib-http-util
Once Opencensus BOM is available:
- Opencensus users can import the BOM to ensure they will have consistent versions among them.
- Opencensus and gRPC teams can declare consistency between certain versions of gRPC BOM (available in Maven Central) and Opencensus BOM.
BOM should include all modules/artifacts published by the project.