X-Git-Url: http://git.roojs.org/?p=Pman.Core;a=blobdiff_plain;f=JsCompile.php;h=c53bf6c6f8cd9119aa2a3df72f7a0a67c04c1920;hp=7e9f8e3eac59dfda4dd4418a2acbe46011e5dc06;hb=HEAD;hpb=b288ef7dc7ff57c4c162f129a57cff023a56b40b diff --git a/JsCompile.php b/JsCompile.php index 7e9f8e3e..089db58d 100644 --- a/JsCompile.php +++ b/JsCompile.php @@ -37,7 +37,7 @@ class Pman_Core_JsCompile extends Pman } - function get($proj, $args) + function get($proj, $args=array()) { if (empty($args)) { die("missing action : eg. build or install"); @@ -124,7 +124,7 @@ class Pman_Core_JsCompile extends Pman } $tf = // sort exc. the .js - usort($ofiles,create_function('$a,$b', 'return Pman_Core_JsCompile::jsSort($a,$b);')); + usort($ofiles,function($a,$b) { return Pman_Core_JsCompile::jsSort($a,$b); }); //print_R($ofiles); @@ -199,49 +199,17 @@ class Pman_Core_JsCompile extends Pman function packCssCore($files, $output) { - - $o = HTML_FlexyFramework::get()->Pman_Core; - - if (empty($o['cssminify']) || !file_exists($o['cssminify'])) { - echo ''; - return false; - } - require_once 'System.php'; + - $seed= System::which('seed'); - $gjs = System::which('gjs'); + echo ''; + return false; + // if we did.. use this? - if (!$seed && !$gjs) { - echo ''; - return false; + //require_once 'HTML/CSS/Minify.php'; + //$x = new HTML_CSS_Minify(substr($relpath,0,-1), $dir, $relfiles); - } - $targetm = file_exists($output) ? filemtime($output) : 0; - $max = 0; - $ofiles = array(); - foreach($files as $f => $mt) { - $max = max($max,$mt); - $ofiles[] = escapeshellarg($f); - } - if ($max < $targetm) { - return true; - } - if (!file_exists(dirname($output))) { - mkdir(dirname($output), 0755, true); - } - $eoutput = escapeshellarg($output); - $cmd = $seed ? - ("$seed {$o['cssminify']} $eoutput " . implode($ofiles, ' ')) : - ("$gjs {$o['cssminify']} -- -- $eoutput " . implode($ofiles, ' ')); - //echo "
$cmd\n"; echo `$cmd`; exit; - `$cmd`; - + // file_put_contents($compiledir.'/'.$output , $x->minify( $this->baseURL.$asset)); - // we should do more checking.. return val etc.. - if (file_exists($output) && ($max < filemtime($output) ) ) { - return true; - } - return false; } /** @@ -256,8 +224,11 @@ class Pman_Core_JsCompile extends Pman function pack($files, $output, $translation_base=false) { - - $o = HTML_FlexyFramework::get()->Pman_Core; + if (empty($files)) { + return false; + } + + // if packer is running, then dont compile - just output onebyone... require_once 'System.php'; @@ -280,28 +251,47 @@ class Pman_Core_JsCompile extends Pman echo ''; return true; } - //var_dump($output); + + + + $pg = System::which('pgrep'); + if ($pg == '') { + echo ''; + return false; + } + + $cmd = "$pg roojspacker"; + $res = `$cmd`; + $out = empty($res) ? '' : trim($res); + if (strlen($out) > 0) { + echo ''; + return false; + } + + + if (file_exists($output)) { + unlink($output); + } + + if (!file_exists(dirname($output))) { mkdir(dirname($output), 0755, true); } - $lsort = create_function('$a,$b','return strlen($a) > strlen($b) ? 1 : -1;'); - usort($ofiles, $lsort); - //$eoutput = " -k -o " . escapeshellarg($output) ; // with whitespace.. - $eoutput = " -o " . escapeshellarg($output) ; - - if ( $translation_base) { - $toutput = " -t ". escapeshellarg(preg_replace('/\.js$/', '.__translation__.js', $output)) . - " -p " . escapeshellarg($translation_base) ;//." -k "; // this kills the compression. - - } + usort($ofiles, function($a,$b) { return strlen($a) > strlen($b) ? 1 : -1; }); + //$eoutput = " -k -o " . escapeshellarg($output) ; // with whitespace.. + $eoutput = " -t " . escapeshellarg($output) ; + + // no support for translation any more? + //if ( $translation_base) { + // $toutput = " -t ". escapeshellarg(preg_replace('/\.js$/', '.__translation__.js', $output)) . + // " -p " . escapeshellarg($translation_base) ;//." -k "; // this kills the compression. + // + //} - $cmd = ($seed ? - "$seed {$o['jspacker']}/pack.js " : - "$gjs -I {$o['jspacker']} -I {$o['jspacker']}/JSDOC {$o['jspacker']}/pack.js -- -- " - - ) . " $eoutput $toutput " . implode($ofiles, ' ') . ' 2>&1'; + + $cmd = "$packer $eoutput -f " . implode(' -f ', $ofiles) . ' 2>&1'; //echo "$cmd\n"; //echo `$cmd`; @@ -320,17 +310,29 @@ class Pman_Core_JsCompile extends Pman echo ""; - + clearstatcache(); // we should do more checking.. return val etc.. - if (file_exists($output) && ($max < filemtime($output) ) ) { - + if (file_exists($output) && filesize($output) && ($max < filemtime($output) ) ) { + echo "\n"; return true; } + echo ''; + + echo ""; return false; } + + function packIsRunning() + { + require_once 'System.php'; + + + } + + // depricated verison using seed. function packSeed($files, $output, $translation_base=false) { @@ -338,7 +340,7 @@ class Pman_Core_JsCompile extends Pman $o = HTML_FlexyFramework::get()->Pman_Core; - if (empty($o['jspacker']) || !file_exists($o['jspacker'].'/pack.js')) { + if (empty($o['packseed']) || !file_exists($o['jspacker'].'/pack.js')) { echo ''; return false; @@ -381,8 +383,8 @@ class Pman_Core_JsCompile extends Pman $cmd = ($seed ? - "$seed {$o['jspacker']}/pack.js " : - "$gjs -I {$o['jspacker']} -I {$o['jspacker']}/JSDOC {$o['jspacker']}/pack.js -- -- " + "$seed {$o['packseed']}/pack.js " : + "$gjs -I {$o['packseed']} -I {$o['packseed']}/JSDOC {$o['packseed']}/pack.js -- -- " ) . " $eoutput $toutput " . implode($ofiles, ' ') . ' 2>&1'; //echo "$cmd\n"; @@ -409,7 +411,9 @@ class Pman_Core_JsCompile extends Pman return true; } - echo ""; + + + echo "\n\n"; return false; } @@ -451,8 +455,8 @@ class Pman_Core_JsCompile extends Pman $o = HTML_FlexyFramework::get()->Pman_Core; - if (empty($o['jspacker']) || !file_exists($o['jspacker'].'/pack.js')) { - $this->err ="no jstoolkit path set [Pman_Core][jspacker] to the + if (empty($o['packseed']) || !file_exists($o['packseed'].'/pack.js')) { + $this->err ="no jstoolkit path set [Pman_Core][packseed] to the introspection documentation directory where pack.js is located."; if ($this->cli) echo $this->err; return false; @@ -460,7 +464,7 @@ class Pman_Core_JsCompile extends Pman // should we be more specirfic!??!?!? - $cmd = "$seed {$o['jspacker']}/pack.js -m $proj -a $src/*.js"; + $cmd = "$seed {$o['packseed']}/pack.js -m $proj -a $src/*.js"; echo "$cmd\n"; passthru($cmd); // technically we should trash old compiled files..