diff options
Diffstat (limited to 'project/build/Scaladoc.scala')
-rw-r--r-- | project/build/Scaladoc.scala | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/project/build/Scaladoc.scala b/project/build/Scaladoc.scala new file mode 100644 index 0000000000..d96fd4e3ae --- /dev/null +++ b/project/build/Scaladoc.scala @@ -0,0 +1,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,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) + } + } + +} |