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

Unified Diff: build/android/buildbot/bb_host_steps.py

Issue 15817022: [Android] Refactor bb_host_steps to prepare for downstream usage. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 years, 6 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
« no previous file with comments | « no previous file | build/android/buildbot/bb_run_bot.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: build/android/buildbot/bb_host_steps.py
diff --git a/build/android/buildbot/bb_host_steps.py b/build/android/buildbot/bb_host_steps.py
index 58d2e0e5b43f500b3cbf2a7d01a7e5cb875f9ad2..0224116d69ca3944a7162f6c5a174e22f5fdc0dc 100755
--- a/build/android/buildbot/bb_host_steps.py
+++ b/build/android/buildbot/bb_host_steps.py
@@ -25,7 +25,7 @@ def SrcPath(*path):
return os.path.join(constants.DIR_SOURCE_ROOT, *path)
-def CheckWebViewLicenses():
+def CheckWebViewLicenses(_):
buildbot_report.PrintNamedStep('check_licenses')
RunCmd([SrcPath('android_webview', 'tools', 'webview_licenses.py'), 'scan'],
warning_code=1)
@@ -48,43 +48,46 @@ def RunHooks(build_type):
RunCmd(['gclient', 'runhooks'], halt_on_failure=True)
-def Compile(build_type, args, experimental=False):
+def Compile(options):
+ RunHooks(options.target)
cmd = [os.path.join(SLAVE_SCRIPTS_DIR, 'compile.py'),
'--build-tool=ninja',
'--compiler=goma',
- '--target=%s' % build_type,
+ '--target=%s' % options.target,
'--goma-dir=%s' % bb_utils.GOMA_DIR]
- if experimental:
- for compile_target in args:
+ build_targets = options.build_targets.split(',')
+ buildbot_report.PrintNamedStep('compile')
+ for build_target in build_targets:
+ RunCmd(cmd + ['--build-args=%s' % build_target], halt_on_failure=True)
+ if options.experimental:
+ for compile_target in EXPERIMENTAL_TARGETS:
buildbot_report.PrintNamedStep('Experimental Compile %s' % compile_target)
RunCmd(cmd + ['--build-args=%s' % compile_target], flunk_on_failure=False)
- else:
- buildbot_report.PrintNamedStep('compile')
- RunCmd(cmd + ['--build-args=%s' % ' '.join(args)], halt_on_failure=True)
-def ZipBuild(properties):
+def ZipBuild(options):
buildbot_report.PrintNamedStep('zip_build')
RunCmd([
os.path.join(SLAVE_SCRIPTS_DIR, 'zip_build.py'),
'--src-dir', constants.DIR_SOURCE_ROOT,
'--build-dir', SrcPath('out'),
'--exclude-files', 'lib.target,gen,android_webview,jingle_unittests']
- + properties)
+ + bb_utils.EncodeProperties(options))
-def ExtractBuild(properties):
+def ExtractBuild(options):
buildbot_report.PrintNamedStep('extract_build')
- RunCmd([os.path.join(SLAVE_SCRIPTS_DIR, 'extract_build.py'),
- '--build-dir', SrcPath('build'),
- '--build-output-dir', SrcPath('out')] + properties,
- warning_code=1)
+ RunCmd(
+ [os.path.join(SLAVE_SCRIPTS_DIR, 'extract_build.py'),
+ '--build-dir', SrcPath('build'), '--build-output-dir',
+ SrcPath('out')] + bb_utils.EncodeProperties(options),
+ warning_code=1)
-def FindBugs(is_release):
+def FindBugs(options):
buildbot_report.PrintNamedStep('findbugs')
build_type = []
- if is_release:
+ if options.target == 'Release':
build_type = ['--release-build']
RunCmd([SrcPath('build', 'android', 'findbugs_diff.py')] + build_type)
RunCmd([SrcPath(
@@ -92,7 +95,7 @@ def FindBugs(is_release):
'run_findbugs_plugin_tests.py')] + build_type)
-def BisectPerfRegression():
+def BisectPerfRegression(_):
buildbot_report.PrintNamedStep('Bisect Perf Regression')
RunCmd([SrcPath('tools', 'prepare-bisect-perf-regression.py'),
'-w', os.path.join(constants.DIR_SOURCE_ROOT, os.pardir)])
@@ -101,50 +104,32 @@ def BisectPerfRegression():
'-p', bb_utils.GOMA_DIR])
+def GetHostSteps():
+ return [
+ ('compile', Compile),
+ ('extract_build', ExtractBuild),
+ ('check_webview_licenses', CheckWebViewLicenses),
+ ('bisect_perf_regression', BisectPerfRegression),
+ ('findbugs', FindBugs),
+ ('zip_build', ZipBuild)
+ ]
+
+
def main(argv):
parser = bb_utils.GetParser()
- parser.add_option('--host-tests', help='Comma separated list of host tests.')
- parser.add_option('--build-args', default='All',
+ parser.add_option('--steps', help='Comma separated list of host tests.')
+ parser.add_option('--build-targets', default='All',
help='Comma separated list of build targets.')
- parser.add_option('--compile', action='store_true',
- help='Indicate whether a compile step should be run.')
parser.add_option('--experimental', action='store_true',
help='Indicate whether to compile experimental targets.')
- parser.add_option('--zip-build', action='store_true',
- help='Indicate whether the build should be zipped.')
- parser.add_option('--extract-build', action='store_true',
- help='Indicate whether a build should be downloaded.')
- parser.add_option('--bisect-perf-regression', action='store_true',
- help='Bisect a perf regression.')
options, args = parser.parse_args(argv[1:])
if args:
return sys.exit('Unused args %s' % args)
- host_tests = []
- if options.host_tests:
- host_tests = options.host_tests.split(',')
- unknown_tests = set(host_tests) - VALID_HOST_TESTS
- if unknown_tests:
- return sys.exit('Unknown host tests %s' % list(unknown_tests))
-
- build_type = options.factory_properties.get('target', 'Debug')
-
- if options.bisect_perf_regression:
- BisectPerfRegression()
- if options.compile:
- if 'check_webview_licenses' in host_tests:
- CheckWebViewLicenses()
- RunHooks(build_type)
- Compile(build_type, options.build_args.split(','))
- if options.experimental:
- Compile(build_type, EXPERIMENTAL_TARGETS, True)
- if 'findbugs' in host_tests:
- FindBugs(build_type == 'Release')
- if options.zip_build:
- ZipBuild(bb_utils.EncodeProperties(options))
- if options.extract_build:
- ExtractBuild(bb_utils.EncodeProperties(options))
+ setattr(options, 'target', options.factory_properties.get('target', 'Debug'))
+
+ bb_utils.RunSteps(GetHostSteps(), options)
if __name__ == '__main__':
« no previous file with comments | « no previous file | build/android/buildbot/bb_run_bot.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698