Download libchromiumcontent symbols when creating symbols.
This commit is contained in:
parent
a5224f705d
commit
47d37cc1e3
1 changed files with 42 additions and 9 deletions
|
@ -1,5 +1,6 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
import argparse
|
||||||
import os
|
import os
|
||||||
import shutil
|
import shutil
|
||||||
import subprocess
|
import subprocess
|
||||||
|
@ -12,9 +13,11 @@ from lib.util import scoped_cwd, rm_rf, get_atom_shell_version, make_zip, \
|
||||||
|
|
||||||
ATOM_SHELL_VRESION = get_atom_shell_version()
|
ATOM_SHELL_VRESION = get_atom_shell_version()
|
||||||
NODE_VERSION = 'v0.10.18'
|
NODE_VERSION = 'v0.10.18'
|
||||||
|
BASE_URL = 'https://gh-contractor-zcbenz.s3.amazonaws.com/libchromiumcontent'
|
||||||
|
|
||||||
SOURCE_ROOT = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
|
SOURCE_ROOT = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
|
||||||
DIST_DIR = os.path.join(SOURCE_ROOT, 'dist')
|
DIST_DIR = os.path.join(SOURCE_ROOT, 'dist')
|
||||||
|
OUT_DIR = os.path.join(SOURCE_ROOT, 'out', 'Release')
|
||||||
NODE_DIR = os.path.join(SOURCE_ROOT, 'vendor', 'node')
|
NODE_DIR = os.path.join(SOURCE_ROOT, 'vendor', 'node')
|
||||||
DIST_HEADERS_NAME = 'node-{0}'.format(NODE_VERSION)
|
DIST_HEADERS_NAME = 'node-{0}'.format(NODE_VERSION)
|
||||||
DIST_HEADERS_DIR = os.path.join(DIST_DIR, DIST_HEADERS_NAME)
|
DIST_HEADERS_DIR = os.path.join(DIST_DIR, DIST_HEADERS_NAME)
|
||||||
|
@ -68,7 +71,10 @@ def main():
|
||||||
rm_rf(DIST_DIR)
|
rm_rf(DIST_DIR)
|
||||||
os.makedirs(DIST_DIR)
|
os.makedirs(DIST_DIR)
|
||||||
|
|
||||||
|
args = parse_args()
|
||||||
|
|
||||||
force_build()
|
force_build()
|
||||||
|
download_libchromiumcontent_symbols(args.url)
|
||||||
create_symbols()
|
create_symbols()
|
||||||
copy_binaries()
|
copy_binaries()
|
||||||
copy_headers()
|
copy_headers()
|
||||||
|
@ -79,19 +85,28 @@ def main():
|
||||||
create_header_tarball()
|
create_header_tarball()
|
||||||
|
|
||||||
|
|
||||||
|
def parse_args():
|
||||||
|
parser = argparse.ArgumentParser(description='Create distributions')
|
||||||
|
parser.add_argument('-u', '--url',
|
||||||
|
help='The base URL from which to download '
|
||||||
|
'libchromiumcontent (i.e., the URL you passed to '
|
||||||
|
'libchromiumcontent\'s script/upload script',
|
||||||
|
default=BASE_URL,
|
||||||
|
required=False)
|
||||||
|
return parser.parse_args()
|
||||||
|
|
||||||
|
|
||||||
def force_build():
|
def force_build():
|
||||||
build = os.path.join(SOURCE_ROOT, 'script', 'build.py')
|
build = os.path.join(SOURCE_ROOT, 'script', 'build.py')
|
||||||
subprocess.check_call([sys.executable, build, '-c', 'Release'])
|
subprocess.check_call([sys.executable, build, '-c', 'Release'])
|
||||||
|
|
||||||
|
|
||||||
def copy_binaries():
|
def copy_binaries():
|
||||||
out_dir = os.path.join(SOURCE_ROOT, 'out', 'Release')
|
|
||||||
|
|
||||||
for binary in TARGET_BINARIES[TARGET_PLATFORM]:
|
for binary in TARGET_BINARIES[TARGET_PLATFORM]:
|
||||||
shutil.copy2(os.path.join(out_dir, binary), DIST_DIR)
|
shutil.copy2(os.path.join(OUT_DIR, binary), DIST_DIR)
|
||||||
|
|
||||||
for directory in TARGET_DIRECTORIES[TARGET_PLATFORM]:
|
for directory in TARGET_DIRECTORIES[TARGET_PLATFORM]:
|
||||||
shutil.copytree(os.path.join(out_dir, directory),
|
shutil.copytree(os.path.join(OUT_DIR, directory),
|
||||||
os.path.join(DIST_DIR, directory),
|
os.path.join(DIST_DIR, directory),
|
||||||
symlinks=True)
|
symlinks=True)
|
||||||
|
|
||||||
|
@ -133,15 +148,33 @@ def create_version():
|
||||||
version_file.write(ATOM_SHELL_VRESION)
|
version_file.write(ATOM_SHELL_VRESION)
|
||||||
|
|
||||||
|
|
||||||
def create_symbols():
|
def download_libchromiumcontent_symbols(url):
|
||||||
out_dir = os.path.join(SOURCE_ROOT, 'out', 'Release')
|
if sys.platform == 'darwin':
|
||||||
|
return
|
||||||
|
|
||||||
|
symbols_name = 'libchromiumcontent.dll.pdb'
|
||||||
|
symbols_path = os.path.join(OUT_DIR, symbols_name)
|
||||||
|
if os.path.exists(symbols_path):
|
||||||
|
return
|
||||||
|
|
||||||
|
brightray_dir = os.path.join(SOURCE_ROOT, 'vendor', 'brightray', 'vendor')
|
||||||
|
target_dir = os.path.join(brightray_dir, 'download', 'libchromiumcontent')
|
||||||
|
download = os.path.join(brightray_dir, 'libchromiumcontent', 'script',
|
||||||
|
'download')
|
||||||
|
subprocess.check_call([sys.executable, download, '-f', '-s', url, target_dir])
|
||||||
|
|
||||||
|
shutil.copytree(os.path.join(target_dir, 'Release', symbols_name),
|
||||||
|
symbols_path,
|
||||||
|
symlinks=True)
|
||||||
|
|
||||||
|
|
||||||
|
def create_symbols():
|
||||||
build = os.path.join(SOURCE_ROOT, 'script', 'build.py')
|
build = os.path.join(SOURCE_ROOT, 'script', 'build.py')
|
||||||
subprocess.check_output([sys.executable, build, '-c', 'Release',
|
subprocess.check_output([sys.executable, build, '-c', 'Release',
|
||||||
'-t', 'atom_dump_symbols'])
|
'-t', 'atom_dump_symbols'])
|
||||||
|
|
||||||
directory = 'atom-shell.breakpad.syms'
|
directory = 'Atom-Shell.breakpad.syms'
|
||||||
shutil.copytree(os.path.join(out_dir, directory),
|
shutil.copytree(os.path.join(OUT_DIR, directory),
|
||||||
os.path.join(DIST_DIR, directory),
|
os.path.join(DIST_DIR, directory),
|
||||||
symlinks=True)
|
symlinks=True)
|
||||||
|
|
||||||
|
@ -164,7 +197,7 @@ def create_symbols_zip():
|
||||||
|
|
||||||
with scoped_cwd(DIST_DIR):
|
with scoped_cwd(DIST_DIR):
|
||||||
files = ['LICENSE', 'version']
|
files = ['LICENSE', 'version']
|
||||||
dirs = ['atom-shell.breakpad.syms']
|
dirs = ['Atom-Shell.breakpad.syms']
|
||||||
make_zip(zip_file, files, dirs)
|
make_zip(zip_file, files, dirs)
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue