1e772aeea0809c4d3cd6335f3359a5fed10806045kjlubick#!/usr/bin/env python 2e772aeea0809c4d3cd6335f3359a5fed10806045kjlubick# 3e772aeea0809c4d3cd6335f3359a5fed10806045kjlubick# Copyright 2016 Google Inc. 4e772aeea0809c4d3cd6335f3359a5fed10806045kjlubick# 5e772aeea0809c4d3cd6335f3359a5fed10806045kjlubick# Use of this source code is governed by a BSD-style license that can be 6e772aeea0809c4d3cd6335f3359a5fed10806045kjlubick# found in the LICENSE file. 7e772aeea0809c4d3cd6335f3359a5fed10806045kjlubick 8e772aeea0809c4d3cd6335f3359a5fed10806045kjlubick 9e772aeea0809c4d3cd6335f3359a5fed10806045kjlubick"""Create the asset and upload it.""" 10e772aeea0809c4d3cd6335f3359a5fed10806045kjlubick 11e772aeea0809c4d3cd6335f3359a5fed10806045kjlubick 12e772aeea0809c4d3cd6335f3359a5fed10806045kjlubickimport argparse 13e772aeea0809c4d3cd6335f3359a5fed10806045kjlubickimport common 14e772aeea0809c4d3cd6335f3359a5fed10806045kjlubickimport os 15e772aeea0809c4d3cd6335f3359a5fed10806045kjlubickimport subprocess 16e772aeea0809c4d3cd6335f3359a5fed10806045kjlubickimport sys 17e772aeea0809c4d3cd6335f3359a5fed10806045kjlubickimport utils 18e772aeea0809c4d3cd6335f3359a5fed10806045kjlubick 19e772aeea0809c4d3cd6335f3359a5fed10806045kjlubick 20e772aeea0809c4d3cd6335f3359a5fed10806045kjlubickdef main(): 21e772aeea0809c4d3cd6335f3359a5fed10806045kjlubick if 'linux' not in sys.platform: 22e772aeea0809c4d3cd6335f3359a5fed10806045kjlubick print >> sys.stderr, 'This script only runs on Linux.' 23e772aeea0809c4d3cd6335f3359a5fed10806045kjlubick sys.exit(1) 24e772aeea0809c4d3cd6335f3359a5fed10806045kjlubick parser = argparse.ArgumentParser() 25e772aeea0809c4d3cd6335f3359a5fed10806045kjlubick parser.add_argument('--gsutil') 26e772aeea0809c4d3cd6335f3359a5fed10806045kjlubick args = parser.parse_args() 27e772aeea0809c4d3cd6335f3359a5fed10806045kjlubick 28e772aeea0809c4d3cd6335f3359a5fed10806045kjlubick with utils.tmp_dir(): 29e772aeea0809c4d3cd6335f3359a5fed10806045kjlubick cwd = os.getcwd() 30e772aeea0809c4d3cd6335f3359a5fed10806045kjlubick create_script = os.path.join(common.FILE_DIR, 'create.py') 31e772aeea0809c4d3cd6335f3359a5fed10806045kjlubick upload_script = os.path.join(common.FILE_DIR, 'upload.py') 32e772aeea0809c4d3cd6335f3359a5fed10806045kjlubick 33e772aeea0809c4d3cd6335f3359a5fed10806045kjlubick try: 34e772aeea0809c4d3cd6335f3359a5fed10806045kjlubick cwd = os.path.join(cwd, 'sysroot') 359c7dcac4a64297a3450dba86075491d5e82870a9Kevin Lubick subprocess.check_call(['python', create_script, '-t', cwd]) 36e772aeea0809c4d3cd6335f3359a5fed10806045kjlubick cmd = ['python', upload_script, '-t', cwd] 37e772aeea0809c4d3cd6335f3359a5fed10806045kjlubick if args.gsutil: 38463001b5ac9f3ee91861a6c6181035f55b70dd20Ben Wagner cmd.extend(['--gsutil', args.gsutil]) 39e772aeea0809c4d3cd6335f3359a5fed10806045kjlubick subprocess.check_call(cmd) 40e772aeea0809c4d3cd6335f3359a5fed10806045kjlubick except subprocess.CalledProcessError: 41e772aeea0809c4d3cd6335f3359a5fed10806045kjlubick # Trap exceptions to avoid printing two stacktraces. 42e772aeea0809c4d3cd6335f3359a5fed10806045kjlubick sys.exit(1) 43e772aeea0809c4d3cd6335f3359a5fed10806045kjlubick 44e772aeea0809c4d3cd6335f3359a5fed10806045kjlubick 45e772aeea0809c4d3cd6335f3359a5fed10806045kjlubickif __name__ == '__main__': 46e772aeea0809c4d3cd6335f3359a5fed10806045kjlubick main() 47e772aeea0809c4d3cd6335f3359a5fed10806045kjlubick