Changeset 7768
- Timestamp:
- 03/22/07 21:51:19 (16 months ago)
- Location:
- util/trunk/buildscripts
- Files:
-
- 2 modified
-
build.js (modified) (3 diffs)
-
jslib/buildUtil.js (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
util/trunk/buildscripts/build.js
r7764 r7768 5 5 load("jslib/buildUtil.js"); 6 6 7 //Constants8 var releaseDir = "release/";9 10 7 //Convert arguments to keyword arguments. 11 8 var kwArgs = buildUtil.convertArrayToObject(arguments); … … 13 10 //Set some defaults for some args if they are missing. 14 11 kwArgs.releaseName = kwArgs["releaseName"] || "dojo"; 15 releaseDir += kwArgs.releaseName;12 kwArgs.releaseDir = "release/" + kwArgs["releaseName"] || "dojo"; 16 13 kwArgs.version = kwArgs["version"] || "0.0.0.dev"; 17 14 kwArgs.actions = (kwArgs["action"] || "release").split(","); 15 kwArgs.loader = kwArgs["loader"] || "default"; 18 16 if(!kwArgs["profileFile"] && kwArgs["profile"]){ 19 17 kwArgs.profileFile = "profiles/" + kwArgs.profile + ".profile.js"; … … 26 24 } 27 25 28 //*** Start clean***26 //********* Start clean ************ 29 27 function clean(){ 30 28 fileUtil.deleteFile(releaseDir); 31 29 } 32 //*** End clean***30 //********* End clean ********* 33 31 34 //*** Start release***32 //********* Start release ********* 35 33 function release(){ 36 34 logger.info("Using version number: " + kwArgs.version + " for the release."); 35 logger.info("profileFile: " + kwArgs.profileFile); 37 36 38 37 clean(); 39 38 40 39 //Get the list of module directories we need to process. 40 //They will be in the dependencies.prefixes array. 41 var dependencies = buildUtil.evalProfile(kwArgs.profileFile); 42 var prefixes = dependencies.prefixes; 43 var dojoPrefixPath = null; 44 for(var i = 0; i < prefixes.length; i++){ 45 var prefixName = prefixes[i][0]; 46 var prefixPath = prefixes[i][1]; 47 48 //Save dojo for last. 49 if(prefixName == "dojo"){ 50 dojoPrefixPath = prefixPath; 51 }else{ 52 _releasePrefixPath(prefixName, prefixPath, kwArgs); 53 } 54 } 41 55 42 //Copy each module directory. 56 //Now process Dojo core. Special things for that one. 57 if(dojoPrefixPath){ 58 //xxx 59 60 //-flatten-resources 61 // <replaceregexp match="/\*\*\*BUILD:localesGenerated\*\*\*/" byline="false" replace="=${generatedLocales}" 62 // file="${dstFile}"/> 63 64 //remove dojo.requireLocalization calls. 65 66 //Make a compressed and uncompressed version of the layer files. 67 68 //add build_notice and copyright to module files. 69 70 } 71 } 72 //********* End release ********* 73 74 //********* Start _releasePrefixPath ********* 75 function _releasePrefixPath(prefixName, prefixPath, kwArgs){ 76 //Copy prefixPath to release dir. 77 //Skip tests if requested. 78 //xxx 43 79 80 //makeDojoJs.js 81 //xxx 44 82 45 83 //Run xdgen if an xdomain build. 84 //xxx 46 85 } 47 //*** End release *** 86 //********* End _releasePrefixPath ********* 87 -
util/trunk/buildscripts/jslib/buildUtil.js
r7764 r7768 296 296 //Find prefixes that are used. 297 297 var usedPrefixes = ["dojo"]; 298 xxx 299 298 usePrefixes._entries { dojo: true }; 299 300 //Check normal dependencies. 301 buildUtil.addPrefixesFromDependencies(usedPrefixes, dependencies); 302 303 //Check layer dependencies 304 var layerDeps = dependencies.layers; 305 for(var i = 0; i < layerDeps.length; i++){ 306 buildUtil.addPrefixesFromDependencies(usedPrefixes, layerDeps[i].dependencies); 307 } 308 309 //Now add to the real prefix array. 310 //If not already in the prefix array, assume the default 311 //location, as a sibling to dojo (and util). 312 for(var i = 0; i < usedPrefixes.length; i++){ 313 if(!buildUtil.isValueInArray(usedPrefixes[i], dependencies.prefixes){ 314 dependencies.prefixes.push([usedPrefixes[i], "../../" + usedPrefixes[i]]); 315 } 316 } 317 300 318 return { 301 319 dependencies: dependencies, 302 320 hostenvType: hostenvType 303 321 }; 322 } 323 324 buildUtil.addPrefixesFromDependencies = function(/*Array*/prefixStore, /*Array*/dependencies){ 325 //summary: finds the top level prefixes in the build process that 326 //we need to track for the build process. 327 for(var i = 0; i < dependencies.length; i++){ 328 var topPrefix = dependencies[i].split(".")[0]; 329 if(!prefixStore._entries[topPrefix]){ 330 prefixStore.push(topPrefix); 331 prefixStore._entries[topPrefix] = true; 332 } 333 } 304 334 } 305 335 … … 873 903 var result = {}; 874 904 for(var i = 0; i < ary.length; i++){ 875 var parts = ary[i].split("=");876 if( parts.length != 2){905 var separatorIndex = ary[i].indexOf("="); 906 if(separatorIndex == -1){ 877 907 throw "Malformed name/value pair: [" + ary[i] + "]. Format should be name=value"; 878 908 } 879 result[ parts[0]] = parts[1];909 result[ary[i].substring(0, separatorIndex)] = ary[i].substring(separatorIndex + 1, ary[i].length); 880 910 } 881 911 return result; //Object