diff options
Diffstat (limited to 'src/manual/scala/tools/docutil/ManMaker.scala')
-rw-r--r-- | src/manual/scala/tools/docutil/ManMaker.scala | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/src/manual/scala/tools/docutil/ManMaker.scala b/src/manual/scala/tools/docutil/ManMaker.scala new file mode 100644 index 0000000000..2ef87fb7ec --- /dev/null +++ b/src/manual/scala/tools/docutil/ManMaker.scala @@ -0,0 +1,53 @@ +package scala.tools.docutil + +import org.apache.tools.ant.Task + +import java.io.{File, FileOutputStream} + +class ManMaker extends Task { + + /** The command for which to generate the man page */ + private var command: List[String] = Nil + + /** The directory to put html pages in */ + private var htmlout: Option[File] = None + + /** The directory to put man pags in */ + private var manout: Option[File] = None + + + def setCommand(input: String) { + command = List.fromArray(input.split(",")).flatMap { s => + val st = s.trim() + if (st != "") List(st) else Nil + } + } + + def setHtmlout(input: File) { + htmlout = Some(input) + } + + def setManout(input: File) { + manout = Some(input) + } + + override def execute() { + if (command.isEmpty) error("Attribute 'command' is not set.") + if (htmlout.isEmpty) error("Attribute 'htmlout' is not set.") + if (manout.isEmpty) error("Attribute 'manout' is not set.") + + command foreach (cmd => { + val classname = "scala.man1."+ cmd + + val htmlFileName = htmlout.get.getPath + File.separator + + cmd + ".html" + val htmlFile = new java.io.FileOutputStream(htmlFileName) + EmitHtml.emitHtml(classname, htmlFile) + + val manFileName = manout.get.getPath + File.separator + + "man1" + File.separator + cmd + ".1" + val manFile = new FileOutputStream(manFileName) + EmitManPage.emitManPage(classname, manFile) + }) + } +} |