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); |
---|