Skip to content

Commit a8a81eb

Browse files
sarutakdongjoon-hyun
authored andcommitted
[SPARK-54057][BUILD] Retrieve dependency version from pom.xml for DependencyOverrides in SparkBuild.scala
### What changes were proposed in this pull request? This PR proposes to retrieve dependency version from `pom.xml` for `DependencyOverrides` in `SparkBuild.scala`. ### Why are the changes needed? Currently, version strings for some dependencies are hard coded in `DependencyOverrides` in `SparkBuild`, so developers need to keep consistent with version strings specified in `pom.xml` manually. ### Does this PR introduce _any_ user-facing change? No. ### How was this patch tested? GA. ### Was this patch authored or co-authored using generative AI tooling? No. Closes #52760 from sarutak/version-from-pom. Authored-by: Kousuke Saruta <sarutak@amazon.co.jp> Signed-off-by: Dongjoon Hyun <dongjoon@apache.org>
1 parent 65b466c commit a8a81eb

File tree

2 files changed

+20
-7
lines changed

2 files changed

+20
-7
lines changed

pom.xml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,7 @@
183183
<scalafmt.skip>true</scalafmt.skip>
184184
<scalafmt.validateOnly>true</scalafmt.validateOnly>
185185
<scalafmt.changedOnly>true</scalafmt.changedOnly>
186+
<!-- Should be consistent with SparkBuild.scala and docs -->
186187
<fasterxml.jackson.version>2.20.0</fasterxml.jackson.version>
187188
<ws.xmlschema.version>2.3.1</ws.xmlschema.version>
188189
<snappy.version>1.1.10.8</snappy.version>
@@ -219,6 +220,7 @@
219220
<netty-tcnative.version>2.0.74.Final</netty-tcnative.version>
220221
<icu4j.version>77.1</icu4j.version>
221222
<junit.version>6.0.0</junit.version>
223+
<jline.version>2.14.6</jline.version>
222224
<!--
223225
SPARK-50299: When updating `sbt-jupiter-interface.version`,
224226
also need to update the version in `SparkBuild.scala` and `plugins.sbt`.
@@ -1180,7 +1182,7 @@
11801182
<dependency>
11811183
<groupId>jline</groupId>
11821184
<artifactId>jline</artifactId>
1183-
<version>2.14.6</version>
1185+
<version>${jline.version}</version>
11841186
</dependency>
11851187
<dependency>
11861188
<groupId>org.scalatest</groupId>

project/SparkBuild.scala

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1186,15 +1186,26 @@ object KubernetesIntegrationTests {
11861186
* Overrides to work around sbt's dependency resolution being different from Maven's.
11871187
*/
11881188
object DependencyOverrides {
1189-
lazy val guavaVersion = sys.props.get("guava.version").getOrElse("33.4.0-jre")
11901189
lazy val jacksonVersion = sys.props.get("fasterxml.jackson.version").getOrElse("2.20.0")
11911190
lazy val jacksonDeps = Bom.dependencies("com.fasterxml.jackson" % "jackson-bom" % jacksonVersion)
11921191
lazy val settings = jacksonDeps ++ Seq(
1193-
dependencyOverrides += "com.google.guava" % "guava" % guavaVersion,
1194-
dependencyOverrides ++= jacksonDeps.key.value,
1195-
dependencyOverrides += "jline" % "jline" % "2.14.6",
1196-
dependencyOverrides += "org.apache.avro" % "avro" % "1.12.1",
1197-
dependencyOverrides += "org.slf4j" % "slf4j-api" % "2.0.17")
1192+
dependencyOverrides ++= {
1193+
val guavaVersion = sys.props.get("guava.version").getOrElse(
1194+
SbtPomKeys.effectivePom.value.getProperties.get("guava.version").asInstanceOf[String])
1195+
val jlineVersion =
1196+
SbtPomKeys.effectivePom.value.getProperties.get("jline.version").asInstanceOf[String]
1197+
val avroVersion =
1198+
SbtPomKeys.effectivePom.value.getProperties.get("avro.version").asInstanceOf[String]
1199+
val slf4jVersion =
1200+
SbtPomKeys.effectivePom.value.getProperties.get("slf4j.version").asInstanceOf[String]
1201+
Seq(
1202+
"com.google.guava" % "guava" % guavaVersion,
1203+
"jline" % "jline" % jlineVersion,
1204+
"org.apache.avro" % "avro" % avroVersion,
1205+
"org.slf4j" % "slf4j-api" % slf4jVersion
1206+
) ++ jacksonDeps.key.value
1207+
}
1208+
)
11981209
}
11991210

12001211
/**

0 commit comments

Comments
 (0)