Changeset 7773
- Timestamp:
- 03/23/07 16:45:57 (20 months ago)
- Location:
- util/trunk/buildscripts
- Files:
-
- 4 modified
-
build.js (modified) (5 diffs)
-
jslib/buildUtil.js (modified) (3 diffs)
-
jslib/fileUtil.js (modified) (5 diffs)
-
jslib/logger.js (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
util/trunk/buildscripts/build.js
r7768 r7773 12 12 kwArgs.releaseDir = "release/" + kwArgs["releaseName"] || "dojo"; 13 13 kwArgs.version = kwArgs["version"] || "0.0.0.dev"; 14 kwArgs.action s= (kwArgs["action"] || "release").split(",");14 kwArgs.action = (kwArgs["action"] || "release").split(","); 15 15 kwArgs.loader = kwArgs["loader"] || "default"; 16 16 if(!kwArgs["profileFile"] && kwArgs["profile"]){ … … 20 20 logger.level = logger[kwArgs["log"]]; 21 21 } 22 if(typeof kwArgs["copyTests"] == "undefined") 22 if(typeof kwArgs["copyTests"] == "undefined"){ 23 23 kwArgs.copyTests = true; 24 24 } 25 25 26 //Execute the requested build actions 27 var action = kwArgs.action; 28 for(var i = 0; i < action.length; i ++){ 29 this[action[i]](); 30 } 31 32 26 33 //********* Start clean ************ 27 34 function clean(){ 28 fileUtil.deleteFile( releaseDir);35 fileUtil.deleteFile(kwArgs.releaseDir); 29 36 } 30 37 //********* End clean ********* … … 39 46 //Get the list of module directories we need to process. 40 47 //They will be in the dependencies.prefixes array. 41 var dependencies = buildUtil.evalProfile(kwArgs.profileFile); 48 var profileProperties = buildUtil.evalProfile(kwArgs.profileFile); 49 var dependencies = profileProperties.dependencies; 42 50 var prefixes = dependencies.prefixes; 43 51 var dojoPrefixPath = null; 52 53 //Copy each prefix dir to the releases and 54 //operate on that copy. 44 55 for(var i = 0; i < prefixes.length; i++){ 45 56 var prefixName = prefixes[i][0]; … … 50 61 dojoPrefixPath = prefixPath; 51 62 }else{ 52 _ releasePrefixPath(prefixName, prefixPath, kwArgs);63 _prefixPathRelease(prefixName, prefixPath, kwArgs); 53 64 } 54 65 } 55 66 56 67 //Now process Dojo core. Special things for that one. 57 68 if(dojoPrefixPath){ … … 73 84 74 85 //********* Start _releasePrefixPath ********* 75 function _releasePrefixPath(prefixName, prefixPath, kwArgs){ 76 //Copy prefixPath to release dir. 77 //Skip tests if requested. 78 //xxx 86 function _prefixPathRelease(prefixName, prefixPath, kwArgs){ 87 var releasePath = kwArgs.releaseDir + "/" + prefixName; 88 var copyRegExp = /./; 89 90 //Use the copyRegExp to filter out tests if requested. 91 if(kwArgs.copyTests){ 92 copyRegExp = new RegExp(prefixName.replace(/\\/g, "/") + "/(?!tests/)"); 93 } 94 95 fileUtil.copyDir(prefixPath, releasePath, copyRegExp); 79 96 80 97 //makeDojoJs.js 81 98 //xxx 82 99 100 //flatten 83 101 //Run xdgen if an xdomain build. 84 102 //xxx -
util/trunk/buildscripts/jslib/buildUtil.js
r7768 r7773 296 296 //Find prefixes that are used. 297 297 var usedPrefixes = ["dojo"]; 298 use Prefixes._entries{ dojo: true };298 usedPrefixes._entries = { dojo: true }; 299 299 300 300 //Check normal dependencies. … … 303 303 //Check layer dependencies 304 304 var layerDeps = dependencies.layers; 305 for(var i = 0; i < layerDeps.length; i++){ 306 buildUtil.addPrefixesFromDependencies(usedPrefixes, layerDeps[i].dependencies); 305 306 if(layerDeps){ 307 for(var i = 0; i < layerDeps.length; i++){ 308 buildUtil.addPrefixesFromDependencies(usedPrefixes, layerDeps[i].dependencies); 309 } 307 310 } 308 311 … … 311 314 //location, as a sibling to dojo (and util). 312 315 for(var i = 0; i < usedPrefixes.length; i++){ 313 if(!buildUtil.isValueInArray(usedPrefixes[i], dependencies.prefixes) {316 if(!buildUtil.isValueInArray(usedPrefixes[i], dependencies.prefixes)){ 314 317 dependencies.prefixes.push([usedPrefixes[i], "../../" + usedPrefixes[i]]); 315 318 } -
util/trunk/buildscripts/jslib/fileUtil.js
r7764 r7773 9 9 } 10 10 11 //Recurses startDir and finds matches to the files that match regExpFilter. 12 //Ignores files/directories that start with a period (.).13 fileUtil.getFilteredFileList = function(startDir, regExpFilter, makeUnixPaths, startDirIsJavaObject){ 11 fileUtil.getFilteredFileList = function(/*String*/startDir, /*RegExp*/regExpFilter, /*boolean?*/makeUnixPaths, /*boolean?*/startDirIsJavaObject){ 12 //summary: Recurses startDir and finds matches to the files that match regExpFilter. 13 //Ignores files/directories that start with a period (.). 14 14 var files = []; 15 15 … … 42 42 } 43 43 44 return files; 44 return files; //Array 45 } 46 47 48 fileUtil.copyDir = function(/*String*/srcDir, /*String*/destDir, /*RegExp*/regExpFilter){ 49 //summary: copies files from srcDir to destDir using the regExpFilter to determine if the 50 //file should be copied. 51 var fileNames = fileUtil.getFilteredFileList(srcDir, regExpFilter, true); 52 53 for(var i = 0; i < fileNames.length; i++){ 54 var srcFileName = fileNames[i]; 55 var destFileName = srcFileName.replace(srcDir, destDir); 56 57 logger.trace("Src filename: " + srcFileName); 58 logger.trace("Dest filename: " + destFileName); 59 60 //Make sure destination dir exists. 61 var destFile = new java.io.File(destFileName); 62 var parentDir = destFile.getParentFile(); 63 if(!parentDir.exists()){ 64 if(!parentDir.mkdirs()){ 65 throw "Could not create directory: " + parentDir.getAbsolutePath(); 66 } 67 } 68 69 //Java's version of copy file. 70 var srcChannel = new java.io.FileInputStream(srcFileName).getChannel(); 71 var destChannel = new java.io.FileOutputStream(destFileName).getChannel(); 72 destChannel.transferFrom(srcChannel, 0, srcChannel.size()); 73 srcChannel.close(); 74 destChannel.close(); 75 } 45 76 } 46 77 47 78 fileUtil.readFile = function(/*String*/path, /*String?*/encoding){ 79 //summary: reads a file and returns a string 48 80 encoding = encoding || "utf-8"; 49 81 var file = new java.io.File(path); … … 57 89 stringBuffer.append(lineSeparator); 58 90 } 59 return stringBuffer.toString(); 91 return stringBuffer.toString(); //Java String 60 92 } finally { 61 93 input.close(); … … 64 96 65 97 fileUtil.saveUtf8File = function(/*String*/fileName, /*String*/fileContents){ 98 //summary: saves a file using UTF-8 encoding. 66 99 fileUtil.saveFile(fileName, fileContents, "utf-8"); 67 100 } 68 101 69 102 fileUtil.saveFile = function(/*String*/fileName, /*String*/fileContents, /*String?*/encoding){ 103 //summary: saves a file. 70 104 var outFile = new java.io.File(fileName); 71 105 var outWriter; … … 85 119 86 120 fileUtil.deleteFile = function(fileName){ 121 //summary: deletes a file if it exists. 87 122 var file = new java.io.File(fileName); 88 123 if(file.exists()){ -
util/trunk/buildscripts/jslib/logger.js
r7764 r7773 32 32 33 33 _print: function(message){ 34 print((this.logPrefix ? this.logPrefix + " ") : "") + message);34 print((this.logPrefix ? (this.logPrefix + " ") : "") + message); 35 35 } 36 36 }