You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
1.8 KiB
56 lines
1.8 KiB
// Changes the Dojo version in a file. Used during the release process. |
|
|
|
var |
|
version = "" + arguments[0], |
|
revision = "" + arguments[1], |
|
filename = "" + arguments[2], |
|
|
|
writeFile= function(filename, contents){ |
|
var |
|
outFile = new java.io.File(filename), |
|
outWriter; |
|
outWriter = new java.io.OutputStreamWriter(new java.io.FileOutputStream(outFile), "UTF-8"); |
|
var os = new java.io.BufferedWriter(outWriter); |
|
try{ |
|
os.write(contents); |
|
}finally{ |
|
os.close(); |
|
} |
|
}, |
|
|
|
|
|
changeVersion = function(/*String*/version, /*String*/fileContents){ |
|
// summary: |
|
// Changes the version number for dojo. Input should be the fileContents |
|
// of a file that contains the version number. |
|
|
|
//Set version number. |
|
//First, break apart the version string. |
|
var verSegments = version.match(/^(\d*)\.?(\d*)\.?(\d*)\.?(.*)$/); |
|
var majorValue = verSegments[1] || 0; |
|
var minorValue = verSegments[2] || 0; |
|
var patchValue = verSegments[3] || 0; |
|
var flagValue = verSegments[4] || ""; |
|
|
|
// Do the final version replacement. |
|
if(/(package|bower)/.test(filename)){ |
|
fileContents = fileContents.replace( |
|
/['"](version|dojo|dijit|dojox|themes|dojo-themes)['"]\s*\:\s*['"][\w\.\-]+?["']/g, |
|
'"$1": "' + version + '"' |
|
); |
|
}else{ |
|
fileContents = fileContents.replace( |
|
/major:\s*\d*,\s*minor:\s*\d*,\s*patch:\s*\d*,\s*flag:\s*".*?"\s*,/g, |
|
"major: " + majorValue + ", minor: " + minorValue + ", patch: " + patchValue + ", flag: \"" + flagValue + "\"," |
|
); |
|
fileContents = fileContents.replace(/\$Rev(: [0-9a-f]* )?\$/, revision ? "$Rev: " + revision + " $" : "$Rev$"); |
|
} |
|
|
|
return fileContents; //String |
|
}; |
|
|
|
print(version); |
|
print(filename); |
|
var fileContents = readFile(filename, "utf-8"); |
|
fileContents = changeVersion(version, fileContents); |
|
writeFile(filename, fileContents);
|
|
|