From 568a5cea4833a3316f3741dcd32699334f770d26 Mon Sep 17 00:00:00 2001 From: xue <> Date: Sat, 28 Jan 2006 17:09:31 +0000 Subject: Rename "tools" to "buildscripts". --- buildscripts/phpbuilder/build.php | 99 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 buildscripts/phpbuilder/build.php (limited to 'buildscripts/phpbuilder/build.php') diff --git a/buildscripts/phpbuilder/build.php b/buildscripts/phpbuilder/build.php new file mode 100644 index 00000000..6df74923 --- /dev/null +++ b/buildscripts/phpbuilder/build.php @@ -0,0 +1,99 @@ +#!/usr/bin/php + + * @link http://www.pradosoft.com/ + * @copyright Copyright © 2005 PradoSoft + * @license http://www.pradosoft.com/license/ + * @version $Revision: $ $Date: $ + * @package Tools + */ + +/** + * The merged file name + */ +define('OUTPUT_FILE','pradolite.php'); +/** + * The framework directory + */ +define('FRAMEWORK_DIR',realpath(dirname(__FILE__).'/../../framework')); +/** + * The file containing script list to be built + */ +define('SCRIPT_FILES',dirname(__FILE__).'/files.txt'); + +if(FRAMEWORK_DIR===false) + die('Unable to determine the installation directory of Prado Framework.'); +if(!is_file(SCRIPT_FILES)) + die('Unable to read '.SCRIPT_FILES.'.'); + +$output=''; + +$lines=file(SCRIPT_FILES); +foreach($lines as $line) +{ + $line=trim($line); + if($line==='' || $line[0]==='#') + continue; + echo 'adding '.FRAMEWORK_DIR.'/'.$line."\n"; + $input=file_get_contents(FRAMEWORK_DIR.'/'.$line); + $input = strip_comments($input); + $input=strtr($input,"\r",' '); + $input=preg_replace("/\s*(\n+\s*){2,}\s*/m","\n",$input); + $input=preg_replace('/^Prado::using\([^\*]*?\);/mu','',$input); + $input=preg_replace('/^(require|require_once)\s*\(.*?;/mu','',$input); + $input=preg_replace('/^(include|include_once)\s*\(.*?;/mu','',$input); + + //remove internal logging + $input=preg_replace('/^\s*Prado::trace.*\s*;\s*$/mu','',$input); + + $output.=$input; +} + +file_put_contents(FRAMEWORK_DIR.'/'.OUTPUT_FILE,$output); + +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; +} + +?> \ No newline at end of file -- cgit v1.2.3