Chromium Code Reviews| Index: visual_studio/NativeClientVSAddIn/buildbot_run.py |
| diff --git a/visual_studio/NativeClientVSAddIn/buildbot_run.py b/visual_studio/NativeClientVSAddIn/buildbot_run.py |
| index b80c860b4305bc41b84aced6b40826cbe060eb98..437e018c0ebb41ceb58b3d1dfb5d1f1519bf0af4 100644 |
| --- a/visual_studio/NativeClientVSAddIn/buildbot_run.py |
| +++ b/visual_studio/NativeClientVSAddIn/buildbot_run.py |
| @@ -10,6 +10,8 @@ annootator syntax |
| import os |
| import sys |
| +import re |
| +import shutil |
| import subprocess |
| import urllib2 |
| import zipfile |
| @@ -45,7 +47,40 @@ def RunCommand(cmd, env=None): |
| def StepBuild(): |
| Log('@@@BUILD_STEP build AddIn@@@') |
| - RunCommand('build.bat') |
| + |
| + rev = os.environ.get('BUILDBOT_GOT_REVISION') |
| + if not rev: |
| + Log('No BUILDBOT_GOT_REVISION found in environ') |
| + Log('@@@STEP_FAILURE@@@') |
| + sys.exit(1) |
| + |
| + if rev[0] == 'r': |
| + rev = [1:] |
| + |
| + # make a backup of AssemblyInfo.cs before we modify it |
| + filename = os.path.join('NativeClientVSAddIn', 'AssemblyInfo.cs') |
| + backup = filename + '.orig' |
| + shutil.copyfile(filename, backup) |
| + |
| + try: |
| + # Before we do the build, insert the revsion information |
| + # info AssemblyInfo.cs. Thie will then be reported as |
| + # the addin version in visual studio. |
| + with open(filename, 'rb') as f: |
| + contents = f.read() |
| + |
| + pattern = r'(\[assembly: AssemblyInformationalVersion\("\d+\.\d+\.).*"\)\]' |
|
binji
2012/10/11 20:23:00
I think this regexp should extract the end part to
|
| + contents = re.sub(pattern, r'\1%s")]' % rev, contents) |
| + |
| + with open(filename, 'wb') as f: |
| + f.write(contents) |
| + |
| + RunCommand('build.bat') |
| + finally: |
| + # Once build is done restore original file |
| + os.remove(filename) |
| + os.rename(backup, filename) |
| + |
| def StepInstall(): |