[SPARK-5610] [DOC] update genjavadocSettings to use the patched version of genjavadoc
This PR updates `genjavadocSettings` to use a patched version of `genjavadoc-plugin` that hides package private classes/methods/interfaces in the generated Java API doc. The patch can be found at: https://github.com/typesafehub/genjavadoc/compare/master...mengxr:spark-1.4.
It wasn't merged into the main repo because there exist corner cases where a package private Scala class has to be a Java public class in order to compile. This doesn't seem to apply to the Spark codebase. So we release a patched version under `org.spark-project` and use it in the Spark build. brkyvz is publishing the artifacts to Maven Central.
Need more people audit the generated APIs and make sure we don't have false negatives.
Current listed classes under `org.apache.spark.rdd`:
![screen shot 2015-05-29 at 12 48 52 pm](https://cloud.githubusercontent.com/assets/829644/7891396/28fb9daa-0601-11e5-8ed8-4e9522d25a71.png)
After this PR:
![screen shot 2015-05-29 at 12 48 23 pm](https://cloud.githubusercontent.com/assets/829644/7891408/408e210e-0601-11e5-975c-ff0a02eb5c91.png)
cc: pwendell rxin srowen
Author: Xiangrui Meng <meng@databricks.com>
Closes #6506 from mengxr/SPARK-5610 and squashes the following commits:
489c785 [Xiangrui Meng] update genjavadocSettings to use the patched version of genjavadoc
(cherry picked from commit 2b258e1c07
)
Signed-off-by: Reynold Xin <rxin@databricks.com>
This commit is contained in:
parent
df56309b04
commit
a60b8bf329
|
@ -23,7 +23,6 @@ import scala.collection.JavaConversions._
|
||||||
import sbt._
|
import sbt._
|
||||||
import sbt.Classpaths.publishTask
|
import sbt.Classpaths.publishTask
|
||||||
import sbt.Keys._
|
import sbt.Keys._
|
||||||
import sbtunidoc.Plugin.genjavadocSettings
|
|
||||||
import sbtunidoc.Plugin.UnidocKeys.unidocGenjavadocVersion
|
import sbtunidoc.Plugin.UnidocKeys.unidocGenjavadocVersion
|
||||||
import com.typesafe.sbt.pom.{loadEffectivePom, PomBuild, SbtPomKeys}
|
import com.typesafe.sbt.pom.{loadEffectivePom, PomBuild, SbtPomKeys}
|
||||||
import net.virtualvoid.sbt.graph.Plugin.graphSettings
|
import net.virtualvoid.sbt.graph.Plugin.graphSettings
|
||||||
|
@ -118,7 +117,12 @@ object SparkBuild extends PomBuild {
|
||||||
lazy val MavenCompile = config("m2r") extend(Compile)
|
lazy val MavenCompile = config("m2r") extend(Compile)
|
||||||
lazy val publishLocalBoth = TaskKey[Unit]("publish-local", "publish local for m2 and ivy")
|
lazy val publishLocalBoth = TaskKey[Unit]("publish-local", "publish local for m2 and ivy")
|
||||||
|
|
||||||
lazy val sharedSettings = graphSettings ++ genjavadocSettings ++ Seq (
|
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 sharedSettings = graphSettings ++ sparkGenjavadocSettings ++ Seq (
|
||||||
javaHome := sys.env.get("JAVA_HOME")
|
javaHome := sys.env.get("JAVA_HOME")
|
||||||
.orElse(sys.props.get("java.home").map { p => new File(p).getParentFile().getAbsolutePath() })
|
.orElse(sys.props.get("java.home").map { p => new File(p).getParentFile().getAbsolutePath() })
|
||||||
.map(file),
|
.map(file),
|
||||||
|
@ -126,7 +130,7 @@ object SparkBuild extends PomBuild {
|
||||||
retrieveManaged := true,
|
retrieveManaged := true,
|
||||||
retrievePattern := "[type]s/[artifact](-[revision])(-[classifier]).[ext]",
|
retrievePattern := "[type]s/[artifact](-[revision])(-[classifier]).[ext]",
|
||||||
publishMavenStyle := true,
|
publishMavenStyle := true,
|
||||||
unidocGenjavadocVersion := "0.8",
|
unidocGenjavadocVersion := "0.9-spark0",
|
||||||
|
|
||||||
resolvers += Resolver.mavenLocal,
|
resolvers += Resolver.mavenLocal,
|
||||||
otherResolvers <<= SbtPomKeys.mvnLocalRepository(dotM2 => Seq(Resolver.file("dotM2", dotM2))),
|
otherResolvers <<= SbtPomKeys.mvnLocalRepository(dotM2 => Seq(Resolver.file("dotM2", dotM2))),
|
||||||
|
|
|
@ -25,7 +25,7 @@ addSbtPlugin("com.typesafe" % "sbt-mima-plugin" % "0.1.6")
|
||||||
|
|
||||||
addSbtPlugin("com.alpinenow" % "junit_xml_listener" % "0.5.1")
|
addSbtPlugin("com.alpinenow" % "junit_xml_listener" % "0.5.1")
|
||||||
|
|
||||||
addSbtPlugin("com.eed3si9n" % "sbt-unidoc" % "0.3.1")
|
addSbtPlugin("com.eed3si9n" % "sbt-unidoc" % "0.3.3")
|
||||||
|
|
||||||
addSbtPlugin("com.cavorite" % "sbt-avro" % "0.3.2")
|
addSbtPlugin("com.cavorite" % "sbt-avro" % "0.3.2")
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue