[483] | 1 | // Changes the Dojo version in a file. Used during the release process. |
---|
| 2 | |
---|
| 3 | var |
---|
| 4 | version = new String(arguments[0]), |
---|
| 5 | revision = new String(arguments[1]), |
---|
| 6 | filename = new String(arguments[2]), |
---|
| 7 | |
---|
| 8 | writeFile= function(filename, contents){ |
---|
| 9 | var |
---|
| 10 | outFile = new java.io.File(filename), |
---|
| 11 | outWriter; |
---|
| 12 | outWriter = new java.io.OutputStreamWriter(new java.io.FileOutputStream(outFile), "UTF-8"); |
---|
| 13 | var os = new java.io.BufferedWriter(outWriter); |
---|
| 14 | try{ |
---|
| 15 | os.write(contents); |
---|
| 16 | }finally{ |
---|
| 17 | os.close(); |
---|
| 18 | } |
---|
| 19 | }, |
---|
| 20 | |
---|
| 21 | |
---|
| 22 | changeVersion = function(/*String*/version, /*String*/fileContents){ |
---|
| 23 | // summary: |
---|
| 24 | // Changes the version number for dojo. Input should be the fileContents |
---|
| 25 | // of a file that contains the version number. |
---|
| 26 | |
---|
| 27 | //Set version number. |
---|
| 28 | //First, break apart the version string. |
---|
| 29 | var verSegments = version.match(/^(\d*)\.?(\d*)\.?(\d*)\.?(.*)$/); |
---|
| 30 | var majorValue = verSegments[1] || 0; |
---|
| 31 | var minorValue = verSegments[2] || 0; |
---|
| 32 | var patchValue = verSegments[3] || 0; |
---|
| 33 | var flagValue = verSegments[4] || ""; |
---|
| 34 | |
---|
| 35 | // Do the final version replacement. |
---|
| 36 | if(/package/.test(filename)){ |
---|
| 37 | fileContents = fileContents.replace( |
---|
| 38 | /['"](version|dojo|dijit)['"]\s*\:\s*['"][\w\.\-]+?["']/g, |
---|
| 39 | '"$1":"' + version + '"' |
---|
| 40 | ); |
---|
| 41 | }else{ |
---|
| 42 | fileContents = fileContents.replace( |
---|
| 43 | /major:\s*\d*,\s*minor:\s*\d*,\s*patch:\s*\d*,\s*flag:\s*".*?"\s*,/g, |
---|
| 44 | "major: " + majorValue + ", minor: " + minorValue + ", patch: " + patchValue + ", flag: \"" + flagValue + "\"," |
---|
| 45 | ); |
---|
| 46 | fileContents = fileContents.replace(/\$Rev(: \d+ |)\$/, "$Rev: " + revision + " $"); |
---|
| 47 | } |
---|
| 48 | |
---|
| 49 | return fileContents; //String |
---|
| 50 | }; |
---|
| 51 | |
---|
| 52 | print(version); |
---|
| 53 | print(filename); |
---|
| 54 | var fileContents = readFile(filename, "utf-8"); |
---|
| 55 | fileContents = changeVersion(version, fileContents); |
---|
| 56 | writeFile(filename, fileContents); |
---|