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

Side by Side Diff: releaseAutomationKMeleon.py

Issue 8627097: Moved Chrome extension scripts to buildtools repository (Closed)
Patch Set: Created Oct. 19, 2012, 10:42 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 | « releaseAutomationGecko.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 # coding: utf-8 1 # coding: utf-8
2 2
3 # This Source Code is subject to the terms of the Mozilla Public License 3 # This Source Code is subject to the terms of the Mozilla Public License
4 # version 2.0 (the "License"). You can obtain a copy of the License at 4 # version 2.0 (the "License"). You can obtain a copy of the License at
5 # http://mozilla.org/MPL/2.0/. 5 # http://mozilla.org/MPL/2.0/.
6 6
7 import os, re, subprocess, tarfile 7 import os, re, subprocess, tarfile
8 from StringIO import StringIO 8 from StringIO import StringIO
9 import buildtools.packager as packager 9 import buildtools.packagerGecko as packagerBase
10 import buildtools.packagerKMeleon as packagerKMeleon 10 import buildtools.packagerKMeleon as packagerKMeleon
11 11
12 def run(baseDir, downloadsRepo, buildtoolsRepo): 12 def run(baseDir, downloadsRepo, buildtoolsRepo):
13 baseExtDir = packagerKMeleon.getBaseExtensionDir(baseDir) 13 baseExtDir = packagerKMeleon.getBaseExtensionDir(baseDir)
14 14
15 # Read extension name, version and branch name 15 # Read extension name, version and branch name
16 locales = packager.readLocaleMetadata(baseExtDir, [packager.defaultLocale]) 16 locales = packagerBase.readLocaleMetadata(baseExtDir, [packagerBase.defaultLoc ale])
17 extensionName = locales[packager.defaultLocale]['name'] + ' for K-Meleon' 17 extensionName = locales[packagerBase.defaultLocale]['name'] + ' for K-Meleon'
18 18
19 metadata = packager.readMetadata(baseExtDir) 19 metadata = packagerBase.readMetadata(baseExtDir)
20 metadata.read(packager.getMetadataPath(baseDir)) 20 metadata.read(packagerBase.getMetadataPath(baseDir))
21 branchName = metadata.get('general', 'branchname') 21 branchName = metadata.get('general', 'branchname')
22 version = metadata.get('general', 'version') 22 version = metadata.get('general', 'version')
23 23
24 # Tag our source repository 24 # Tag our source repository
25 subprocess.Popen(['hg', 'tag', '-R', baseDir, '-f', version]).communicate() 25 subprocess.Popen(['hg', 'tag', '-R', baseDir, '-f', version]).communicate()
26 26
27 # Create a release build 27 # Create a release build
28 buildPath = os.path.join(downloadsRepo, packager.getDefaultFileName(baseDir, m etadata, version, 'zip')) 28 buildPath = os.path.join(downloadsRepo, packagerBase.getDefaultFileName(baseDi r, metadata, version, 'zip'))
29 packagerKMeleon.createBuild(baseDir, outFile=buildPath, releaseBuild=True) 29 packagerKMeleon.createBuild(baseDir, outFile=buildPath, releaseBuild=True)
30 30
31 # Create source archive 31 # Create source archive
32 archivePath = os.path.splitext(buildPath)[0] + '-source.tgz' 32 archivePath = os.path.splitext(buildPath)[0] + '-source.tgz'
33 33
34 archiveHandle = open(archivePath, 'wb') 34 archiveHandle = open(archivePath, 'wb')
35 archive = tarfile.open(fileobj=archiveHandle, name=os.path.basename(archivePat h), mode='w:gz') 35 archive = tarfile.open(fileobj=archiveHandle, name=os.path.basename(archivePat h), mode='w:gz')
36 (data, dummy) = subprocess.Popen(['hg', 'archive', '-R', baseDir, '-t', 'tar', '-X', os.path.join(baseDir, '.hgtags'), '-'], stdout=subprocess.PIPE).communica te() 36 (data, dummy) = subprocess.Popen(['hg', 'archive', '-R', baseDir, '-t', 'tar', '-X', os.path.join(baseDir, '.hgtags'), '-'], stdout=subprocess.PIPE).communica te()
37 repoArchive = tarfile.open(fileobj=StringIO(data), mode='r:') 37 repoArchive = tarfile.open(fileobj=StringIO(data), mode='r:')
38 for fileInfo in repoArchive: 38 for fileInfo in repoArchive:
(...skipping 23 matching lines...) Expand all
62 subprocess.Popen(['hg', 'commit', '-R', downloadsRepo, '-m', 'Releasing %s %s' % (extensionName, version)]).communicate() 62 subprocess.Popen(['hg', 'commit', '-R', downloadsRepo, '-m', 'Releasing %s %s' % (extensionName, version)]).communicate()
63 subprocess.Popen(['hg', 'tag', '-R', downloadsRepo, '-f', tagName]).communicat e() 63 subprocess.Popen(['hg', 'tag', '-R', downloadsRepo, '-f', tagName]).communicat e()
64 64
65 # Tag buildtools repository as well 65 # Tag buildtools repository as well
66 subprocess.Popen(['hg', 'tag', '-R', buildtoolsRepo, '-f', tagName]).communica te() 66 subprocess.Popen(['hg', 'tag', '-R', buildtoolsRepo, '-f', tagName]).communica te()
67 67
68 # Push all changes 68 # Push all changes
69 subprocess.Popen(['hg', 'push', '-R', baseDir]).communicate() 69 subprocess.Popen(['hg', 'push', '-R', baseDir]).communicate()
70 subprocess.Popen(['hg', 'push', '-R', downloadsRepo]).communicate() 70 subprocess.Popen(['hg', 'push', '-R', downloadsRepo]).communicate()
71 subprocess.Popen(['hg', 'push', '-R', buildtoolsRepo]).communicate() 71 subprocess.Popen(['hg', 'push', '-R', buildtoolsRepo]).communicate()
OLDNEW
« no previous file with comments | « releaseAutomationGecko.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld