Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(143)

Side by Side Diff: dart/tools/utils.py

Issue 85553002: Add CHANNEL to tools/VERSION (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« dart/tools/publish_barback.py ('K') | « dart/tools/publish_barback.py ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 # Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 # for details. All rights reserved. Use of this source code is governed by a 2 # for details. All rights reserved. Use of this source code is governed by a
3 # BSD-style license that can be found in the LICENSE file. 3 # BSD-style license that can be found in the LICENSE file.
4 4
5 # This file contains a set of utilities functions used by other Python-based 5 # This file contains a set of utilities functions used by other Python-based
6 # scripts. 6 # scripts.
7 7
8 import commands 8 import commands
9 import os 9 import os
10 import platform 10 import platform
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after
227 if mode: 227 if mode:
228 build_root = os.path.join(build_root, GetBuildConf(mode, arch)) 228 build_root = os.path.join(build_root, GetBuildConf(mode, arch))
229 return build_root 229 return build_root
230 230
231 def GetBaseDir(): 231 def GetBaseDir():
232 return BASE_DIR 232 return BASE_DIR
233 233
234 # Return the base part of the version, Major.Minor.Build.Patch, 234 # Return the base part of the version, Major.Minor.Build.Patch,
235 # without the _revision addition 235 # without the _revision addition
236 def GetShortVersion(): 236 def GetShortVersion():
237 (major, minor, build, patch) = ReadVersionFile() 237 (channel, major, minor, build, patch) = ReadVersionFile()
238 # TODO(kustermann/ricow): Add the channel to the version string.
Bob Nystrom 2013/11/25 17:41:59 What would having the channel in the version name
kustermann 2013/11/26 14:17:32 We haven't decided anything, I just put in this TO
238 return '%s.%s.%s.%s' % (major, minor, build, patch) 239 return '%s.%s.%s.%s' % (major, minor, build, patch)
239 240
240 241
241 def GetVersion(): 242 def GetVersion():
242 version_tuple = ReadVersionFile() 243 version_tuple = ReadVersionFile()
243 if not version_tuple: 244 if not version_tuple:
244 return None 245 return None
245 246
246 (major, minor, build, patch) = version_tuple 247 (channel, major, minor, build, patch) = version_tuple
247 revision = GetSVNRevision() 248 revision = GetSVNRevision()
248 user = GetUserName() 249 user = GetUserName()
249 # We don't add username to release builds (or any builds on the bots) 250 # We don't add username to release builds (or any builds on the bots)
250 if user == 'chrome-bot': 251 if user == 'chrome-bot':
251 user = '' 252 user = ''
252 253
253 user_string = '' 254 user_string = ''
254 revision_string = '' 255 revision_string = ''
255 if user: 256 if user:
256 user_string = '_%s' % user 257 user_string = '_%s' % user
257 if revision: 258 if revision:
258 revision_string = '_r%s' % revision 259 revision_string = '_r%s' % revision
259 260
261 # TODO(kustermann/ricow): Add the channel to the version string.
260 return ("%s.%s.%s.%s%s%s" % 262 return ("%s.%s.%s.%s%s%s" %
261 (major, minor, build, patch, revision_string, user_string)) 263 (major, minor, build, patch, revision_string, user_string))
262 264
263 def GetUserName(): 265 def GetUserName():
264 key = 'USER' 266 key = 'USER'
265 if sys.platform == 'win32': 267 if sys.platform == 'win32':
266 key = 'USERNAME' 268 key = 'USERNAME'
267 return os.environ.get(key, '') 269 return os.environ.get(key, '')
268 270
269 def ReadVersionFile(): 271 def ReadVersionFile():
270 version_file = os.path.join(DART_DIR, 'tools', 'VERSION') 272 version_file = os.path.join(DART_DIR, 'tools', 'VERSION')
271 try: 273 try:
272 fd = open(version_file) 274 fd = open(version_file)
273 content = fd.read() 275 content = fd.read()
274 fd.close() 276 fd.close()
275 except: 277 except:
276 print "Warning: Couldn't read VERSION file (%s)" % version_file 278 print "Warning: Couldn't read VERSION file (%s)" % version_file
277 return None 279 return None
278 major_match = re.search('MAJOR (\d+)', content) 280 channel_match = re.search(
279 minor_match = re.search('MINOR (\d+)', content) 281 '^CHANNEL ([A-Za-z0-9]+)$', content, flags=re.MULTILINE)
280 build_match = re.search('BUILD (\d+)', content) 282 major_match = re.search('^MAJOR (\d+)$', content, flags=re.MULTILINE)
281 patch_match = re.search('PATCH (\d+)', content) 283 minor_match = re.search('^MINOR (\d+)$', content, flags=re.MULTILINE)
282 if major_match and minor_match and build_match and patch_match: 284 build_match = re.search('^BUILD (\d+)$', content, flags=re.MULTILINE)
283 return (major_match.group(1), minor_match.group(1), build_match.group(1), 285 patch_match = re.search('^PATCH (\d+)$', content, flags=re.MULTILINE)
284 patch_match.group(1)) 286 if (channel_match and
287 major_match and
288 minor_match and
289 build_match and
290 patch_match):
291 return (channel_match.group(1), major_match.group(1), minor_match.group(1),
292 build_match.group(1), patch_match.group(1))
285 else: 293 else:
286 print "Warning: VERSION file (%s) has wrong format" % version_file 294 print "Warning: VERSION file (%s) has wrong format" % version_file
287 return None 295 return None
288 296
289 def GetSVNRevision(): 297 def GetSVNRevision():
290 # FIXME(kustermann): Make this work for newer SVN versions as well (where 298 # FIXME(kustermann): Make this work for newer SVN versions as well (where
291 # we've got only one '.svn' directory) 299 # we've got only one '.svn' directory)
292 custom_env = dict(os.environ) 300 custom_env = dict(os.environ)
293 custom_env['LC_MESSAGES'] = 'en_GB' 301 custom_env['LC_MESSAGES'] = 'en_GB'
294 p = subprocess.Popen(['svn', 'info'], stdout = subprocess.PIPE, 302 p = subprocess.Popen(['svn', 'info'], stdout = subprocess.PIPE,
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
484 os.chdir(self._working_directory) 492 os.chdir(self._working_directory)
485 493
486 def __exit__(self, *_): 494 def __exit__(self, *_):
487 print "Enter directory = ", self._old_cwd 495 print "Enter directory = ", self._old_cwd
488 os.chdir(self._old_cwd) 496 os.chdir(self._old_cwd)
489 497
490 498
491 if __name__ == "__main__": 499 if __name__ == "__main__":
492 import sys 500 import sys
493 Main(sys.argv) 501 Main(sys.argv)
OLDNEW
« dart/tools/publish_barback.py ('K') | « dart/tools/publish_barback.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698