diff options
author | Felix Mulder <felix.mulder@gmail.com> | 2017-01-13 13:38:44 +0100 |
---|---|---|
committer | Felix Mulder <felix.mulder@gmail.com> | 2017-01-31 14:31:08 +0100 |
commit | eeeada2083dead6ef15c2c45e4158fa677b8ec02 (patch) | |
tree | 0e5e634c3a5e5c69f17e1d4953a444ca766fbe09 /doc-tool/src/dotty | |
parent | 2c08c956d39d9a06b3c5aa7eddc3b8c903f807df (diff) | |
download | dotty-eeeada2083dead6ef15c2c45e4158fa677b8ec02.tar.gz dotty-eeeada2083dead6ef15c2c45e4158fa677b8ec02.tar.bz2 dotty-eeeada2083dead6ef15c2c45e4158fa677b8ec02.zip |
Fix dotty docs gen, scroll
Diffstat (limited to 'doc-tool/src/dotty')
3 files changed, 0 insertions, 150 deletions
diff --git a/doc-tool/src/dotty/tools/dottydoc/api/java/Dottydoc.java b/doc-tool/src/dotty/tools/dottydoc/api/java/Dottydoc.java index d10e145a8..a44413c75 100644 --- a/doc-tool/src/dotty/tools/dottydoc/api/java/Dottydoc.java +++ b/doc-tool/src/dotty/tools/dottydoc/api/java/Dottydoc.java @@ -2,7 +2,6 @@ package dotty.tools.dottydoc.api.java; import dotty.tools.dottydoc.DocDriver; import dotty.tools.dottydoc.model.Package; -import dotty.tools.dottydoc.util.OutputWriter; import java.util.Map; import java.util.List; import java.net.URL; @@ -46,19 +45,4 @@ public class Dottydoc { public String toJson(Map<String, Package> index) { return driver.indexToJsonJava(index); } - - /** Creates a documentation from the given parameters */ - public void buildDocs( - String outputDir, - URL template, - List<URL> resources, - Map<String, Package> index - ) { - new OutputWriter().writeJava(index, outputDir, template, resources); - } - - /** Writes JSON to an output directory as "index.json" */ - public void writeJson(Map<String, Package> index, String outputDir) { - new OutputWriter().writeJsonJava(index, outputDir); - } } diff --git a/doc-tool/src/dotty/tools/dottydoc/api/scala/Dottydoc.scala b/doc-tool/src/dotty/tools/dottydoc/api/scala/Dottydoc.scala index 37f97040b..1d0891bc2 100644 --- a/doc-tool/src/dotty/tools/dottydoc/api/scala/Dottydoc.scala +++ b/doc-tool/src/dotty/tools/dottydoc/api/scala/Dottydoc.scala @@ -2,7 +2,6 @@ package dotty.tools.dottydoc.api.scala import dotty.tools.dottydoc.DocDriver import dotty.tools.dottydoc.model.Package -import dotty.tools.dottydoc.util.OutputWriter import scala.collection.Map import java.net.URL @@ -37,12 +36,4 @@ trait Dottydoc extends DocDriver { /** Creates JSON from compiler arguments */ def createJsonIndex(args: Array[String]): String = indexToJson(compiledDocs(args)) - - /** Creates a documentation from the given parameters */ - def buildDocs(outDir: String, template: URL, resources: List[URL], index: Map[String, Package]) = - new OutputWriter().write(index, outDir, template, resources) - - /** Writes JSON to an output directory as "index.json" */ - def writeJson(index: Map[String, Package], outputDir: String) = - new OutputWriter().writeJson(index, outputDir) } diff --git a/doc-tool/src/dotty/tools/dottydoc/util/OutputWriter.scala b/doc-tool/src/dotty/tools/dottydoc/util/OutputWriter.scala deleted file mode 100644 index 2084e0a97..000000000 --- a/doc-tool/src/dotty/tools/dottydoc/util/OutputWriter.scala +++ /dev/null @@ -1,125 +0,0 @@ -package dotty.tools.dottydoc -package util - -import dotty.tools.dotc.config.Printers.dottydoc - -import _root_.java.io.{ - File => JFile, - PrintWriter => JPrintWriter, - FileReader => JFileReader, - BufferedInputStream, - InputStream, - InputStreamReader, - FileOutputStream, - BufferedOutputStream, - FileNotFoundException -} -import _root_.java.net.URL -import _root_.java.util.{ Map => JMap, List => JList } -import model.{ Entity, Package } -import model.json._ -import com.github.mustachejava.DefaultMustacheFactory -import scala.collection.JavaConverters._ - -class OutputWriter { - - def writeJava(packs: JMap[String, Package], outPath: String, template: URL, resources: JList[URL]): Unit = { - write(packs.asScala, outPath, template, resources.asScala) - } - - def write(packs: collection.Map[String, Package], outPath: String, template: URL, resources: Traversable[URL]): Unit = { - // Write all packages to `outPath` - for (pack <- packs.values) { - println(s"""Writing '${pack.path.mkString(".")}'""") - writeFile( - expandTemplate(template, pack, outPath), - outPath + pack.path.mkString("/", "/", "/"), - "index.html") - - // Write all package children to outPath - for { - child <- pack.children - if child.kind != "package" - } { - println(s"""Writing '${child.path.mkString(".")}'""") - writeFile( - expandTemplate(template, child, outPath), - outPath + child.path.dropRight(1).mkString("/", "/", "/"), - child.path.last + ".html") - } - } - - // Write full index to outPath - val js = "Index = {}; Index.packages = " + packs.json + ";" - println("Writing index.js...") - writeFile(js, outPath + "/docassets/", "index.js") - - // Write resources to outPath - println("Copying CSS/JS resources to destination...") - assert(resources.nonEmpty) - - // TODO: splitting the URL by '/' and taking the last means that we don't - // allow folders among the resources - resources.foreach(url => copy(url.openStream, outPath, url.getFile.split("/").last)) - - println("Done writing static material, building js-app") - } - - def writeJsonJava(index: JMap[String, Package], outputDir: String): Unit = - writeJson(index.asScala, outputDir) - - def writeJson(index: collection.Map[String, Package], outputDir: String): Unit = - writeFile(index.json, outputDir + "/", "index.json") - - def expandTemplate(template: URL, entity: Entity, outPath: String): String = try { - import model.json._ - import model.java._ - - val inputStream = template.openStream - val writer = new _root_.java.io.StringWriter() - val mf = new DefaultMustacheFactory() - - def toRoot = "../" * (entity.path.length - { if (entity.isInstanceOf[Package]) 0 else 1 }) - - val entityWithExtras = entity.asJava(Map( - "assets" -> s"${toRoot}docassets", - "index" -> s"${toRoot}docassets/index.js", - "currentEntity" -> entity.json - )) - - mf.compile(new InputStreamReader(inputStream), "template") - .execute(writer, entityWithExtras) - - inputStream.close() - writer.flush() - writer.toString - } catch { - case fnf: FileNotFoundException => - dottydoc.println(s"""Couldn't find the template: "${template.getFile}"...exiting""") - System.exit(1); "" - } - - def writeFile(str: String, path: String, file: String): Unit = - writeFile(str.map(_.toByte).toArray, path, file) - - def writeFile(bytes: Array[Byte], path: String, file: String): Unit = { - def printToFile(f: JFile)(op: JPrintWriter => Unit) = { - val bos = new BufferedOutputStream(new FileOutputStream(f)) - try { - Stream.continually(bos.write(bytes)) - } finally bos.close() - } - - new JFile(path).mkdirs() - printToFile(new JFile(path + file))(printer => bytes.foreach(printer.print)) - } - - def copy(src: InputStream, path: String, name: String): Unit = { - val reader = new BufferedInputStream(src) - try { - val bytes = Stream.continually(reader.read).takeWhile(-1 != _).map(_.toByte) - writeFile(bytes.toArray, path + "/docassets/", name) - src.close() - } finally reader.close() - } -} |