diff options
author | Tiancong Wang <tcwang@google.com> | 2020-02-13 21:08:49 +0000 |
---|---|---|
committer | Tiancong Wang <tcwang@google.com> | 2020-02-13 21:08:49 +0000 |
commit | b75f321fc8978b92ce3db6886ccb966768f0c7a8 (patch) | |
tree | 35fa0fbaeaaddd9cc2a126a05eee3527b51e83a8 /deprecated/automation/clients/android.py | |
parent | cddd960b0ba2eb62c372c0d3176c75f0bd05d5e8 (diff) | |
parent | e617e3393dd24003aa976ece5050bb291070041c (diff) | |
download | toolchain-utils-b75f321fc8978b92ce3db6886ccb966768f0c7a8.tar.gz |
Merging 18 commit(s) from Chromium's toolchain-utils am: 0ae38c8498 am: 2a19d36a82 am: e617e3393dr_aml_301500702android-mainline-12.0.0_r55android-mainline-11.0.0_r9android-mainline-11.0.0_r8android-mainline-11.0.0_r7android-mainline-11.0.0_r6android-mainline-11.0.0_r5android-mainline-11.0.0_r45android-mainline-11.0.0_r44android-mainline-11.0.0_r43android-mainline-11.0.0_r42android-mainline-11.0.0_r41android-mainline-11.0.0_r40android-mainline-11.0.0_r4android-mainline-11.0.0_r39android-mainline-11.0.0_r38android-mainline-11.0.0_r37android-mainline-11.0.0_r36android-mainline-11.0.0_r35android-mainline-11.0.0_r34android-mainline-11.0.0_r33android-mainline-11.0.0_r32android-mainline-11.0.0_r31android-mainline-11.0.0_r30android-mainline-11.0.0_r3android-mainline-11.0.0_r29android-mainline-11.0.0_r28android-mainline-11.0.0_r27android-mainline-11.0.0_r26android-mainline-11.0.0_r25android-mainline-11.0.0_r24android-mainline-11.0.0_r23android-mainline-11.0.0_r22android-mainline-11.0.0_r21android-mainline-11.0.0_r20android-mainline-11.0.0_r2android-mainline-11.0.0_r19android-mainline-11.0.0_r18android-mainline-11.0.0_r17android-mainline-11.0.0_r16android-mainline-11.0.0_r15android-mainline-11.0.0_r14android-mainline-11.0.0_r13android-mainline-11.0.0_r12android-mainline-11.0.0_r10android-mainline-11.0.0_r1android-11.0.0_r48android-11.0.0_r47android-11.0.0_r46android-11.0.0_r45android-11.0.0_r44android-11.0.0_r43android-11.0.0_r42android-11.0.0_r41android-11.0.0_r40android-11.0.0_r39android-11.0.0_r38android-11.0.0_r37android-11.0.0_r36android-11.0.0_r35android-11.0.0_r34android-11.0.0_r33android-11.0.0_r32android-11.0.0_r31android-11.0.0_r30android-11.0.0_r29android-11.0.0_r28android-11.0.0_r27android-11.0.0_r26android-11.0.0_r24android-11.0.0_r23android-11.0.0_r22android-11.0.0_r21android-11.0.0_r20android-11.0.0_r19android-11.0.0_r18android-11.0.0_r16android11-qpr3-s1-releaseandroid11-qpr3-releaseandroid11-qpr2-releaseandroid11-qpr1-s2-releaseandroid11-qpr1-s1-releaseandroid11-qpr1-releaseandroid11-qpr1-d-s1-releaseandroid11-qpr1-d-releaseandroid11-qpr1-c-releaseandroid11-mainline-tethering-releaseandroid11-mainline-sparse-2021-jan-releaseandroid11-mainline-sparse-2020-dec-releaseandroid11-mainline-releaseandroid11-mainline-permission-releaseandroid11-mainline-os-statsd-releaseandroid11-mainline-networkstack-releaseandroid11-mainline-media-swcodec-releaseandroid11-mainline-media-releaseandroid11-mainline-extservices-releaseandroid11-mainline-documentsui-releaseandroid11-mainline-conscrypt-releaseandroid11-mainline-cellbroadcast-releaseandroid11-mainline-captiveportallogin-releaseandroid11-devandroid11-d2-releaseandroid11-d1-b-release
Change-Id: I3f25c7ee034b2e20e37ed941b8eae24eec7043eb
Diffstat (limited to 'deprecated/automation/clients/android.py')
-rwxr-xr-x | deprecated/automation/clients/android.py | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/deprecated/automation/clients/android.py b/deprecated/automation/clients/android.py new file mode 100755 index 00000000..06e76d29 --- /dev/null +++ b/deprecated/automation/clients/android.py @@ -0,0 +1,87 @@ +#!/usr/bin/python2 +# +# Copyright 2011 Google Inc. All Rights Reserved. +"""Client for Android nightly jobs. + +Does the following jobs: + 1. Checkout android toolchain sources + 2. Build Android toolchain + 3. Build Android tree + 4. Checkout/build/run Android benchmarks (TODO) + 5. Generate size/performance dashboard ? (TODO) +""" + +__author__ = 'jingyu@google.com (Jing Yu)' + +import optparse +import pickle +import sys +import xmlrpclib + +from automation.clients.helper import android +from automation.common import job_group +from automation.common import logger + + +class AndroidToolchainNightlyClient(object): + VALID_GCC_VERSIONS = ['4.4.3', '4.6', 'google_main', 'fsf_trunk'] + + def __init__(self, gcc_version, is_release): + assert gcc_version in self.VALID_GCC_VERSIONS + self.gcc_version = gcc_version + if is_release: + self.build_type = 'RELEASE' + else: + self.build_type = 'DEVELOPMENT' + + def Run(self): + server = xmlrpclib.Server('http://localhost:8000') + server.ExecuteJobGroup(pickle.dumps(self.CreateJobGroup())) + + def CreateJobGroup(self): + factory = android.JobsFactory(self.gcc_version, self.build_type) + + p4_androidtc_job, checkout_dir_dep = factory.CheckoutAndroidToolchain() + + tc_build_job, tc_prefix_dep = factory.BuildAndroidToolchain( + checkout_dir_dep) + + tree_build_job = factory.BuildAndroidImage(tc_prefix_dep) + + benchmark_job = factory.Benchmark(tc_prefix_dep) + + all_jobs = [p4_androidtc_job, tc_build_job, tree_build_job, benchmark_job] + + return job_group.JobGroup('androidtoolchain_nightly', all_jobs, True, False) + + +@logger.HandleUncaughtExceptions +def Main(argv): + valid_gcc_versions_string = ', '.join( + AndroidToolchainNightlyClient.VALID_GCC_VERSIONS) + + parser = optparse.OptionParser() + parser.add_option('--with-gcc-version', + dest='gcc_version', + default='4.6', + action='store', + choices=AndroidToolchainNightlyClient.VALID_GCC_VERSIONS, + help='gcc version: %s.' % valid_gcc_versions_string) + parser.add_option('-r', + '--release', + dest='is_release', + default=False, + action='store_true', + help='Build a release toolchain?') + options, _ = parser.parse_args(argv) + + option_list = [opt.dest for opt in parser.option_list if opt.dest] + + kwargs = dict((option, getattr(options, option)) for option in option_list) + + client = AndroidToolchainNightlyClient(**kwargs) + client.Run() + + +if __name__ == '__main__': + Main(sys.argv) |