diff --git a/script/create-dist.py b/script/create-dist.py index 8a83c954e..835714ddb 100755 --- a/script/create-dist.py +++ b/script/create-dist.py @@ -6,12 +6,11 @@ import re import shutil import subprocess import sys -import tarfile from lib.config import LIBCHROMIUMCONTENT_COMMIT, BASE_URL, TARGET_PLATFORM, \ DIST_ARCH from lib.util import scoped_cwd, rm_rf, get_atom_shell_version, make_zip, \ - safe_mkdir, execute, get_chromedriver_version + execute, get_chromedriver_version ATOM_SHELL_VERSION = get_atom_shell_version() @@ -19,9 +18,6 @@ ATOM_SHELL_VERSION = get_atom_shell_version() SOURCE_ROOT = os.path.abspath(os.path.dirname(os.path.dirname(__file__))) 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') -DIST_HEADERS_NAME = 'node-{0}'.format(ATOM_SHELL_VERSION) -DIST_HEADERS_DIR = os.path.join(DIST_DIR, DIST_HEADERS_NAME) SYMBOL_NAME = { 'darwin': 'libchromiumcontent.dylib.dSYM', @@ -76,23 +72,6 @@ SYSTEM_LIBRARIES = [ 'libnotify.so', ] -HEADERS_SUFFIX = [ - '.h', - '.gypi', -] -HEADERS_DIRS = [ - 'src', - 'deps/http_parser', - 'deps/zlib', - 'deps/uv', - 'deps/npm', - 'deps/mdb_v8', -] -HEADERS_FILES = [ - 'common.gypi', - 'config.gypi', -] - def main(): rm_rf(DIST_DIR) @@ -115,7 +94,6 @@ def main(): create_dist_zip() create_chromedriver_zip() create_symbols_zip() - create_header_tarball() def parse_args(): @@ -153,33 +131,6 @@ def copy_chromedriver(): shutil.copy2(os.path.join(OUT_DIR, binary), DIST_DIR) -def copy_headers(): - os.mkdir(DIST_HEADERS_DIR) - # Copy standard node headers from node. repository. - for include_path in HEADERS_DIRS: - abs_path = os.path.join(NODE_DIR, include_path) - for dirpath, _, filenames in os.walk(abs_path): - for filename in filenames: - extension = os.path.splitext(filename)[1] - if extension not in HEADERS_SUFFIX: - continue - copy_source_file(os.path.join(dirpath, filename)) - for other_file in HEADERS_FILES: - copy_source_file(source = os.path.join(NODE_DIR, other_file)) - - # Copy V8 headers from chromium's repository. - src = os.path.join(SOURCE_ROOT, 'vendor', 'brightray', 'vendor', 'download', - 'libchromiumcontent', 'src') - for dirpath, _, filenames in os.walk(os.path.join(src, 'v8')): - for filename in filenames: - extension = os.path.splitext(filename)[1] - if extension not in HEADERS_SUFFIX: - continue - copy_source_file(source=os.path.join(dirpath, filename), - start=src, - destination=os.path.join(DIST_HEADERS_DIR, 'deps')) - - def copy_license(): shutil.copy2(os.path.join(SOURCE_ROOT, 'LICENSE'), DIST_DIR) @@ -269,19 +220,5 @@ def create_symbols_zip(): make_zip(zip_file, files, dirs) -def create_header_tarball(): - with scoped_cwd(DIST_DIR): - tarball = tarfile.open(name=DIST_HEADERS_DIR + '.tar.gz', mode='w:gz') - tarball.add(DIST_HEADERS_NAME) - tarball.close() - - -def copy_source_file(source, start=NODE_DIR, destination=DIST_HEADERS_DIR): - relative = os.path.relpath(source, start=start) - final_destination = os.path.join(destination, relative) - safe_mkdir(os.path.dirname(final_destination)) - shutil.copy2(source, final_destination) - - if __name__ == '__main__': sys.exit(main()) diff --git a/script/upload-node-headers.py b/script/upload-node-headers.py new file mode 100755 index 000000000..408a85c64 --- /dev/null +++ b/script/upload-node-headers.py @@ -0,0 +1,95 @@ +#!/usr/bin/env python + +import argparse +import os +import shutil +import sys +import tarfile + +from lib.util import safe_mkdir, scoped_cwd + + +SOURCE_ROOT = os.path.abspath(os.path.dirname(os.path.dirname(__file__))) +DIST_DIR = os.path.join(SOURCE_ROOT, 'dist') +NODE_DIR = os.path.join(SOURCE_ROOT, 'vendor', 'node') + +HEADERS_SUFFIX = [ + '.h', + '.gypi', +] +HEADERS_DIRS = [ + 'src', + 'deps/http_parser', + 'deps/zlib', + 'deps/uv', + 'deps/npm', + 'deps/mdb_v8', +] +HEADERS_FILES = [ + 'common.gypi', + 'config.gypi', +] + + +def main(): + safe_mkdir(DIST_DIR) + + args = parse_args() + dist_headers_dir = os.path.join(DIST_DIR, 'node-{0}'.format(args.version)) + copy_headers(dist_headers_dir) + create_header_tarball(dist_headers_dir) + + +def parse_args(): + parser = argparse.ArgumentParser(description='upload sumsha file') + parser.add_argument('-v', '--version', help='Specify the version', + required=True) + return parser.parse_args() + + +def copy_headers(dist_headers_dir): + safe_mkdir(dist_headers_dir) + + # Copy standard node headers from node. repository. + for include_path in HEADERS_DIRS: + abs_path = os.path.join(NODE_DIR, include_path) + for dirpath, _, filenames in os.walk(abs_path): + for filename in filenames: + extension = os.path.splitext(filename)[1] + if extension not in HEADERS_SUFFIX: + continue + copy_source_file(os.path.join(dirpath, filename), NODE_DIR, + dist_headers_dir) + for other_file in HEADERS_FILES: + copy_source_file(os.path.join(NODE_DIR, other_file), NODE_DIR, + dist_headers_dir) + + # Copy V8 headers from chromium's repository. + src = os.path.join(SOURCE_ROOT, 'vendor', 'brightray', 'vendor', 'download', + 'libchromiumcontent', 'src') + for dirpath, _, filenames in os.walk(os.path.join(src, 'v8')): + for filename in filenames: + extension = os.path.splitext(filename)[1] + if extension not in HEADERS_SUFFIX: + continue + copy_source_file(os.path.join(dirpath, filename), src, + os.path.join(dist_headers_dir, 'deps')) + + +def create_header_tarball(dist_headers_dir): + target = dist_headers_dir + '.tar.gz' + with scoped_cwd(DIST_DIR): + tarball = tarfile.open(name=target, mode='w:gz') + tarball.add(os.path.relpath(dist_headers_dir)) + tarball.close() + + +def copy_source_file(source, start, destination): + relative = os.path.relpath(source, start=start) + final_destination = os.path.join(destination, relative) + safe_mkdir(os.path.dirname(final_destination)) + shutil.copy2(source, final_destination) + + +if __name__ == '__main__': + sys.exit(main())