[Pkg-mozext-commits] [adblock-plus] 04/52: Issue 1590 - Add devenv support for Safari
David Prévot
taffit at moszumanska.debian.org
Thu Jan 22 21:43:43 UTC 2015
This is an automated email from the git hooks/post-receive script.
taffit pushed a commit to branch master
in repository adblock-plus.
commit d8e82c0b2749cf34fdada04a1cbda2905118d7d2
Author: Sebastian Noack <sebastian at adblockplug.org>
Date: Fri Nov 21 11:32:25 2014 +0100
Issue 1590 - Add devenv support for Safari
---
build.py | 22 ++++++++++++++++++----
packagerChrome.py | 9 ---------
packagerSafari.py | 20 +++++++++++---------
3 files changed, 29 insertions(+), 22 deletions(-)
diff --git a/build.py b/build.py
index 35526e1..51a0ed6 100644
--- a/build.py
+++ b/build.py
@@ -4,8 +4,10 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-import os, sys, re, subprocess, buildtools
+import os, sys, re, subprocess, shutil, buildtools
from getopt import getopt, GetoptError
+from StringIO import StringIO
+from zipfile import ZipFile
knownTypes = ('gecko', 'chrome', 'opera', 'safari')
@@ -216,8 +218,20 @@ def runAutoInstall(baseDir, scriptName, opts, args, type):
def createDevEnv(baseDir, scriptName, opts, args, type):
- import buildtools.packagerChrome as packager
- packager.createDevEnv(baseDir, type=type)
+ if type == 'safari':
+ import buildtools.packagerSafari as packager
+ else:
+ import buildtools.packagerChrome as packager
+
+ file = StringIO()
+ packager.createBuild(baseDir, type=type, outFile=file, devenv=True, releaseBuild=True)
+
+ devenv_dir = os.path.join(baseDir, 'devenv')
+ shutil.rmtree(devenv_dir, ignore_errors=True)
+
+ file.seek(0)
+ with ZipFile(file, 'r') as zip_file:
+ zip_file.extractall(devenv_dir)
def setupTranslations(baseDir, scriptName, opts, args, type):
@@ -437,7 +451,7 @@ with addCommand(runAutoInstall, 'autoinstall') as command:
with addCommand(createDevEnv, 'devenv') as command:
command.shortDescription = 'Set up a development environment'
command.description = 'Will set up or update the devenv folder as an unpacked extension folder for development.'
- command.supportedTypes = ('chrome', 'opera')
+ command.supportedTypes = ('chrome', 'opera', 'safari')
with addCommand(setupTranslations, 'setuptrans') as command:
command.shortDescription = 'Sets up translation languages'
diff --git a/packagerChrome.py b/packagerChrome.py
index c277056..97970e3 100644
--- a/packagerChrome.py
+++ b/packagerChrome.py
@@ -397,12 +397,3 @@ def createBuild(baseDir, type='chrome', outFile=None, buildNum=None, releaseBuil
signature = signBinary(zipdata, keyFile)
pubkey = getPublicKey(keyFile)
writePackage(outFile, pubkey, signature, zipdata)
-
-def createDevEnv(baseDir, type):
- fileBuffer = StringIO()
- createBuild(baseDir, type=type, outFile=fileBuffer, devenv=True, releaseBuild=True)
-
- from zipfile import ZipFile
- zip = ZipFile(StringIO(fileBuffer.getvalue()), 'r')
- zip.extractall(os.path.join(baseDir, 'devenv'))
- zip.close()
diff --git a/packagerSafari.py b/packagerSafari.py
index b3a2a9e..c67c7b4 100644
--- a/packagerSafari.py
+++ b/packagerSafari.py
@@ -203,7 +203,7 @@ def createSignedXarArchive(outFile, files, keyFile):
finally:
os.unlink(signature_filename)
-def createBuild(baseDir, type, outFile=None, buildNum=None, releaseBuild=False, keyFile=None):
+def createBuild(baseDir, type, outFile=None, buildNum=None, releaseBuild=False, keyFile=None, devenv=False):
metadata = readMetadata(baseDir, type)
version = getBuildVersion(baseDir, metadata, releaseBuild, buildNum)
@@ -215,7 +215,7 @@ def createBuild(baseDir, type, outFile=None, buildNum=None, releaseBuild=False,
'baseDir': baseDir,
'releaseBuild': releaseBuild,
'version': version,
- 'devenv': False,
+ 'devenv': devenv,
'metadata': metadata,
}
@@ -247,11 +247,13 @@ def createBuild(baseDir, type, outFile=None, buildNum=None, releaseBuild=False,
fixAbsoluteUrls(files)
- dirname = metadata.get('general', 'basename') + '.safariextension'
- for filename in files.keys():
- files[os.path.join(dirname, filename)] = files.pop(filename)
+ if not devenv:
+ dirname = metadata.get('general', 'basename') + '.safariextension'
+ for filename in files.keys():
+ files[os.path.join(dirname, filename)] = files.pop(filename)
- if keyFile:
- createSignedXarArchive(outFile, files, keyFile)
- else:
- files.zip(outFile)
+ if keyFile:
+ createSignedXarArchive(outFile, files, keyFile)
+ return
+
+ files.zip(outFile)
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-mozext/adblock-plus.git
More information about the Pkg-mozext-commits
mailing list