X-Git-Url: http://git.roojs.org/?p=roojs1;a=blobdiff_plain;f=buildSDK%2Fless-bootstrap-compiler.php;h=9f4850433b68d36ebbb00c34a3ba6e7ad3b30a1c;hp=f5189e429bd84918089f970b7131e6ba9b65d057;hb=2030766f219612f3de177f0657ae8c319e80eae7;hpb=90a38372893d33b2c0d775ca3b336b018664f033 diff --git a/buildSDK/less-bootstrap-compiler.php b/buildSDK/less-bootstrap-compiler.php index f5189e429b..9f4850433b 100644 --- a/buildSDK/less-bootstrap-compiler.php +++ b/buildSDK/less-bootstrap-compiler.php @@ -1,8 +1,13 @@ "{$rootDir}/roojs1/css-bootstrap", 'name' => 'bootstrap.css', 'minify' => 'bootstrap.min.css', - 'variables' => "@import 'variables.less';" + 'sourceMapRootpath' => '../less/bootstrap/', + 'variables' => array("@import 'variables.less';") + ), + "{$rootDir}/roojs1/less/bootstrap/bootstrap-light.less" => array( + 'baseDir' => "{$rootDir}/roojs1/css-bootstrap", + 'name' => 'bootstrap-light.css', + 'minify' => 'bootstrap-light.min.css', + 'sourceMapRootpath' => '../less/bootstrap/', + 'variables' => array("@import 'variables.less';") ), + "{$rootDir}/roojs1/less/roojs-bootstrap/roojs-bootstrap.less" => array( 'baseDir' => "{$rootDir}/roojs1/css-bootstrap", 'name' => 'roojs-bootstrap-debug.css', - 'minify' => 'roojs-bootstrap.css' + 'minify' => 'roojs-bootstrap.css', + 'sourceMapRootpath' => '../less/roojs-bootstrap/', + 'variables' => array("@import '../bootstrap/variables.less';") ) ); -require_once 'HTML/Less.php'; - -$less = new HTML_Less(); - foreach ($files as $src => $file){ - - if(!file_exists($src)){ - echo "{$less} does not exist...\n"; + + $css = "{$file['baseDir']}/{$file['name']}"; + + if(!file_exists($css)){ continue; } + + $dir = "{$file['baseDir']}/{$file['sourceMapRootpath']}"; + + $variable = "{$dir}variables.less"; + + if(file_exists($variable) && filemtime("{$dir}variables.less") > filemtime($css)){ + continue; + } + + $isLatest = true; + + foreach(scandir($dir) as $f) { + + if (!strlen($f) || $f[0] == '.') { + continue; + } - try { - - $css = "{$file['baseDir']}/{$file['name']}"; - - echo "Compiling - {$src} To {$css}\n"; - - $less->compileFile($src, $css); + $less = "{$dir}{$f}"; - } catch (Exception $ex) { - echo "lessphp fatal error: {$ex->getMessage()}\n"; + if(filemtime($less) > filemtime($css)){ + $isLatest = false; + break; + } + } + + if($isLatest){ + echo "{$css} already up-to-date \n"; + unset($files[$src]); } } -require_once 'HTML/CSS/Minify.php'; +require_once 'HTML/Less.php'; foreach ($files as $src => $file){ - - $css = "{$file['baseDir']}/{$file['name']}"; - - if(!file_exists($css)){ - echo "{$css} does not exist...\n"; + + if(!file_exists($src)){ + echo "{$less} does not exist...\n"; continue; } try { + $less = new HTML_Less(); + + $less->setOptions(array( + 'variables' => $file['variables'], + 'sourceMap' => true, + 'sourceMapWriteTo' => "{$file['baseDir']}/{$file['name']}.map", + 'sourceMapURL' => "{$file['name']}.map", + 'sourceMapRootpath' => $file['sourceMapRootpath'], + 'sourceMapBasepath' => dirname(realpath($src)) + )); + + $css = "{$file['baseDir']}/{$file['name']}"; + + echo "Compiling - {$src} To {$css}\n"; + + $less->compileFile($src, $css); + $min = "{$file['baseDir']}/{$file['minify']}"; - echo "Minifing - {$css} To {$min}\n"; + $less = new HTML_Less(); - $minify = new HTML_CSS_Minify($file['baseDir'], $file['baseDir'], array($file['name'])); - - $content = $minify->minify($file['baseDir']); - - file_put_contents($min, $content); + $less->setOptions(array( + 'compress' => true, + 'variables' => $file['variables'], + 'sourceMap' => true, + 'sourceMapWriteTo' => "{$file['baseDir']}/{$file['minify']}.map", + 'sourceMapURL' => "{$file['minify']}.map", + 'sourceMapRootpath' => $file['sourceMapRootpath'], + 'sourceMapBasepath' => dirname(realpath($src)) + )); + + echo "Minifing - {$src} To {$min}\n"; + + $less->compileFile($src, $min); } catch (Exception $ex) { - echo "Minify fatal error: {$ex->getMessage()}\n"; + echo "lessphp fatal error: {$ex->getMessage()}\n"; } - -} +} \ No newline at end of file