def runReleaseAutomation(baseDir, scriptName, opts, args, type): keyFile = None downloadsRepo = os.path.join(baseDir, '..', 'downloads') for option, value in opts: if option in ('-k', '--key'): keyFile = value elif option in ('-d', '--downloads'): downloadsRepo = value if len(args) == 0: print 'No version number specified for the release' usage(scriptName, type, 'release') return version = args[0] if re.search(r'[^\d\.]', version): print 'Wrong version number format' usage(scriptName, type, 'release') return 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, keyFile, downloadsRepo)
def runReleaseAutomation(baseDir, scriptName, opts, args, type): keyFiles = [] downloadsRepo = os.path.join(baseDir, '..', 'downloads') for option, value in opts: if option in ('-k', '--key'): keyFiles.append(value) elif option in ('-d', '--downloads'): downloadsRepo = value if len(args) == 0: print 'No version number specified for the release' usage(scriptName, type, 'release') return version = args[0] if re.search(r'[^\d\.]', version): print 'Wrong version number format' usage(scriptName, type, 'release') return if type == "gecko" and len(keyFiles) == 0: print >> sys.stderr, "Warning: no key file specified, creating an unsigned release build\n" elif type == "gecko" and len(keyFiles) > 1: print >> sys.stderr, "Error: too many key files, only one required" usage(scriptName, type, 'release') return elif 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" usage(scriptName, type, 'release') return import buildtools.releaseAutomation as releaseAutomation releaseAutomation.run(baseDir, type, version, keyFiles, downloadsRepo)
def runReleaseAutomation(baseDir, scriptName, opts, args, type): keyFile = None downloadsRepo = os.path.join(baseDir, '..', 'downloads') for option, value in opts: if option in ('-k', '--key'): keyFile = value elif option in ('-d', '--downloads'): downloadsRepo = value if len(args) == 0: print 'No version number specified for the release' usage(scriptName, type, 'release') return version = args[0] if re.search(r'[^\d\.]', version): print 'Wrong version number format' usage(scriptName, type, 'release') return if keyFile == None: if type == "gecko": print >>sys.stderr, "Warning: no key file specified, creating an unsigned release build\n" else: print >>sys.stderr, "Error: key file is required for the release" usage(scriptName, type, 'release') return import buildtools.releaseAutomation as releaseAutomation releaseAutomation.run(baseDir, type, version, keyFile, downloadsRepo)
def runReleaseAutomation(baseDir, scriptName, opts, args, type): keyFiles = [] downloadsRepo = os.path.join(baseDir, '..', 'downloads') for option, value in opts: if option in ('-k', '--key'): keyFiles.append(value) elif option in ('-d', '--downloads'): downloadsRepo = value if len(args) == 0: print 'No version number specified for the release' usage(scriptName, type, 'release') return version = args[0] if re.search(r'[^\d\.]', version): print 'Wrong version number format' usage(scriptName, type, 'release') return if type == "gecko" and len(keyFiles) == 0: print >>sys.stderr, "Warning: no key file specified, creating an unsigned release build\n" elif type == "gecko" and len(keyFiles) > 1: print >>sys.stderr, "Error: too many key files, only one required" usage(scriptName, type, 'release') return elif 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" usage(scriptName, type, 'release') return import buildtools.releaseAutomation as releaseAutomation releaseAutomation.run(baseDir, type, version, keyFiles, downloadsRepo)
def runReleaseAutomation(baseDir, scriptName, opts, args, type): keyFile = None downloadsRepo = os.path.join(baseDir, '..', 'downloads') for option, value in opts: if option in ('-k', '--key'): keyFile = value elif option in ('-d', '--downloads'): downloadsRepo = value if len(args) == 0: print 'No version number specified for the release' usage(scriptName, type, 'release') return version = args[0] if re.search(r'[^\d\.]', version): print 'Wrong version number format' usage(scriptName, type, 'release') return 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, keyFile, downloadsRepo)
def runReleaseAutomation(baseDir, scriptName, opts, args, type): buildtoolsRepo = buildtools.__path__[0] keyFile = None downloadsRepo = os.path.join(baseDir, '..', 'downloads') for option, value in opts: if option in ('-k', '--key'): keyFile = value elif option in ('-d', '--downloads'): downloadsRepo = value if type == 'gecko': if len(args) == 0: print 'No version number specified for the release' usage(scriptName, type, 'release') return version = args[0] if re.search(r'[^\w\.]', version): print 'Wrong version number format' usage(scriptName, type, 'release') return if keyFile == None: print 'Warning: no key file specified, creating an unsigned release build\n' import buildtools.releaseAutomation as releaseAutomation releaseAutomation.run(baseDir, version, keyFile, downloadsRepo, buildtoolsRepo) else: import buildtools.releaseAutomationKMeleon as releaseAutomationKMeleon releaseAutomationKMeleon.run(baseDir, downloadsRepo, buildtoolsRepo)
def release(base_dir, downloads_repository, key_file, platform, version, **kwargs): """ Run release automation. Note: If you are not the project owner then you probably don't want to run this! Run release automation: create downloads for the new version, tag source code repository as well as downloads and buildtools repository. """ if downloads_repository is None: downloads_repository = os.path.join(base_dir, os.pardir, 'downloads') if 'chrome' in platform and key_file is None: logging.error('You must specify a key file for this release') return import buildtools.releaseAutomation as releaseAutomation releaseAutomation.run(base_dir, platform, version, key_file, downloads_repository)