diff options
| author | xue <> | 2006-06-19 18:38:29 +0000 | 
|---|---|---|
| committer | xue <> | 2006-06-19 18:38:29 +0000 | 
| commit | 588727c7e2b8954ec3dbde293cf4c4d68b119f9b (patch) | |
| tree | fdcc16181a20335547953ccf1550e0006c11bf28 /buildscripts/phing/tasks/PradoDocTask.php | |
| parent | 127f78a4db3cc0fbbbb92f5b1abcfdce4a9af93b (diff) | |
Merge from 3.0 branch till 1185.
Diffstat (limited to 'buildscripts/phing/tasks/PradoDocTask.php')
| -rw-r--r-- | buildscripts/phing/tasks/PradoDocTask.php | 137 | 
1 files changed, 137 insertions, 0 deletions
diff --git a/buildscripts/phing/tasks/PradoDocTask.php b/buildscripts/phing/tasks/PradoDocTask.php new file mode 100644 index 00000000..3ab891bd --- /dev/null +++ b/buildscripts/phing/tasks/PradoDocTask.php @@ -0,0 +1,137 @@ +<?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;
 +	}
 +}
 +
 +?>
\ No newline at end of file  | 
