This is an automated email from the ASF dual-hosted git repository.

uros-b pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/spark.git


The following commit(s) were added to refs/heads/master by this push:
     new 397168eb7dbf [SPARK-57663][BUILD] Simplify gRPC deps management by 
using BOM
397168eb7dbf is described below

commit 397168eb7dbfb46f5e3a341b0a35484e2e11f59d
Author: gillespeiffer-db <[email protected]>
AuthorDate: Thu Jun 25 00:20:47 2026 +0200

    [SPARK-57663][BUILD] Simplify gRPC deps management by using BOM
    
    ### What changes were proposed in this pull request?
    
    This PR uses `io.grpc:grpc-bom` to manage `io.grpc` artifact versions, 
replacing the per-artifact `<version>${io.grpc.version}</version>` declarations 
across `sql/connect/common`, `sql/connect/server`, and `udf/worker/grpc`. 
Mirrors the existing `jackson-bom` (apache/spark#52668) and `jjwt-bom` 
(apache/spark#56155) imports.
    
    ### Why are the changes needed?
    
    Simplify dependency management.
    
    ### Does this PR introduce _any_ user-facing change?
    
    No.
    
    ### How was this patch tested?
    
    Pass the CIs. No-op on dependency resolution — `io.grpc` resolves 
identically (`1.76.0`, direct and transitive) before/after, verified with 
`build/mvn help:effective-pom` and `build/mvn dependency:tree`.
    
    ### Was this patch authored or co-authored using generative AI tooling?
    
    Generated-by: Claude Code (Opus 4.8)
    
    Closes #56741 from gillespeiffer-db/grpc-bom.
    
    Authored-by: gillespeiffer-db 
<[email protected]>
    Signed-off-by: Uros Bojanic <[email protected]>
---
 pom.xml                    | 7 +++++++
 project/SparkBuild.scala   | 6 ++++--
 sql/connect/common/pom.xml | 5 -----
 sql/connect/server/pom.xml | 4 ----
 udf/worker/grpc/pom.xml    | 4 ----
 5 files changed, 11 insertions(+), 15 deletions(-)

diff --git a/pom.xml b/pom.xml
index 07c0eb79acfe..81eecd54d208 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1110,6 +1110,13 @@
         <type>pom</type>
         <scope>import</scope>
       </dependency>
+      <dependency>
+        <groupId>io.grpc</groupId>
+        <artifactId>grpc-bom</artifactId>
+        <version>${io.grpc.version}</version>
+        <type>pom</type>
+        <scope>import</scope>
+      </dependency>
       <dependency>
         <groupId>org.apache.ws.xmlschema</groupId>
         <artifactId>xmlschema-core</artifactId>
diff --git a/project/SparkBuild.scala b/project/SparkBuild.scala
index 2e458fc42a53..02df39a4e0b9 100644
--- a/project/SparkBuild.scala
+++ b/project/SparkBuild.scala
@@ -1280,7 +1280,9 @@ object KubernetesIntegrationTests {
 object DependencyOverrides {
   lazy val jacksonVersion = 
sys.props.get("fasterxml.jackson.version").getOrElse("2.21.4")
   lazy val jacksonDeps = Bom.dependencies("com.fasterxml.jackson" % 
"jackson-bom" % jacksonVersion)
-  lazy val settings = jacksonDeps ++ Seq(
+  lazy val grpcVersion = sys.props.get("io.grpc.version").getOrElse("1.76.0")
+  lazy val grpcDeps = Bom.dependencies("io.grpc" % "grpc-bom" % grpcVersion)
+  lazy val settings = jacksonDeps ++ grpcDeps ++ Seq(
     dependencyOverrides ++= {
       val guavaVersion = sys.props.get("guava.version").getOrElse(
         
SbtPomKeys.effectivePom.value.getProperties.get("guava.version").asInstanceOf[String])
@@ -1302,7 +1304,7 @@ object DependencyOverrides {
         "org.slf4j" % "slf4j-api" % slf4jVersion,
         "org.tukaani" % "xz" % xzVersion,
         "org.scala-lang" % "scalap" % scalaVersion.value
-      ) ++ jacksonDeps.key.value
+      ) ++ jacksonDeps.key.value ++ grpcDeps.key.value
     }
   )
 }
diff --git a/sql/connect/common/pom.xml b/sql/connect/common/pom.xml
index 97349d588b5c..a58c94f5c96d 100644
--- a/sql/connect/common/pom.xml
+++ b/sql/connect/common/pom.xml
@@ -50,27 +50,22 @@
         <dependency>
             <groupId>io.grpc</groupId>
             <artifactId>grpc-netty</artifactId>
-            <version>${io.grpc.version}</version>
         </dependency>
         <dependency>
             <groupId>io.grpc</groupId>
             <artifactId>grpc-protobuf</artifactId>
-            <version>${io.grpc.version}</version>
         </dependency>
         <dependency>
             <groupId>io.grpc</groupId>
             <artifactId>grpc-services</artifactId>
-            <version>${io.grpc.version}</version>
         </dependency>
         <dependency>
             <groupId>io.grpc</groupId>
             <artifactId>grpc-stub</artifactId>
-            <version>${io.grpc.version}</version>
         </dependency>
         <dependency>
             <groupId>io.grpc</groupId>
             <artifactId>grpc-inprocess</artifactId>
-            <version>${io.grpc.version}</version>
         </dependency>
         <dependency>
             <groupId>io.netty</groupId>
diff --git a/sql/connect/server/pom.xml b/sql/connect/server/pom.xml
index 37cc8b6a3348..e4b11686229c 100644
--- a/sql/connect/server/pom.xml
+++ b/sql/connect/server/pom.xml
@@ -203,22 +203,18 @@
     <dependency>
       <groupId>io.grpc</groupId>
       <artifactId>grpc-netty</artifactId>
-      <version>${io.grpc.version}</version>
     </dependency>
     <dependency>
       <groupId>io.grpc</groupId>
       <artifactId>grpc-protobuf</artifactId>
-      <version>${io.grpc.version}</version>
     </dependency>
     <dependency>
       <groupId>io.grpc</groupId>
       <artifactId>grpc-services</artifactId>
-      <version>${io.grpc.version}</version>
     </dependency>
     <dependency>
       <groupId>io.grpc</groupId>
       <artifactId>grpc-stub</artifactId>
-      <version>${io.grpc.version}</version>
     </dependency>
     <dependency>
       <groupId>io.netty</groupId>
diff --git a/udf/worker/grpc/pom.xml b/udf/worker/grpc/pom.xml
index 9250260032a1..a2ce417b5ea7 100644
--- a/udf/worker/grpc/pom.xml
+++ b/udf/worker/grpc/pom.xml
@@ -77,22 +77,18 @@
     <dependency>
       <groupId>io.grpc</groupId>
       <artifactId>grpc-api</artifactId>
-      <version>${io.grpc.version}</version>
     </dependency>
     <dependency>
       <groupId>io.grpc</groupId>
       <artifactId>grpc-protobuf</artifactId>
-      <version>${io.grpc.version}</version>
     </dependency>
     <dependency>
       <groupId>io.grpc</groupId>
       <artifactId>grpc-stub</artifactId>
-      <version>${io.grpc.version}</version>
     </dependency>
     <dependency>
       <groupId>io.grpc</groupId>
       <artifactId>grpc-inprocess</artifactId>
-      <version>${io.grpc.version}</version>
       <scope>test</scope>
     </dependency>
   </dependencies>


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to