aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcelo Vanzin <vanzin@cloudera.com>2015-04-11 13:10:01 +0100
committerSean Owen <sowen@cloudera.com>2015-04-11 13:10:01 +0100
commit694aef0d71d2683eaf63cbd1d8e95c2da423b72e (patch)
treefbdb664127faed8239519d15cd854b567a8a4e84
parent95a07591b3e23782a7021ef2bbf07a67a1e4a83a (diff)
downloadspark-694aef0d71d2683eaf63cbd1d8e95c2da423b72e.tar.gz
spark-694aef0d71d2683eaf63cbd1d8e95c2da423b72e.tar.bz2
spark-694aef0d71d2683eaf63cbd1d8e95c2da423b72e.zip
[hotfix] [build] Make sure JAVA_HOME is set for tests.
This is needed at least for YARN integration tests, since `$JAVA_HOME` is used to launch the executors. Author: Marcelo Vanzin <vanzin@cloudera.com> Closes #5441 from vanzin/yarn-test-test and squashes the following commits: 3eeec30 [Marcelo Vanzin] Use JAVA_HOME when available, java.home otherwise. d71f1bb [Marcelo Vanzin] And sbt too. 6bda399 [Marcelo Vanzin] WIP: Testing to see whether this fixes the yarn test issue.
-rw-r--r--pom.xml14
-rw-r--r--project/SparkBuild.scala10
2 files changed, 21 insertions, 3 deletions
diff --git a/pom.xml b/pom.xml
index 70e297c4f0..d8881c213b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -159,6 +159,8 @@
<snappy.version>1.1.1.6</snappy.version>
<netlib.java.version>1.1.2</netlib.java.version>
+ <test.java.home>${java.home}</test.java.home>
+
<!--
Dependency scopes that can be overridden by enabling certain profiles. These profiles are
declared in the projects that build assemblies.
@@ -1194,6 +1196,7 @@
launched by the tests have access to the correct test-time classpath.
-->
<SPARK_DIST_CLASSPATH>${test_classpath}</SPARK_DIST_CLASSPATH>
+ <JAVA_HOME>${test.java.home}</JAVA_HOME>
</environmentVariables>
<systemProperties>
<java.awt.headless>true</java.awt.headless>
@@ -1224,6 +1227,7 @@
launched by the tests have access to the correct test-time classpath.
-->
<SPARK_DIST_CLASSPATH>${test_classpath}</SPARK_DIST_CLASSPATH>
+ <JAVA_HOME>${test.java.home}</JAVA_HOME>
</environmentVariables>
<systemProperties>
<java.awt.headless>true</java.awt.headless>
@@ -1717,6 +1721,16 @@
</profile>
<profile>
+ <id>test-java-home</id>
+ <activation>
+ <property><name>env.JAVA_HOME</name></property>
+ </activation>
+ <properties>
+ <test.java.home>${env.JAVA_HOME}</test.java.home>
+ </properties>
+ </profile>
+
+ <profile>
<id>scala-2.11</id>
<activation>
<property><name>scala-2.11</name></property>
diff --git a/project/SparkBuild.scala b/project/SparkBuild.scala
index d3faa551a4..5f51f4b58f 100644
--- a/project/SparkBuild.scala
+++ b/project/SparkBuild.scala
@@ -119,7 +119,9 @@ object SparkBuild extends PomBuild {
lazy val publishLocalBoth = TaskKey[Unit]("publish-local", "publish local for m2 and ivy")
lazy val sharedSettings = graphSettings ++ genjavadocSettings ++ Seq (
- javaHome := Properties.envOrNone("JAVA_HOME").map(file),
+ javaHome := sys.env.get("JAVA_HOME")
+ .orElse(sys.props.get("java.home").map { p => new File(p).getParentFile().getAbsolutePath() })
+ .map(file),
incOptions := incOptions.value.withNameHashing(true),
retrieveManaged := true,
retrievePattern := "[type]s/[artifact](-[revision])(-[classifier]).[ext]",
@@ -426,8 +428,10 @@ object TestSettings {
fork := true,
// Setting SPARK_DIST_CLASSPATH is a simple way to make sure any child processes
// launched by the tests have access to the correct test-time classpath.
- envVars in Test += ("SPARK_DIST_CLASSPATH" ->
- (fullClasspath in Test).value.files.map(_.getAbsolutePath).mkString(":").stripSuffix(":")),
+ envVars in Test ++= Map(
+ "SPARK_DIST_CLASSPATH" ->
+ (fullClasspath in Test).value.files.map(_.getAbsolutePath).mkString(":").stripSuffix(":"),
+ "JAVA_HOME" -> sys.env.get("JAVA_HOME").getOrElse(sys.props("java.home"))),
javaOptions in Test += "-Dspark.test.home=" + sparkHome,
javaOptions in Test += "-Dspark.testing=1",
javaOptions in Test += "-Dspark.port.maxRetries=100",