Skip to content

Commit 8c2bf15

Browse files
authored
Add Spark 3.4 and 3.5 support (scalapb#365)
Add Spark 3.4 and 3.5 support
1 parent 8bfc253 commit 8c2bf15

File tree

2 files changed

+33
-6
lines changed

2 files changed

+33
-6
lines changed

CHANEGELOG.md

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 1.0.4
2+
3+
* Add support for Spark 3.4.x and Spark 3.5.x
4+
15
## 1.0.2
26

37
* Add support for Spark 3.3.x, remove support for Spark 3.0.x
@@ -15,4 +19,3 @@
1519
### Breaking changes
1620
* Protobuf maps are now represented as Spark in maps. Prior to this change
1721
maps were represented as a list of key-value structs. (#79)
18-

build.sbt

+29-5
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ val Scala212 = "2.12.18"
1212

1313
val Scala213 = "2.13.12"
1414

15+
lazy val Spark35 = Spark("3.5.0")
16+
17+
lazy val Spark34 = Spark("3.4.2")
18+
1519
lazy val Spark33 = Spark("3.3.3")
1620

1721
lazy val Spark32 = Spark("3.2.3")
@@ -24,6 +28,8 @@ lazy val ScalaPB0_10 = ScalaPB("0.10.11")
2428

2529
lazy val framelessDatasetName = settingKey[String]("frameless-dataset-name")
2630

31+
lazy val framelessDatasetVersion = settingKey[String]("frameless-dataset-version")
32+
2733
lazy val spark = settingKey[Spark]("spark")
2834

2935
lazy val scalapb = settingKey[ScalaPB]("scalapb")
@@ -44,7 +50,7 @@ lazy val `sparksql-scalapb` = (projectMatrix in file("sparksql-scalapb"))
4450
.defaultAxes()
4551
.settings(
4652
libraryDependencies ++= Seq(
47-
"org.typelevel" %% framelessDatasetName.value % "0.14.0",
53+
"org.typelevel" %% framelessDatasetName.value % framelessDatasetVersion.value,
4854
"com.thesamet.scalapb" %% "scalapb-runtime" % scalapb.value.scalapbVersion,
4955
"com.thesamet.scalapb" %% "scalapb-runtime" % scalapb.value.scalapbVersion % "protobuf",
5056
"org.apache.spark" %% "spark-sql" % spark.value.sparkVersion % "provided",
@@ -77,10 +83,18 @@ lazy val `sparksql-scalapb` = (projectMatrix in file("sparksql-scalapb"))
7783
},
7884
framelessDatasetName := {
7985
spark.value match {
80-
case Spark33 => "frameless-dataset"
81-
case Spark32 => "frameless-dataset-spark32"
82-
case Spark31 => "frameless-dataset-spark31"
83-
case _ => ???
86+
case Spark35 | Spark34 | Spark33 => "frameless-dataset"
87+
case Spark32 => "frameless-dataset-spark32"
88+
case Spark31 => "frameless-dataset-spark31"
89+
case _ => ???
90+
}
91+
},
92+
framelessDatasetVersion := {
93+
spark.value match {
94+
case Spark35 | Spark34 | Spark33 => "0.16.0" // NPE in 3.4, 3.5 if older lib versions used
95+
case Spark32 => "0.15.0" // Spark3.2 support dropped in ver > 0.15.0
96+
case Spark31 => "0.14.0" // Spark3.1 support dropped in ver > 0.14.0
97+
case _ => ???
8498
}
8599
},
86100
name := s"sparksql${spark.value.majorVersion}${spark.value.minorVersion}-${scalapb.value.idSuffix}",
@@ -93,6 +107,16 @@ lazy val `sparksql-scalapb` = (projectMatrix in file("sparksql-scalapb"))
93107
Test / run / fork := true,
94108
Test / javaOptions ++= Seq("-Xmx2G")
95109
)
110+
.customRow(
111+
scalaVersions = Seq(Scala212, Scala213),
112+
axisValues = Seq(Spark35, ScalaPB0_11, VirtualAxis.jvm),
113+
settings = Seq()
114+
)
115+
.customRow(
116+
scalaVersions = Seq(Scala212, Scala213),
117+
axisValues = Seq(Spark34, ScalaPB0_11, VirtualAxis.jvm),
118+
settings = Seq()
119+
)
96120
.customRow(
97121
scalaVersions = Seq(Scala212, Scala213),
98122
axisValues = Seq(Spark33, ScalaPB0_11, VirtualAxis.jvm),

0 commit comments

Comments
 (0)