1 function addJS(jsfile, onready) {
2 var script = document.createElement('script'),
3 head = document.head || document.getElementsByTagName('head')[0];
5 script.type = 'text/javascript';
7 if (onready !== undefined) {
8 script.onload = function() {
13 head.appendChild(script);
26 "src/grid/CellModel.js",
27 "src/grid/CheckboxSelectionModel.js"
31 function rxescape(text) {
32 return text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
34 excludes = excludes.map(rxescape);
35 var excludesrx = new RegExp(excludes.join("|"), "i");
38 traverse = function(directory) {
39 var dirs = phantom.fs.entryList(directory, phantom.fs.DIRECTORIES);
40 for (var d = 0; d < dirs.length; ++d) {
42 if (dir === '.' || dir === '..')
44 traverse(directory + "/" + dir);
47 var files = phantom.fs.entryList(directory, phantom.fs.FILES);
48 for (var f = 0; f < files.length; ++f) {
49 var file = directory + "/" + files[f];
50 if (file.substr(-3) === '.js' && !file.match(excludesrx)) {
51 file = file.substr(0, file.length - 3).replace(new RegExp('^' + root + '/'), '').replace(/\//g, '.');
52 extclasses.push('Ext.' + file);
59 function extCoreLoaded() {
60 Ext.Loader.setConfig({ enabled: true, basePath: root });
61 Ext.Loader.require(extclasses);
62 addJS('build-all-jsb/JSBGenerator.js', function() {
63 Ext.Loader.onReady(function() {
64 console.log('Done: ' + Ext.ClassManager.dependencyOrder.length + ' files');
65 phantom.fs.writeFile('ext-all.jsb3', JSON.stringify(Ext.JSBGenerator.getJsbConfig(), null, 4));
67 Ext.ClassManager.dependencyOrder.forEach(function(name) {
72 }, Ext.global, false);
76 addJS('ext-core-debug.js', extCoreLoaded);