1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
import sbt._
import xsbt.AnalyzingCompiler
trait Scaladoc{
self:BasicLayer with Packer =>
lazy val documentationDestination = outputRootPath / "scaladoc"
lazy val libraryDocumentationDestination = documentationDestination / "library"
lazy val compilerDocumentationDestination = documentationDestination / "compiler"
lazy val libraryDoc= {
val reflect = librarySrcDir / "scala" / "reflect"
val runtime = librarySrcDir / "scala" / "runtime"
((librarySrcDir +++ actorsSrcDir +++ swingSrcDir)**("*.scala")---
reflect / "Code.scala" ---
reflect / "Manifest.scala" ---
reflect / "Print.scala" ---
reflect / "Symbol.scala" ---
reflect / "Tree.scala" ---
reflect / "Type.scala" ---
reflect / "TypedCode.scala" ---
runtime /"ScalaRunTime.scala" ---
runtime / "StreamCons.scala" ---
runtime / "StringAdd.scala" ---
runtime * ("*$.scala") ---
runtime *("*Array.scala")
)
}
lazy val compilerDoc = {
compilerSrcDir **("*.scala")
}
lazy val classpath ={
(antJar +++ jlineJar +++ msilJar +++ fjbgJar +++ forkJoinJar +++ outputLibraryJar +++ outputCompilerJar +++ outputPartestJar +++ outputScalapJar ).get
}
lazy val scaladoc = task{
val externalSbt = new ExternalTaskRunner(projectRoot,this.name,generateScaladoc.name,"Error generating the scaladoc",log)
externalSbt.runTask
}.dependsOn(pack)
lazy val generateScaladoc=task{
instanceScope[Option[String]]{ scala =>
lazy val compiler = new AnalyzingCompiler(scala,componentManager,xsbt.ClasspathOptions.manual,log)
val docGenerator = new sbt.Scaladoc(50,compiler)
docGenerator("Scala "+ versionNumber+" API", libraryDoc.get, classpath, libraryDocumentationDestination, Seq(), log) orElse
docGenerator("Scala Compiler"+ versionNumber+" API", compilerDoc.get, classpath, compilerDocumentationDestination, Seq(), log)
}
}
}
|