Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion docs/_plugins/build_api_docs.rb
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,9 @@ def build_spark_scala_and_java_docs_if_necessary
return
end

command = "build/sbt -Pkinesis-asl unidoc"
# Drop stale genjavadoc trees (target/java) before unifying Javadoc; leftover stubs
# (e.g. from a partial or Test/doc run) can make JavaUnidoc fail (SPARK-56827).
command = "build/sbt -Pkinesis-asl cleanGenjavadocOutput unidoc"
puts "Running '#{command}'..."

# Two filter passes on the unidoc output:
Expand Down
12 changes: 12 additions & 0 deletions project/SparkBuild.scala
Original file line number Diff line number Diff line change
Expand Up @@ -1605,6 +1605,11 @@ object Unidoc {
import sbtunidoc.JavaUnidocPlugin.autoImport._
import sbtunidoc.ScalaUnidocPlugin.autoImport._

val cleanGenjavadocOutput = taskKey[Unit](
"Delete each module's target/java tree (genjavadoc stubs) before unified API docs " +
"so JavaUnidoc cannot pick up stale files (SPARK-56827)."
)

protected def ignoreUndocumentedPackages(packages: Seq[Seq[File]]): Seq[Seq[File]] = {
packages
.map(_.filterNot(_.getName.contains("$")))
Expand Down Expand Up @@ -1729,6 +1734,13 @@ object Unidoc {
inAnyProject -- inProjects(OldDeps.project, repl, examples, tools, kubernetes,
yarn, tags, streamingKafka010, sqlKafka010, connectCommon, connect, connectJdbc,
connectClient, connectShims, protobuf, profiler, udfWorkerProto, udfWorkerCore),

cleanGenjavadocOutput := {
val dirs = target.all(ScopeFilter(inAnyProject)).value
.map(_ / "java")
.filter(_.isDirectory)
IO.delete(dirs)
}
)
}

Expand Down