| OLD | NEW |
| 1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 | 5 |
| 6 # pylint: disable=W0201 | 6 # pylint: disable=W0201 |
| 7 | 7 |
| 8 | 8 |
| 9 import copy | 9 import copy |
| 10 import default_flavor | 10 import default_flavor |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 72 self.serial = None | 72 self.serial = None |
| 73 self.serial_args = [] | 73 self.serial_args = [] |
| 74 try: | 74 try: |
| 75 path_to_adb = self.m.step( | 75 path_to_adb = self.m.step( |
| 76 'which adb', | 76 'which adb', |
| 77 cmd=['which', 'adb'], | 77 cmd=['which', 'adb'], |
| 78 stdout=self.m.raw_io.output(), | 78 stdout=self.m.raw_io.output(), |
| 79 infra_step=True).stdout.rstrip() | 79 infra_step=True).stdout.rstrip() |
| 80 except self.m.step.StepFailure: | 80 except self.m.step.StepFailure: |
| 81 path_to_adb = self.m.path.join(self._android_sdk_root, | 81 path_to_adb = self.m.path.join(self._android_sdk_root, |
| 82 'platform-tools', 'adb') | 82 'platform-tools', 'adb') |
| 83 self._adb = _ADBWrapper( | 83 self._adb = _ADBWrapper( |
| 84 self.m, path_to_adb, self.serial_args, self) | 84 self.m, path_to_adb, self.serial_args, self) |
| 85 self._default_env = {'ANDROID_SDK_ROOT': self._android_sdk_root, | 85 self._default_env = {'ANDROID_SDK_ROOT': self._android_sdk_root, |
| 86 'ANDROID_HOME': self._android_sdk_root, | 86 'ANDROID_HOME': self._android_sdk_root, |
| 87 'SKIA_ANDROID_VERBOSE_SETUP': 1} | 87 'SKIA_ANDROID_VERBOSE_SETUP': 1} |
| 88 | 88 |
| 89 def step(self, name, cmd, env=None, **kwargs): | 89 def step(self, name, cmd, env=None, **kwargs): |
| 90 self._adb.maybe_wait_for_device() | 90 self._adb.maybe_wait_for_device() |
| 91 args = [ | 91 args = [ |
| 92 self.android_bin.join('android_run_skia'), | 92 self.android_bin.join('android_run_skia'), |
| 93 '--verbose', | 93 '--verbose', |
| 94 '--logcat', | 94 '--logcat', |
| 95 '-d', self.device, | 95 '-d', self.device, |
| 96 ] + self.serial_args + [ | 96 ] + self.serial_args + [ |
| 97 '-t', self.m.vars.configuration, | 97 '-t', self.m.vars.configuration, |
| 98 ] | 98 ] |
| 99 env = dict(env or {}) | 99 env = dict(env or {}) |
| 100 env.update(self._default_env) | 100 env.update(self._default_env) |
| 101 | 101 |
| 102 return self.m.run(self.m.step, name=name, cmd=args + cmd, | 102 return self.m.run(self.m.step, name=name, cmd=args + cmd, |
| 103 env=env, **kwargs) | 103 env=env, **kwargs) |
| 104 | 104 |
| 105 def compile(self, target): | 105 def compile(self, target, **kwargs): |
| 106 """Build the given target.""" | 106 """Build the given target.""" |
| 107 env = dict(self._default_env) | 107 env = kwargs.pop('env', {}) |
| 108 env.update(dict(self._default_env)) |
| 108 ccache = self.m.run.ccache() | 109 ccache = self.m.run.ccache() |
| 109 if ccache: | 110 if ccache: |
| 110 env['ANDROID_MAKE_CCACHE'] = ccache | 111 env['ANDROID_MAKE_CCACHE'] = ccache |
| 111 | 112 |
| 112 cmd = [self.android_bin.join('android_ninja'), target, '-d', self.device] | 113 cmd = [self.android_bin.join('android_ninja'), target, '-d', self.device] |
| 113 if 'Clang' in self.m.vars.builder_name: | 114 if 'Clang' in self.m.vars.builder_name: |
| 114 cmd.append('--clang') | 115 cmd.append('--clang') |
| 115 if 'GCC' in self.m.vars.builder_name: | 116 if 'GCC' in self.m.vars.builder_name: |
| 116 cmd.append('--gcc') | 117 cmd.append('--gcc') |
| 117 if 'Vulkan' in self.m.vars.builder_name: | 118 if 'Vulkan' in self.m.vars.builder_name: |
| 118 cmd.append('--vulkan') | 119 cmd.append('--vulkan') |
| 119 self.m.run(self.m.step, 'build %s' % target, cmd=cmd, | 120 self.m.run(self.m.step, 'build %s' % target, cmd=cmd, |
| 120 env=env, cwd=self.m.path['checkout']) | 121 env=env, cwd=self.m.path['checkout'], **kwargs) |
| 121 | 122 |
| 122 def device_path_join(self, *args): | 123 def device_path_join(self, *args): |
| 123 """Like os.path.join(), but for paths on a connected Android device.""" | 124 """Like os.path.join(), but for paths on a connected Android device.""" |
| 124 return '/'.join(args) | 125 return '/'.join(args) |
| 125 | 126 |
| 126 def device_path_exists(self, path): | 127 def device_path_exists(self, path): |
| 127 """Like os.path.exists(), but for paths on a connected device.""" | 128 """Like os.path.exists(), but for paths on a connected device.""" |
| 128 exists_str = 'FILE_EXISTS' | 129 exists_str = 'FILE_EXISTS' |
| 129 return exists_str in self._adb( | 130 return exists_str in self._adb( |
| 130 name='exists %s' % self.m.path.basename(path), | 131 name='exists %s' % self.m.path.basename(path), |
| (...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 303 infra_step=True).stdout.rstrip() | 304 infra_step=True).stdout.rstrip() |
| 304 | 305 |
| 305 def remove_file_on_device(self, path, *args, **kwargs): | 306 def remove_file_on_device(self, path, *args, **kwargs): |
| 306 """Delete the given file.""" | 307 """Delete the given file.""" |
| 307 return self._adb(name='rm %s' % self.m.path.basename(path), | 308 return self._adb(name='rm %s' % self.m.path.basename(path), |
| 308 serial=self.serial, | 309 serial=self.serial, |
| 309 cmd=['shell', 'rm', '-f', path], | 310 cmd=['shell', 'rm', '-f', path], |
| 310 infra_step=True, | 311 infra_step=True, |
| 311 *args, | 312 *args, |
| 312 **kwargs) | 313 **kwargs) |
| OLD | NEW |