From 24eed00b8ebb5d0463cbc0dd7930c4084d7ed547 Mon Sep 17 00:00:00 2001 From: Kousuke Saruta Date: Thu, 1 Oct 2020 20:03:10 +0900 Subject: [PATCH 1/2] Modified SparkBuild.scala to support Scala 2.13. --- project/SparkBuild.scala | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/project/SparkBuild.scala b/project/SparkBuild.scala index 160b3b5e7edb3..58461923d428f 100644 --- a/project/SparkBuild.scala +++ b/project/SparkBuild.scala @@ -95,20 +95,18 @@ object SparkBuild extends PomBuild { v.split("(\\s+|,)").filterNot(_.isEmpty).map(_.trim.replaceAll("-P", "")).toSeq } - // TODO: revisit for Scala 2.13 support - /* Option(System.getProperty("scala.version")) - .filter(_.startsWith("2.11")) + .filter(_.startsWith("2.13")) .foreach { versionString => - System.setProperty("scala-2.11", "true") + System.setProperty("scala-2.13", "true") } - if (System.getProperty("scala-2.11") == "") { - // To activate scala-2.10 profile, replace empty property value to non-empty value + if (System.getProperty("scala-2.13") == "") { + // To activate scala-2.13 profile, replace empty property value to non-empty value // in the same way as Maven which handles -Dname as -Dname=true before executes build process. // see: https://github.com/apache/maven/blob/maven-3.0.4/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java#L1082 - System.setProperty("scala-2.11", "true") + System.setProperty("scala-2.13", "true") } - */ + profiles } @@ -966,15 +964,12 @@ object CopyDependencies { object TestSettings { import BuildCommons._ - // TODO revisit for Scala 2.13 support - private val scalaBinaryVersion = "2.12" - /* - if (System.getProperty("scala-2.11") == "true") { - "2.11" + private val scalaBinaryVersion = + if (System.getProperty("scala-2.13") == "true") { + "2.13" } else { "2.12" } - */ private val defaultExcludedTags = Seq("org.apache.spark.tags.ChromeUITest") From 833c2dd380a155d0487dd6d2a6179ac9d8d85ea9 Mon Sep 17 00:00:00 2001 From: Kousuke Saruta Date: Thu, 1 Oct 2020 21:44:45 +0900 Subject: [PATCH 2/2] Modified SparkBuild.scala to allow build with Scala 2.13 without both -Dscala.version=2.13.3 and -Pscala-2.13. --- project/SparkBuild.scala | 23 +---------------------- 1 file changed, 1 insertion(+), 22 deletions(-) diff --git a/project/SparkBuild.scala b/project/SparkBuild.scala index 58461923d428f..6328daec027ef 100644 --- a/project/SparkBuild.scala +++ b/project/SparkBuild.scala @@ -94,19 +94,6 @@ object SparkBuild extends PomBuild { case Some(v) => v.split("(\\s+|,)").filterNot(_.isEmpty).map(_.trim.replaceAll("-P", "")).toSeq } - - Option(System.getProperty("scala.version")) - .filter(_.startsWith("2.13")) - .foreach { versionString => - System.setProperty("scala-2.13", "true") - } - if (System.getProperty("scala-2.13") == "") { - // To activate scala-2.13 profile, replace empty property value to non-empty value - // in the same way as Maven which handles -Dname as -Dname=true before executes build process. - // see: https://github.com/apache/maven/blob/maven-3.0.4/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java#L1082 - System.setProperty("scala-2.13", "true") - } - profiles } @@ -963,14 +950,6 @@ object CopyDependencies { object TestSettings { import BuildCommons._ - - private val scalaBinaryVersion = - if (System.getProperty("scala-2.13") == "true") { - "2.13" - } else { - "2.12" - } - private val defaultExcludedTags = Seq("org.apache.spark.tags.ChromeUITest") lazy val settings = Seq ( @@ -983,7 +962,7 @@ object TestSettings { (fullClasspath in Test).value.files.map(_.getAbsolutePath) .mkString(File.pathSeparator).stripSuffix(File.pathSeparator), "SPARK_PREPEND_CLASSES" -> "1", - "SPARK_SCALA_VERSION" -> scalaBinaryVersion, + "SPARK_SCALA_VERSION" -> scalaBinaryVersion.value, "SPARK_TESTING" -> "1", "JAVA_HOME" -> sys.env.get("JAVA_HOME").getOrElse(sys.props("java.home"))), javaOptions in Test += s"-Djava.io.tmpdir=$testTempDir",