61 lines
1.8 KiB
Python
Executable file
61 lines
1.8 KiB
Python
Executable file
#!/usr/bin/env python
|
|
|
|
import argparse
|
|
import errno
|
|
import os
|
|
import subprocess
|
|
import sys
|
|
|
|
|
|
SOURCE_ROOT = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
|
|
VENDOR_DIR = os.path.join(SOURCE_ROOT, 'vendor')
|
|
DOWNLOAD_DIR = os.path.join(VENDOR_DIR, 'download')
|
|
|
|
|
|
def main():
|
|
args = parse_args()
|
|
return (update_submodules() or
|
|
download_libchromiumcontent(args.dev, args.commit, args.url))
|
|
|
|
|
|
def parse_args():
|
|
parser = argparse.ArgumentParser(description='Bootstrap this project')
|
|
parser.add_argument('-c', '--commit', nargs='?', default='HEAD',
|
|
help='The commit of libchromiumcontent to download.')
|
|
parser.add_argument('-d', '--dev', action='store_true',
|
|
help='Do not download static_library build')
|
|
parser.add_argument('url', help='The base URL from which to download '
|
|
'libchromiumcontent (i.e., the URL you passed to '
|
|
'libchromiumcontent\'s script/upload script')
|
|
return parser.parse_args()
|
|
|
|
|
|
def update_submodules():
|
|
return
|
|
return (subprocess.call(['git', 'submodule', 'sync', '--quiet']) or
|
|
subprocess.call(['git', 'submodule', 'update', '--init',
|
|
'--recursive']))
|
|
|
|
|
|
def download_libchromiumcontent(is_dev, commit, url):
|
|
mkdir_p(DOWNLOAD_DIR)
|
|
download = os.path.join(VENDOR_DIR, 'libchromiumcontent', 'script',
|
|
'download')
|
|
target = os.path.join(DOWNLOAD_DIR, 'libchromiumcontent')
|
|
subprocess.check_call([sys.executable, download, '-f', '-c', commit, url,
|
|
target])
|
|
if not is_dev:
|
|
subprocess.check_call([sys.executable, download, '-s', '-f', '-c', commit,
|
|
url, target])
|
|
|
|
|
|
def mkdir_p(path):
|
|
try:
|
|
os.makedirs(path)
|
|
except OSError as e:
|
|
if e.errno != errno.EEXIST:
|
|
raise
|
|
|
|
|
|
if __name__ == '__main__':
|
|
sys.exit(main())
|