f@0: #!/usr/bin/python f@0: f@0: # this script will update the versions in plist and installer files to match that in resource.h f@0: f@0: import plistlib, os, datetime, fileinput, glob, sys, string f@0: scriptpath = os.path.dirname(os.path.realpath(__file__)) f@0: f@0: def replacestrs(filename, s, r): f@0: files = glob.glob(filename) f@0: f@0: for line in fileinput.input(files,inplace=1): f@0: string.find(line, s) f@0: line = line.replace(s, r) f@0: sys.stdout.write(line) f@0: f@0: def main(): f@0: f@0: MajorStr = "" f@0: MinorStr = "" f@0: BugfixStr = "" f@0: f@0: for line in fileinput.input(scriptpath + "/resource.h",inplace=0): f@0: if "#define PLUG_VER " in line: f@0: FullVersion = int(string.lstrip(line, "#define PLUG_VER "), 16) f@0: major = FullVersion & 0xFFFF0000 f@0: MajorStr = str(major >> 16) f@0: minor = FullVersion & 0x0000FF00 f@0: MinorStr = str(minor >> 8) f@0: BugfixStr = str(FullVersion & 0x000000FF) f@0: f@0: f@0: FullVersionStr = MajorStr + "." + MinorStr + "." + BugfixStr f@0: f@0: today = datetime.date.today() f@0: CFBundleGetInfoString = FullVersionStr + ", Copyright QueenMaryUniversityOfLondon, " + str(today.year) f@0: CFBundleVersion = FullVersionStr f@0: f@0: print "update_version.py - setting version to " + FullVersionStr f@0: print "Updating plist version info..." f@0: f@0: plistpath = scriptpath + "/resources/AccessibleSpectrumAnalyser-VST2-Info.plist" f@0: vst2 = plistlib.readPlist(plistpath) f@0: vst2['CFBundleGetInfoString'] = CFBundleGetInfoString f@0: vst2['CFBundleVersion'] = CFBundleVersion f@0: vst2['CFBundleShortVersionString'] = CFBundleVersion f@0: plistlib.writePlist(vst2, plistpath) f@0: replacestrs(plistpath, "//Apple//", "//Apple Computer//"); f@0: f@0: plistpath = scriptpath + "/resources/AccessibleSpectrumAnalyser-AU-Info.plist" f@0: au = plistlib.readPlist(plistpath) f@0: au['CFBundleGetInfoString'] = CFBundleGetInfoString f@0: au['CFBundleVersion'] = CFBundleVersion f@0: au['CFBundleShortVersionString'] = CFBundleVersion f@0: plistlib.writePlist(au, plistpath) f@0: replacestrs(plistpath, "//Apple//", "//Apple Computer//"); f@0: f@0: plistpath = scriptpath + "/resources/AccessibleSpectrumAnalyser-VST3-Info.plist" f@0: vst3 = plistlib.readPlist(plistpath) f@0: vst3['CFBundleGetInfoString'] = CFBundleGetInfoString f@0: vst3['CFBundleVersion'] = CFBundleVersion f@0: vst3['CFBundleShortVersionString'] = CFBundleVersion f@0: plistlib.writePlist(vst3, plistpath) f@0: replacestrs(plistpath, "//Apple//", "//Apple Computer//"); f@0: f@0: plistpath = scriptpath + "/resources/AccessibleSpectrumAnalyser-OSXAPP-Info.plist" f@0: app = plistlib.readPlist(plistpath) f@0: app['CFBundleGetInfoString'] = CFBundleGetInfoString f@0: app['CFBundleVersion'] = CFBundleVersion f@0: app['CFBundleShortVersionString'] = CFBundleVersion f@0: plistlib.writePlist(app, plistpath) f@0: replacestrs(plistpath, "//Apple//", "//Apple Computer//"); f@0: f@0: plistpath = scriptpath + "/resources/AccessibleSpectrumAnalyser-RTAS-Info.plist" f@0: rtas = plistlib.readPlist(plistpath) f@0: rtas['CFBundleGetInfoString'] = CFBundleGetInfoString f@0: rtas['CFBundleVersion'] = CFBundleVersion f@0: rtas['CFBundleShortVersionString'] = CFBundleVersion f@0: plistlib.writePlist(rtas, plistpath) f@0: replacestrs(plistpath, "//Apple//", "//Apple Computer//"); f@0: f@0: plistpath = scriptpath + "/resources/AccessibleSpectrumAnalyser-AAX-Info.plist" f@0: aax = plistlib.readPlist(plistpath) f@0: aax['CFBundleGetInfoString'] = CFBundleGetInfoString f@0: aax['CFBundleVersion'] = CFBundleVersion f@0: aax['CFBundleShortVersionString'] = CFBundleVersion f@0: plistlib.writePlist(aax, plistpath) f@0: replacestrs(plistpath, "//Apple//", "//Apple Computer//"); f@0: f@0: # plistpath = scriptpath + "/resources/AccessibleSpectrumAnalyser-IOSAPP-Info.plist" f@0: # iosapp = plistlib.readPlist(plistpath) f@0: # iosapp['CFBundleGetInfoString'] = CFBundleGetInfoString f@0: # iosapp['CFBundleVersion'] = CFBundleVersion f@0: # iosapp['CFBundleShortVersionString'] = CFBundleVersion f@0: # plistlib.writePlist(iosapp, plistpath) f@0: # replacestrs(plistpath, "//Apple//", "//Apple Computer//"); f@0: f@0: print "Updating Mac Installer version info..." f@0: f@0: plistpath = scriptpath + "/installer/AccessibleSpectrumAnalyser.pkgproj" f@0: installer = plistlib.readPlist(plistpath) f@0: f@0: for x in range(0,6): f@0: installer['PACKAGES'][x]['PACKAGE_SETTINGS']['VERSION'] = FullVersionStr f@0: f@0: plistlib.writePlist(installer, plistpath) f@0: replacestrs(plistpath, "//Apple//", "//Apple Computer//"); f@0: f@0: print "Updating Windows Installer version info..." f@0: f@0: for line in fileinput.input(scriptpath + "/installer/AccessibleSpectrumAnalyser.iss",inplace=1): f@0: if "AppVersion" in line: f@0: line="AppVersion=" + FullVersionStr + "\n" f@0: sys.stdout.write(line) f@0: f@0: if __name__ == '__main__': f@0: main()