buildSDK/less-bootstrap-compiler.php
[roojs1] / buildSDK / less-bootstrap-compiler.php
1 <?php
2
3 $cwd = getcwd();
4
5 if (array_pop(explode('/', $cwd)) !== 'roojs1') {
6     echo "this should be run in roojs1 directory...\n";
7     exit;
8 }
9
10 ini_set('include_path', 
11     dirname(__FILE__) . '/../:' .
12     dirname(__FILE__) . '/../../pear:' .
13     ini_get('include_path')
14 );
15
16 $rootDir = dirname(__FILE__) . '/../..';
17
18 $files = array(
19     "{$rootDir}/roojs1/less/bootstrap/bootstrap.less" => array(
20         'baseDir' => "{$rootDir}/roojs1/css-bootstrap",
21         'name' => 'bootstrap.css',
22         'minify' => 'bootstrap.min.css',
23         'sourceMapRootpath' => '../less/bootstrap/',
24         'variables' => array("@import 'variables.less';")
25     ),
26     "{$rootDir}/roojs1/less/roojs-bootstrap/roojs-bootstrap.less" => array(
27         'baseDir' => "{$rootDir}/roojs1/css-bootstrap",
28         'name' => 'roojs-bootstrap-debug.css',
29         'minify' => 'roojs-bootstrap.css',
30         'sourceMapRootpath' => '../less/roojs-bootstrap/',
31         'variables' => array("@import '../bootstrap/variables.less';")
32     )
33 );
34
35 require_once 'HTML/Less.php';
36
37 foreach ($files as $src => $file){
38
39     if(!file_exists($src)){
40         echo "{$less} does not exist...\n";
41         continue;
42     }
43     
44     $css = "{$file['baseDir']}/{$file['name']}";
45     
46     
47
48     try {
49         
50         $less = new HTML_Less();
51         
52         $less->setOptions(array(
53             'variables' => $file['variables'],
54             'sourceMap' => true,
55             'sourceMapWriteTo' => "{$file['baseDir']}/{$file['name']}.map",
56             'sourceMapURL' => "{$file['name']}.map",
57             'sourceMapRootpath' => $file['sourceMapRootpath'],
58             'sourceMapBasepath' => dirname(realpath($src))
59         ));
60         
61         $css = "{$file['baseDir']}/{$file['name']}";
62         
63         echo "Compiling - {$src} To {$css}\n";
64         
65         $less->compileFile($src, $css);
66         
67         $min = "{$file['baseDir']}/{$file['minify']}";
68         
69         $less = new HTML_Less();
70         
71         $less->setOptions(array(
72             'compress' => true,
73             'variables' => $file['variables'],
74             'sourceMap' => true,
75             'sourceMapWriteTo' => "{$file['baseDir']}/{$file['minify']}.map",
76             'sourceMapURL' => "{$file['minify']}.map",
77             'sourceMapRootpath' => $file['sourceMapRootpath'],
78             'sourceMapBasepath' => dirname(realpath($src))
79         ));
80         
81         echo "Minifing - {$src} To {$min}\n";
82         
83         $less->compileFile($src, $min);
84         
85     } catch (Exception $ex) {
86         echo "lessphp fatal error: {$ex->getMessage()}\n";
87     }
88     
89 }