blob: fd7a07244cb1e10cac783ff5a0218b46cf9c1280 [file] [log] [blame]
Mads Ager418d1ca2017-05-22 09:35:49 +02001#!/usr/bin/env python
2# Copyright (c) 2016, the R8 project authors. Please see the AUTHORS file
3# for details. All rights reserved. Use of this source code is governed by a
4# BSD-style license that can be found in the LICENSE file.
5
6# Script for uploading to x20 as a dependency in the same way we use cloud
7# storage.
8
9import optparse
10import os
11import shutil
12import stat
13import subprocess
14import sys
15import tarfile
16import utils
17
18GMSCORE_DEPS = '/google/data/rw/teams/gmscore-size/deps'
19
20def parse_options():
21 return optparse.OptionParser().parse_args()
22
23def create_archive(name):
24 tarname = '%s.tar.gz' % name
25 with tarfile.open(tarname, 'w:gz') as tar:
26 tar.add(name)
27 return tarname
28
29def Main():
30 (options, args) = parse_options()
31 assert len(args) == 1
32 name = args[0]
33 print 'Creating archive for %s' % name
34 if not name in os.listdir('.'):
35 print 'You must be standing directly below the directory you are uploading'
36 return 1
37 filename = create_archive(name)
38 sha1 = utils.get_sha1(filename)
39 dest = os.path.join(GMSCORE_DEPS, sha1)
40 print 'Uploading to %s' % dest
41 shutil.copyfile(filename, dest)
42 os.chmod(dest, stat.S_IRWXU | stat.S_IROTH | stat.S_IXOTH | stat.S_IRWXG)
43 sha1_file = '%s.sha1' % filename
44 with open(sha1_file, 'w') as output:
45 output.write(sha1)
46 print 'Sha (%s) written to: %s' % (sha1, sha1_file)
47
48if __name__ == '__main__':
49 sys.exit(Main())