| Index: build.py |
| diff --git a/build.py b/build.py |
| index e16dfde1b47d6baf490f11fecb046716b2f9ce78..ed14acbcf8494cd780b664a4c43c4ae85617affe 100644 |
| --- a/build.py |
| +++ b/build.py |
| @@ -424,11 +424,11 @@ def generateDocs(baseDir, scriptName, opts, args, type): |
| def runReleaseAutomation(baseDir, scriptName, opts, args, type): |
| - keyFiles = [] |
| + keyFile = None |
| downloadsRepo = os.path.join(baseDir, '..', 'downloads') |
| for option, value in opts: |
| if option in ('-k', '--key'): |
| - keyFiles.append(value) |
| + keyFile = value |
| elif option in ('-d', '--downloads'): |
| downloadsRepo = value |
| @@ -442,13 +442,13 @@ def runReleaseAutomation(baseDir, scriptName, opts, args, type): |
| usage(scriptName, type, 'release') |
| return |
| - if type == 'chrome' and len(keyFiles) != 2: |
| - print >>sys.stderr, 'Error: wrong number of key files specified, two keys (Chrome and Safari) required for the release' |
| + if type in {'chrome', 'safari'} and keyFile is None: |
| + print >>sys.stderr, 'Error: you must specify a key file for this release' |
| usage(scriptName, type, 'release') |
| return |
| import buildtools.releaseAutomation as releaseAutomation |
| - releaseAutomation.run(baseDir, type, version, keyFiles, downloadsRepo) |
| + releaseAutomation.run(baseDir, type, version, keyFile, downloadsRepo) |
| def updatePSL(baseDir, scriptName, opts, args, type): |
| @@ -522,10 +522,10 @@ with addCommand(generateDocs, 'docs') as command: |
| with addCommand(runReleaseAutomation, 'release') as command: |
| command.shortDescription = 'Run release automation' |
| command.description = 'Note: If you are not the project owner then you ' "probably don't want to run this!\n\n" 'Runs release automation: creates downloads for the new version, tags ' 'source code repository as well as downloads and buildtools repository.' |
| - command.addOption('File containing private key and certificates required to sign the release. Note that for Chrome releases this option needs to be specified twice: first a key to sign Chrome builds, then another to sign the Safari build.', short='k', long='key', value='file', types=('chrome',)) |
| + command.addOption('File containing private key and certificates required to sign the release.', short='k', long='key', value='file', types=('chrome', 'safari', 'edge')) |
| command.addOption('Directory containing downloads repository (if omitted ../downloads is assumed)', short='d', long='downloads', value='dir') |
| command.params = '[options] <version>' |
| - command.supportedTypes = ('gecko', 'chrome') |
| + command.supportedTypes = ('gecko', 'chrome', 'safari', 'edge') |
| with addCommand(updatePSL, 'updatepsl') as command: |
| command.shortDescription = 'Updates Public Suffix List' |