From b3f9c327aa225b38a2433e313d2772d9fd1e54bc Mon Sep 17 00:00:00 2001 From: Neil Hodgson Date: Mon, 21 Sep 2015 10:45:47 +1000 Subject: Automate updating of version numbers in the Scintilla framework. --- scripts/FileGenerator.py | 19 +++++++++++++++++++ scripts/LexGen.py | 6 +++++- 2 files changed, 24 insertions(+), 1 deletion(-) mode change 100755 => 100644 scripts/LexGen.py (limited to 'scripts') diff --git a/scripts/FileGenerator.py b/scripts/FileGenerator.py index 01a79bf99..e2750ebe0 100644 --- a/scripts/FileGenerator.py +++ b/scripts/FileGenerator.py @@ -137,6 +137,25 @@ def Regenerate(filename, commentPrefix, *lists): """ Generate(filename, filename, commentPrefix, *lists) +def UpdateLineInPlistFile(path, key, value): + """Replace a single string value preceded by 'key' in an XML plist file. + """ + lines = [] + keyCurrent = "" + with codecs.open(path, "rb", "utf-8") as f: + for l in f.readlines(): + ls = l.strip() + if ls.startswith(""): + keyCurrent = ls.replace("", "").replace("", "") + elif ls.startswith(""): + if keyCurrent == key: + start, tag, rest = l.partition("") + val, etag, end = rest.partition("") + l = start + tag + value + etag + end + lines.append(l) + contents = "".join(lines) + UpdateFile(path, contents) + def UpdateLineInFile(path, linePrefix, lineReplace): lines = [] updated = False diff --git a/scripts/LexGen.py b/scripts/LexGen.py old mode 100755 new mode 100644 index f2496be2a..934968c27 --- a/scripts/LexGen.py +++ b/scripts/LexGen.py @@ -8,7 +8,7 @@ # Files are regenerated in place with templates stored in comments. # The format of generation comments is documented in FileGenerator.py. -from FileGenerator import Regenerate, UpdateLineInFile, ReplaceREInFile +from FileGenerator import Regenerate, UpdateLineInFile, ReplaceREInFile, UpdateLineInPlistFile import ScintillaData import HFacer @@ -38,6 +38,10 @@ def UpdateVersionNumbers(sci, root): UpdateLineInFile(root + "doc/ScintillaHistory.html", ' Released ', ' Released ' + sci.dmyModified + '.') + UpdateLineInPlistFile(root + "cocoa/ScintillaFramework/Info.plist", + "CFBundleVersion", sci.versionDotted) + UpdateLineInPlistFile(root + "cocoa/ScintillaFramework/Info.plist", + "CFBundleShortVersionString", sci.versionDotted) def RegenerateAll(root): -- cgit v1.2.3