From a25207472c8b64beeb264f118ed1bb4f9a37418c Mon Sep 17 00:00:00 2001 From: Felix Mulder Date: Thu, 11 Aug 2016 15:21:25 +0200 Subject: Implement bridge that generates json on `doc` command --- dottydoc/src/dotty/tools/dottydoc/api/java/Dottydoc.java | 4 ++++ dottydoc/src/dotty/tools/dottydoc/api/scala/Dottydoc.scala | 4 ++++ dottydoc/src/dotty/tools/dottydoc/util/OutputWriter.scala | 9 +++++++-- 3 files changed, 15 insertions(+), 2 deletions(-) (limited to 'dottydoc') diff --git a/dottydoc/src/dotty/tools/dottydoc/api/java/Dottydoc.java b/dottydoc/src/dotty/tools/dottydoc/api/java/Dottydoc.java index c2ec29395..c50688c77 100644 --- a/dottydoc/src/dotty/tools/dottydoc/api/java/Dottydoc.java +++ b/dottydoc/src/dotty/tools/dottydoc/api/java/Dottydoc.java @@ -24,4 +24,8 @@ public class Dottydoc extends DottyDocDriver { ) { new OutputWriter().writeJava(index, templatePath, outputDir, resources); } + + public void writeJson(Map index, String outputDir) { + new OutputWriter().writeJsonJava(index, outputDir); + } } diff --git a/dottydoc/src/dotty/tools/dottydoc/api/scala/Dottydoc.scala b/dottydoc/src/dotty/tools/dottydoc/api/scala/Dottydoc.scala index 0b144027b..373fae39a 100644 --- a/dottydoc/src/dotty/tools/dottydoc/api/scala/Dottydoc.scala +++ b/dottydoc/src/dotty/tools/dottydoc/api/scala/Dottydoc.scala @@ -6,10 +6,14 @@ import dotty.tools.dottydoc.util.OutputWriter import scala.collection.Map +/** FIXME: document this class plz */ trait Dottydoc extends DottyDocDriver { def createIndex(args: Array[String]): Map[String, Package] = compiledDocs(args) def buildDocs(outDir: String, templatePath: String, resources: List[String], index: Map[String, Package]) = new OutputWriter().write(index, templatePath, outDir, resources) + + def writeJson(index: Map[String, Package], outputDir: String) = + new OutputWriter().writeJson(index, outputDir) } diff --git a/dottydoc/src/dotty/tools/dottydoc/util/OutputWriter.scala b/dottydoc/src/dotty/tools/dottydoc/util/OutputWriter.scala index 8e288ae7f..d5a48912f 100644 --- a/dottydoc/src/dotty/tools/dottydoc/util/OutputWriter.scala +++ b/dottydoc/src/dotty/tools/dottydoc/util/OutputWriter.scala @@ -17,12 +17,11 @@ 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], templatePath: String, outPath: String, resources: JList[String]): Unit = { - import scala.collection.JavaConverters._ write(packs.asScala, templatePath, outPath, resources.asScala) } @@ -61,6 +60,12 @@ class OutputWriter { 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(templatePath: String, entity: Entity, outPath: String): String = try { import model.json._ import model.java._ -- cgit v1.2.3