Changeset 1175
- Timestamp:
- 11/21/08 22:19:58 (2 months ago)
- Files:
-
- trunk/build/buildapp.php (modified) (1 diff)
- trunk/build/buildjelix.php (modified) (2 diffs)
- trunk/build/lib/jManifest.class.php (modified) (2 diffs)
- trunk/build/lib/preprocessor.lib.php (modified) (14 diffs)
- trunk/build/manifests/jelix-lib.mn (modified) (1 diff)
- trunk/build/tests/testpreprocess.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/build/buildapp.php
r826 r1175 76 76 77 77 //... execution des manifests 78 jManifest::process('build/manifests/'.$APPNAME.'.mn', '.', $MAIN_TARGET_PATH, ENV::getAll() );78 jManifest::process('build/manifests/'.$APPNAME.'.mn', '.', $MAIN_TARGET_PATH, ENV::getAll(), true); 79 79 80 80 trunk/build/buildjelix.php
r1169 r1175 118 118 '', 119 119 ), 120 'VERBOSE'=> array( 121 "show messages", 122 false 123 ), 120 124 /*''=> array( 121 125 "", … … 207 211 208 212 //... execution des manifests 209 jManifest::process('build/manifests/jelix-lib.mn', '.', $BUILD_TARGET_PATH, ENV::getAll(), $STRIP_COMMENT );210 jManifest::process('build/manifests/jelix-www.mn', '.', $BUILD_TARGET_PATH, ENV::getAll(), $STRIP_COMMENT );213 jManifest::process('build/manifests/jelix-lib.mn', '.', $BUILD_TARGET_PATH, ENV::getAll(), $STRIP_COMMENT, $VERBOSE); 214 jManifest::process('build/manifests/jelix-www.mn', '.', $BUILD_TARGET_PATH, ENV::getAll(), $STRIP_COMMENT, $VERBOSE); 211 215 212 216 if( ! $ENABLE_OPTIMIZED_SOURCE){ 213 jManifest::process('build/manifests/jelix-no-opt.mn', '.', $BUILD_TARGET_PATH , ENV::getAll(), $STRIP_COMMENT );217 jManifest::process('build/manifests/jelix-no-opt.mn', '.', $BUILD_TARGET_PATH , ENV::getAll(), $STRIP_COMMENT, $VERBOSE); 214 218 } 215 219 if( ! $ENABLE_PHP_JELIX && ! $ENABLE_OPTIMIZED_SOURCE){ 216 jManifest::process('build/manifests/jelix-no-ext.mn', '.', $BUILD_TARGET_PATH , ENV::getAll(), $STRIP_COMMENT );220 jManifest::process('build/manifests/jelix-no-ext.mn', '.', $BUILD_TARGET_PATH , ENV::getAll(), $STRIP_COMMENT, $VERBOSE); 217 221 } 218 222 219 223 if($ENABLE_DEVELOPER){ 220 jManifest::process('build/manifests/jelix-dev.mn', '.', $BUILD_TARGET_PATH , ENV::getAll() );224 jManifest::process('build/manifests/jelix-dev.mn', '.', $BUILD_TARGET_PATH , ENV::getAll(), false, $VERBOSE); 221 225 } 222 226 if(!$ENABLE_PHP_JSON){ 223 jManifest::process('build/manifests/lib-json.mn', '.', $BUILD_TARGET_PATH , ENV::getAll() );224 } 225 jManifest::process('build/manifests/jelix-others.mn','.', $BUILD_TARGET_PATH , ENV::getAll() );226 jManifest::process('build/manifests/jelix-modules.mn', '.', $BUILD_TARGET_PATH, ENV::getAll() );227 jManifest::process('build/manifests/jelix-admin-modules.mn', '.', $BUILD_TARGET_PATH, ENV::getAll() );227 jManifest::process('build/manifests/lib-json.mn', '.', $BUILD_TARGET_PATH , ENV::getAll(), false, $VERBOSE); 228 } 229 jManifest::process('build/manifests/jelix-others.mn','.', $BUILD_TARGET_PATH , ENV::getAll(), false, $VERBOSE); 230 jManifest::process('build/manifests/jelix-modules.mn', '.', $BUILD_TARGET_PATH, ENV::getAll(), false, $VERBOSE); 231 jManifest::process('build/manifests/jelix-admin-modules.mn', '.', $BUILD_TARGET_PATH, ENV::getAll(), false, $VERBOSE); 228 232 229 233 if($INCLUDE_ALL_FONTS){ 230 jManifest::process('build/manifests/fonts.mn', '.', $BUILD_TARGET_PATH , ENV::getAll() );234 jManifest::process('build/manifests/fonts.mn', '.', $BUILD_TARGET_PATH , ENV::getAll(), false, $VERBOSE); 231 235 } 232 236 233 237 if($ENABLE_PHP_JELIX && ($PACKAGE_TAR_GZ || $PACKAGE_ZIP)){ 234 jManifest::process('build/manifests/jelix-ext-php.mn', '.', $BUILD_TARGET_PATH , ENV::getAll() );238 jManifest::process('build/manifests/jelix-ext-php.mn', '.', $BUILD_TARGET_PATH , ENV::getAll(), false, $VERBOSE); 235 239 } 236 240 trunk/build/lib/jManifest.class.php
r995 r1175 70 70 if($doCompression) { 71 71 if( preg_match("/\.php$/",$destfile)) { 72 if($verbose) echo " strip php comment "; 72 73 $contents = self::stripPhpComments($contents); 74 if($verbose) echo "OK\n"; 73 75 } 74 76 else if(preg_match("/\.js$/",$destfile)) { 77 if($verbose) echo "compress javascript file \n"; 75 78 $packer = new JavaScriptPacker($contents, 0, true, false); 76 79 $contents = $packer->pack(); … … 142 145 $currentWhistpace =''; 143 146 $firstPHPfound = false; 144 foreach ($tokens as $token) {147 foreach($tokens as $token) { 145 148 if (is_string($token)) { 146 149 if(in_array($token, array('(',')','{','}')) && strpos($currentWhitespace, "\n") === false) { trunk/build/lib/preprocessor.lib.php
r933 r1175 101 101 102 102 $result=''; 103 $nb = -1; 103 104 // on parcours chaque ligne du source 104 foreach($source as $nb=>$line){ 105 while(count($source)){ 106 $nb++; 107 $sline = array_shift($source); 108 $tline = $sline; 105 109 $isOpen = !(end($this->_blockstack) & self::BLOCK_NO); 106 110 107 if(preg_match('/^\#(ifdef|define|ifndef|elifdef|undef)\s+(\w+)\s*$/m',$ line,$m)){111 if(preg_match('/^\#(ifdef|define|ifndef|elifdef|undef)\s+(\w+)\s*$/m',$sline,$m)){ 108 112 switch($m[1]){ 109 113 case 'ifdef': … … 117 121 } 118 122 } 119 $ source[$nb]=false;123 $tline=false; 120 124 break; 121 125 case 'define': // define avec un seul argument. … … 123 127 $this->_variables[$m[2]] = true; 124 128 } 125 $ source[$nb]=false;129 $tline=false; 126 130 break; 127 131 case 'undef': … … 129 133 unset($this->_variables[$m[2]]); 130 134 } 131 $ source[$nb]=false;135 $tline=false; 132 136 break; 133 137 case 'ifndef': … … 141 145 } 142 146 } 143 $ source[$nb]=false;147 $tline=false; 144 148 break; 145 149 case 'elifdef': … … 159 163 } 160 164 } 161 $ source[$nb]=false;165 $tline=false; 162 166 break; 163 167 } … … 166 170 echo "\n";*/ 167 171 168 }elseif(preg_match('/^\#(define)\s+(\w+)\s+(.+)$/m',$ line,$m)){172 }elseif(preg_match('/^\#(define)\s+(\w+)\s+(.+)$/m',$sline,$m)){ 169 173 // define avec deux arguments 170 174 if($isOpen){ 171 175 $this->_variables[$m[2]] = trim($m[3]); 172 176 } 173 $ source[$nb]=false;174 175 }elseif(preg_match('/^\#(expand)\s(.*)$/m',$ line,$m)){177 $tline=false; 178 179 }elseif(preg_match('/^\#(expand)\s(.*)$/m',$sline,$m)){ 176 180 if($isOpen){ 177 $ source[$nb]=preg_replace('/\_\_(\w*)\_\_/e', '(isset($this->_variables["\\1"])&&$this->_variables["\\1"]!==\'\'?$this->_variables["\\1"]:"__\\1__")',$m[2]);178 }else{ 179 $ source[$nb]=false;180 } 181 }elseif(preg_match('/^\#if\s(.*)$/m',$ line,$m)){181 $tline=preg_replace('/\_\_(\w*)\_\_/e', '(isset($this->_variables["\\1"])&&$this->_variables["\\1"]!==\'\'?$this->_variables["\\1"]:"__\\1__")',$m[2]); 182 }else{ 183 $tline=false; 184 } 185 }elseif(preg_match('/^\#if\s(.*)$/m',$sline,$m)){ 182 186 if( !$isOpen ){ 183 187 array_push($this->_blockstack, self::BLOCK_IF_NO); … … 190 194 } 191 195 } 192 $ source[$nb]=false;193 194 }elseif(preg_match('/^\#ifnot\s(.*)$/m',$ line,$m)){196 $tline=false; 197 198 }elseif(preg_match('/^\#ifnot\s(.*)$/m',$sline,$m)){ 195 199 if( !$isOpen ){ 196 200 array_push($this->_blockstack, self::BLOCK_IF_NO); … … 203 207 } 204 208 } 205 $ source[$nb]=false;206 }elseif(preg_match('/^\#elseif\s(.*)$/m',$ line,$m)){209 $tline=false; 210 }elseif(preg_match('/^\#elseif\s(.*)$/m',$sline,$m)){ 207 211 $end = array_pop($this->_blockstack); 208 212 if(!($end & self::BLOCK_IF)){ … … 221 225 } 222 226 } 223 $ source[$nb]=false;224 }elseif(preg_match('/^\#(endif|else)\s*$/m',$ line,$m)){227 $tline=false; 228 }elseif(preg_match('/^\#(endif|else)\s*$/m',$sline,$m)){ 225 229 if($m[1] == 'endif'){ 226 230 $end = array_pop($this->_blockstack); … … 228 232 throw new jExceptionPreProc($filename,$nb,self::ERR_IF_MISSING); 229 233 } 230 $ source[$nb]=false;234 $tline=false; 231 235 }elseif($m[1]=='else'){ 232 236 $end = array_pop($this->_blockstack); … … 246 250 throw new jExceptionPreProc($filename,$nb,self::ERR_IF_MISSING); 247 251 } 248 $ source[$nb]=false;249 } 250 }elseif(preg_match('/^\#include(php)?\s+([\w\/\.\:]+)\s*$/m',$ line,$m)){252 $tline=false; 253 } 254 }elseif(preg_match('/^\#include(php)?\s+([\w\/\.\:]+)\s*$/m',$sline,$m)){ 251 255 if($isOpen){ 252 256 $path = $m[2]; … … 261 265 $preproc->_doSaveVariables = false; 262 266 $preproc->setVars($this->_variables); 263 $ source[$nb]= $preproc->parseFile($path);267 $tline = $preproc->parseFile($path); 264 268 $this->_variables = $preproc->_variables; 269 $preproc = null; 265 270 }else{ 266 271 throw new jExceptionPreProc($filename,$nb,self::ERR_INVALID_FILENAME,$m[2] ); 267 272 } 268 273 if($m[1] == 'php'){ 269 if(preg_match('/^\s*\<\?(?:php)?(.*)/sm',$ source[$nb],$ms)){270 $ source[$nb]= $ms[1];271 } 272 if(preg_match('/(.*)\?\>\s*$/sm',$ source[$nb],$ms)){273 $ source[$nb]= $ms[1];274 if(preg_match('/^\s*\<\?(?:php)?(.*)/sm',$tline,$ms)){ 275 $tline = $ms[1]; 276 } 277 if(preg_match('/(.*)\?\>\s*$/sm',$tline,$ms)){ 278 $tline = $ms[1]; 274 279 } 275 280 } 276 281 }else{ 277 $ source[$nb]=false;278 } 279 }elseif(strlen($ line) && $line{0} == '#'){280 if(strlen($ line)>1 && $line{1} == '#'){282 $tline=false; 283 } 284 }elseif(strlen($sline) && $sline{0} == '#'){ 285 if(strlen($sline)>1 && $sline{1} == '#'){ 281 286 if(!$isOpen){ 282 $ source[$nb]=false;283 }else{ 284 $ source[$nb] = substr($line,1);287 $tline=false; 288 }else{ 289 $tline = substr($sline,1); 285 290 } 286 291 }else{ … … 289 294 }else{ 290 295 if(!$isOpen){ 291 $ source[$nb]=false;296 $tline=false; 292 297 } 293 298 } 294 if($ source[$nb]!==false){299 if($tline!==false){ 295 300 if($result == '') 296 $result.=$ source[$nb];301 $result.=$tline; 297 302 else 298 $result.="\n".$ source[$nb];303 $result.="\n".$tline; 299 304 } 300 305 } trunk/build/manifests/jelix-lib.mn
r1169 r1175 463 463 ! wr3_to_text.php 464 464 ! wr3_to_docbook.php 465 ! dokuwiki_to_xhtml.php 466 ! dokuwiki_to_docbook.php 467 ! trac_to_xhtml.php 468 465 469 466 470 cd lib/tcpdf trunk/build/tests/testpreprocess.php
r386 r1175 198 198 199 199 if($e->sourceLine != $datas[2]){ 200 $this->fail($source . ' : mauvais numero de ligne du source ('.$e->sourceLine.' )');200 $this->fail($source . ' : mauvais numero de ligne du source ('.$e->sourceLine.'!='.$datas[2].')'); 201 201 $err=true; 202 202 }
