1fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot#!/usr/bin/env python
2fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot#
3fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot# Copyright 2016 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('--gsutil')
23fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot  parser.add_argument('--chrome_path')
24fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot  parser.add_argument('--msvs_version', required=True)
25fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot  args = parser.parse_args()
26fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot
27fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot  with utils.tmp_dir():
28fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot    cwd = os.getcwd()
29fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot    create_script = os.path.join(common.FILE_DIR, 'create.py')
30fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot    upload_script = os.path.join(common.FILE_DIR, 'upload.py')
31fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot
32fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot    try:
33fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot      cmd = ['python', create_script,
34fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot             '-t', cwd,
35fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot             '--msvs_version', args.msvs_version]
36fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot      if args.chrome_path:
37fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot        cmd.extend(['--chrome_path', args.chrome_path])
38fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot      subprocess.check_call(cmd)
39fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot      cmd = ['python', upload_script, '-t', cwd]
40fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot      if args.gsutil:
41fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot        cmd.extend(['--gsutil', args.gsutil])
42fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot      subprocess.check_call(cmd)
43fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot    except subprocess.CalledProcessError:
44fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot      # Trap exceptions to avoid printing two stacktraces.
45fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot      sys.exit(1)
46fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot
47fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot
48fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotif __name__ == '__main__':
49fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot  main()
50