-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild_framework.js
executable file
·66 lines (63 loc) · 2.32 KB
/
build_framework.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#!/bin/env node
/*!
* Copyright 2013 Joseph Spencer.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
!function(){
var common = require('./common');
var fs = require('fs');
var spawn=require('child_process').spawn;
var closure;
var framework = fs.readFileSync("../src/XforJS.js", "utf8");
var VERSION = fs.readFileSync("VERSION", "utf8");
var minified = '../build/javascript/XforJS.'+VERSION+'.min.js';
console.log("building the src file...");
var frameworkBuilt = common.
buildFile(framework).
withPath('../src/').
now().
replace(/__VERSION__/gm,VERSION);
console.log("writing the src file to ../build/javascript/XforJS."+VERSION+".js");
fs.writeFileSync("../build/javascript/XforJS."+VERSION+".js", frameworkBuilt, "utf8");
console.log("writing compiled file to ../build/javascript/XforJS."+VERSION+".min.js");
closure=spawn('java',
[
'-jar', 'google-closure/compiler.jar',
'--js', '../build/javascript/XforJS.'+VERSION+'.js',
'--js_output_file', minified,
'--compilation_level', 'ADVANCED_OPTIMIZATIONS',
'--externs', 'google-closure/externs.js',
'--warning_level', 'VERBOSE',
'--accept_const_keyword',
'--output_wrapper', '!function(){%output%}();'
]
);
closure.stdout.on('data', function(data){
console.log('stdout: '+data);
});
closure.stderr.on('data', function(data){
console.log('stderr: '+data);
});
closure.on('exit', function(code){
var built;
console.log("closure finished with code: "+code);
if(code === 0){
console.log("Testing the goodness of the resulting module.");
built = require(minified);
built.getCompiler();
console.log("Framework successfully built...");
}
});
}();