diff options
author | Takuya UESHIN <ueshin@happy-camper.st> | 2014-11-19 14:40:21 -0800 |
---|---|---|
committer | Patrick Wendell <pwendell@gmail.com> | 2014-11-19 14:40:21 -0800 |
commit | f9adda9afb63bfdb722be95304f991a3b38a54b3 (patch) | |
tree | c5a494a4ddaa557296661b66d202c4814fe86993 /project | |
parent | 9b7bbcef8863ecd69e7511825ef9c93d8632dac2 (diff) | |
download | spark-f9adda9afb63bfdb722be95304f991a3b38a54b3.tar.gz spark-f9adda9afb63bfdb722be95304f991a3b38a54b3.tar.bz2 spark-f9adda9afb63bfdb722be95304f991a3b38a54b3.zip |
[SPARK-4429][BUILD] Build for Scala 2.11 using sbt fails.
I tried to build for Scala 2.11 using sbt with the following command:
```
$ sbt/sbt -Dscala-2.11 assembly
```
but it ends with the following error messages:
```
[error] (streaming-kafka/*:update) sbt.ResolveException: unresolved dependency: org.apache.kafka#kafka_2.11;0.8.0: not found
[error] (catalyst/*:update) sbt.ResolveException: unresolved dependency: org.scalamacros#quasiquotes_2.11;2.0.1: not found
```
The reason is:
If system property `-Dscala-2.11` (without value) was set, `SparkBuild.scala` adds `scala-2.11` profile, but also `sbt-pom-reader` activates `scala-2.10` profile instead of `scala-2.11` profile because the activator `PropertyProfileActivator` used by `sbt-pom-reader` internally checks if the property value is empty or not.
The value is set to non-empty value, then no need to add profiles in `SparkBuild.scala` because `sbt-pom-reader` can handle as expected.
Author: Takuya UESHIN <ueshin@happy-camper.st>
Closes #3342 from ueshin/issues/SPARK-4429 and squashes the following commits:
14d86e8 [Takuya UESHIN] Add a comment.
4eef52b [Takuya UESHIN] Remove unneeded condition.
ce98d0f [Takuya UESHIN] Set non-empty value to system property "scala-2.11" if the property exists instead of adding profile.
Diffstat (limited to 'project')
-rw-r--r-- | project/SparkBuild.scala | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/project/SparkBuild.scala b/project/SparkBuild.scala index efc48e7f67..81d1f700f5 100644 --- a/project/SparkBuild.scala +++ b/project/SparkBuild.scala @@ -101,14 +101,13 @@ object SparkBuild extends PomBuild { v.split("(\\s+|,)").filterNot(_.isEmpty).map(_.trim.replaceAll("-P", "")).toSeq } - if (profiles.exists(_.contains("scala-"))) { - profiles - } else if (System.getProperty("scala-2.11") != null) { - profiles ++ Seq("scala-2.11") - } else { - println("Enabled default scala profile") - profiles ++ Seq("scala-2.10") + if (System.getProperty("scala-2.11") == "") { + // To activate scala-2.11 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") } + profiles } Properties.envOrNone("SBT_MAVEN_PROPERTIES") match { |