[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