X-Git-Url: http://git.roojs.org/?p=Pman.Core;a=blobdiff_plain;f=JsCompile.php;h=a5b915904666e1b8dd44d1a84b23a48deef5ac35;hp=c28e85a2b37d216d3f3349a0894b2dd2b7e153bf;hb=c1af5e6bb6064e88469651271f4d9aaff34d69c0;hpb=6f685cb66fb2f9c78bfafaa3cab7c6951594e423 diff --git a/JsCompile.php b/JsCompile.php index c28e85a2..a5b91590 100644 --- a/JsCompile.php +++ b/JsCompile.php @@ -5,6 +5,8 @@ * * -- we will use this later to compile on the fly... * +* -- updated to use roojspacker https://github.com/roojs/roojspacker +* * * For general usage: * $x = new Pman_Core_JsCompile(); @@ -35,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"); @@ -81,6 +83,16 @@ class Pman_Core_JsCompile extends Pman * */ + static function jsSort($a,$b) + { + $a = substr($a, 0, -3); + $b= substr($b, 0, -3); + if ($a == $b) { + return 0; + } + return ($a > $b) ? +1 : -1; + } + function packScript($basedir, $files, $output_url, $compile=true) { @@ -100,14 +112,21 @@ class Pman_Core_JsCompile extends Pman if (!is_dir($basedir .'/' .$f)) { $arfiles[$basedir .'/' .$f] = filemtime($basedir .'/' .$f); - $ofiles[] = $f; + $ofiles[] = $f; continue; } + foreach(glob($basedir .'/' .$f.'/*.js') as $fx) { + $arfiles[$fx] = filemtime($fx); $ofiles [] = $f . '/'. basename($fx); } } + $tf = + // sort exc. the .js + usort($ofiles,function($a,$b) { return Pman_Core_JsCompile::jsSort($a,$b); }); + + //print_R($ofiles); $output = md5(serialize($arfiles)) .'.js'; @@ -127,6 +146,8 @@ class Pman_Core_JsCompile extends Pman } + // this is depricated... - we can use the pear CSS library for this.. + function packCss($basedir, $files, $output_url) { // this outputs '; + + + echo ""; + return false; + + } + + // depricated verison using seed. + function packSeed($files, $output, $translation_base=false) + { + $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; @@ -269,19 +381,19 @@ class Pman_Core_JsCompile extends Pman $lsort = create_function('$a,$b','return strlen($a) > strlen($b) ? 1 : -1;'); usort($ofiles, $lsort); - $eoutput = " -o " . escapeshellarg($output) ; - + //$eoutput = " -k -o " . escapeshellarg($output) ; // with whitespace.. + $eoutput = " -o " . escapeshellarg($output) ; if ( $translation_base) { - $toutput = "-t ". escapeshellarg(preg_replace('/\.js$/', '.__translation__.js', $output)) . + $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 -- -- " + "$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";
@@ -308,7 +420,9 @@ class Pman_Core_JsCompile  extends Pman
             
             return true;
         }
-        echo "";
+        
+         
+        echo "\n\n";
         return false;
         
     }
@@ -350,8 +464,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;
@@ -359,7 +473,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..