diff options
author | Felix Mulder <felix.mulder@gmail.com> | 2016-08-11 17:18:14 +0200 |
---|---|---|
committer | Felix Mulder <felix.mulder@gmail.com> | 2016-08-19 15:37:34 +0200 |
commit | bd7751924d9c145accf04b69e71621347d2b77f6 (patch) | |
tree | 961e90b8f9250589fb200648b05e3e4aa21d208a /bridge | |
parent | a25207472c8b64beeb264f118ed1bb4f9a37418c (diff) | |
download | dotty-bd7751924d9c145accf04b69e71621347d2b77f6.tar.gz dotty-bd7751924d9c145accf04b69e71621347d2b77f6.tar.bz2 dotty-bd7751924d9c145accf04b69e71621347d2b77f6.zip |
Implement working docs requiring manually specifying resources and template for html docs
Diffstat (limited to 'bridge')
-rw-r--r-- | bridge/src/main/scala/xsbt/ScaladocInterface.scala | 33 |
1 files changed, 30 insertions, 3 deletions
diff --git a/bridge/src/main/scala/xsbt/ScaladocInterface.scala b/bridge/src/main/scala/xsbt/ScaladocInterface.scala index 39458bd1d..42f4296fe 100644 --- a/bridge/src/main/scala/xsbt/ScaladocInterface.scala +++ b/bridge/src/main/scala/xsbt/ScaladocInterface.scala @@ -20,12 +20,39 @@ class DottydocRunner(args: Array[String], log: Logger, delegate: xsbti.Reporter) template.fold(writeJson(index, outputFolder)) { tpl => buildDocs(outputFolder, tpl, resources, index) } + } getOrElse { + delegate.log( + NoPosition, + "No output folder set for API documentation (\"-d\" parameter should be passed to the documentation tool)", + xsbti.Severity.Error + ) } + private[this] val NoPosition = new xsbti.Position { + val line = xsbti.Maybe.nothing[Integer] + val lineContent = "" + val offset = xsbti.Maybe.nothing[Integer] + val sourcePath = xsbti.Maybe.nothing[String] + val sourceFile = xsbti.Maybe.nothing[java.io.File] + val pointer = xsbti.Maybe.nothing[Integer] + val pointerSpace = xsbti.Maybe.nothing[String] + } + + private def getStringSetting(name: String): Option[String] = + args find (_.startsWith(name)) map (_.drop(name.length)) + private def getOutputFolder(args: Array[String]): Option[String] = - args sliding(2) find { case Array(x, _) => x == "-d" } map (_.tail.head) + args sliding(2) find { case Array(x, _) => x == "-d" } map (_.tail.head.trim) + + private def getTemplate(args: Array[String]): Option[String] = + getStringSetting("-template:") - private def getTemplate(args: Array[String]): Option[String] = None + private def getResources(args: Array[String]): List[String] = + getStringSetting("-resources:").map { path => + val dir = new java.io.File(path) + if (dir.exists && dir.isDirectory) + dir.listFiles.filter(_.isFile).map(_.getAbsolutePath).toList + else Nil + }.getOrElse(Nil) - private def getResources(args: Array[String]): List[String] = Nil } |