. * * For more information, contact Colosa Inc, 2566 Le Jeune Rd., * Coral Gables, FL, 33134, USA, or email info@colosa.com. * * @author Alexandre Rosenfeld * @package workflow-engine-bin-tasks */ CLI::taskName('build-js'); CLI::taskDescription(<<$library ) { $build = $library->build; if ($build) { $bufferMini = ""; $sum1 = 0; $sum2 = 0; $libName = $library->name; $files = $library->libraries; $js_path = $library->build_js_to; printf ("Processing %s library:\n", $libName ); foreach ( $files as $file ) { printf ( " %-20s ", $file->name ); $fileNameMini = PATH_TRUNK . $file->mini; if ($file->minify) { $minify = JSMin::minify( file_get_contents( $fileNameMini ) ); } else { $minify = file_get_contents( $fileNameMini ); } $bufferMini .= $minify; $size1 = filesize($fileNameMini); $size2 = strlen($minify); $sum1 += $size1; $sum2 += $size2; printf ("%7d -> %7d %5.2f%%\n", $size1, $size2, 100 - $size2/$size1*100) ; } if (substr($library->build_js_to ,-1) != '/') { $library->build_js_to .= '/'; } $outputMiniFile = PATH_TRUNK . $library->build_js_to . $libName . ".js"; file_put_contents ( $outputMiniFile, $bufferMini ); printf (" -------------------- ------- ------- ------\n"); printf (" %-20s %7d -> %7d %6.2f%%\n", $libName.'.js', $sum1, $sum2, 100-$sum2/$sum1*100) ; print " $outputMiniFile\n"; } } CLI::logging("BUILD-JS DONE\n"); }