aboutsummaryrefslogblamecommitdiff
path: root/bridge/src/main/scala/xsbt/ScaladocInterface.scala
blob: 39458bd1d4c857ffc1d3e07b2f7851bca740d753 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13
14













                                                                                                   







                                                               
   






                                                                            
 
/* sbt -- Simple Build Tool
 * Copyright 2008, 2009 Mark Harrah
 */
package xsbt

import xsbti.Logger
import dotty.tools.dottydoc.api.scala.Dottydoc

class ScaladocInterface {
  def run(args: Array[String], log: Logger, delegate: xsbti.Reporter) =
    (new DottydocRunner(args, log, delegate)).run()
}

class DottydocRunner(args: Array[String], log: Logger, delegate: xsbti.Reporter) extends Dottydoc {
  def run(): Unit = getOutputFolder(args).map { outputFolder =>
    val index     = createIndex(args)
    val template  = getTemplate(args)
    val resources = getResources(args)

    template.fold(writeJson(index, outputFolder)) { tpl =>
      buildDocs(outputFolder, tpl, resources, index)
    }
  }

  private def getOutputFolder(args: Array[String]): Option[String] =
    args sliding(2) find { case Array(x, _) => x == "-d" } map (_.tail.head)

  private def getTemplate(args: Array[String]): Option[String] = None

  private def getResources(args: Array[String]): List[String] = Nil
}