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]

Reply via email to