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

Side by Side Diff: build/android/install_emulator_deps.py

Issue 23621025: android: Remove GetSDK() from install_emulator_deps. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 3 months 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | 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 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright (c) 2013 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2013 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 """Installs deps for using SDK emulator for testing. 6 """Installs deps for using SDK emulator for testing.
7 7
8 The script will download the SDK and system images, if they are not present, and 8 The script will download the SDK and system images, if they are not present, and
Peter Beverloo 2013/09/09 17:36:11 nit: this comment no longer is accurate.
9 install and enable KVM, if virtualization has been enabled in the BIOS. 9 install and enable KVM, if virtualization has been enabled in the BIOS.
10 """ 10 """
11 11
12 12
13 import logging 13 import logging
14 import os 14 import os
15 import shutil 15 import shutil
16 import sys 16 import sys
17 17
18 from pylib import cmd_helper 18 from pylib import cmd_helper
19 from pylib import constants 19 from pylib import constants
20 from pylib.utils import run_tests_helper 20 from pylib.utils import run_tests_helper
21 21
22 # From the Android Developer's website.
23 SDK_BASE_URL = 'http://dl.google.com/android/adt'
24 SDK_ZIP = 'adt-bundle-linux-x86_64-20130522.zip'
25
26 # Android x86 system image from the Intel website: 22 # Android x86 system image from the Intel website:
27 # http://software.intel.com/en-us/articles/intel-eula-x86-android-4-2-jelly-bean -bin 23 # http://software.intel.com/en-us/articles/intel-eula-x86-android-4-2-jelly-bean -bin
28 X86_IMG_URL = 'http://download-software.intel.com/sites/landingpage/android/sysi mg_x86-17_r01.zip' 24 X86_IMG_URL = 'http://download-software.intel.com/sites/landingpage/android/sysi mg_x86-17_r01.zip'
29 25
30 # Android API level 26 # Android API level
31 API_TARGET = 'android-%s' % constants.ANDROID_SDK_VERSION 27 API_TARGET = 'android-%s' % constants.ANDROID_SDK_VERSION
32 28
33 29
34 def CheckSDK(): 30 def CheckSDK():
35 """Check if SDK is already installed. 31 """Check if SDK is already installed.
(...skipping 22 matching lines...) Expand all
58 Returns: 54 Returns:
59 True if kvm-ok returns 0 (already enabled) 55 True if kvm-ok returns 0 (already enabled)
60 """ 56 """
61 try: 57 try:
62 return not cmd_helper.RunCmd(['kvm-ok']) 58 return not cmd_helper.RunCmd(['kvm-ok'])
63 except OSError: 59 except OSError:
64 logging.info('kvm-ok not installed') 60 logging.info('kvm-ok not installed')
65 return False 61 return False
66 62
67 63
68 def GetSDK():
69 """Download the SDK and unzip in android_tools directory."""
70 logging.info('Download Android SDK.')
71 sdk_url = '%s/%s' % (SDK_BASE_URL, SDK_ZIP)
72 try:
73 cmd_helper.RunCmd(['curl', '-o', '/tmp/sdk.zip', sdk_url])
74 print 'curled unzipping...'
75 rc = cmd_helper.RunCmd(['unzip', '-o', '/tmp/sdk.zip', '-d', '/tmp/'])
76 if rc:
77 logging.critical('ERROR: could not download/unzip Android SDK.')
78 raise
79 # Get the name of the sub-directory that everything will be extracted to.
80 dirname, _ = os.path.splitext(SDK_ZIP)
81 zip_dir = '/tmp/%s' % dirname
82 # Move the extracted directory to EMULATOR_SDK_ROOT
83 dst = os.path.join(constants.EMULATOR_SDK_ROOT, 'android_tools')
84 shutil.move(zip_dir, dst)
85 finally:
86 os.unlink('/tmp/sdk.zip')
87
88
89 def InstallKVM(): 64 def InstallKVM():
90 """Installs KVM packages.""" 65 """Installs KVM packages."""
91 rc = cmd_helper.RunCmd(['sudo', 'apt-get', 'install', 'kvm']) 66 rc = cmd_helper.RunCmd(['sudo', 'apt-get', 'install', 'kvm'])
92 if rc: 67 if rc:
93 logging.critical('ERROR: Did not install KVM. Make sure hardware ' 68 logging.critical('ERROR: Did not install KVM. Make sure hardware '
94 'virtualization is enabled in BIOS (i.e. Intel VT-x or ' 69 'virtualization is enabled in BIOS (i.e. Intel VT-x or '
95 'AMD SVM).') 70 'AMD SVM).')
96 # TODO(navabi): Use modprobe kvm-amd on AMD processors. 71 # TODO(navabi): Use modprobe kvm-amd on AMD processors.
97 rc = cmd_helper.RunCmd(['sudo', 'modprobe', 'kvm-intel']) 72 rc = cmd_helper.RunCmd(['sudo', 'modprobe', 'kvm-intel'])
98 if rc: 73 if rc:
(...skipping 21 matching lines...) Expand all
120 shutil.move('/tmp/x86', sys_imgs) 95 shutil.move('/tmp/x86', sys_imgs)
121 finally: 96 finally:
122 os.unlink('/tmp/x86_img.zip') 97 os.unlink('/tmp/x86_img.zip')
123 98
124 99
125 def main(argv): 100 def main(argv):
126 logging.basicConfig(level=logging.INFO, 101 logging.basicConfig(level=logging.INFO,
127 format='# %(asctime)-15s: %(message)s') 102 format='# %(asctime)-15s: %(message)s')
128 run_tests_helper.SetLogLevel(verbose_count=1) 103 run_tests_helper.SetLogLevel(verbose_count=1)
129 104
130 # Calls below will download emulator SDK and/or system images only if needed. 105 # Calls below will download emulator SDK and/or system images only if needed.
Peter Beverloo 2013/09/09 17:36:11 nit: this comment no longer is accurate.
bulach 2013/09/09 18:58:27 yeah, but the x86 below in 112 would still need th
131 if CheckSDK(): 106 if not CheckSDK():
132 logging.info('android_tools directory already exists (not downloading).') 107 logging.critical('ERROR: android_tools does not exist. Make sure your '
133 else: 108 '.gclient file is correct.')
Peter Beverloo 2013/09/09 17:36:11 nit: perhaps we can link to the Android build inst
134 GetSDK() 109 return 1
135 110
136 logging.info('Emulator deps for ARM emulator complete.') 111 logging.info('Emulator deps for ARM emulator complete.')
137 112
138 if CheckX86Image(): 113 if CheckX86Image():
139 logging.info('system-images directory already exists.') 114 logging.info('system-images directory already exists.')
140 else: 115 else:
141 GetX86Image() 116 GetX86Image()
142 117
143 # Make sure KVM packages are installed and enabled. 118 # Make sure KVM packages are installed and enabled.
144 if CheckKVM(): 119 if CheckKVM():
145 logging.info('KVM already installed and enabled.') 120 logging.info('KVM already installed and enabled.')
146 else: 121 else:
147 InstallKVM() 122 InstallKVM()
148 123
149 124
150 if __name__ == '__main__': 125 if __name__ == '__main__':
151 sys.exit(main(sys.argv)) 126 sys.exit(main(sys.argv))
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698