Hi Beamers,

I recently was a part of a discussion about some dependency
incompatibilities in the Java SDK. Specifically on the GRPC versions when
trying to use one of the Google Cloud client libraries as part of a Beam
pipeline. Their workaround was downgrading to an older version of the
client library to match Beam's version of the GRPC library. However, this
could not have been possible if they *needed* the newer version for any
reason.

I'm aware that Java development environments usually prefer to hardcode
versions to avoid breaking changes, but it would be great to have the
latest versions of dependencies that could be *shared* with other
libraries, like the GRPC libraries.

It looks like the Google Cloud client library team has been aware of this
problem, as well as the tricky interactions between the hundreds of
libraries they offer. They mentioned that they are starting to roll out a GCP
Libraries BOM
<https://github.com/GoogleCloudPlatform/cloud-opensource-java/wiki/The-Google-Cloud-Platform-Libraries-BOM>
to
help everyone have up-to-date versions of their libraries, including *guava*,
*protobuf*, *grpc-java*, *google-http-java-client*, and *google-cloud-java*.

Would everyone feel comfortable on using the BOM to manage the Google Cloud
dependency versions? If so, is there anyone comfortable in Gradle willing
to do these changes?

Cheers!
David

Reply via email to