52 lines
1.4 KiB
Python
Executable file
52 lines
1.4 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.url))
|
|
|
|
|
|
def parse_args():
|
|
parser = argparse.ArgumentParser(description='Bootstrap this project')
|
|
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 (subprocess.call(['git', 'submodule', 'sync', '--quiet']) or
|
|
subprocess.call(['git', 'submodule', 'update', '--init',
|
|
'--recursive']))
|
|
|
|
|
|
def download_libchromiumcontent(url):
|
|
mkdir_p(DOWNLOAD_DIR)
|
|
download = os.path.join(VENDOR_DIR, 'libchromiumcontent', 'script',
|
|
'download')
|
|
return subprocess.call([sys.executable, download, '-f', url,
|
|
os.path.join(DOWNLOAD_DIR, 'libchromiumcontent')])
|
|
|
|
|
|
def mkdir_p(path):
|
|
try:
|
|
os.makedirs(path)
|
|
except OSError as e:
|
|
if e.errno != errno.EEXIST:
|
|
raise
|
|
|
|
|
|
if __name__ == '__main__':
|
|
sys.exit(main())
|