From 537fb688fe12b04df433da95e8a68f0b89d70ebd Mon Sep 17 00:00:00 2001 From: Ludovic Pouzenc Date: Fri, 3 Aug 2012 19:15:04 +0000 Subject: Parsing du code applicatif. Fractorisé avec le parsing du code du Framework, ajout d'un pruning pour les batteries de tests de CakePHP lui-même. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///var/svn/2012-php-weave/trunk@14 d972a294-176a-4cf9-8ea1-fcd5b0c30f5c --- .../src/php-weave/cakephp_weaver.class.php | 27 +++++++++------------- 1 file changed, 11 insertions(+), 16 deletions(-) (limited to 'poc/poc02-compiling-cake/src/php-weave/cakephp_weaver.class.php') diff --git a/poc/poc02-compiling-cake/src/php-weave/cakephp_weaver.class.php b/poc/poc02-compiling-cake/src/php-weave/cakephp_weaver.class.php index 198b113..8439670 100644 --- a/poc/poc02-compiling-cake/src/php-weave/cakephp_weaver.class.php +++ b/poc/poc02-compiling-cake/src/php-weave/cakephp_weaver.class.php @@ -23,32 +23,27 @@ class CakePHPWeaver extends AbstractWeaver { } public function parseFrameworkConfig($fw_props) { + // TODO : Not used for the moment... return array(); } public function parseFrameworkCode($fw_props, $fw_conf, $cache_path) { - $filelist=$this->findAllFiles($fw_props['CAKE_CORE_INCLUDE_PATH'], '/(\.php|\.ctp)$/', '/^\.svn$/'); - //print_r($filelist); - - $env=$fw_props; //TODO : More things here ? - foreach ($filelist as $f) { - $cache_filepath=$cache_path . "/" . sha1($f) . "-" . substr(sha1(print_r($env,true)),-8,8) . ".ast"; - // If the cache is already up to date, skip parsing - if ( $stat_cache=stat($cache_filepath) ) { - $stat_source=stat($f); - if ($stat_cache['mtime'] >= $stat_source['mtime'] ) continue; - } - - $ast=$this->parseAndWalk($f, null, $env); - $this->serializeAST($ast, $f, $cache_filepath); - } + dbg(0,"Parsing and caching all framework code"); + $fwdir=$fw_props['CAKE_CORE_INCLUDE_PATH']; + $this->parseAndCacheSourceTree($fwdir, $cache_path, '/(\.php|\.ctp)$/', '/^(\.svn|Test|TestSuite)$/', $fw_props, null); + return array(); //$fw_extra is unused } public function parseApplicationCode($fw_props, $fw_conf, $fw_extra, $cache_path) { - + dbg(0,"Parsing and caching all application code"); + $appdir=$fw_props['ROOT'] . $fw_props['DS'] . $fw_props['APP_DIR']; + $this->parseAndCacheSourceTree($appdir, $cache_path, '/(\.php|\.ctp)$/', '/^\.svn$/', $fw_props, null); + return array(); //$app_extra is unused } public function computePageList($fw_props, $fw_conf, $fw_extra, $app_extra) { + dbg(0,"Computing pagelist"); + //TODO Not yet implemented return array( 'page1' => array(), 'page2' => array(), -- cgit v1.2.3