Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1347)

Unified Diff: download_appengine_and_mercurial.py

Issue 759163003: Add infrastructure to download golang and build AppRTC collider. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/third_party/webrtc/webrtc.DEPS/
Patch Set: Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « build_mercurial_local.py ('k') | download_appengine_sdk.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: download_appengine_and_mercurial.py
===================================================================
--- download_appengine_and_mercurial.py (revision 293292)
+++ download_appengine_and_mercurial.py (working copy)
@@ -10,15 +10,14 @@
file is. This is what should happen if this script is invoked as a hook action.
"""
-import hashlib
+import glob
import os
-import shutil
import sys
import subprocess
-import zipfile
+import utils
-def _DownloadAppEngineZipFile(webrtc_deps_path):
+def _DownloadResources(webrtc_deps_path):
print 'Downloading files in %s...' % webrtc_deps_path
extension = 'bat' if 'win32' in sys.platform else 'py'
@@ -28,50 +27,33 @@
subprocess.check_call(cmd)
-def _ComputeSHA1(path):
- if not os.path.exists(path):
- return 0
+def _StripVersionNumberFromMercurialFolder():
+ unpacked_name = glob.glob('mercurial*')
+ assert len(unpacked_name) == 1, 'Should have precisely one mercurial!'
+ os.rename(unpacked_name[0], 'mercurial')
- sha1 = hashlib.sha1()
- file_to_hash = open(path, 'rb')
- try:
- sha1.update(file_to_hash.read())
- finally:
- file_to_hash.close()
- return sha1.hexdigest()
-
-
-# This is necessary since Windows won't allow us to unzip onto an existing dir.
-def _DeleteOldAppEngineDir():
- app_engine_dir = 'google_appengine'
- print 'Deleting %s in %s...' % (app_engine_dir, os.getcwd())
- shutil.rmtree(app_engine_dir, ignore_errors=True)
-
-
-def _Unzip(path):
- print 'Unzipping %s in %s...' % (path, os.getcwd())
- zip_file = zipfile.ZipFile(path)
- try:
- zip_file.extractall()
- finally:
- zip_file.close()
-
-
def main(argv):
if len(argv) == 1:
return 'Usage: %s <path to webrtc.DEPS>' % argv[0]
webrtc_deps_path = argv[1]
- zip_path = os.path.join(webrtc_deps_path, 'google-appengine.zip')
- old_zip_sha1 = _ComputeSHA1(zip_path)
+ appengine_zip_path = os.path.join(webrtc_deps_path, 'google-appengine.zip')
+ old_appengine_sha1 = utils.ComputeSHA1(appengine_zip_path)
- _DownloadAppEngineZipFile(webrtc_deps_path)
+ mercurial_tar_path = os.path.join(webrtc_deps_path, 'mercurial-src.tar.gz')
+ old_mercurial_sha1 = utils.ComputeSHA1(mercurial_tar_path)
- if old_zip_sha1 != _ComputeSHA1(zip_path):
- _DeleteOldAppEngineDir()
- _Unzip(zip_path)
+ _DownloadResources(webrtc_deps_path)
+ if old_appengine_sha1 != utils.ComputeSHA1(appengine_zip_path):
+ utils.DeleteDirNextToGclient('google_appengine')
+ utils.UnpackToWorkingDir(appengine_zip_path)
+ if old_mercurial_sha1 != utils.ComputeSHA1(mercurial_tar_path):
+ utils.DeleteDirNextToGclient('mercurial')
+ utils.UnpackToWorkingDir(mercurial_tar_path)
+ _StripVersionNumberFromMercurialFolder()
+
if __name__ == '__main__':
sys.exit(main(sys.argv))
« no previous file with comments | « build_mercurial_local.py ('k') | download_appengine_sdk.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698