summaryrefslogtreecommitdiff
path: root/project/build/Scaladoc.scala
diff options
context:
space:
mode:
authormoix <moix@epfl.ch>2010-07-29 09:52:28 +0000
committermoix <moix@epfl.ch>2010-07-29 09:52:28 +0000
commite3ca222e48fa917d631c1ee6ecbc8a594ae76d10 (patch)
treec5c719ee1b38d5f238ee513279fda4f8cb263283 /project/build/Scaladoc.scala
parent26bbdbe3a21d17f5b2a94ea528eb4508d2b3b13e (diff)
downloadscala-e3ca222e48fa917d631c1ee6ecbc8a594ae76d10.tar.gz
scala-e3ca222e48fa917d631c1ee6ecbc8a594ae76d10.tar.bz2
scala-e3ca222e48fa917d631c1ee6ecbc8a594ae76d10.zip
First version of SBT build for Scala compiler/l...
First version of SBT build for Scala compiler/library (see README)
Diffstat (limited to 'project/build/Scaladoc.scala')
-rw-r--r--project/build/Scaladoc.scala51
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)
+ }
+ }
+
+}