From e66a5f79a2003aca57d2b2678834d7a9c3d3b4dc Mon Sep 17 00:00:00 2001 From: Shelley Vohr Date: Thu, 27 Sep 2018 13:14:13 -0700 Subject: [PATCH] updating directories and related functions --- script/lib/util.py | 8 +++++++ script/upload.py | 52 +++++++++++++++++++++++----------------------- 2 files changed, 34 insertions(+), 26 deletions(-) diff --git a/script/lib/util.py b/script/lib/util.py index f4dc95c3985f..a40f94b5b43e 100644 --- a/script/lib/util.py +++ b/script/lib/util.py @@ -305,3 +305,11 @@ def get_out_dir(): def get_dist_dir(): return os.path.join(get_out_dir(), 'gen', 'electron_dist') + +def get_electron_exec(): + if sys.platform == 'darwin': + return 'out/{0}/Electron.app/Contents/MacOS/Electron'.format(get_out_dir()) + elif sys.platform == 'win32': + return 'out/{0}/electron.exe'.format(get_out_dir()) + elif sys.platform == 'linux': + return 'out/{0}/electron'.format(get_out_dir()) \ No newline at end of file diff --git a/script/upload.py b/script/upload.py index fbea7812925c..ad4d650d8cac 100755 --- a/script/upload.py +++ b/script/upload.py @@ -6,6 +6,7 @@ import errno import hashlib import json import os +import shutil import subprocess import sys import tempfile @@ -14,7 +15,8 @@ from io import StringIO from lib.config import PLATFORM, get_target_arch, get_env_var, s3_config, \ get_zip_name from lib.util import get_electron_branding, execute, get_electron_version, \ - parse_version, scoped_cwd, s3put + parse_version, scoped_cwd, s3put, get_electron_exec, \ + get_out_dir ELECTRON_REPO = 'electron/electron' @@ -24,8 +26,7 @@ PROJECT_NAME = get_electron_branding()['project_name'] PRODUCT_NAME = get_electron_branding()['product_name'] SOURCE_ROOT = os.path.abspath(os.path.dirname(os.path.dirname(__file__))) -OUT_DIR = os.path.join(SOURCE_ROOT, 'out', 'R') -DIST_DIR = os.path.join(SOURCE_ROOT, 'dist') +OUT_DIR = get_out_dir() DIST_NAME = get_zip_name(PROJECT_NAME, ELECTRON_VERSION) SYMBOLS_NAME = get_zip_name(PROJECT_NAME, ELECTRON_VERSION, 'symbols') @@ -60,40 +61,48 @@ def main(): 'You have to pass --overwrite to overwrite a published release' # Upload Electron files. - upload_electron(release, os.path.join(DIST_DIR, DIST_NAME), args) + # Rename dist.zip to get_zip_name('electron', version, suffix='') + electron_zip = os.path.join(OUT_DIR, DIST_NAME) + shutil.copy2(os.path.join(OUT_DIR, 'dist.zip'), electron_zip) + upload_electron(release, electron_zip, args) if get_target_arch() != 'mips64el': - upload_electron(release, os.path.join(DIST_DIR, SYMBOLS_NAME), args) + symbols_zip = os.path.join(OUT_DIR, SYMBOLS_NAME) + shutil.copy2(os.path.join(OUT_DIR, 'symobls.zip'), symbols_zip) + upload_electron(release, symbols_zip, args) if PLATFORM == 'darwin': - api_path = os.path.join(SOURCE_ROOT, 'electron-api.json') + api_path = os.path.join(OUT_DIR, 'electron-api.json') upload_electron(release, api_path, args) - ts_defs_path = os.path.join(SOURCE_ROOT, 'electron.d.ts') + ts_defs_path = os.path.join(OUT_DIR, 'electron.d.ts') upload_electron(release, ts_defs_path, args) - - upload_electron(release, os.path.join(DIST_DIR, DSYM_NAME), args) + dsym_zip = os.path.join(OUT_DIR, DSYM_NAME) + shutil.copy2(os.path.join(OUT_DIR, 'dsym.zip'), dsym_zip) + upload_electron(release, dsym_zip, args) elif PLATFORM == 'win32': - upload_electron(release, os.path.join(DIST_DIR, PDB_NAME), args) + upload_electron(release, os.path.join(OUT_DIR, PDB_NAME), args) # Upload free version of ffmpeg. ffmpeg = get_zip_name('ffmpeg', ELECTRON_VERSION) - upload_electron(release, os.path.join(DIST_DIR, ffmpeg), args) + ffmpeg_zip = os.path.join(OUT_DIR, ffmpeg) + shutil.copy2(os.path.join(OUT_DIR, 'ffmpeg.zip'), ffmpeg_zip) + upload_electron(release, ffmpeg_zip, args) chromedriver = get_zip_name('chromedriver', ELECTRON_VERSION) - upload_electron(release, os.path.join(DIST_DIR, chromedriver), args) + chromedriver_zip = os.path.join(OUT_DIR, chromedriver) + shutil.copy2(os.path.join(OUT_DIR, 'chromedriver.zip'), chromedriver_zip) + upload_electron(release, chromedriver_zip, args) mksnapshot = get_zip_name('mksnapshot', ELECTRON_VERSION) - upload_electron(release, os.path.join(DIST_DIR, mksnapshot), args) + upload_electron(release, os.path.join(OUT_DIR, mksnapshot), args) if get_target_arch().startswith('arm'): # Upload the x64 binary for arm/arm64 mksnapshot mksnapshot = get_zip_name('mksnapshot', ELECTRON_VERSION, 'x64') - upload_electron(release, os.path.join(DIST_DIR, mksnapshot), args) + upload_electron(release, os.path.join(OUT_DIR, mksnapshot), args) if not tag_exists and not args.upload_to_s3: # Upload symbols to symbol server. run_python_script('upload-symbols.py') if PLATFORM == 'win32': - # Upload node headers. - run_python_script('create-node-headers.py', '-v', args.version) run_python_script('upload-node-headers.py', '-v', args.version) @@ -125,16 +134,7 @@ def get_electron_build_version(): if get_target_arch().startswith('arm') or os.environ.has_key('CI'): # In CI we just build as told. return ELECTRON_VERSION - if PLATFORM == 'darwin': - electron = os.path.join(SOURCE_ROOT, 'out', 'R', - '{0}.app'.format(PRODUCT_NAME), 'Contents', - 'MacOS', PRODUCT_NAME) - elif PLATFORM == 'win32': - electron = os.path.join(SOURCE_ROOT, 'out', 'R', - '{0}.exe'.format(PROJECT_NAME)) - else: - electron = os.path.join(SOURCE_ROOT, 'out', 'R', PROJECT_NAME) - + electron = get_electron_exec() return subprocess.check_output([electron, '--version']).strip()