Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Side by Side Diff: build.py

Issue 29357701: Issue 4548 - Split out Safari and add Edge release automation (Closed)
Patch Set: Created Oct. 19, 2016, 11:41 a.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | releaseAutomation.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # This Source Code Form is subject to the terms of the Mozilla Public 1 # This Source Code Form is subject to the terms of the Mozilla Public
2 # License, v. 2.0. If a copy of the MPL was not distributed with this 2 # License, v. 2.0. If a copy of the MPL was not distributed with this
3 # file, You can obtain one at http://mozilla.org/MPL/2.0/. 3 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
4 4
5 import os 5 import os
6 import sys 6 import sys
7 import re 7 import re
8 import subprocess 8 import subprocess
9 import shutil 9 import shutil
10 import buildtools 10 import buildtools
(...skipping 424 matching lines...) Expand 10 before | Expand all | Expand 10 after
435 if len(args) == 0: 435 if len(args) == 0:
436 print 'No version number specified for the release' 436 print 'No version number specified for the release'
437 usage(scriptName, type, 'release') 437 usage(scriptName, type, 'release')
438 return 438 return
439 version = args[0] 439 version = args[0]
440 if re.search(r'[^\d\.]', version): 440 if re.search(r'[^\d\.]', version):
441 print 'Wrong version number format' 441 print 'Wrong version number format'
442 usage(scriptName, type, 'release') 442 usage(scriptName, type, 'release')
443 return 443 return
444 444
445 if type == 'chrome' and len(keyFiles) != 2: 445 if (type == 'chrome' or type == 'safari') and len(keyFiles) != 1:
446 print >>sys.stderr, 'Error: wrong number of key files specified, two key s (Chrome and Safari) required for the release' 446 print >>sys.stderr, 'Error: you must specify a key file for this release '
447 usage(scriptName, type, 'release') 447 usage(scriptName, type, 'release')
448 return 448 return
449 449
450 import buildtools.releaseAutomation as releaseAutomation 450 import buildtools.releaseAutomation as releaseAutomation
451 releaseAutomation.run(baseDir, type, version, keyFiles, downloadsRepo) 451 releaseAutomation.run(baseDir, type, version, keyFiles, downloadsRepo)
452 452
453 453
454 def updatePSL(baseDir, scriptName, opts, args, type): 454 def updatePSL(baseDir, scriptName, opts, args, type):
455 import buildtools.publicSuffixListUpdater as publicSuffixListUpdater 455 import buildtools.publicSuffixListUpdater as publicSuffixListUpdater
456 publicSuffixListUpdater.updatePSL(baseDir) 456 publicSuffixListUpdater.updatePSL(baseDir)
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
518 command.addOption('Suppress JsDoc output', short='q', long='quiet') 518 command.addOption('Suppress JsDoc output', short='q', long='quiet')
519 command.params = '[options] <directory>' 519 command.params = '[options] <directory>'
520 command.supportedTypes = ('gecko', 'chrome') 520 command.supportedTypes = ('gecko', 'chrome')
521 521
522 with addCommand(runReleaseAutomation, 'release') as command: 522 with addCommand(runReleaseAutomation, 'release') as command:
523 command.shortDescription = 'Run release automation' 523 command.shortDescription = 'Run release automation'
524 command.description = 'Note: If you are not the project owner then you ' "probably don't want to run this!\n\n" 'Runs release automation: crea tes downloads for the new version, tags ' 'source code repository as well as downloads and buildtools repository.' 524 command.description = 'Note: If you are not the project owner then you ' "probably don't want to run this!\n\n" 'Runs release automation: crea tes downloads for the new version, tags ' 'source code repository as well as downloads and buildtools repository.'
525 command.addOption('File containing private key and certificates required to sign the release. Note that for Chrome releases this option needs to be specifie d twice: first a key to sign Chrome builds, then another to sign the Safari buil d.', short='k', long='key', value='file', types=('chrome',)) 525 command.addOption('File containing private key and certificates required to sign the release. Note that for Chrome releases this option needs to be specifie d twice: first a key to sign Chrome builds, then another to sign the Safari buil d.', short='k', long='key', value='file', types=('chrome',))
526 command.addOption('Directory containing downloads repository (if omitted ../ downloads is assumed)', short='d', long='downloads', value='dir') 526 command.addOption('Directory containing downloads repository (if omitted ../ downloads is assumed)', short='d', long='downloads', value='dir')
527 command.params = '[options] <version>' 527 command.params = '[options] <version>'
528 command.supportedTypes = ('gecko', 'chrome') 528 command.supportedTypes = ('gecko', 'chrome', 'safari', 'edge')
529 529
530 with addCommand(updatePSL, 'updatepsl') as command: 530 with addCommand(updatePSL, 'updatepsl') as command:
531 command.shortDescription = 'Updates Public Suffix List' 531 command.shortDescription = 'Updates Public Suffix List'
532 command.description = 'Downloads Public Suffix List (see http://publicsuffix .org/) and generates lib/publicSuffixList.js from it.' 532 command.description = 'Downloads Public Suffix List (see http://publicsuffix .org/) and generates lib/publicSuffixList.js from it.'
533 command.supportedTypes = ('chrome',) 533 command.supportedTypes = ('chrome',)
534 534
535 535
536 def getType(baseDir, scriptName, args): 536 def getType(baseDir, scriptName, args):
537 # Look for an explicit type parameter (has to be the first parameter) 537 # Look for an explicit type parameter (has to be the first parameter)
538 if len(args) >= 2 and args[0] == '-t': 538 if len(args) >= 2 and args[0] == '-t':
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
598 if option in ('-h', '--help'): 598 if option in ('-h', '--help'):
599 usage(scriptName, type, command) 599 usage(scriptName, type, command)
600 sys.exit() 600 sys.exit()
601 commands[command](baseDir, scriptName, opts, args, type) 601 commands[command](baseDir, scriptName, opts, args, type)
602 else: 602 else:
603 print 'Command %s is not supported for this application type' % comm and 603 print 'Command %s is not supported for this application type' % comm and
604 usage(scriptName, type) 604 usage(scriptName, type)
605 else: 605 else:
606 print 'Command %s is unrecognized' % command 606 print 'Command %s is unrecognized' % command
607 usage(scriptName, type) 607 usage(scriptName, type)
OLDNEW
« no previous file with comments | « no previous file | releaseAutomation.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld