Skip to content
Snippets Groups Projects
Commit 6cb71f47 authored by Josh Rosen's avatar Josh Rosen Committed by Yin Huai
Browse files

[SPARK-15839] Fix Maven doc-jar generation when JAVA_7_HOME is set

## What changes were proposed in this pull request?

It looks like the nightly Maven snapshots broke after we set `JAVA_7_HOME` in the build: https://amplab.cs.berkeley.edu/jenkins/view/Spark%20Packaging/job/spark-master-maven-snapshots/1573/. It seems that passing `-javabootclasspath` to ScalaDoc using scala-maven-plugin ends up preventing the Scala library classes from being added to scalac's internal class path, causing compilation errors while building doc-jars.

There might be a principled fix to this inside of the scala-maven-plugin itself, but for now this patch configures the build to omit the `-javabootclasspath` option during Maven doc-jar generation.

## How was this patch tested?

Tested manually with `build/mvn clean install -DskipTests=true` when `JAVA_7_HOME` was set. Also manually inspected the effective POM diff to verify that the final POM changes were scoped correctly: https://gist.github.com/JoshRosen/f889d1c236fad14fa25ac4be01654653

/cc vanzin and yhuai for review.

Author: Josh Rosen <joshrosen@databricks.com>

Closes #13573 from JoshRosen/SPARK-15839.
parent f74b7771
No related branches found
No related tags found
No related merge requests found
......@@ -2605,12 +2605,29 @@
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<configuration>
<args combine.children="append">
<arg>-javabootclasspath</arg>
<arg>${env.JAVA_7_HOME}/jre/lib/rt.jar</arg>
</args>
</configuration>
<!-- Note: -javabootclasspath is set on a per-execution basis rather than as a
plugin-wide configuration because doc-jar generation will break if it's
set; see SPARK-15839 for more details -->
<executions>
<execution>
<id>scala-compile-first</id>
<configuration>
<args combine.children="append">
<arg>-javabootclasspath</arg>
<arg>${env.JAVA_7_HOME}/jre/lib/rt.jar</arg>
</args>
</configuration>
</execution>
<execution>
<id>scala-test-compile-first</id>
<configuration>
<args combine.children="append">
<arg>-javabootclasspath</arg>
<arg>${env.JAVA_7_HOME}/jre/lib/rt.jar</arg>
</args>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment