summaryrefslogtreecommitdiff
path: root/buildscripts/phing/tasks/PradoPackageTask.php
diff options
context:
space:
mode:
authorCiro Mattia Gonano <ciromattia@gmail.com>2013-09-11 15:56:48 +0200
committerCiro Mattia Gonano <ciromattia@gmail.com>2013-09-11 15:57:07 +0200
commit3069eaf35e833ffe4a1c1c7829dd7e168ae27420 (patch)
treed0c2e4d934cc34ba7d4232f759923b5a257dcb21 /buildscripts/phing/tasks/PradoPackageTask.php
parentb833247ce597ec26159b46c8dfbea7f1e265950b (diff)
Merge up to r3319
Diffstat (limited to 'buildscripts/phing/tasks/PradoPackageTask.php')
-rw-r--r--buildscripts/phing/tasks/PradoPackageTask.php142
1 files changed, 0 insertions, 142 deletions
diff --git a/buildscripts/phing/tasks/PradoPackageTask.php b/buildscripts/phing/tasks/PradoPackageTask.php
deleted file mode 100644
index 61031206..00000000
--- a/buildscripts/phing/tasks/PradoPackageTask.php
+++ /dev/null
@@ -1,142 +0,0 @@
-<?php
-require_once 'phing/Task.php';
-
-/**
- * Task to run phpDocumentor for PRADO API docs.
- */
-class PradoPackageTask extends Task
-{
- protected $filelists = array();
- protected $output;
- protected $strip=false;
-
- function setOutput(PhingFile $file)
- {
- $this->output=$file;
- }
-
- function setStrip($value)
- {
- $this->strip = (boolean)$value;
- }
-
- /**
- * Supports embedded <filelist> element.
- * @return FileList
- */
- function createFileList() {
- $num = array_push($this->filelists, new FileList());
- return $this->filelists[$num-1];
- }
-
- function main()
- {
- $project = $this->getProject();
-
- $content = '';
- $files=array();
- // append the files in the filelists
- foreach($this->filelists as $fl)
- {
- $fromDir = $fl->getDir($project);
- foreach($fl->getFiles($project) as $file)
- {
- $src = new PhingFile($fromDir,$file);
- $files[] = $file;
- $content .= file_get_contents($src->getAbsolutePath());
- }
- }
-
- $content = $this->processPhp($content,$files);
- file_put_contents($this->output->getAbsolutePath(), $content);
- }
-
- function processPhp($content,$files)
- {
- $content = preg_replace('/^\s*Prado::trace.*\s*;\s*$/mu','',$content);
- $content = preg_replace('/(PradoBase::using|Prado::using|require_once|include_once)\s*\([^\$].*?\);/mu','',$content);
- $content = str_replace('Prado::', 'PradoBase::', $content);
- $content = str_replace('PradoBase::getApplication()->getMode()', 'true', $content);
- $content = str_replace('TApplicationMode::Debug', 'true', $content);
- $content = str_replace('/Exceptions/messages', '/messages', $content);
- if($this->strip)
- $content=$this->strip_comments($content);
- $content=$this->strip_empty_lines($content);
- $content="<?php".$this->getFileComment($files).preg_replace('/(\?>\s?|<\?php\s?)/mu','',$content)."\n?>";
- return $content;
- }
-
-function strip_comments($source)
-{
- $tokens = token_get_all($source);
- /* T_ML_COMMENT does not exist in PHP 5.
- * The following three lines define it in order to
- * preserve backwards compatibility.
- *
- * The next two lines define the PHP 5-only T_DOC_COMMENT,
- * which we will mask as T_ML_COMMENT for PHP 4.
- */
- if (!defined('T_ML_COMMENT')) {
- @define('T_ML_COMMENT', T_COMMENT);
- } else {
- @define('T_DOC_COMMENT', T_ML_COMMENT);
- }
- $output = '';
- foreach ($tokens as $token) {
- if (is_string($token)) {
- // simple 1-character token
- $output .= $token;
- } else {
- // token array
- list($id, $text) = $token;
- switch ($id) {
- case T_COMMENT:
- case T_ML_COMMENT: // we've defined this
- case T_DOC_COMMENT: // and this
- // no action on comments
- break;
- default:
- // anything else -> output "as is"
- $output .= $text;
- break;
- }
- }
- }
- return $output;
-}
-
-function strip_empty_lines($string)
-{
- $string = preg_replace("/[\r\n]+[\s\t]*[\r\n]+/", "\n", $string);
- $string = preg_replace("/^[\s\t]*[\r\n]+/", "", $string);
- return $string;
-}
-function getFileComment($files)
-{
- $lastupdate=date('Y/m/d H:i:s');
- $year=date('Y');
- $fileList=array();
- foreach($files as $file)
- $fileList[] = " * $file";
- $fileListStr = implode("\n", $fileList);
-$comments="
-/**
- * Last Update: $lastupdate
- *
- * Do not modify this file manually. This file was auto-generated by combining
- * the following classes from the Prado framework.
- *
- * Files:
-{$fileListStr}
- *
- * @author Qiang Xue <qiang.xue@gmail.com>, Wei Zhuo <weizhuo@gmail.com>
- * @link http://www.pradosoft.com/
- * @copyright Copyright &copy; 2005-{$year} PradoSoft
- * @license http://www.pradosoft.com/license/
- */
-
-";
- return $comments;
-}
-}
-?> \ No newline at end of file