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

Unified Diff: slave/skia_slave_scripts/flavor_utils/android_build_step_utils.py

Issue 648353002: Remove Skia's forked buildbot code (Closed) Base URL: https://skia.googlesource.com/buildbot.git@master
Patch Set: Address comment Created 6 years, 2 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 side-by-side diff with in-line comments
Download patch
Index: slave/skia_slave_scripts/flavor_utils/android_build_step_utils.py
diff --git a/slave/skia_slave_scripts/flavor_utils/android_build_step_utils.py b/slave/skia_slave_scripts/flavor_utils/android_build_step_utils.py
deleted file mode 100644
index c468c9a6ea70bce66f614decf07ea780f06a4756..0000000000000000000000000000000000000000
--- a/slave/skia_slave_scripts/flavor_utils/android_build_step_utils.py
+++ /dev/null
@@ -1,180 +0,0 @@
-# Copyright (c) 2013 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-""" Utilities for Android build steps. """
-
-from default_build_step_utils import DefaultBuildStepUtils, DeviceDirs
-from py.utils import android_utils
-from utils import old_gs_utils as gs_utils
-from py.utils import shell_utils
-
-import os
-import posixpath
-import time
-
-
-class AndroidBuildStepUtils(DefaultBuildStepUtils):
- def __init__(self, build_step_instance):
- DefaultBuildStepUtils.__init__(self, build_step_instance)
- self._device = self._step.args['device']
- self._serial = self._step.args['serial'] if \
- self._step.args['serial'] != 'None' else None
- self._has_root = self._step.args['has_root'] == 'True'
-
- def RunFlavoredCmd(self, app, args):
- """ Override this in new BuildStep flavors. """
- # First, kill any running Skia executables.
- android_utils.ADBKill(self._serial, 'skia')
- release_mode = self._step.configuration == 'Release'
- try:
- android_utils.RunSkia(serial=self._serial,
- cmd=[app] + args,
- release=release_mode,
- device=self._device)
- finally:
- # Make sure that no Skia process is hanging around after we're done.
- android_utils.ADBKill(self._serial, 'skia')
-
- def ReadFileOnDevice(self, filepath):
- """ Read the contents of a file on the device. """
- return android_utils.ADBShell(self._serial, ['cat', filepath, ';', 'echo'],
- echo=False)
-
- def _RemoveDirectoryOnDevice(self, directory):
- """ Delete a directory on the device. """
- try:
- android_utils.RunADB(self._serial, ['shell', 'rm', '-r', directory])
- except Exception:
- pass
- if self.DevicePathExists(directory):
- raise Exception('Failed to remove %s' % directory)
-
- def _CreateDirectoryOnDevice(self, directory):
- """ Create a directory on the device. """
- android_utils.RunADB(self._serial, ['shell', 'mkdir', '-p', directory])
-
- def PushFileToDevice(self, src, dst):
- """ Overrides build_step.PushFileToDevice() """
- android_utils.RunADB(self._serial, ['push', src, dst])
-
- def DeviceListDir(self, directory):
- """ Overrides build_step.DeviceListDir() """
- return android_utils.ADBShell(self._serial, ['ls', directory],
- echo=False).split('\n')
-
- def DevicePathExists(self, path):
- """ Overrides build_step.DevicePathExists() """
- return 'FILE_EXISTS' in android_utils.ADBShell(
- self._serial,
- ['if', '[', '-e', path, '];', 'then', 'echo', 'FILE_EXISTS;', 'fi'])
-
- def DevicePathJoin(self, *args):
- """ Overrides build_step.DevicePathJoin() """
- return posixpath.sep.join(args)
-
- def CreateCleanDeviceDirectory(self, directory):
- self._RemoveDirectoryOnDevice(directory)
- self._CreateDirectoryOnDevice(directory)
-
- def CopyDirectoryContentsToDevice(self, host_dir, device_dir):
- """ Copy the contents of a host-side directory to a clean directory on the
- device side.
- """
- self.CreateCleanDeviceDirectory(device_dir)
- file_list = os.listdir(host_dir)
- for f in file_list:
- if f == gs_utils.TIMESTAMP_COMPLETED_FILENAME:
- continue
- if os.path.isfile(os.path.join(host_dir, f)):
- self.PushFileToDevice(os.path.join(host_dir, f), device_dir)
- ts_filepath = os.path.join(host_dir, gs_utils.TIMESTAMP_COMPLETED_FILENAME)
- if os.path.isfile(ts_filepath):
- self.PushFileToDevice(ts_filepath, device_dir)
-
- def CopyDirectoryContentsToHost(self, device_dir, host_dir):
- """ Copy the contents of a device-side directory to a clean directory on the
- host side.
- """
- self.CreateCleanHostDirectory(host_dir)
- android_utils.RunADB(self._serial, ['pull', device_dir, host_dir])
-
- def Install(self):
- """ Install the Skia executables. """
- if self._has_root:
- android_utils.RunADB(self._serial, ['root'])
- android_utils.RunADB(self._serial, ['remount'])
- # As an experiment, don't change CPU scaling mode.
- #android_utils.SetCPUScalingMode(self._serial, 'performance')
- try:
- android_utils.ADBKill(self._serial, 'skia')
- except Exception:
- # If we fail to kill the process, try rebooting the device, and wait for
- # it to come back up.
- shell_utils.run([android_utils.PATH_TO_ADB, '-s', self._serial,
- 'reboot'])
- time.sleep(60)
- android_utils.StopShell(self._serial)
- else:
- android_utils.ADBKill(self._serial, 'com.skia', kill_app=True)
-
- def RunGYP(self):
- print 'android_ninja handles gyp'
-
- def Compile(self, target):
- """ Compile the Skia executables. """
- os.environ['SKIA_ANDROID_VERBOSE_SETUP'] = '1'
- os.environ['PATH'] = os.path.abspath(
- os.path.join(os.pardir, os.pardir, os.pardir, os.pardir, 'third_party',
- 'gsutil')) + os.pathsep + os.environ['PATH']
- os.environ['BOTO_CONFIG'] = os.path.abspath(os.path.join(
- os.pardir, os.pardir, os.pardir, os.pardir, 'site_config', '.boto'))
- os.environ['ANDROID_SDK_ROOT'] = self._step.args['android_sdk_root']
- gyp_defines = self._step.args['gyp_defines']
- os.environ['GYP_DEFINES'] = gyp_defines
- print 'GYP_DEFINES="%s"' % os.environ['GYP_DEFINES']
- os.environ['BUILDTYPE'] = self._step.configuration
- print 'BUILDTYPE="%s"' % os.environ['BUILDTYPE']
- cmd = [os.path.join('platform_tools', 'android', 'bin', 'android_ninja'),
- target,
- '-d', self._step.args['device'],
- ]
- cmd.extend(self._step.default_ninja_flags)
- if os.name != 'nt':
- try:
- ccache = shell_utils.run(['which', 'ccache']).rstrip()
- if ccache:
- os.environ['ANDROID_MAKE_CCACHE'] = ccache
- except Exception:
- pass
- cmd.extend(self._step.make_flags)
- shell_utils.run(cmd)
-
- def PreRun(self):
- """ Preprocessing step to run before the BuildStep itself. """
- os.environ['ANDROID_SDK_ROOT'] = self._step.args['android_sdk_root']
-
- def GetDeviceDirs(self):
- """ Set the directories which will be used by the BuildStep. """
- if self._serial:
- device_scratch_dir = shell_utils.run(
- '%s -s %s shell echo \$EXTERNAL_STORAGE' % (
- android_utils.PATH_TO_ADB, self._serial),
- echo=True, shell=True).rstrip().split('\n')[-1]
- prefix = posixpath.join(device_scratch_dir, 'skiabot', 'skia_')
- return DeviceDirs(
- perf_data_dir=prefix + 'perf',
- gm_actual_dir=prefix + 'gm_actual',
- gm_expected_dir=prefix + 'gm_expected',
- dm_dir=prefix + 'dm',
- resource_dir=prefix + 'resources',
- skimage_in_dir=prefix + 'skimage_in',
- skimage_expected_dir=prefix + 'skimage_expected',
- skimage_out_dir=prefix + 'skimage_out',
- skp_dir=prefix + 'skp',
- skp_perf_dir=prefix + 'skp_perf',
- playback_actual_images_dir=prefix + 'playback_actual_images',
- playback_actual_summaries_dir=prefix + 'playback_actual_summaries',
- playback_expected_summaries_dir=(
- prefix + 'playback_expected_summaries'),
- tmp_dir=prefix + 'tmp_dir')

Powered by Google App Engine
This is Rietveld 408576698