buildSDK/less-bootstrap-compiler.php
[roojs1] / buildSDK / less-bootstrap-compiler.php
index 4e0d72d..bc30feb 100644 (file)
@@ -17,37 +17,73 @@ $rootDir = dirname(__FILE__) . '/../..';
 
 $files = array(
     "{$rootDir}/roojs1/less/bootstrap/bootstrap.less" => array(
-        "{$rootDir}/roojs1/css-bootstrap/bootstrap.css",
-        "{$rootDir}/roojs1/css-bootstrap/bootstrap.min.css"
+        'baseDir' => "{$rootDir}/roojs1/css-bootstrap",
+        'name' => 'bootstrap.css',
+        'minify' => 'bootstrap.min.css',
+        'sourceMapRootpath' => '../less/bootstrap/',
+        'variables' => array("@import 'variables.less';")
     ),
     "{$rootDir}/roojs1/less/roojs-bootstrap/roojs-bootstrap.less" => array(
-        "{$rootDir}/roojs1/css-bootstrap/roojs-bootstrap-debug.css",
-        "{$rootDir}/roojs1/css-bootstrap/roojs-bootstrap.css"
+        'baseDir' => "{$rootDir}/roojs1/css-bootstrap",
+        'name' => 'roojs-bootstrap-debug.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 "{$src} does not exist...\n";
+        echo "{$less} does not exist...\n";
         continue;
     }
+    
+    $css = "{$file['baseDir']}/{$file['name']}";
+    
+    
 
     try {
-
-        foreach ($file as $f){
-            echo "Compiling - {$src} To {$f}\n";
-
-            $less->compileFile($src, $f);
-        }
-
+        
+        $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']}";
+        
+        $less = new HTML_Less();
+        
+        $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 "lessphp fatal error: {$ex->getMessage()}\n";
     }
     
-
 }
\ No newline at end of file