1fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot#!/usr/bin/env python
2fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot#
3fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot# Copyright 2017 Google Inc.
4fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot#
5fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot# Use of this source code is governed by a BSD-style license that can be
6fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot# found in the LICENSE file.
7fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot
8fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot
9fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot"""Create the asset and upload it."""
10fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot
11fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot
12fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotimport argparse
13fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotimport common
14fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotimport os
15fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotimport subprocess
16fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotimport sys
17fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotimport utils
18fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot
19fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot
20fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotdef main():
21fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot  parser = argparse.ArgumentParser()
22fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot  parser.add_argument('--android_sdk_root')
23fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot  parser.add_argument('--gsutil')
24fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot  args = parser.parse_args()
25fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot
26fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot  with utils.tmp_dir():
27fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot    cwd = os.getcwd()
28fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot    create_script = os.path.join(common.FILE_DIR, 'create.py')
29fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot    upload_script = os.path.join(common.FILE_DIR, 'upload.py')
30fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot
31fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot    try:
32fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot      cmd = ['python', create_script, '-t', cwd]
33fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot      if args.android_sdk_root:
34fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot        cmd.extend(['--android_sdk_root', args.android_sdk_root])
35fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot      subprocess.check_call(cmd)
36fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot
37fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot      cmd = ['python', upload_script, '-t', cwd]
38fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot      if args.gsutil:
39fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot        cmd.extend(['--gsutil', args.gsutil])
40fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot      subprocess.check_call(cmd)
41fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot    except subprocess.CalledProcessError:
42fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot      # Trap exceptions to avoid printing two stacktraces.
43fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot      sys.exit(1)
44fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot
45fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot
46fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotif __name__ == '__main__':
47fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot  main()
48