This is an automated email from the ASF dual-hosted git repository.
FrankChen021 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/druid.git
The following commit(s) were added to refs/heads/master by this push:
new 7a79096488d build: align Google client libraries with libraries-bom
(#20673)
7a79096488d is described below
commit 7a79096488de0cd1ba8ca41f7cbde2174f36fe72
Author: Andreas Maechler <[email protected]>
AuthorDate: Fri Oct 23 00:31:28 2026 -0600
build: align Google client libraries with libraries-bom (#20673)
* Align the Google client stack with libraries-bom
lib/ shipped google-auth 1.30, grpc 1.70 and google-oauth-client 1.36
through druid-gcp-common, while druid-google-extensions bundles the
versions google-cloud-storage is built against. Extensions load parent
first, so google-cloud-storage 2.74 ran on the older lib/ copies.
Import com.google.cloud:libraries-bom in the root dependencyManagement,
after the explicit entries so those keep precedence, and drop the
per-artifact Google versions it now manages: google-api-client,
google-http-client, google-cloud-storage, gax, google-cloud-core and the
grpc-api/grpc-context pins. lib/ and druid-google-extensions now
resolve the same Google versions, and dependabot bumps one property.
- Pin org.graalvm.sdk nativeimage/word and protobuf-java-util so the
BOM does not move them.
- Keep the contrib grpc versions: opentelemetry-emitter imports grpc-bom
at shade.grpc.version, grpc-query pins proto-google-common-protos to
what grpc-protobuf declares.
- licenses.yaml: update the moved versions and register api-common and
javax.annotation-api, which lib/ now ships.
* Explain the GraalVM SDK pins
---
embedded-tests/pom.xml | 3 -
.../druid-iceberg-extensions/pom.xml | 11 ----
extensions-contrib/grpc-query/pom.xml | 6 ++
extensions-contrib/opentelemetry-emitter/pom.xml | 7 ++
extensions-core/google-extensions/pom.xml | 13 ----
licenses.yaml | 27 ++++----
pom.xml | 75 ++++++++--------------
7 files changed, 52 insertions(+), 90 deletions(-)
diff --git a/embedded-tests/pom.xml b/embedded-tests/pom.xml
index 1622f1da3a8..620b187e3ab 100644
--- a/embedded-tests/pom.xml
+++ b/embedded-tests/pom.xml
@@ -136,13 +136,11 @@
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>google-cloud-storage</artifactId>
- <version>2.75.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>google-cloud-core</artifactId>
- <version>2.77.0</version>
<scope>test</scope>
</dependency>
<dependency>
@@ -823,7 +821,6 @@
<dependency>
<groupId>com.google.auth</groupId>
<artifactId>google-auth-library-credentials</artifactId>
- <version>1.54.0</version>
<scope>test</scope>
</dependency>
<dependency>
diff --git a/extensions-contrib/druid-iceberg-extensions/pom.xml
b/extensions-contrib/druid-iceberg-extensions/pom.xml
index bc6b5b5d56d..6e18d5e27ff 100644
--- a/extensions-contrib/druid-iceberg-extensions/pom.xml
+++ b/extensions-contrib/druid-iceberg-extensions/pom.xml
@@ -342,17 +342,6 @@
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>google-cloud-storage</artifactId>
- <version>${com.google.cloud.storage.version}</version>
- </dependency>
- <dependency>
- <groupId>io.grpc</groupId>
- <artifactId>grpc-api</artifactId>
- <version>1.84.0</version>
- </dependency>
- <dependency>
- <groupId>io.grpc</groupId>
- <artifactId>grpc-context</artifactId>
- <version>1.84.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.woodstox</groupId>
diff --git a/extensions-contrib/grpc-query/pom.xml
b/extensions-contrib/grpc-query/pom.xml
index ace14e2abc7..57a896bcd50 100644
--- a/extensions-contrib/grpc-query/pom.xml
+++ b/extensions-contrib/grpc-query/pom.xml
@@ -54,6 +54,12 @@
<type>pom</type>
<scope>import</scope>
</dependency>
+ <!-- The version grpc-protobuf declares, ahead of the one from the
inherited libraries-bom -->
+ <dependency>
+ <groupId>com.google.api.grpc</groupId>
+ <artifactId>proto-google-common-protos</artifactId>
+ <version>2.64.1</version>
+ </dependency>
</dependencies>
</dependencyManagement>
diff --git a/extensions-contrib/opentelemetry-emitter/pom.xml
b/extensions-contrib/opentelemetry-emitter/pom.xml
index a94207e622c..31d47aab235 100644
--- a/extensions-contrib/opentelemetry-emitter/pom.xml
+++ b/extensions-contrib/opentelemetry-emitter/pom.xml
@@ -43,6 +43,13 @@
</properties>
<dependencyManagement>
<dependencies>
+ <dependency>
+ <groupId>io.grpc</groupId>
+ <artifactId>grpc-bom</artifactId>
+ <version>${shade.grpc.version}</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
<dependency>
<groupId>io.opentelemetry</groupId>
<artifactId>opentelemetry-bom</artifactId>
diff --git a/extensions-core/google-extensions/pom.xml
b/extensions-core/google-extensions/pom.xml
index 88b7d2c34f2..09e678a61f6 100644
--- a/extensions-core/google-extensions/pom.xml
+++ b/extensions-core/google-extensions/pom.xml
@@ -50,17 +50,6 @@
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>google-cloud-storage</artifactId>
- <version>${com.google.cloud.storage.version}</version>
- </dependency>
- <dependency>
- <groupId>io.grpc</groupId>
- <artifactId>grpc-api</artifactId>
- <version>1.84.0</version>
- </dependency>
- <dependency>
- <groupId>io.grpc</groupId>
- <artifactId>grpc-context</artifactId>
- <version>1.84.0</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
@@ -120,12 +109,10 @@
<dependency>
<groupId>com.google.api</groupId>
<artifactId>gax</artifactId>
- <version>2.87.0</version>
</dependency>
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>google-cloud-core</artifactId>
- <version>2.77.0</version>
</dependency>
<!-- Tests -->
<dependency>
diff --git a/licenses.yaml b/licenses.yaml
index 57d5cacd65a..07d34b8c914 100644
--- a/licenses.yaml
+++ b/licenses.yaml
@@ -4231,17 +4231,18 @@ version: 2.2.0
libraries:
- com.google.http-client: google-http-client
- com.google.http-client: google-http-client-jackson2
+ - com.google.http-client: google-http-client-apache-v2
+ - com.google.http-client: google-http-client-gson
---
-name: Google HTTP Client Library For Java
+name: Google API Common
license_category: binary
module: java-core
-license_name: Apache License version 2.0
-version: 1.45.2
+license_name: BSD-3-Clause License
+version: 2.70.0
libraries:
- - com.google.http-client: google-http-client-apache-v2
- - com.google.http-client: google-http-client-gson
+ - com.google.api: api-common
---
@@ -4249,7 +4250,7 @@ name: google-auth
license_category: binary
module: java-core
license_name: BSD-3-Clause License
-version: 1.30.0
+version: 1.54.0
libraries:
- com.google.auth: google-auth-library-credentials
- com.google.auth: google-auth-library-oauth2-http
@@ -4260,7 +4261,7 @@ name: grpc-java
license_category: binary
module: java-core
license_name: Apache License version 2.0
-version: 1.70.0
+version: 1.83.0
libraries:
- io.grpc: grpc-api
- io.grpc: grpc-context
@@ -4291,7 +4292,7 @@ name: Google Cloud Monitoring
license_category: binary
module: extensions/druid-google-extensions
license_name: Apache License version 2.0
-version: 3.52.0
+version: 3.100.0
libraries:
- com.google.cloud: google-cloud-monitoring
@@ -4301,7 +4302,7 @@ name: proto-google-cloud-monitoring-v3
license_category: binary
module: extensions/druid-google-extensions
license_name: Apache License version 2.0
-version: 3.52.0
+version: 3.100.0
libraries:
- com.google.api.grpc: proto-google-cloud-monitoring-v3
@@ -4474,7 +4475,7 @@ name: grpc-api
license_category: binary
module: extensions/druid-google-extensions
license_name: Apache License version 2.0
-version: 1.84.0
+version: 1.83.0
libraries:
- io.grpc: grpc-api
@@ -4484,7 +4485,7 @@ name: grpc-context
license_category: binary
module: extensions/druid-google-extensions
license_name: Apache License version 2.0
-version: 1.84.0
+version: 1.83.0
libraries:
- io.grpc: grpc-context
@@ -4617,7 +4618,7 @@ name: google-protobuf
license_category: binary
module: extensions/druid-google-extensions
license_name: BSD-3-Clause License
-version: 4.33.6
+version: 4.36.2
libraries:
- com.google.protobuf: protobuf-java-util
@@ -4668,7 +4669,7 @@ name: Google OAuth Client Library For Java
license_category: binary
module: java-core
license_name: Apache License version 2.0
-version: 1.36.0
+version: 1.39.0
libraries:
- com.google.oauth-client: google-oauth-client
diff --git a/pom.xml b/pom.xml
index 29c9160237e..f2dee67a79b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -137,10 +137,8 @@
<kubernetes.client.version>25.0.0-legacy</kubernetes.client.version>
<zookeeper.version>3.8.7</zookeeper.version>
<checkerframework.version>4.3.0</checkerframework.version>
- <com.google.apis.client.version>2.7.2</com.google.apis.client.version>
-
<com.google.http.client.apis.version>2.2.0</com.google.http.client.apis.version>
<com.google.apis.compute.version>v1-rev20230606-2.0.0</com.google.apis.compute.version>
-
<com.google.cloud.storage.version>2.75.0</com.google.cloud.storage.version>
+
<com.google.cloud.libraries-bom.version>26.90.0</com.google.cloud.libraries-bom.version>
<jdk.strong.encapsulation.argLine>
<!-- Strong encapsulation parameters -->
<!-- When updating this list, update all four locations: -->
@@ -1038,6 +1036,11 @@
<artifactId>protobuf-java</artifactId>
<version>${protobuf.version}</version>
</dependency>
+ <dependency>
+ <groupId>com.google.protobuf</groupId>
+ <artifactId>protobuf-java-util</artifactId>
+ <version>${protobuf.version}</version>
+ </dependency>
<dependency>
<groupId>org.apache.maven.resolver</groupId>
<artifactId>maven-resolver-api</artifactId>
@@ -1399,59 +1402,12 @@
</dependency>
<!-- GCP -->
- <dependency>
- <groupId>com.google.api-client</groupId>
- <artifactId>google-api-client</artifactId>
- <version>${com.google.apis.client.version}</version>
- <exclusions>
- <exclusion>
- <groupId>com.google.code.findbugs</groupId>
- <artifactId>jsr305</artifactId>
- </exclusion>
- <exclusion>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-core</artifactId>
- </exclusion>
- <exclusion>
- <groupId>com.google.guava</groupId>
- <artifactId>guava-jdk5</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.httpcomponents</groupId>
- <artifactId>httpcore</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.httpcomponents</groupId>
- <artifactId>httpclient</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
<!-- Transitive dependency of google-api-client. -->
<dependency>
<groupId>com.google.auto.value</groupId>
<artifactId>auto-value-annotations</artifactId>
<version>1.11.1</version>
</dependency>
- <dependency>
- <groupId>com.google.http-client</groupId>
- <artifactId>google-http-client</artifactId>
- <version>${com.google.http.client.apis.version}</version>
- </dependency>
- <dependency>
- <groupId>com.google.http-client</groupId>
- <artifactId>google-http-client-jackson2</artifactId>
- <version>${com.google.http.client.apis.version}</version>
- <exclusions>
- <exclusion>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-core</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.httpcomponents</groupId>
- <artifactId>httpclient</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
<dependency>
<groupId>com.google.j2objc</groupId>
<artifactId>j2objc-annotations</artifactId>
@@ -1601,6 +1557,25 @@
<artifactId>re2j</artifactId>
<version>1.8</version>
</dependency>
+ <!-- GraalJS dependencies that libraries-bom would otherwise
downgrade to an older GraalVM version -->
+ <dependency>
+ <groupId>org.graalvm.sdk</groupId>
+ <artifactId>nativeimage</artifactId>
+ <version>${graaljs.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.graalvm.sdk</groupId>
+ <artifactId>word</artifactId>
+ <version>${graaljs.version}</version>
+ </dependency>
+ <!-- Imported last so that the explicit versions above take
precedence -->
+ <dependency>
+ <groupId>com.google.cloud</groupId>
+ <artifactId>libraries-bom</artifactId>
+ <version>${com.google.cloud.libraries-bom.version}</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
</dependencies>
</dependencyManagement>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]