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

Side by Side Diff: editor/build/build.py

Issue 28773003: Changes to annotated step scripts: dart-editor-installer-* builders will build installer (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 2 months 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
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # 2 #
3 # Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 3 # Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
4 # for details. All rights reserved. Use of this source code is governed by a 4 # for details. All rights reserved. Use of this source code is governed by a
5 # BSD-style license that can be found in the LICENSE file. 5 # BSD-style license that can be found in the LICENSE file.
6 6
7 import glob 7 import glob
8 import gsutil 8 import gsutil
9 import imp 9 import imp
10 import optparse 10 import optparse
11 import os 11 import os
12 import re 12 import re
13 import shutil 13 import shutil
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
121 121
122 def DartArchiveUploadVersionFile(version_file): 122 def DartArchiveUploadVersionFile(version_file):
123 # TODO(kustermann): We don't archive trunk builds to gs://dart-archive/. 123 # TODO(kustermann): We don't archive trunk builds to gs://dart-archive/.
124 # Remove this once the channel transition is done. 124 # Remove this once the channel transition is done.
125 if CHANNEL == 'trunk': return 125 if CHANNEL == 'trunk': return
126 namer = bot_utils.GCSNamer(CHANNEL, bot_utils.ReleaseType.RAW) 126 namer = bot_utils.GCSNamer(CHANNEL, bot_utils.ReleaseType.RAW)
127 for revision in [REVISION, 'latest']: 127 for revision in [REVISION, 'latest']:
128 DartArchiveFile(version_file, namer.version_filepath(revision), 128 DartArchiveFile(version_file, namer.version_filepath(revision),
129 create_md5sum=False) 129 create_md5sum=False)
130 130
131 def DartArchiveUploadInstaller(
132 arch, installer_file, extension, release_type=bot_utils.ReleaseType.RAW):
133 namer = bot_utils.GCSNamer(CHANNEL, release_type)
134 for revision in [REVISION, 'latest']:
135 gsu_path = namer.editor_installer_zipfilepath(
136 revision, SYSTEM, arch, extension)
137 DartArchiveFile(installer_file, gsu_path, create_md5sum=False)
138
131 class AntWrapper(object): 139 class AntWrapper(object):
132 """A wrapper for ant build invocations""" 140 """A wrapper for ant build invocations"""
133 141
134 _antpath = None 142 _antpath = None
135 _bzippath = None 143 _bzippath = None
136 _propertyfile = None 144 _propertyfile = None
137 145
138 def __init__(self, propertyfile, antpath='/usr/bin', bzippath=None): 146 def __init__(self, propertyfile, antpath='/usr/bin', bzippath=None):
139 """Initialize the ant path. 147 """Initialize the ant path.
140 148
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
254 action='store') 262 action='store')
255 result.add_option('-n', '--name', 263 result.add_option('-n', '--name',
256 help='builder name.', 264 help='builder name.',
257 action='store') 265 action='store')
258 result.add_option('-o', '--out', 266 result.add_option('-o', '--out',
259 help='Output Directory.', 267 help='Output Directory.',
260 action='store') 268 action='store')
261 result.add_option('--dest', 269 result.add_option('--dest',
262 help='Output Directory.', 270 help='Output Directory.',
263 action='store') 271 action='store')
272 result.add_option('--build-installer',
273 help='Fetch editor, build installer and archive it.',
274 action='store_true', default=False)
264 return result 275 return result
265 276
266 def main(): 277 def main():
267 """Main entry point for the build program.""" 278 """Main entry point for the build program."""
268 global BUILD_OS 279 global BUILD_OS
269 global CHANNEL 280 global CHANNEL
270 global DART_PATH 281 global DART_PATH
271 global GSU_API_DOCS_PATH 282 global GSU_API_DOCS_PATH
272 global GSU_PATH_LATEST 283 global GSU_PATH_LATEST
273 global GSU_PATH_REV 284 global GSU_PATH_REV
(...skipping 30 matching lines...) Expand all
304 315
305 # TODO(devoncarew): remove this hardcoded e:\ path 316 # TODO(devoncarew): remove this hardcoded e:\ path
306 buildroot_parent = {'linux': dartpath, 'macos': dartpath, 'win32': r'e:\tmp'} 317 buildroot_parent = {'linux': dartpath, 'macos': dartpath, 'win32': r'e:\tmp'}
307 buildroot = os.path.join(buildroot_parent[buildos], 'build_root') 318 buildroot = os.path.join(buildroot_parent[buildos], 'build_root')
308 319
309 os.chdir(buildpath) 320 os.chdir(buildpath)
310 ant_property_file = None 321 ant_property_file = None
311 sdk_zip = None 322 sdk_zip = None
312 323
313 try: 324 try:
314 ant_property_file = tempfile.NamedTemporaryFile(suffix='.property',
315 prefix='AntProperties',
316 delete=False)
317 ant_property_file.close()
318 ant = AntWrapper(ant_property_file.name, os.path.join(antpath, 'bin'),
319 bzip2libpath)
320
321 ant.RunAnt(os.getcwd(), '', '', '', '',
322 '', '', buildos, ['-diagnostics'])
323
324 parser = BuildOptions() 325 parser = BuildOptions()
325 (options, args) = parser.parse_args() 326 (options, args) = parser.parse_args()
326 # Determine which targets to build. By default we build the "all" target. 327 # Determine which targets to build. By default we build the "all" target.
327 if args: 328 if args:
328 print 'only options should be passed to this script' 329 print 'only options should be passed to this script'
329 parser.print_help() 330 parser.print_help()
330 return 2 331 return 2
331 332
332 if str(options.revision) == 'None': 333 if str(options.revision) == 'None':
333 print 'missing revision option' 334 print 'missing revision option'
(...skipping 28 matching lines...) Expand all
362 lastc = revision[-1] 363 lastc = revision[-1]
363 if lastc.isalpha(): 364 if lastc.isalpha():
364 revision = revision[0:-1] 365 revision = revision[0:-1]
365 index = revision.find(':') 366 index = revision.find(':')
366 if index > -1: 367 if index > -1:
367 revision = revision[0:index] 368 revision = revision[0:index]
368 print 'revision = |{0}|'.format(revision) 369 print 'revision = |{0}|'.format(revision)
369 buildout = os.path.abspath(options.out) 370 buildout = os.path.abspath(options.out)
370 print 'buildout = {0}'.format(buildout) 371 print 'buildout = {0}'.format(buildout)
371 372
372 if not os.path.exists(buildout):
373 os.makedirs(buildout)
374
375 # clean out old build artifacts
376 for f in os.listdir(buildout):
377 if ('dartsdk-' in f) or ('darteditor-' in f) or ('dart-editor-' in f):
378 os.remove(join(buildout, f))
379
380 # Get user name. If it does not start with chrome then deploy to the test 373 # Get user name. If it does not start with chrome then deploy to the test
381 # bucket; otherwise deploy to the continuous bucket. 374 # bucket; otherwise deploy to the continuous bucket.
382 username = os.environ.get('USER') 375 username = os.environ.get('USER')
383 if username is None: 376 if username is None:
384 username = os.environ.get('USERNAME') 377 username = os.environ.get('USERNAME')
385 378
386 if username is None: 379 if username is None:
387 print 'Could not find username' 380 print 'Could not find username'
388 return 6 381 return 6
389 382
383 build_skip_tests = os.environ.get('DART_SKIP_RUNNING_TESTS')
384 sdk_environment = os.environ
385 if sdk_environment.has_key('JAVA_HOME'):
386 print 'JAVA_HOME = {0}'.format(str(sdk_environment['JAVA_HOME']))
387
390 # dart-editor[-trunk], dart-editor-(win/mac/linux)[-trunk/be/dev/stable] 388 # dart-editor[-trunk], dart-editor-(win/mac/linux)[-trunk/be/dev/stable]
391 builder_name = str(options.name) 389 builder_name = str(options.name)
392 390
393 EDITOR_REGEXP = (r'^dart-editor(-(?P<system>(win|mac|linux)))?' + 391 EDITOR_REGEXP = (r'^dart-editor(-(?P<installer>(installer)))?(-(?P<system>(w in|mac|linux)))?' +
ricow1 2013/10/18 11:18:08 long line
kustermann 2013/10/18 14:12:13 Done.
394 '(-(?P<channel>(trunk|be|dev|stable)))?$') 392 '(-(?P<channel>(trunk|be|dev|stable)))?$')
395 match = re.match(EDITOR_REGEXP, builder_name) 393 match = re.match(EDITOR_REGEXP, builder_name)
396 if not match: 394 if not match:
397 raise Exception("Buildername '%s' does not match pattern '%s'." 395 raise Exception("Buildername '%s' does not match pattern '%s'."
398 % (builder_name, EDITOR_REGEXP)) 396 % (builder_name, EDITOR_REGEXP))
399 397
400 CHANNEL = match.groupdict()['channel'] or 'be' 398 CHANNEL = match.groupdict()['channel'] or 'be'
401 SYSTEM = match.groupdict()['system'] 399 SYSTEM = match.groupdict()['system']
400 BUILD_INSTALLER = bool(match.groupdict()['installer'])
402 401
403 TRUNK_BUILD = CHANNEL == 'trunk' 402 TRUNK_BUILD = CHANNEL == 'trunk'
404 PLUGINS_BUILD = SYSTEM is None 403 PLUGINS_BUILD = SYSTEM is None
405 REVISION = revision 404 REVISION = revision
406 405
407 build_skip_tests = os.environ.get('DART_SKIP_RUNNING_TESTS') 406 # Make sure the buildername and the options agree
408 sdk_environment = os.environ 407 assert BUILD_INSTALLER == options.build_installer
408
409 if username.startswith('chrome'): 409 if username.startswith('chrome'):
410 if TRUNK_BUILD: 410 if TRUNK_BUILD:
411 to_bucket = 'gs://dart-editor-archive-trunk' 411 bucket = 'gs://dart-editor-archive-trunk'
412 else: 412 else:
413 to_bucket = 'gs://dart-editor-archive-continuous' 413 bucket = 'gs://dart-editor-archive-continuous'
414 running_on_buildbot = True 414 running_on_buildbot = True
415 else: 415 else:
416 to_bucket = 'gs://dart-editor-archive-testing' 416 bucket = 'gs://dart-editor-archive-testing'
417 running_on_buildbot = False 417 running_on_buildbot = False
418 sdk_environment['DART_LOCAL_BUILD'] = 'dart-editor-archive-testing' 418 sdk_environment['DART_LOCAL_BUILD'] = 'dart-editor-archive-testing'
419 419
420 GSU_PATH_REV = '%s/%s' % (to_bucket, REVISION) 420 GSU_PATH_REV = '%s/%s' % (bucket, REVISION)
421 GSU_PATH_LATEST = '%s/%s' % (to_bucket, 'latest') 421 GSU_PATH_LATEST = '%s/%s' % (bucket, 'latest')
422 GSU_API_DOCS_PATH = '%s/%s' % (GSU_API_DOCS_BUCKET, REVISION) 422 GSU_API_DOCS_PATH = '%s/%s' % (GSU_API_DOCS_BUCKET, REVISION)
423 423
424 homegsutil = join(DART_PATH, 'third_party', 'gsutil', 'gsutil') 424 homegsutil = join(DART_PATH, 'third_party', 'gsutil', 'gsutil')
425 gsu = gsutil.GsUtil(False, homegsutil, 425 gsu = gsutil.GsUtil(False, homegsutil,
426 running_on_buildbot=running_on_buildbot) 426 running_on_buildbot=running_on_buildbot)
427 InstallDartium(buildroot, buildout, buildos, gsu)
428 if sdk_environment.has_key('JAVA_HOME'):
429 print 'JAVA_HOME = {0}'.format(str(sdk_environment['JAVA_HOME']))
430 427
431 if not PLUGINS_BUILD: 428 def build_installer():
432 StartBuildStep('create_sdk') 429 def old_location_pair(arch, extension):
433 EnsureDirectoryExists(buildout) 430 """Returns a tuple (zip_file, installer_file) of google cloud storage
434 try: 431 locations."""
435 sdk_zip = CreateSDK(buildout) 432 os_rename = {'win': 'win32', 'mac': 'macos', 'linux': 'linux'}
ricow1 2013/10/18 11:18:08 we have a bunch of dictionaries for renames, we co
kustermann 2013/10/18 14:12:13 Well, we can remove all this special casing once w
436 except: 433 system = os_rename[SYSTEM]
437 BuildStepFailure() 434 return (
435 ("%s/darteditor-%s-%s.zip" % (GSU_PATH_REV, system, arch)),
436 ("%s/darteditor-installer-%s-%s.%s"
437 % (GSU_PATH_REV, system, arch, extension)))
438 if SYSTEM == 'mac':
439 for arch in ['32', '64']:
ricow1 2013/10/18 11:18:08 I would extract this into create_mac_installer()
kustermann 2013/10/18 14:12:13 Done.
440 with utils.TempDir('build_editor_installer') as temp_dir:
441 with utils.ChangedWorkingDirectory(temp_dir):
442 (gsu_editor_zip, gsu_editor_dmg) = old_location_pair(arch, 'dmg')
443 # Fetch the editor zip file from the old location.
444 if gsu.Copy(gsu_editor_zip, 'dart.zip', False):
ricow1 2013/10/18 11:18:08 dart.zip -> editor.zip (+ you could put it into a
kustermann 2013/10/18 14:12:13 Partly done (I think the additional variable would
445 raise Exception("gsutil command failed, aborting.")
446
447 # Unzip the editor (which contains a directory named 'dart').
448 bot_utils.run(['unzip', 'dart.zip'])
449 assert os.path.exists('dart') and os.path.isdir('dart')
450
451 # Build the dmg installer
452 dmg_installer = os.path.join(temp_dir,'darteditor-installer.dmg')
453 dart_folder_icon = os.path.join(DART_PATH,
454 'editor/tools/plugins/com.google.dart.tools.ui/' +
455 'icons/dart_about_140_160.png')
456 dmg_builder = os.path.join(DART_PATH, 'tools',
457 'mac_build_editor_dmg.sh')
458 bot_utils.run([dmg_builder, dmg_installer, 'dart',
459 dart_folder_icon, "Dart Distribution"])
460 assert os.path.exists(dmg_installer)
ricow1 2013/10/18 11:18:08 No need for this, os.path.isfile will return false
kustermann 2013/10/18 14:12:13 Done.
461 assert os.path.isfile(dmg_installer)
462
463 # Archive to old bucket
464 # TODO(kustermann/ricow): Remove all the old archiving code,
465 # once everything points to the new location.
466 if gsu.Copy(dmg_installer, gsu_editor_dmg):
467 raise Exception("gsutil command failed, aborting.")
468
469 # Archive to new bucket
470 # NOTE: This is a little bit hackisch, we fetch the editor from
471 # the old bucket and archive the dmg to the new bucket here.
472 DartArchiveUploadInstaller(arch, dmg_installer, 'dmg',
473 release_type=bot_utils.ReleaseType.SIGNED)
474 else:
475 raise Exception(
476 "We currently cannot build installers for %s" % builder_name)
ricow1 2013/10/18 11:18:08 builder_name -> SYSTEM?
kustermann 2013/10/18 14:12:13 Done.
477 def build_editor():
478 ant_property_file = tempfile.NamedTemporaryFile(suffix='.property',
479 prefix='AntProperties',
480 delete=False)
481 ant_property_file.close()
482 ant = AntWrapper(ant_property_file.name, os.path.join(antpath, 'bin'),
483 bzip2libpath)
484
485 ant.RunAnt(os.getcwd(), '', '', '', '',
486 '', '', buildos, ['-diagnostics'])
487
488 if not os.path.exists(buildout):
489 os.makedirs(buildout)
490
491 # clean out old build artifacts
492 for f in os.listdir(buildout):
493 if ('dartsdk-' in f) or ('darteditor-' in f) or ('dart-editor-' in f):
494 os.remove(join(buildout, f))
495
496 InstallDartium(buildroot, buildout, buildos, gsu)
497
498 if not PLUGINS_BUILD:
499 StartBuildStep('create_sdk')
500 EnsureDirectoryExists(buildout)
501 try:
502 sdk_zip = CreateSDK(buildout)
503 except:
504 BuildStepFailure()
438 505
439 506
440 if builder_name.startswith('dart-editor-linux'): 507 if builder_name.startswith('dart-editor-linux'):
441 StartBuildStep('api_docs') 508 StartBuildStep('api_docs')
442 try: 509 try:
443 CreateApiDocs(buildout) 510 CreateApiDocs(buildout)
444 except: 511 except:
445 BuildStepFailure() 512 BuildStepFailure()
446 513
447 StartBuildStep(builder_name) 514 StartBuildStep(builder_name)
448 515
449 if PLUGINS_BUILD: 516 if PLUGINS_BUILD:
450 status = BuildUpdateSite(ant, revision, builder_name, buildroot, buildout, 517 status = BuildUpdateSite(ant, revision, builder_name, buildroot,
451 editorpath, buildos) 518 buildout, editorpath, buildos)
452 return status
453
454 with utils.TempDir('ExtraArtifacts') as extra_artifacts:
455 #tell the ant script where to write the sdk zip file so it can
456 #be expanded later
457 status = ant.RunAnt('.', 'build_rcp.xml', revision, builder_name,
458 buildroot, buildout, editorpath, buildos,
459 sdk_zip=sdk_zip,
460 running_on_bot=running_on_buildbot,
461 extra_artifacts=extra_artifacts)
462 #the ant script writes a property file in a known location so
463 #we can read it.
464 properties = ReadPropertyFile(buildos, ant_property_file.name)
465
466 if not properties:
467 raise Exception('no data was found in file {%s}'
468 % ant_property_file.name)
469 if status:
470 if properties['build.runtime']:
471 PrintErrorLog(properties['build.runtime'])
472 return status 519 return status
473 520
474 #For the dart-editor build, return at this point. 521 with utils.TempDir('ExtraArtifacts') as extra_artifacts:
475 #We don't need to install the sdk+dartium, run tests, or copy to google 522 #tell the ant script where to write the sdk zip file so it can
ricow1 2013/10/18 11:18:08 I know this is not you, but fix the comment #tell
476 #storage. 523 #be expanded later
477 if not buildos: 524 status = ant.RunAnt('.', 'build_rcp.xml', revision, builder_name,
478 print 'skipping sdk and dartium steps for dart-editor build' 525 buildroot, buildout, editorpath, buildos,
526 sdk_zip=sdk_zip,
527 running_on_bot=running_on_buildbot,
528 extra_artifacts=extra_artifacts)
529 #the ant script writes a property file in a known location so
530 #we can read it.
531 properties = ReadPropertyFile(buildos, ant_property_file.name)
532
533 if not properties:
534 raise Exception('no data was found in file {%s}'
535 % ant_property_file.name)
536 if status:
537 if properties['build.runtime']:
538 PrintErrorLog(properties['build.runtime'])
539 return status
540
541 #For the dart-editor build, return at this point.
542 #We don't need to install the sdk+dartium, run tests, or copy to google
543 #storage.
544 if not buildos:
545 print 'skipping sdk and dartium steps for dart-editor build'
546 return 0
547
548 #This is an override for local testing
549 force_run_install = os.environ.get('FORCE_RUN_INSTALL')
550
551 if force_run_install or (not PLUGINS_BUILD):
552 InstallSdk(buildroot, buildout, buildos, buildout)
553 InstallDartium(buildroot, buildout, buildos, gsu)
554
555 if status:
556 return status
557
558 if not build_skip_tests:
559 RunEditorTests(buildout, buildos)
560
561 if buildos:
562 StartBuildStep('upload_artifacts')
563
564 _InstallArtifacts(buildout, buildos, extra_artifacts)
565
566 # dart-editor-linux.gtk.x86.zip --> darteditor-linux-32.zip
567 RenameRcpZipFiles(buildout)
568
569 PostProcessEditorBuilds(buildout)
570
571 if running_on_buildbot:
572 version_file = _FindVersionFile(buildout)
573 if version_file:
574 UploadFile(version_file, False)
575 DartArchiveUploadVersionFile(version_file)
576
577 found_zips = _FindRcpZipFiles(buildout)
578 for zipfile in found_zips:
579 UploadFile(zipfile)
580 DartArchiveUploadEditorZipFile(zipfile)
581
479 return 0 582 return 0
480 583
481 #This is an override for local testing 584 if BUILD_INSTALLER:
482 force_run_install = os.environ.get('FORCE_RUN_INSTALL') 585 build_installer()
483 586 else:
484 if force_run_install or (not PLUGINS_BUILD): 587 build_editor()
485 InstallSdk(buildroot, buildout, buildos, buildout)
486 InstallDartium(buildroot, buildout, buildos, gsu)
487
488 if status:
489 return status
490
491 if not build_skip_tests:
492 RunEditorTests(buildout, buildos)
493
494 if buildos:
495 StartBuildStep('upload_artifacts')
496
497 _InstallArtifacts(buildout, buildos, extra_artifacts)
498
499 # dart-editor-linux.gtk.x86.zip --> darteditor-linux-32.zip
500 RenameRcpZipFiles(buildout)
501
502 PostProcessEditorBuilds(buildout)
503
504 if running_on_buildbot:
505 version_file = _FindVersionFile(buildout)
506 if version_file:
507 UploadFile(version_file, False)
508 DartArchiveUploadVersionFile(version_file)
509
510 found_zips = _FindRcpZipFiles(buildout)
511 for zipfile in found_zips:
512 UploadFile(zipfile)
513 DartArchiveUploadEditorZipFile(zipfile)
514
515 return 0
516 finally: 588 finally:
517 if ant_property_file is not None: 589 if ant_property_file is not None:
518 print 'cleaning up temp file {0}'.format(ant_property_file.name) 590 print 'cleaning up temp file {0}'.format(ant_property_file.name)
519 os.remove(ant_property_file.name) 591 os.remove(ant_property_file.name)
520 print 'cleaning up {0}'.format(buildroot) 592 print 'cleaning up {0}'.format(buildroot)
521 shutil.rmtree(buildroot, True) 593 shutil.rmtree(buildroot, True)
522 print 'Build Done' 594 print 'Build Done'
523 595
524 596
525 def ReadPropertyFile(buildos, property_file): 597 def ReadPropertyFile(buildos, property_file):
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after
691 763
692 # Download and unzip dartium 764 # Download and unzip dartium
693 unzip_dir = os.path.join(tmp_dir, 765 unzip_dir = os.path.join(tmp_dir,
694 os.path.splitext(os.path.basename(dartiumFile))[0]) 766 os.path.splitext(os.path.basename(dartiumFile))[0])
695 if not os.path.exists(unzip_dir): 767 if not os.path.exists(unzip_dir):
696 os.makedirs(unzip_dir) 768 os.makedirs(unzip_dir)
697 769
698 # Always download as local_name.zip 770 # Always download as local_name.zip
699 tmp_zip_file = os.path.join(tmp_dir, "%s.zip" % local_name) 771 tmp_zip_file = os.path.join(tmp_dir, "%s.zip" % local_name)
700 if not os.path.exists(tmp_zip_file): 772 if not os.path.exists(tmp_zip_file):
701 gsu.Copy(dartiumFile, tmp_zip_file, False) 773 if gsu.Copy(dartiumFile, tmp_zip_file, False):
774 raise Exception("gsutil command failed, aborting.")
702 # Dartium is unzipped into unzip_dir/dartium-*/ 775 # Dartium is unzipped into unzip_dir/dartium-*/
703 dartium_zip = ziputils.ZipUtil(tmp_zip_file, buildos) 776 dartium_zip = ziputils.ZipUtil(tmp_zip_file, buildos)
704 dartium_zip.UnZip(unzip_dir) 777 dartium_zip.UnZip(unzip_dir)
705 778
706 dart_zip_path = join(buildout, rcpZipFile) 779 dart_zip_path = join(buildout, rcpZipFile)
707 dart_zip = ziputils.ZipUtil(dart_zip_path, buildos) 780 dart_zip = ziputils.ZipUtil(dart_zip_path, buildos)
708 781
709 add_path = glob.glob(join(unzip_dir, 'dartium-*'))[0] 782 add_path = glob.glob(join(unzip_dir, 'dartium-*'))[0]
710 if system == 'windows': 783 if system == 'windows':
711 # TODO(ricow/kustermann): This is hackisch. We should make a generic 784 # TODO(ricow/kustermann): This is hackisch. We should make a generic
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
769 #download and unzip dartium 842 #download and unzip dartium
770 unzip_dir = os.path.join(tmp_dir, 843 unzip_dir = os.path.join(tmp_dir,
771 os.path.splitext(os.path.basename(dartiumFile))[0]) 844 os.path.splitext(os.path.basename(dartiumFile))[0])
772 if not os.path.exists(unzip_dir): 845 if not os.path.exists(unzip_dir):
773 os.makedirs(unzip_dir) 846 os.makedirs(unzip_dir)
774 # Always download as searchString.zip 847 # Always download as searchString.zip
775 basename = "%s.zip" % searchString 848 basename = "%s.zip" % searchString
776 tmp_zip_file = os.path.join(tmp_dir, basename) 849 tmp_zip_file = os.path.join(tmp_dir, basename)
777 850
778 if not os.path.exists(tmp_zip_file): 851 if not os.path.exists(tmp_zip_file):
779 gsu.Copy(dartiumFile, tmp_zip_file, False) 852 if gsu.Copy(dartiumFile, tmp_zip_file, False):
853 raise Exception("gsutil command failed, aborting.")
780 854
781 # Upload dartium zip to make sure we have consistent dartium downloads 855 # Upload dartium zip to make sure we have consistent dartium downloads
782 UploadFile(tmp_zip_file) 856 UploadFile(tmp_zip_file)
783 857
784 # Dartium is unzipped into ~ unzip_dir/dartium-win-full-7665.7665 858 # Dartium is unzipped into ~ unzip_dir/dartium-win-full-7665.7665
785 dartium_zip = ziputils.ZipUtil(tmp_zip_file, buildos) 859 dartium_zip = ziputils.ZipUtil(tmp_zip_file, buildos)
786 dartium_zip.UnZip(unzip_dir) 860 dartium_zip.UnZip(unzip_dir)
787 else: 861 else:
788 dartium_zip = ziputils.ZipUtil(tmp_zip_file, buildos) 862 dartium_zip = ziputils.ZipUtil(tmp_zip_file, buildos)
789 863
(...skipping 473 matching lines...) Expand 10 before | Expand all | Expand 10 after
1263 """delete the given file - do not re-throw any exceptions that occur""" 1337 """delete the given file - do not re-throw any exceptions that occur"""
1264 if os.path.exists(f): 1338 if os.path.exists(f):
1265 try: 1339 try:
1266 os.remove(f) 1340 os.remove(f)
1267 except OSError: 1341 except OSError:
1268 print 'error deleting %s' % f 1342 print 'error deleting %s' % f
1269 1343
1270 1344
1271 if __name__ == '__main__': 1345 if __name__ == '__main__':
1272 sys.exit(main()) 1346 sys.exit(main())
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698