blob: 2d083628283f8b0e3524ee6b28e8c5aefd8dc4ff [file] [log] [blame] [edit]
#!/usr/bin/env python
# Copyright (c) 2016, the R8 project authors. Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file.
# Script for uploading to x20 as a dependency in the same way we use cloud
# storage.
import optparse
import os
import shutil
import stat
import subprocess
import sys
import tarfile
import utils
GMSCORE_DEPS = '/google/data/rw/teams/r8/deps'
def parse_options():
return optparse.OptionParser().parse_args()
def uploadFile(filename, dest):
print 'Uploading to %s' % dest
shutil.copyfile(filename, dest)
subprocess.check_call(['chmod', '664', dest])
def Main():
(options, args) = parse_options()
assert len(args) == 1
name = args[0]
print 'Creating archive for %s' % name
if not name in os.listdir('.'):
print 'You must be standing directly below the directory you are uploading'
return 1
filename = utils.create_archive(name)
sha1 = utils.get_sha1(filename)
dest = os.path.join(GMSCORE_DEPS, sha1)
uploadFile(filename, dest)
sha1_file = '%s.sha1' % filename
with open(sha1_file, 'w') as output:
output.write(sha1)
print 'Sha (%s) written to: %s' % (sha1, sha1_file)
if __name__ == '__main__':
sys.exit(Main())