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         'variables' => array("@import 'variables.less';")
24     ),
25     "{$rootDir}/roojs1/less/roojs-bootstrap/roojs-bootstrap.less" => array(
26         'baseDir' => "{$rootDir}/roojs1/css-bootstrap",
27         'name' => 'roojs-bootstrap-debug.css',
28         'minify' => 'roojs-bootstrap.css',
29         'variables' => array("@import '../bootstrap/variables.less';")
30     )
31 );
32
33 require_once 'HTML/Less.php';
34
35 foreach ($files as $src => $file){
36
37     if(!file_exists($src)){
38         echo "{$less} does not exist...\n";
39         continue;
40     }
41
42     try {
43         
44         $less = new HTML_Less();
45         
46         $less->setOption('variables', $file['variables']);
47         $less->setOption('sourceMap', true);
48         
49         $css = "{$file['baseDir']}/{$file['name']}";
50         
51         echo "Compiling - {$src} To {$css}\n";
52         
53         $less->compileFile($src, $css);
54         
55         $min = "{$file['baseDir']}/{$file['minify']}";
56         
57         $less->setOption('compress', true);
58         
59         echo "Minifing - {$src} To {$min}\n";
60         
61         $less->compileFile($src, $min);
62         
63     } catch (Exception $ex) {
64         echo "lessphp fatal error: {$ex->getMessage()}\n";
65     }
66     
67 }
68
69 require_once 'HTML/CSS/Minify.php';
70
71 foreach ($files as $src => $file){
72     
73     $css = "{$file['baseDir']}/{$file['name']}";
74     
75     if(!file_exists($css)){
76         echo "{$css} does not exist...\n";
77         continue;
78     }
79     
80     try {
81         
82         $min = "{$file['baseDir']}/{$file['minify']}";
83         
84         echo "Minifing - {$css} To {$min}\n";
85         
86         $minify = new HTML_CSS_Minify($file['baseDir'], $file['baseDir'], array($file['name']));
87     
88         $content = $minify->minify($file['baseDir']);
89
90         file_put_contents($min, $content);
91         
92     } catch (Exception $ex) {
93         echo "Minify fatal error: {$ex->getMessage()}\n";
94     }
95     
96 }