Changeset 7775
- Timestamp:
- 03/23/07 19:21:50 (20 months ago)
- Location:
- util/trunk/buildscripts
- Files:
-
- 4 modified
-
build.js (modified) (5 diffs)
-
jslib/buildUtil.js (modified) (14 diffs)
-
jslib/fileUtil.js (modified) (2 diffs)
-
jslib/logger.js (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
util/trunk/buildscripts/build.js
r7773 r7775 27 27 var action = kwArgs.action; 28 28 for(var i = 0; i < action.length; i ++){ 29 logger.logPrefix = action[i] + ": "; 29 30 this[action[i]](); 31 logger.logPrefix = ""; 30 32 } 31 33 … … 33 35 //********* Start clean ************ 34 36 function clean(){ 37 logger.info("Deleting: " + kwArgs.releaseDir); 35 38 fileUtil.deleteFile(kwArgs.releaseDir); 36 39 } … … 50 53 var prefixes = dependencies.prefixes; 51 54 var dojoPrefixPath = null; 52 55 var lineSeparator = fileUtil.getLineSeparator(); 56 53 57 //Copy each prefix dir to the releases and 54 58 //operate on that copy. … … 67 71 //Now process Dojo core. Special things for that one. 68 72 if(dojoPrefixPath){ 69 //xxx73 _prefixPathRelease("dojo", dojoPrefixPath, kwArgs); 70 74 75 //FIXME: loadDependency list reparses profile file, but we've already done that. 76 var result = buildUtil.makeDojoJs(buildUtil.loadDependencyList(kwArgs.profileFile), kwArgs.version); 77 78 //Save the dojo.js contents. It is always the first result. 79 fileUtil.saveFile(kwArgs.releaseDir + "/dojo/dojo.js", result[0].contents); 80 81 //Save the other layers, if there are any. 82 for(var i = 1; i < result.length; i++){ 83 fileUtil.saveFile(kwArgs.releaseDir + "/dojo/" + result[i].layerName, result[i].contents); 84 } 85 86 //Save the dependency list to build.txt 87 var buildText = "Files baked into this build:" + lineSeparator; 88 for(var i = 0; i < result.length; i++){ 89 buildText += lineSeparator + result[i].layerName + ":" + lineSeparator; 90 buildText += result[i].depList.join(lineSeparator) + lineSeparator; 91 } 92 93 fileUtil.saveFile(kwArgs.releaseDir + "/dojo/build.txt", buildText); 94 95 logger.info(buildText); 96 97 71 98 //-flatten-resources 72 99 // <replaceregexp match="/\*\*\*BUILD:localesGenerated\*\*\*/" byline="false" replace="=${generatedLocales}" … … 89 116 90 117 //Use the copyRegExp to filter out tests if requested. 91 if( kwArgs.copyTests){92 copyRegExp = new RegExp(prefixName.replace(/\\/g, "/") + "/(?!tests /)");118 if(!kwArgs.copyTests){ 119 copyRegExp = new RegExp(prefixName.replace(/\\/g, "/") + "/(?!tests)"); 93 120 } 94 121 -
util/trunk/buildscripts/jslib/buildUtil.js
r7773 r7775 10 10 if(!isWebBuild){ 11 11 djConfig = { 12 baseRelativePath: "../ "12 baseRelativePath: "../../dojo/" 13 13 // isDebug: true 14 14 }; … … 32 32 } 33 33 34 if(!isWebBuild){ 35 dj_global = {}; 36 37 load("../src/bootstrap1.js"); 38 load("../src/loader.js"); 39 load("../src/hostenv_rhino.js"); 40 41 // FIXME: is this really what we want to say? 42 dojo.render.html.capable = true; 43 } 44 45 dojo.hostenv.loadedUris.push("dojoGuardStart.js"); 46 dojo.hostenv.loadedUris.push("../src/bootstrap1.js"); 34 if(!isWebBuild){ 35 load("../../dojo/_base/_loader/bootstrap.js"); 36 load("../../dojo/_base/_loader/loader.js"); 37 load("../../dojo/_base/_loader/hostenv_rhino.js"); 38 dojo._currentContext = {}; 39 } 40 41 dojo._loadedUrls.push("jslib/dojoGuardStart.js"); 42 dojo._loadedUrls.push("../../dojo/_base/_loader/bootstrap.js"); 47 43 48 44 if(dojoLoader == "default"){ 49 dojo. hostenv.loadedUris.push("../src/loader.js");45 dojo._loadedUrls.push("../../dojo/_base/_loader/loader.js"); 50 46 }else if(dojoLoader=="xdomain"){ 51 dojo. hostenv.loadedUris.push("../src/loader.js");52 dojo. hostenv.loadedUris.push("../src/loader_xd.js");53 } 54 dojo. hostenv.loadedUris.push("dojoGuardEnd.js");47 dojo._loadedUrls.push("../../dojo/_base/_loader/loader.js"); 48 dojo._loadedUrls.push("../../dojo/_base/_loader/loader_xd.js"); 49 } 50 dojo._loadedUrls.push("jslib/dojoGuardEnd.js"); 55 51 56 52 if(!hostenvType){ … … 60 56 if(hostenvType.constructor == Array){ 61 57 for(var x=0; x<hostenvType.length; x++){ 62 dojo. hostenv.loadedUris.push("../src/hostenv_"+hostenvType[x]+".js");58 dojo._loadedUrls.push("../../dojo/_base/_loader/hostenv_"+hostenvType[x]+".js"); 63 59 } 64 60 hostenvType = hostenvType.pop(); 65 61 }else{ 66 dojo. hostenv.loadedUris.push("../src/hostenv_"+hostenvType+".js");62 dojo._loadedUrls.push("../../dojo/_base/_loader/hostenv_"+hostenvType+".js"); 67 63 } 68 64 … … 74 70 } 75 71 76 dojo. hostenv.name_= hostenvType;72 dojo._name = hostenvType; 77 73 78 74 //Override dojo.provide to get a list of resource providers. … … 96 92 } 97 93 98 // over-write d j_eval to prevent actual loading of subsequent files99 var old_eval = dj_eval;100 d j_eval= function(){ return true; }94 // over-write dojo.eval to prevent actual loading of subsequent files 95 dojo._oldEval = dojo["eval"]; 96 dojo["eval"] = function(){ return true; } 101 97 var old_load = load; 102 98 load = function(uri){ 103 99 try{ 104 var text = removeComments((isWebBuild ? dojo. hostenv.getText(uri) : readText(uri)));105 var requires = dojo. hostenv.getRequiresAndProvides(text);100 var text = removeComments((isWebBuild ? dojo._getText(uri) : readText(uri))); 101 var requires = dojo._getRequiresAndProvides(text); 106 102 eval(requires.join(";")); 107 dojo. hostenv.loadedUris.push(uri);108 dojo. hostenv.loadedUris[uri] = true;109 var delayRequires = dojo. hostenv.getDelayRequiresAndProvides(text);103 dojo._loadedUrls.push(uri); 104 dojo._loadedUrls[uri] = true; 105 var delayRequires = dojo._getDelayRequiresAndProvides(text); 110 106 eval(delayRequires.join(";")); 111 107 }catch(e){ … … 121 117 122 118 if(isWebBuild){ 123 dojo. hostenv.oldLoadUri = dojo.hostenv.loadUri;124 dojo. hostenv.loadUri = load;125 } 126 127 dojo. hostenv.getRequiresAndProvides = function(contents){119 dojo._oldLoadUri = dojo._loadUri; 120 dojo._loadUri = load; 121 } 122 123 dojo._getRequiresAndProvides = function(contents){ 128 124 // FIXME: should probably memoize this! 129 125 if(!contents){ return []; } … … 133 129 var tmp; 134 130 RegExp.lastIndex = 0; 135 var testExp = /dojo.( hostenv.loadModule|hostenv.require|require|kwCompoundRequire|hostenv.conditionalLoadModule|hostenv.startPackage|provide)\([\w\W]*?\)/mg;131 var testExp = /dojo.(require|platformRequire|provide)\([\w\W]*?\)/mg; 136 132 while((tmp = testExp.exec(contents)) != null){ 137 133 deps.push(tmp[0]); … … 140 136 } 141 137 142 dojo. hostenv.getDelayRequiresAndProvides = function(contents){138 dojo._getDelayRequiresAndProvides = function(contents){ 143 139 // FIXME: should probably memoize this! 144 140 if(!contents){ return []; } … … 213 209 214 210 if(isWebBuild){ 215 dojo. hostenv.loadUri = dojo.hostenv.oldLoadUri;211 dojo._loadUri = dojo._oldLoadUri; 216 212 }else{ 217 213 load = old_load; // restore the original load function 218 dj_eval = old_eval; // restore the original dj_eval function 219 220 dj_global['dojo'] = undefined; 221 dj_global['djConfig'] = undefined; 222 delete dj_global; 214 dojo["eval"] = dojo._oldEval; // restore the original dojo.eval function 215 216 var djGlobal = dojo._currentContext; 217 djGlobal['djConfig'] = undefined; 218 219 delete dojo; 223 220 } 224 221 … … 231 228 try{ 232 229 var dep = dependencies[x]; 233 if(dep.indexOf("(") != -1){ 234 dep = dojo.hostenv.getDepsForEval(dep)[0]; 235 } 230 236 231 //Don't process loader_xd.js since it has some regexps 237 232 //and mentions of dojo.require/provide, which will cause 238 //havoc in the dojo. hostenv.loadModule() method.233 //havoc in the dojo._loadModule() method. 239 234 if(dep.indexOf("loader_xd.js") == -1){ 240 dojo. hostenv.loadModule(dep, null, true);235 dojo._loadModule(dep, null, true); 241 236 } 242 237 }catch(e){ … … 248 243 var depList = []; 249 244 var seen = {}; 250 uris: for(var x=0; x<dojo. hostenv.loadedUris.length; x++){251 var curi = dojo. hostenv.loadedUris[x];245 uris: for(var x=0; x<dojo._loadedUrls.length; x++){ 246 var curi = dojo._loadedUrls[x]; 252 247 if(!seen[curi]){ 253 248 seen[curi] = true; … … 274 269 275 270 //Clear out the loadedUris for the next run. 276 dojo. hostenv.loadedUris = [];271 dojo._loadedUrls = []; 277 272 return depList; 278 273 } … … 361 356 // dojo.requireLocalization is a special case as it pulls in dojo.i18n.loader at runtime 362 357 if(dojoContents.match(buildUtil.globalRequireLocalizationRegExp)){ 363 depList.push("../src/i18n/loader.js"); 358 //FIXME: Uncomment this line with i18n gets ported to 0.9 359 //depList.push("../src/i18n/loader.js"); 364 360 dojoContents += new String(fileUtil.readFile(depList[depList.length-1])); 365 361 } … … 508 504 509 505 //The regular expressions that will help find dependencies in the file contents. 510 buildUtil.masterDependencyRegExpString = "dojo.(requireLocalization|require|requireIf| requireAll|provide|requireAfterIf|requireAfter|kwCompoundRequire|conditionalRequire|hostenv\\.conditionalLoadModule|.hostenv\\.loadModule|hostenv\\.moduleLoaded)\\(([\\w\\W]*?)\\)";506 buildUtil.masterDependencyRegExpString = "dojo.(requireLocalization|require|requireIf|provide|requireAfterIf|requireAfter|platformRequire)\\(([\\w\\W]*?)\\)"; 511 507 buildUtil.globalDependencyRegExp = new RegExp(buildUtil.masterDependencyRegExpString, "mg"); 512 508 buildUtil.dependencyPartsRegExp = new RegExp(buildUtil.masterDependencyRegExpString); -
util/trunk/buildscripts/jslib/fileUtil.js
r7773 r7775 55 55 var destFileName = srcFileName.replace(srcDir, destDir); 56 56 57 logger.trace("Src filename: " + srcFileName);58 logger.trace("Dest filename: " + destFileName);57 //logger.trace("Src filename: " + srcFileName); 58 //logger.trace("Dest filename: " + destFileName); 59 59 60 60 //Make sure destination dir exists. … … 118 118 } 119 119 120 fileUtil.deleteFile = function( fileName){121 //summary: deletes a file if it exists.120 fileUtil.deleteFile = function(/*String*/fileName){ 121 //summary: deletes a file or directory if it exists. 122 122 var file = new java.io.File(fileName); 123 123 if(file.exists()){ 124 if(file.isDirectory()){ 125 var files = file.listFiles(); 126 for(var i = 0; i < files.length; i++){ 127 this.deleteFile(files[i]); 128 } 129 } 124 130 file["delete"](); 125 131 } -
util/trunk/buildscripts/jslib/logger.js
r7773 r7775 8 8 9 9 trace: function(message){ 10 if(this.level >= this.TRACE){10 if(this.level <= this.TRACE){ 11 11 this._print(message); 12 12 } … … 14 14 15 15 info: function(message){ 16 if(this.level >= this.INFO){16 if(this.level <= this.INFO){ 17 17 this._print(message); 18 18 } … … 20 20 21 21 warn: function(message){ 22 if(this.level >= this.WARN){22 if(this.level <= this.WARN){ 23 23 this._print(message); 24 24 } … … 26 26 27 27 error: function(message){ 28 if(this.level >= this.ERROR){28 if(this.level <= this.ERROR){ 29 29 this._print(message); 30 30 }