5 if (array_pop(explode('/', $cwd)) !== 'roojs1') {
6 echo "this should be run in roojs1 directory...\n";
10 ini_set('include_path',
11 dirname(__FILE__) . '/../:' .
12 dirname(__FILE__) . '/../../pear:' .
13 ini_get('include_path')
16 $rootDir = dirname(__FILE__) . '/../..';
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';")
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';")
35 foreach ($files as $src => $file){
37 $css = "{$file['baseDir']}/{$file['name']}";
39 if(!file_exists($css)){
43 $dir = "{$file['baseDir']}/{$file['sourceMapRootpath']}";
45 $variable = "{$dir}variables.less";
47 if(file_exists($variable) && filemtime("{$dir}variables.less") > filemtime($css)){
51 $is_up_to_date = true;
53 foreach(scandir($dir) as $f) {
55 if (!strlen($f) || $f[0] == '.') {
61 if(filemtime($less) > filemtime($css)){
62 $is_up_to_date = false;
68 echo "{$css} already up-to-date \n";
74 require_once 'HTML/Less.php';
76 foreach ($files as $src => $file){
78 if(!file_exists($src)){
79 echo "{$less} does not exist...\n";
85 $less = new HTML_Less();
87 $less->setOptions(array(
88 'variables' => $file['variables'],
90 'sourceMapWriteTo' => "{$file['baseDir']}/{$file['name']}.map",
91 'sourceMapURL' => "{$file['name']}.map",
92 'sourceMapRootpath' => $file['sourceMapRootpath'],
93 'sourceMapBasepath' => dirname(realpath($src))
96 $css = "{$file['baseDir']}/{$file['name']}";
98 echo "Compiling - {$src} To {$css}\n";
100 $less->compileFile($src, $css);
102 $min = "{$file['baseDir']}/{$file['minify']}";
104 $less = new HTML_Less();
106 $less->setOptions(array(
108 'variables' => $file['variables'],
110 'sourceMapWriteTo' => "{$file['baseDir']}/{$file['minify']}.map",
111 'sourceMapURL' => "{$file['minify']}.map",
112 'sourceMapRootpath' => $file['sourceMapRootpath'],
113 'sourceMapBasepath' => dirname(realpath($src))
116 echo "Minifing - {$src} To {$min}\n";
118 $less->compileFile($src, $min);
120 } catch (Exception $ex) {
121 echo "lessphp fatal error: {$ex->getMessage()}\n";