aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosh Rosen <joshrosen@databricks.com>2016-04-11 10:53:26 -0700
committerJosh Rosen <joshrosen@databricks.com>2016-04-11 10:53:26 -0700
commit8992c419273f68e3008da2ed414957c11fc979a1 (patch)
treeb6913aaa02f32d3af3203a184033883b027f9bf2
parent7962751fa3382a311ece0eb3954b8cb0f3e6cfa3 (diff)
downloadspark-8992c419273f68e3008da2ed414957c11fc979a1.tar.gz
spark-8992c419273f68e3008da2ed414957c11fc979a1.tar.bz2
spark-8992c419273f68e3008da2ed414957c11fc979a1.zip
POM updates for 2.12 profile.
-rw-r--r--core/pom.xml1
-rw-r--r--pom.xml68
-rw-r--r--project/SparkBuild.scala32
-rw-r--r--sql/core/pom.xml2
-rw-r--r--tools/pom.xml2
5 files changed, 82 insertions, 23 deletions
diff --git a/core/pom.xml b/core/pom.xml
index 4c7e3a3662..7349ad35b9 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -192,7 +192,6 @@
<dependency>
<groupId>org.json4s</groupId>
<artifactId>json4s-jackson_${scala.binary.version}</artifactId>
- <version>3.2.10</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
diff --git a/pom.xml b/pom.xml
index b4cfa3a598..bd82233f0c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -93,7 +93,10 @@
<module>common/tags</module>
<module>core</module>
<module>graphx</module>
- <module>mllib</module>
+ <!-- Note: the ML and Kafka modules would typically be defined here, but because their
+ dependencies are not 2.12-ready we need to conditionally enable those modules via the
+ 2.11 and 2.10 build profiles -->
+ <!-- <module>mllib</module> -->
<module>tools</module>
<module>streaming</module>
<module>sql/catalyst</module>
@@ -107,8 +110,8 @@
<module>examples</module>
<module>repl</module>
<module>launcher</module>
- <module>external/kafka</module>
- <module>external/kafka-assembly</module>
+ <!-- <module>external/kafka</module> -->
+ <!-- <module>external/kafka-assembly</module> -->
</modules>
<properties>
@@ -162,6 +165,7 @@
<jline.groupid>org.scala-lang</jline.groupid>
<codehaus.jackson.version>1.9.13</codehaus.jackson.version>
<fasterxml.jackson.version>2.5.3</fasterxml.jackson.version>
+ <fasterxml.jackson.scala.version>2.5.3</fasterxml.jackson.scala.version>
<snappy.version>1.1.2.1</snappy.version>
<netlib.java.version>1.1.2</netlib.java.version>
<calcite.version>1.2.0-incubating</calcite.version>
@@ -178,6 +182,7 @@
<jsr305.version>1.3.9</jsr305.version>
<libthrift.version>0.9.2</libthrift.version>
<antlr.version>3.5.2</antlr.version>
+ <json4s.version>3.2.2</json4s.version>
<test.java.home>${java.home}</test.java.home>
<test.exclude.tags></test.exclude.tags>
@@ -584,7 +589,7 @@
<dependency>
<groupId>com.fasterxml.jackson.module</groupId>
<artifactId>jackson-module-scala_${scala.binary.version}</artifactId>
- <version>${fasterxml.jackson.version}</version>
+ <version>${fasterxml.jackson.scala.version}</version>
<exclusions>
<exclusion>
<groupId>com.google.guava</groupId>
@@ -593,6 +598,11 @@
</exclusions>
</dependency>
<dependency>
+ <groupId>org.json4s</groupId>
+ <artifactId>json4s-jackson_${scala.binary.version}</artifactId>
+ <version>${json4s.version}</version>
+ </dependency>
+ <dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-server</artifactId>
<version>${jersey.version}</version>
@@ -2449,6 +2459,13 @@
<jline.version>${scala.version}</jline.version>
<jline.groupid>org.scala-lang</jline.groupid>
</properties>
+ <!-- TODO: remove these from here and always enable them in root POM once these modules'
+ dependencies are 2.12-ready -->
+ <modules>
+ <module>mllib</module>
+ <module>external/kafka</module>
+ <module>external/kafka-assembly</module>
+ </modules>
<dependencyManagement>
<dependencies>
<dependency>
@@ -2461,23 +2478,52 @@
</profile>
<profile>
- <id>test-java-home</id>
+ <id>scala-2.11</id>
+ <!-- Note: this profile has no activation because it only serves to document the build's
+ defaults, which use Scala 2.11. The properties here should be kept in sync with the
+ build's default settings, which are defined at the top of this root POM. -->
+ <!-- UPDATE: for now, we need to alwass explicitl pass -Dscala-2.11 for 2.11 builds -->
<activation>
- <property><name>env.JAVA_HOME</name></property>
+ <property><name>scala-2.11</name></property>
</activation>
<properties>
- <test.java.home>${env.JAVA_HOME}</test.java.home>
+ <scala.version>2.11.7</scala.version>
+ <scala.binary.version>2.11</scala.binary.version>
+ </properties>
+ <!-- TODO: remove these from here and always enable them in root POM once these modules'
+ dependencies are 2.12-ready -->
+ <modules>
+ <module>mllib</module>
+ <module>external/kafka</module>
+ <module>external/kafka-assembly</module>
+ </modules>
+ </profile>
+
+ <profile>
+ <id>scala-2.12</id>
+ <activation>
+ <property><name>scala-2.12</name></property>
+ </activation>
+ <properties>
+ <scala.version>2.12.0-M4</scala.version>
+ <scala.binary.version>2.12.0-M4</scala.binary.version>
+ <!-- This corresponds to https://github.com/twitter/chill/pull/253 -->
+ <chill.version>0.8.1-SNAPSHOT</chill.version>
+ <!-- This corresponds to https://github.com/FasterXML/jackson-module-scala/pull/247 -->
+ <fasterxml.jackson.scala.version>2.7.3-SNAPSHOT</fasterxml.jackson.scala.version>
+ <fasterxml.jackson.version>2.7.0</fasterxml.jackson.version>
+ <!-- This corresponds to https://github.com/JoshRosen/json4s/tree/scala-2.12.0-m4 -->
+ <json4s.version>3.4.0-SNAPSHOT</json4s.version>
</properties>
</profile>
<profile>
- <id>scala-2.11</id>
+ <id>test-java-home</id>
<activation>
- <property><name>!scala-2.10</name></property>
+ <property><name>env.JAVA_HOME</name></property>
</activation>
<properties>
- <scala.version>2.11.7</scala.version>
- <scala.binary.version>2.11</scala.binary.version>
+ <test.java.home>${env.JAVA_HOME}</test.java.home>
</properties>
</profile>
diff --git a/project/SparkBuild.scala b/project/SparkBuild.scala
index fb229b979d..6c10d740f7 100644
--- a/project/SparkBuild.scala
+++ b/project/SparkBuild.scala
@@ -124,6 +124,8 @@ object SparkBuild extends PomBuild {
// 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.10", "true")
+ } else if (System.getProperty("scala-2.12") == "") {
+ System.setProperty("scala-2.12", "true")
}
profiles
}
@@ -139,10 +141,17 @@ object SparkBuild extends PomBuild {
lazy val MavenCompile = config("m2r") extend(Compile)
lazy val publishLocalBoth = TaskKey[Unit]("publish-local", "publish local for m2 and ivy")
- lazy val sparkGenjavadocSettings: Seq[sbt.Def.Setting[_]] = Seq(
- libraryDependencies += compilerPlugin(
- "org.spark-project" %% "genjavadoc-plugin" % unidocGenjavadocVersion.value cross CrossVersion.full),
- scalacOptions <+= target.map(t => "-P:genjavadoc:out=" + (t / "java")))
+ lazy val sparkGenjavadocSettings: Seq[sbt.Def.Setting[_]] = {
+ if (System.getProperty("scala-2.12") != null) {
+ // TODO: re-enable once our custom genjavadoc is published for 2.12 (see SPARK-14511).
+ Seq.empty
+ } else {
+ Seq(
+ libraryDependencies += compilerPlugin(
+ "org.spark-project" %% "genjavadoc-plugin" % unidocGenjavadocVersion.value cross CrossVersion.full),
+ scalacOptions <+= target.map(t => "-P:genjavadoc:out=" + (t / "java")))
+ }
+ }
lazy val sharedSettings = sparkGenjavadocSettings ++ Seq (
exportJars in Compile := true,
@@ -248,11 +257,16 @@ object SparkBuild extends PomBuild {
/* Enable tests settings for all projects except examples, assembly and tools */
(allProjects ++ optionallyEnabledProjects).foreach(enable(TestSettings.settings))
- val mimaProjects = allProjects.filterNot { x =>
- Seq(
- spark, hive, hiveThriftServer, catalyst, repl, networkCommon, networkShuffle, networkYarn,
- unsafe, testTags, sketch
- ).contains(x)
+ // TODO: remove this conditional after Spark publishes with 2.12 support:
+ lazy val mimaProjects = if (System.getProperty("scala-2.12") == null) {
+ allProjects.filterNot { x =>
+ Seq(
+ spark, hive, hiveThriftServer, catalyst, repl, networkCommon, networkShuffle, networkYarn,
+ unsafe, testTags, sketch
+ ).contains(x)
+ }
+ } else {
+ Seq.empty
}
mimaProjects.foreach { x =>
diff --git a/sql/core/pom.xml b/sql/core/pom.xml
index 708670b292..f347a9929c 100644
--- a/sql/core/pom.xml
+++ b/sql/core/pom.xml
@@ -44,7 +44,7 @@
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
- <artifactId>spark-sketch_2.11</artifactId>
+ <artifactId>spark-sketch_${scala.binary.version}</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
diff --git a/tools/pom.xml b/tools/pom.xml
index 9bb20e1381..9b94b6d823 100644
--- a/tools/pom.xml
+++ b/tools/pom.xml
@@ -45,7 +45,7 @@
<dependency>
<groupId>org.clapper</groupId>
<artifactId>classutil_${scala.binary.version}</artifactId>
- <version>1.0.6</version>
+ <version>1.0.8</version>
</dependency>
</dependencies>