Move opensource apps to cloud storage

Change-Id: Ia7c472995447967345453d7edf7da4cde557fc31
diff --git a/third_party/android_sdk.tar.gz.sha1 b/third_party/android_sdk.tar.gz.sha1
index 9a9b464..6f0e746 100644
--- a/third_party/android_sdk.tar.gz.sha1
+++ b/third_party/android_sdk.tar.gz.sha1
@@ -1 +1 @@
-acfc4d8ff4def954eb85da4bd5fff3a63764c09d
\ No newline at end of file
+8b35040d2cdac9a41c4820a38b929516cc4a5943
\ No newline at end of file
diff --git a/third_party/opensource_apps.tar.gz.sha1 b/third_party/opensource_apps.tar.gz.sha1
index 543ec5f..dceede1 100644
--- a/third_party/opensource_apps.tar.gz.sha1
+++ b/third_party/opensource_apps.tar.gz.sha1
@@ -1 +1 @@
-8f598fa1e2d983e6c3e5fd9f16becf894508ca25
\ No newline at end of file
+c8309058ea786af329eb195b609f877a9cebc498
\ No newline at end of file
diff --git a/tools/download_all_benchmark_dependencies.py b/tools/download_all_benchmark_dependencies.py
index 2717c45..0bfed47 100755
--- a/tools/download_all_benchmark_dependencies.py
+++ b/tools/download_all_benchmark_dependencies.py
@@ -13,8 +13,9 @@
 
 def Main():
   gradle.RunGradle(BUILD_TARGETS)
-  utils.DownloadFromX20(utils.OPENSOURCE_APPS_SHA_FILE)
-  utils.DownloadFromX20(utils.ANDROID_SDK + '.tar.gz.sha1')
+  utils.DownloadFromGoogleCloudStorage(utils.OPENSOURCE_APPS_SHA_FILE)
+  utils.DownloadFromGoogleCloudStorage(utils.ANDROID_SDK + '.tar.gz.sha1',
+                                       bucket='r8-deps-internal')
 
 if __name__ == '__main__':
   sys.exit(Main())
diff --git a/tools/run_on_as_app_x20_packager.py b/tools/run_on_as_app_x20_packager.py
index c81d5d9..80d5ca2 100755
--- a/tools/run_on_as_app_x20_packager.py
+++ b/tools/run_on_as_app_x20_packager.py
@@ -6,18 +6,17 @@
 import os
 import run_on_as_app
 import shutil
+import subprocess
 import sys
-import upload_to_x20
 import utils
 
 def main():
-  # We need prodaccess to upload to x20
-  utils.check_prodacces()
-
   working_dir = run_on_as_app.WORKING_DIR
 
   print 'Removing directories that do not match checked out revision'
-  with utils.ChangedWorkingDirectory(working_dir):
+  if not os.path.exists(working_dir):
+    os.makedirs(working_dir)
+  else:
     for repo in run_on_as_app.APP_REPOSITORIES:
       repo_dir = os.path.join(working_dir, repo.name)
       if os.path.exists(repo_dir) \
@@ -28,22 +27,18 @@
   print 'Downloading all missing apps'
   run_on_as_app.clone_repositories(quiet=False)
 
-  # Package all files as x20 dependency
-  parent_dir = os.path.dirname(working_dir)
-  with utils.ChangedWorkingDirectory(parent_dir):
-    print 'Creating archive for opensource_apps (this may take some time)'
-    working_dir_name = os.path.basename(working_dir)
-    repo_dirs = [working_dir_name + '/' + repo.name
-                 for repo in run_on_as_app.APP_REPOSITORIES]
-    filename = utils.create_archive("opensource_apps", repo_dirs)
-    sha1 = utils.get_sha1(filename)
-    dest = os.path.join(upload_to_x20.GMSCORE_DEPS, sha1)
-    upload_to_x20.uploadFile(filename, dest)
-    sha1_file = '%s.sha1' % filename
-    with open(sha1_file, 'w') as output:
-      output.write(sha1)
-    shutil.move(sha1_file,
-                os.path.join(utils.THIRD_PARTY, 'opensource_apps.tar.gz.sha1'))
+  # Package all files as cloud dependency
+  print 'Creating archive for opensource_apps (this may take some time)'
+  if os.path.exists(utils.OPENSOURCE_APPS_FOLDER):
+    shutil.rmtree(utils.OPENSOURCE_APPS_FOLDER)
+  for repo in run_on_as_app.APP_REPOSITORIES:
+    repo_dir = os.path.join(working_dir, repo.name)
+    dst = os.path.join(utils.OPENSOURCE_APPS_FOLDER, repo.name)
+    shutil.copytree(repo_dir, dst)
+
+  with utils.ChangedWorkingDirectory(utils.THIRD_PARTY):
+    subprocess.check_call(['upload_to_google_storage.py', '-a', '--bucket',
+                           'r8-deps', 'opensource_apps'])
 
   print 'To have apps benchmarked on Golem, the updated apps have to be ' \
         'downloaded to the runners by ssh\'ing into each runner and do:\n' \
diff --git a/tools/utils.py b/tools/utils.py
index d7c1938..d18d722 100644
--- a/tools/utils.py
+++ b/tools/utils.py
@@ -67,9 +67,8 @@
 PINNED_R8_JAR = os.path.join(REPO_ROOT, 'third_party/r8/r8.jar')
 PINNED_PGR8_JAR = os.path.join(REPO_ROOT, 'third_party/r8/r8-pg6.0.1.jar')
 OPENSOURCE_APPS_SHA_FILE = os.path.join(
-    REPO_ROOT,
-    'third_party/opensource_apps.tar.gz.sha1')
-OPENSOURCE_APPS_FOLDER = os.path.join(REPO_ROOT, 'third_party/opensource_apps/')
+    THIRD_PARTY, 'opensource_apps.tar.gz.sha1')
+OPENSOURCE_APPS_FOLDER = os.path.join(THIRD_PARTY, 'opensource_apps')
 
 ANDROID_HOME_ENVIROMENT_NAME = "ANDROID_HOME"
 ANDROID_TOOLS_VERSION_ENVIRONMENT_NAME = "ANDROID_TOOLS_VERSION"