Changeset 7779

Show
Ignore:
Timestamp:
03/24/07 09:03:36 (20 months ago)
Author:
jburke
Message:

Refs #2607. Got compression to work. Not use build.xml for the release process, but build.js instead. Layered builds, i18n and xdomain do not work yet.

Location:
util/trunk/buildscripts
Files:
1 removed
1 modified

Legend:

Unmodified
Added
Removed
  • util/trunk/buildscripts/build.js

    r7775 r7779  
    4242//********* Start release ********* 
    4343function release(){ 
     44        logger.info("Using profile: " + kwArgs.profileFile); 
     45 
    4446        logger.info("Using version number: " + kwArgs.version + " for the release."); 
    45         logger.info("profileFile: " + kwArgs.profileFile); 
    4647         
    4748        clean(); 
     
    5455        var dojoPrefixPath = null; 
    5556        var lineSeparator = fileUtil.getLineSeparator(); 
    56  
     57        var copyrightText = String(fileUtil.readFile("copyright.txt")); 
     58        var buildNoticeText = String(fileUtil.readFile("build_notice.txt")); 
     59         
    5760        //Copy each prefix dir to the releases and 
    5861        //operate on that copy. 
     
    7275        if(dojoPrefixPath){ 
    7376                 _prefixPathRelease("dojo", dojoPrefixPath, kwArgs); 
    74                  
     77 
    7578                //FIXME: loadDependency list reparses profile file, but we've already done that. 
    7679                var result = buildUtil.makeDojoJs(buildUtil.loadDependencyList(kwArgs.profileFile), kwArgs.version); 
    7780 
    78                 //Save the dojo.js contents. It is always the first result. 
    79                 fileUtil.saveFile(kwArgs.releaseDir + "/dojo/dojo.js", result[0].contents); 
     81                //Save the build layers. The first layer is dojo.js. 
     82                var layerLegalText = copyrightText + buildNoticeText; 
     83                for(var i = 0; i < result.length; i++){ 
     84                        var fileName = kwArgs.releaseDir + "/dojo/" + result[i].layerName; 
     85                        var fileContents = result[i].contents; 
     86                         
     87                        //FIXME: Flatten resources. Only do the top level flattening for bundles 
     88                        //in the layer files. How to do this for layers? only do one nls file for 
     89                        //all layers, or a different one for each layer? 
     90                        //              <replaceregexp match="/\*\*\*BUILD:localesGenerated\*\*\*/" byline="false" replace="=${generatedLocales}" 
     91                        //      file="${dstFile}"/> 
     92                        //remove dojo.requireLocalization calls. 
    8093 
    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); 
     94                        //Save uncompressed file. 
     95                        fileUtil.saveFile(fileName + ".uncompressed.js", layerLegalText + fileContents); 
     96 
     97                        //Save compressed file. 
     98                        //FIXME: this probably breaks with multiple layers -- it seems like an issue 
     99                        //inside the compressor. 
     100                        var compresedContents = buildUtil.optimizeJs(fileName, fileContents, layerLegalText, true); 
     101                        fileUtil.saveFile(fileName, compresedContents); 
    84102                } 
    85103 
    86                 //Save the dependency list to build.txt 
     104                //Save the dependency lists to build.txt 
    87105                var buildText = "Files baked into this build:" + lineSeparator; 
    88106                for(var i = 0; i < result.length; i++){ 
     
    90108                        buildText += result[i].depList.join(lineSeparator) + lineSeparator; 
    91109                } 
    92  
    93110                fileUtil.saveFile(kwArgs.releaseDir + "/dojo/build.txt", buildText); 
    94111 
    95112                logger.info(buildText); 
    96  
    97  
    98                 //-flatten-resources 
    99                 //              <replaceregexp match="/\*\*\*BUILD:localesGenerated\*\*\*/" byline="false" replace="=${generatedLocales}" 
    100                 //      file="${dstFile}"/> 
    101                  
    102                 //remove dojo.requireLocalization calls. 
    103                  
    104                 //Make a compressed and uncompressed version of the layer files. 
    105                  
    106                 //add build_notice and copyright to module files. 
    107  
    108113        } 
    109114} 
     
    121126 
    122127        fileUtil.copyDir(prefixPath, releasePath, copyRegExp); 
    123          
    124         //makeDojoJs.js 
    125         //xxx 
    126          
    127         //flatten  
    128         //Run xdgen if an xdomain build. 
    129         //xxx 
     128 
     129        //FIXME: flatten bundles inside the directory 
     130 
     131        //FIXME: Run xdgen if an xdomain build. 
    130132} 
    131133//********* End _releasePrefixPath *********