70 lines
		
	
	
	
		
			2.4 KiB
			
		
	
	
	
		
			Python
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
	
		
			2.4 KiB
			
		
	
	
	
		
			Python
		
	
	
		
			Executable file
		
	
	
	
	
#!/usr/bin/env python3
 | 
						|
 | 
						|
import argparse
 | 
						|
import glob
 | 
						|
import os
 | 
						|
import sys
 | 
						|
 | 
						|
from lib.config import PLATFORM, get_target_arch
 | 
						|
from lib.util import scoped_cwd, get_electron_version, make_zip, \
 | 
						|
                     get_electron_branding, get_out_dir, execute
 | 
						|
 | 
						|
ELECTRON_VERSION = get_electron_version()
 | 
						|
PROJECT_NAME = get_electron_branding()['project_name']
 | 
						|
OUT_DIR = get_out_dir()
 | 
						|
 | 
						|
def main():
 | 
						|
  print('Zipping Symbols')
 | 
						|
 | 
						|
  args = parse_args()
 | 
						|
  dist_name = 'symbols.zip'
 | 
						|
  zip_file = os.path.join(args.build_dir, dist_name)
 | 
						|
  licenses = ['LICENSE', 'LICENSES.chromium.html', 'version']
 | 
						|
 | 
						|
  with scoped_cwd(args.build_dir):
 | 
						|
    dirs = ['breakpad_symbols']
 | 
						|
    print('Making symbol zip: ' + zip_file)
 | 
						|
    make_zip(zip_file, licenses, dirs)
 | 
						|
 | 
						|
  if PLATFORM == 'darwin':
 | 
						|
    dsym_name = 'dsym.zip'
 | 
						|
    with scoped_cwd(args.build_dir):
 | 
						|
      dsyms = glob.glob('*.dSYM')
 | 
						|
      snapshot_dsyms = ['v8_context_snapshot_generator.dSYM']
 | 
						|
      for dsym in snapshot_dsyms:
 | 
						|
        if (dsym in dsyms):
 | 
						|
          dsyms.remove(dsym)
 | 
						|
      dsym_zip_file = os.path.join(args.build_dir, dsym_name)
 | 
						|
      print('Making dsym zip: ' + dsym_zip_file)
 | 
						|
      make_zip(dsym_zip_file, licenses, dsyms)
 | 
						|
      dsym_snapshot_name = 'dsym-snapshot.zip'
 | 
						|
      dsym_snapshot_zip_file = os.path.join(args.build_dir, dsym_snapshot_name)
 | 
						|
      print('Making dsym snapshot zip: ' + dsym_snapshot_zip_file)
 | 
						|
      make_zip(dsym_snapshot_zip_file, licenses, snapshot_dsyms)
 | 
						|
      if len(dsyms) > 0 and 'DELETE_DSYMS_AFTER_ZIP' in os.environ:
 | 
						|
        execute(['rm', '-rf'] + dsyms)
 | 
						|
  elif PLATFORM == 'win32':
 | 
						|
    pdb_name = 'pdb.zip'
 | 
						|
    with scoped_cwd(args.build_dir):
 | 
						|
      pdbs = glob.glob('*.pdb')
 | 
						|
      pdb_zip_file = os.path.join(args.build_dir, pdb_name)
 | 
						|
      print('Making pdb zip: ' + pdb_zip_file)
 | 
						|
      make_zip(pdb_zip_file, pdbs + licenses, [])
 | 
						|
  elif PLATFORM == 'linux':
 | 
						|
    debug_name = 'debug.zip'
 | 
						|
    with scoped_cwd(args.build_dir):
 | 
						|
      dirs = ['debug']
 | 
						|
      debug_zip_file = os.path.join(args.build_dir, debug_name)
 | 
						|
      print('Making debug zip: ' + debug_zip_file)
 | 
						|
      make_zip(debug_zip_file, licenses, dirs)
 | 
						|
 | 
						|
def parse_args():
 | 
						|
  parser = argparse.ArgumentParser(description='Zip symbols')
 | 
						|
  parser.add_argument('-b', '--build-dir',
 | 
						|
                      help='Path to an Electron build folder.',
 | 
						|
                      default=OUT_DIR,
 | 
						|
                      required=False)
 | 
						|
  return parser.parse_args()
 | 
						|
 | 
						|
if __name__ == '__main__':
 | 
						|
  sys.exit(main())
 |