<?php require_once 'phing/Task.php'; /** * Task to run phpDocumentor for PRADO API docs. */ class PradoDocTask extends Task { private $phpdoc = 'phpdoc'; private $title = "Default Title"; private $destdir = "."; private $sourcepath = NULL; private $ignorelist = ''; private $output = ""; private $linksource = false; private $parseprivate = false; function setPhpdoc($phpdoc) { $this->phpdoc=$phpdoc; } /** * Set the title for the generated documentation */ function setTitle($title) { $this->title = $title; } /** * Set the destination directory for the generated documentation */ function setDestdir($destdir) { $this->destdir = $destdir; } /** * Set the source path */ function setSourcepath(Path $sourcepath) { if ($this->sourcepath === NULL) { $this->sourcepath = $sourcepath; } else { $this->sourcepath->append($sourcepath); } } /** * Set the output type */ function setOutput($output) { $this->output = $output; } /** * Should sources be linked in the generated documentation */ function setLinksource($linksource) { $this->linksource = $linksource; } function setIgnorelist($ignorelist) { $this->ignorelist=$ignorelist; } /** * Main entrypoint of the task */ function main() { $arguments = $this->constructArguments(); exec($this->phpdoc . " " . $arguments, $output, $retval); } /** * Constructs an argument string for phpDocumentor */ private function constructArguments() { $arguments = "-q \"on\" "; if ($this->title) { $arguments.= "-ti \"" . $this->title . "\" "; } if ($this->destdir) { $arguments.= "-t \"" . $this->destdir . "\" "; } if ($this->sourcepath !== NULL) { $arguments.= "-d \"" . $this->sourcepath->__toString() . "\" "; } if ($this->output) { $arguments.= "-o \"" . $this->output . "\" "; } if ($this->linksource) { $arguments.= "-s "; } if ($this->parseprivate) { $arguments.= "-pp "; } if ($this->ignorelist) { $arguments.='-i "'.$this->ignorelist.'" '; } return $arguments; } } ?>