Skip to content

Commit d4e37b4

Browse files
committed
Backport build system fixes from upstream apache#1361
1 parent 04489b7 commit d4e37b4

File tree

3 files changed

+26
-14
lines changed

3 files changed

+26
-14
lines changed

build.sbt

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ import sbt.{Compile, moduleFilter, _}
44
import sbtassembly.AssemblyPlugin.autoImport.assembly
55

66
lazy val scala212 = "2.12.11"
7-
lazy val supportedScalaVersions = List(scala212)
7+
lazy val scala213 = "2.13.11"
8+
lazy val supportedScalaVersions = List(scala212, scala213)
89

910
// factor out common settings
1011
ThisBuild / scalaVersion := scala212
@@ -60,16 +61,18 @@ lazy val commonSettings = Seq(
6061
fork := true,
6162
parallelExecution := true,
6263
testForkedParallel := false,
63-
testOptions += Tests.Argument(TestFrameworks.JUnit, "-v")
64+
testOptions += Tests.Argument(TestFrameworks.JUnit, "-v"),
6465
)
6566

67+
6668
val annotationProcessor = Seq(
6769
"-processor", "com.datastax.oss.driver.internal.mapper.processor.MapperProcessor"
6870
)
6971

7072
def scalacVersionDependantOptions(scalaBinary: String): Seq[String] = scalaBinary match {
7173
case "2.11" => Seq()
7274
case "2.12" => Seq("-no-java-comments") //Scala Bug on inner classes, CassandraJavaUtil,
75+
case "2.13" => Seq("-no-java-comments") //Scala Bug on inner classes, CassandraJavaUtil,
7376
}
7477

7578
lazy val root = (project in file("."))
@@ -81,6 +84,7 @@ lazy val root = (project in file("."))
8184
publish / skip := true
8285
)
8386

87+
8488
lazy val connector = (project in file("connector"))
8589
.configs(IntegrationTest)
8690
.settings(Defaults.itSettings: _*) //This and above enables the "it" suite
@@ -105,6 +109,7 @@ lazy val connector = (project in file("connector"))
105109
Global / concurrentRestrictions := Seq(Tags.limitAll(Testing.parallelTasks)),
106110

107111
libraryDependencies ++= Dependencies.Spark.dependencies
112+
++ Dependencies.Compatibility.dependencies(scalaVersion.value)
108113
++ Dependencies.TestConnector.dependencies
109114
++ Dependencies.Jetty.dependencies,
110115

@@ -121,7 +126,8 @@ lazy val testSupport = (project in file("test-support"))
121126
.settings(
122127
crossScalaVersions := supportedScalaVersions,
123128
name := "spark-cassandra-connector-test-support",
124-
libraryDependencies ++= Dependencies.TestSupport.dependencies
129+
libraryDependencies ++= Dependencies.Compatibility.dependencies(scalaVersion.value)
130+
++ Dependencies.TestSupport.dependencies
125131
)
126132

127133
lazy val driver = (project in file("driver"))
@@ -131,7 +137,8 @@ lazy val driver = (project in file("driver"))
131137
crossScalaVersions := supportedScalaVersions,
132138
name := "spark-cassandra-connector-driver",
133139
assembly /test := {},
134-
libraryDependencies ++= Dependencies.Driver.dependencies
140+
libraryDependencies ++= Dependencies.Compatibility.dependencies(scalaVersion.value)
141+
++ Dependencies.Driver.dependencies
135142
++ Dependencies.TestDriver.dependencies
136143
:+ ("org.scala-lang" % "scala-reflect" % scalaVersion.value)
137144
)

project/Dependencies.scala

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,9 +79,22 @@ object Dependencies
7979
val commonsLang3 = "org.apache.commons" % "commons-lang3" % Versions.CommonsLang3
8080
val paranamer = "com.thoughtworks.paranamer" % "paranamer" % Versions.Paranamer
8181

82+
8283
val dependencies = Seq(driverCore, driverMapper, commonsLang3, paranamer)
8384
}
8485

86+
object Compatibility {
87+
val scalaCompat = "org.scala-lang.modules" %% "scala-collection-compat" % Versions.ScalaCompat
88+
val parallelCollections = "org.scala-lang.modules" %% "scala-parallel-collections" % Versions.ParallelCollections
89+
90+
def dependencies(version: String): Seq[ModuleID] = {
91+
CrossVersion.partialVersion(version) match {
92+
case Some((2, scalaMajor)) if scalaMajor == 13 => Seq(scalaCompat, parallelCollections)
93+
case _ => Seq(scalaCompat)
94+
}
95+
}
96+
}
97+
8598
object TestDriver {
8699
val dependencies = Seq(
87100
TestCommon.scalaTest % "test",

project/Versions.scala

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,6 @@ object Versions {
2525
val SparkJetty = "9.3.27.v20190418"
2626
val SolrJ = "8.3.0"
2727

28-
/*
29-
val status = (versionInReapply: String, binaryInReapply: String) =>
30-
println(s"""
31-
| Scala: $versionInReapply
32-
| Scala Binary: $binaryInReapply
33-
| Java: target=$JDK user=${Properties.javaVersion}
34-
| Cassandra version for testing: ${Testing.cassandraTestVersion} [can be overridden by specifying '-Dtest.cassandra.version=<version>']
35-
""".stripMargin)
36-
37-
*/
28+
val ScalaCompat = "2.11.0"
29+
val ParallelCollections = "1.0.4"
3830
}

0 commit comments

Comments
 (0)